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

Reservoir / Reach Routing Modification from OM/STATE #72

Open
rburghol opened this issue Jun 28, 2023 · 0 comments
Open

Reservoir / Reach Routing Modification from OM/STATE #72

rburghol opened this issue Jun 28, 2023 · 0 comments
Assignees

Comments

@rburghol
Copy link

rburghol commented Jun 28, 2023

  • UCI info:
    • Examples Appommatox / test10
      • 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
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

No branches or pull requests

1 participant