You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CBP sends O3 as next downstream flow, and O1 and O2 are diversions.
flags are set such that there are no conflicts between o1, o2 and o3
If we disable ODFV flag, so as not to use FTABLE, and enable ODGTF3 via code, we can control flow routing out.
HYDR-PARM1 is controlled in:
HYDR-PARM1 - holds basic info to tell about routing modes and data sources
Flag Sections (3 of them):
ODFVF: FTABLE, relate to fN(VOL) part of routing solver. i.e. what columns in FTABLE have outflow functional info (like normal stage-discharge lookups).
ODGTF: timeseries (EXT Sources) what exits match up with time series (like demands)
FUNCT : other functional?
hsp2 code hydr():
sends FUNCT as argument funct to _hydr_()
sends ODGTF as argument OUTDGT to _hydr_()
sends ODFVF as argument COLIND to _hydr_()
extracted from ts based on settings in COLIND, hard to parse, is the FTABLE actually passed in via the ts variable because it is an array?
There will be an $O_n$ entry in the HYDR timeseries outflow table for each member of the HYDR-PARM1-ODGTFG/ODFVG with non-zero integer setting
Since each flag section as 5 slots, 1, 2, 3 ,4 and 5, does hsp assign each $O_n$ based on which flag is set? Are they mutually exclusive, i.e., there are only 5 possible out controllers, so if one method (FV,DG, FU) has flag 3 set, other functions cannot? Or are they additive?
In the CBP model, it appears that ODGT might be handled before ODFV, which sort of makes sense since the ODFV (ftable column 4) is on the 3rd flag slot, whereas the 2 withdrawals slots (ODGT) have flags 1 and 2 set.
Using (ODG) in this way would limit the amount of water left to flow downstream based on the value for demand.
If the FTABLE were slot 1, this should prioritize the downstream release before withdrawals, which might be appropriate for a managed reservoir since it would insure MIFs first, then try to meet demands.
But, how does this impact release rules, where we would want to insure a certain MIF?
HYDR-PARM1
RCHRES Flags for HYDR section ***
# - # VC A1 A2 A3 ODFVFG for each ODGTFG for each *** FUNCT for each
FG FG FG FG possible exit possible exit *** possible exit
1 2 3 4 5 1 2 3 4 5 *** 1 2 3 4 5
VC A1 A2 A3 V1 V2 V3 V4 V5 G1 G2 G3 G4 G5 *** F1 F2 F3 F4 F5
1 0 1 1 1 0 0 4 0 0 1 2 0 0 0 0 0 0 0 0
END HYDR-PARM1
Reference:
HSPF 12 Manual HYDR - Hydraulic Behavior pp. 152-
NOROUT - "is used to compute the rates and volumes of outflow from a RCHRES and the new volume in cases where no outflow demand has an fN(VOL) component; that is, where all outflow demands are functions of time only."
This may be a good way to go when using om dynamic components for reservoir management. Just let dynamic code set value for O3. Will have to alter the UCI to omit the ODFVG flag, and set an additional ODGTFG
The text was updated successfully, but these errors were encountered:
fN(VOL)
part of routing solver. i.e. what columns in FTABLE have outflow functional info (like normal stage-discharge lookups).hsp2
codehydr()
:funct
to_hydr_()
OUTDGT
to_hydr_()
COLIND
to_hydr_()
ts
based on settings inCOLIND
, hard to parse, is the FTABLE actually passed in via thets
variable because it is an array?hsp
assign eachNOROUT
- "is used to compute the rates and volumes of outflow from a RCHRES and the new volume in cases where no outflow demand has anfN(VOL)
component; that is, where all outflow demands are functions of time only."om
dynamic components for reservoir management. Just let dynamic code set value for O3. Will have to alter the UCI to omit the ODFVG flag, and set an additional ODGTFGThe text was updated successfully, but these errors were encountered: