Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Time of Concentration and Design Storms #443

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

BenTWhite
Copy link
Contributor

Time of Concentration

Refactored EntityClasses around Time Concentration into two aspects one of which can be owned by the catchment:

  1. CatchmentSimpleTimeOfConcentrationAspect - Apply this aspect if the user want to enter the tc direcltly
  2. CatchmentFlowPathTimeOfConcentrationAspect - Apply this aspect if the user want to generate (either manually, or automatically) a flow path on the catchment defining the longest flow path on the catchment to the outflow point.

Additionally, I added a flow path element "TimeOfConcentrationFlowPath" - it serves a couple of purposes:

  1. It can store the geometry associated the flow path
  2. It owns a set of Tc Method aspects:
  • TR55SheetFlowTcMethodAspect
  • Tr55ShallowConcentratedFlowTcMethodAspect
  • Tr55ChannelFlowTcMethodAspect

These methods can be applied to the flow path and used to compute the overall time of concentration. I just included these three for now, but I left the architecture generic enough so more could be added to the future if so needed.

Design Storms

I added the ability to created a new type of Rainfall Set for Design Storms...

I added the following aspect that can be owned by the set:

DesignStormRainfallSetAspect - where you select the type of design storm to be applied:

<ECEnumeration typeName="DesignStorms" backingTypeName="int" isStrict="true"> <ECEnumeration value="0" name="SCSTypeI24Hr" displayLabel="SCS Type I 24 hr"/> <ECEnumeration value="1" name="SCSTypeIA24Hr" displayLabel="SCS Type IA 24 hr"/> <ECEnumeration value="2" name="SCSTypeII24Hr" displayLabel="SCS Type II 24 hr"/> <ECEnumeration value="3" name="SCSTypeIII24Hr" displayLabel="SCS Type III 24 hr"/> </ECEnumeration>

More Design Storms can be added but this should get the ball moving

Schema Clean Up

There were 2 slot inlet fields applied to the wrong aspect which were deprecated and doomed to walk to the earth as zombies till the end of time...

the time of concentration field was moved to the

@BenTWhite BenTWhite requested a review from a team as a code owner February 12, 2025 21:11
@BenTWhite BenTWhite enabled auto-merge (squash) February 14, 2025 01:34
@BenTWhite
Copy link
Contributor Author

@naveedkhan8067 @ColinKerr @diegoalexdiaz

A validation check is failing with this PR.... It says it is unable to import the SQLite file without any other messages as to why or what that means....

Do you have any advice on how to get past this issue?

Ben

@@ -969,21 +996,88 @@
</Target>
</ECRelationshipClass>

<ECEntityClass typeName="CatchmentTimeOfConcentrationAspect" modifier="Sealed" displayLabel="CatchmentTimeOfConcentrationAspect">
<ECEntityClass typeName="CatchmentTimeOfConcentrationAspect" modifier="Abstract" displayLabel="CatchmentTimeOfConcentrationAspect">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think a Sealed (or concrete) class can't be turned into an Abstract one. Existing instances of the older non-abstract class would become invalid after such a schema-upgrade.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I took off the abstract modifier and it still fails - (is there a prohibition from going from Sealed to concrete)

do I need to recreate things with a slightly different name?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIK, unsealing classes is supported as a minor-schema-update. I can't explain the error that the "validateWIPSchemas" tool is returning.

cc: @ColinKerr / @naveedkhan8067

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants