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

added state path initialization for hydr #123

Merged
merged 2 commits into from
Dec 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,5 @@ tests/GLWACSO/HSP2results/hspp007.uci
tests/test_report_conversion.html
tests/land_spec/hwmA51800.h5
tests/testcbp/HSP2results/PL3_5250_0001.h5
tests/testcbp/HSP2results/PL3_5250_specl.h5
tests/testcbp/HSP2results/*.csv
10 changes: 8 additions & 2 deletions HSP2/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ def main(io_manager:IOManager, saveall:bool=False, jupyterlab:bool=True) -> None
ftables = uci_obj.ftables
specactions = uci_obj.specactions
monthdata = uci_obj.monthdata
specactions = {} # placeholder till added to uci parser

start, stop = siminfo['start'], siminfo['stop']

Expand All @@ -66,10 +65,17 @@ def main(io_manager:IOManager, saveall:bool=False, jupyterlab:bool=True) -> None
# Add support for dynamic functins to operate on STATE
# - Load any dynamic components if present, and store variables on objects
state_load_dynamics_hsp2(state, io_manager, siminfo)
# Iterate through all segments and add crucial paths to state
# before loading dynamic components that may reference them
for _, operation, segment, delt in opseq.itertuples():
for activity, function in activities[operation].items():
if activity == 'HYDR':
state_context_hsp2(state, operation, segment, activity)
print("Init HYDR state context for domain", state['domain'])
hydr_init_ix(state['state_ix'], state['state_paths'], state['domain'])
# - finally stash specactions in state, not domain (segment) dependent so do it once
state['specactions'] = specactions # stash the specaction dict in state
#######################################################################################

# main processing loop
msg(1, f'Simulation Start: {start}, Stop: {stop}')
tscat = {}
Expand Down
234 changes: 234 additions & 0 deletions tests/testcbp/HSP2results/PL3_5250_specl.uci
Original file line number Diff line number Diff line change
@@ -0,0 +1,234 @@
RUN

GLOBAL
PL3_5250_0 riv | P5 | hsp2_2022 | Occoquan
START 2001/01/01 END 2001/12/31
RUN INTERP OUTPUT LEVEL 1 1
RESUME 0 RUN 1 UNIT SYSTEM 1
END GLOBAL

FILES
<FILE> <UN#>***<----FILE NAME------------------------------------------------->
WDM1 21 met_A51059.wdm
WDM2 22 prad_A51059.wdm
WDM3 23 ps_sep_div_ams_hsp2_2022_PL3_5250_0001.wdm
WDM4 24 PL3_5250_0001.wdm
MESSU 25 PL3_5250_0001.ech
26 PL3_5250_0001.out
31 PL3_5250_0001.tau
END FILES

OPN SEQUENCE
INGRP INDELT 01:00
RCHRES 1
PLTGEN 1
END INGRP
END OPN SEQUENCE

RCHRES
ACTIVITY
# - # HYFG ADFG CNFG HTFG SDFG GQFG OXFG NUFG PKFG PHFG ***
1 1 1 0 0 0 0 0 0 0 0
END ACTIVITY

PRINT-INFO
# - # HYFG ADFG CNFG HTFG SDFG GQFG OXFG NUFG PKFG PHFG PIVL***PY
1 5 5 0 0 0 0 0 0 0 0 0 12
END PRINT-INFO

GEN-INFO
RCHRES<-------Name------->Nexit Unit Systems Printer ***
# - # User t-series Engl Metr LKFG ***
1 PL3_5250_0001 3 1 1 1 26 0 1
END GEN-INFO

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

HYDR-PARM2
RCHRES ***
# - # FTABNO LEN DELTH STCOR KS DB50 ***
1 1. 10. 2. 0.5
END HYDR-PARM2

HYDR-INIT
RCHRES Initial conditions for HYDR section ***
# - # VOL Initial value of COLIND *** Initial value of OUTDGT
(ac-ft) for each possible exit *** for each possible exit
VOL CEX1 CEX2 CEX3 CEX4 CEX5 *** DEX1 DEX2 DEX3 DEX4 DEX5
1 12175.000
END HYDR-INIT

ADCALC-DATA
RCHRES Data for section ADCALC ***
# - # CRRAT VOL ***
1 1.5 12175.
END ADCALC-DATA

END RCHRES

FTABLES
FTABLE 1
ROWS COLS ***
20 4
DEPTH AREA VOLUME DISCH ***
(FT) (ACRES) (AC-FT) (CFS) ***
0 0 0 0
20 124 1007 0
30 240 2781 0
40 444 6106 0
50 804 12175 0
52 909 13886 39
54 1024 15819 78
56 1155 17999 117
57 1226 19227 136
58 1296 20456 137
60 1413 23180 138
62 1524 26140 140
63 1586 27745 1922
64 1647 29351 5179
65 1701 31247 9398
66 1755 33143 14393
67 1803 34984 20645
69 1879 38705 36532
70 1908 40585 44603
76 2100 54000 103071
END FTABLE 1
END FTABLES

EXT SOURCES
<-Volume-> <Member> SsysSgap<--Mult-->Tran <-Target vols> <-Grp> <-Member->***
<Name> # <Name> # tem strg<-factor->strg <Name> # # <Name> # #***
*** METEOROLOGY
WDM1 1000 EVAP ENGLZERO 1.000 SAME RCHRES 1 EXTNL POTEV
WDM1 1001 DEWP ENGLZERO SAME RCHRES 1 EXTNL DEWTMP
WDM1 1002 WNDH ENGLZERO SAME RCHRES 1 EXTNL WIND
WDM1 1003 RADH ENGLZERO SAME RCHRES 1 EXTNL SOLRAD
WDM1 1004 ATMP ENGLZERO SAME RCHRES 1 EXTNL GATMP
WDM1 1005 CLDC ENGLZERO SAME RCHRES 1 EXTNL CLOUD

*** PRECIPITATION AND ATMOSPHERIC DEPOSITION LOADS
WDM2 2000 HPRC ENGLZERO SAME RCHRES 1 EXTNL PREC
WDM2 2001 NO23 ENGLZERO DIV RCHRES 1 EXTNL NUADFX 1 1
WDM2 2002 NH4A ENGLZERO DIV RCHRES 1 EXTNL NUADFX 2 1
WDM2 2003 NO3D ENGLZERO DIV RCHRES 1 EXTNL NUADFX 1 1
WDM2 2004 NH4D ENGLZERO DIV RCHRES 1 EXTNL NUADFX 2 1
WDM2 2005 ORGN ENGLZERO DIV RCHRES 1 EXTNL PLADFX 1 1
WDM2 2006 PO4A ENGLZERO DIV RCHRES 1 EXTNL NUADFX 3 1
WDM2 2007 ORGP ENGLZERO DIV RCHRES 1 EXTNL PLADFX 2 1

*** POINT SOURCE
WDM3 3000 FLOW ENGLZERO DIV RCHRES 1 INFLOW IVOL
WDM3 3001 HEAT ENGLZERO DIV RCHRES 1 INFLOW IHEAT
WDM3 3002 NH3X ENGLZERO DIV RCHRES 1 INFLOW NUIF1 2
WDM3 3003 NO3X ENGLZERO DIV RCHRES 1 INFLOW NUIF1 1
WDM3 3004 ORNX ENGLZERO DIV RCHRES 1 INFLOW PKIF 3
WDM3 3005 PO4X ENGLZERO DIV RCHRES 1 INFLOW NUIF1 4
WDM3 3006 ORPX ENGLZERO DIV RCHRES 1 INFLOW PKIF 4
WDM3 3021 BODX ENGLZERO DIV RCHRES 1 INFLOW OXIF 2
WDM3 3022 TSSX ENGLZERO 0.0005 DIV RCHRES 1 INFLOW ISED 3
WDM3 3023 DOXX ENGLZERO DIV RCHRES 1 INFLOW OXIF 1
WDM3 3024 TOCX ENGLZERO DIV RCHRES 1 INFLOW PKIF 5

*** DIVERSIONS
WDM3 3007 DIVR ENGLZERO SAME RCHRES 1 EXTNL OUTDGT 1
WDM3 3008 DIVA ENGLZERO SAME RCHRES 1 EXTNL OUTDGT 2

*** SEPTIC
WDM3 3010 SNO3 ENGLZERO 1.0000 DIV RCHRES 1 INFLOW NUIF1 1

*** AEOLIAN SEDIMENT
WDM3 3061 SFAS ENGLZERO 7.027e-06DIV RCHRES 1 INFLOW ISED 2
WDM3 3062 SFAC ENGLZERO 7.027e-06DIV RCHRES 1 INFLOW ISED 3

*** UPSTREAM and EOS INPUT ***
WDM4 11 WATR ENGLZERO SAME RCHRES 1 INFLOW IVOL
WDM4 12 HEAT ENGLZERO SAME RCHRES 1 INFLOW IHEAT
WDM4 13 DOXY ENGLZERO SAME RCHRES 1 INFLOW OXIF 1
WDM4 21 SAND ENGLZERO SAME RCHRES 1 INFLOW ISED 1
WDM4 22 SILT ENGLZERO SAME RCHRES 1 INFLOW ISED 2
WDM4 23 CLAY ENGLZERO SAME RCHRES 1 INFLOW ISED 3
WDM4 31 NO3D ENGLZERO SAME RCHRES 1 INFLOW NUIF1 1
WDM4 32 NH3D ENGLZERO SAME RCHRES 1 INFLOW NUIF1 2
WDM4 33 NH3A ENGLZERO SAME RCHRES 1 INFLOW NUIF2 1 1
WDM4 34 NH3I ENGLZERO SAME RCHRES 1 INFLOW NUIF2 2 1
WDM4 35 NH3C ENGLZERO SAME RCHRES 1 INFLOW NUIF2 3 1
WDM4 36 RORN ENGLZERO SAME RCHRES 1 INFLOW PKIF 3
WDM4 41 PO4D ENGLZERO SAME RCHRES 1 INFLOW NUIF1 4
WDM4 42 PO4A ENGLZERO SAME RCHRES 1 INFLOW NUIF2 1 2
WDM4 43 PO4I ENGLZERO SAME RCHRES 1 INFLOW NUIF2 2 2
WDM4 44 PO4C ENGLZERO SAME RCHRES 1 INFLOW NUIF2 3 2
WDM4 45 RORP ENGLZERO SAME RCHRES 1 INFLOW PKIF 4
WDM4 51 BODA ENGLZERO SAME RCHRES 1 INFLOW OXIF 2
WDM4 52 TORC ENGLZERO SAME RCHRES 1 INFLOW PKIF 5
WDM4 53 PHYT ENGLZERO SAME RCHRES 1 INFLOW PKIF 1
END EXT SOURCES

EXT TARGETS
<-Volume-> <-Grp> <-Member-><--Mult-->Tran <-Volume-> <Member> Tsys Tgap Amd ***
<Name> # <Name> # #<-factor->strg <Name> # <Name> # tem strg strg***
RCHRES 1 OFLOW OVOL 3 SAME WDM4 111 WATR ENGL REPL
RCHRES 1 OFLOW OHEAT 3 SAME WDM4 112 HEAT ENGL REPL
RCHRES 1 OFLOW OXCF2 3 1 SAME WDM4 113 DOXY ENGL REPL
RCHRES 1 OFLOW OSED 3 1 SAME WDM4 121 SAND ENGL REPL
RCHRES 1 OFLOW OSED 3 2 SAME WDM4 122 SILT ENGL REPL
RCHRES 1 OFLOW OSED 3 3 SAME WDM4 123 CLAY ENGL REPL
RCHRES 1 OFLOW NUCF9 3 1 SAME WDM4 131 NO3D ENGL REPL
RCHRES 1 OFLOW NUCF9 3 2 SAME WDM4 132 NH3D ENGL REPL
RCHRES 1 OFLOW OSNH4 3 1 SAME WDM4 133 NH3A ENGL REPL
RCHRES 1 OFLOW OSNH4 3 2 SAME WDM4 134 NH3I ENGL REPL
RCHRES 1 OFLOW OSNH4 3 3 SAME WDM4 135 NH3C ENGL REPL
RCHRES 1 OFLOW PKCF2 3 3 SAME WDM4 136 RORN ENGL REPL
RCHRES 1 OFLOW NUCF9 3 4 SAME WDM4 141 PO4D ENGL REPL
RCHRES 1 OFLOW OSPO4 3 1 SAME WDM4 142 PO4A ENGL REPL
RCHRES 1 OFLOW OSPO4 3 2 SAME WDM4 143 PO4I ENGL REPL
RCHRES 1 OFLOW OSPO4 3 3 SAME WDM4 144 PO4C ENGL REPL
RCHRES 1 OFLOW PKCF2 3 4 SAME WDM4 145 RORP ENGL REPL
RCHRES 1 OFLOW OXCF2 3 2 SAME WDM4 151 BODA ENGL REPL
RCHRES 1 OFLOW PKCF2 3 5 SAME WDM4 152 TORC ENGL REPL
RCHRES 1 OFLOW PKCF2 3 1 SAME WDM4 153 PHYT ENGL REPL
END EXT TARGETS

NETWORK
<-Volume-> <-Grp> <-Member-><--Mult-->Tran <-Target vols> <-Grp> <-Member-> ***
<Name> # <Name> # #<-factor->strg <Name> # # <Name> # # ***
RCHRES 1 HYDR TAU AVER PLTGEN 1 INPUT MEAN 1
END NETWORK

PLTGEN
PLOTINFO
# - # FILE NPT NMN LABL PYR PIVL ***
1 31 1 12 24
END PLOTINFO

GEN-LABELS
# - #<----------------Title-----------------> ***
1 PL3_5250_0001 daily_shear_stress_lbsft2
END GEN-LABELS

SCALING
#thru# YMIN YMAX IVLIN THRESH ***
1 99 0. 100000. 20.
END SCALING

CURV-DATA
<-Curve label--> Line Intg Col Tran ***
# - # type eqv code code ***
1 daily_shear_stre 1 1 AVER
END CURV-DATA
END PLTGEN

SPEC-ACTIONS
*** ACTIONS
***optyp range dc ds yr mo da hr mn d t vari s1 s2 s3 ac value tc ts num
<****><-><--><><-><--><-><-><-><-><><> <----><-><-><-><-><--------> <> <-><->
RCHRES 1 DY 11984 1 1 12 2 3 IVOL += 10.
END SPEC-ACTIONS

END RUN