-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Description
Tasks
UVQUAN is a pointer to a memory location, representing some HSPF register. See also UVNAME
- Data Model
- Parser: ParseTable.csv entry under way, not tested with code yet. See: https://github.com/HARPgroup/HSPsquared/blob/uvquan/HSP2tools/data/ParseTable.csv
- class handler (turns table data into linked and integrated executable runtime)
- Executable Code
- Unit Tests
- Performance Tests
- See also SPEC-ACTIONS - UVQUAN as action value #173
- Questions/concepts:
- Differences between
UVNAMEandUVQUAN? IsUVNAMEa variable applied/created in all segments, whereasUVQUANis a single variable created for a specific segment? - Cross-domain UVQUAN, i.e., in example below,
IF (precx1 > 6.000) THEN, canprecx1which is based onPERLND 1be used by some other element, likeRCHRES 1? (hypothetical to understand full life-cycle)
- Differences between
UCI
- Note: Definitions in HSPF manual "Details of User-defined Variable Quantity line" gives a variable named
ADDR, but:- This does not appear in the actual UCI. (not in example, or in test UCI from CBP)
- Instead, it appears to be a meta-column, the "VNAME" + "CSUB1" ("vari" and ""s1" in manual and CBP examples)
UCI Data Structure
UCI Examples
Example from HSPF_v12.2_manual
*** User-Defined Variable Quantity Lines
*** addr
*** <------>
*** kwd varnam optyp opn vari s1 s2 s3 tp multiply lc ls ac as agfn ***
<****> <----> <----> <-> <----><-><-><-><-><--------> <><-> <><-> <--> ***
UVQUAN prec PERLND 1 PREC 3 DY 1 SUM
TEST13.UCI
From fortran HSPF base tests:
Hurricane Isabel
- From CBP Phase 6 model
- Ultra-large hurricanes had poor peak flow performance, so specl was used to adjust land
INFEXPparameter when rainfall over 2 week period exceeded 6.0 inches - http://deq1.bse.vt.edu:81/p6/vadeq/tmp/uci/land/ntg/vadeq_2021/ntgH51009.uci
- Ultra-large hurricanes had poor peak flow performance, so specl was used to adjust land
***Iuvquan User-Defined Variable Quantity Line
*** kwd varnam optyp opn vari s1 s2 s3 tp multiply lc ls ac as agfn ***
<****> <----> <----> <-> <----><-><-><-><-><--------> <><-> <><-> <--> ***
UVQUAN precx1 PERLND 1 PREC 3 DY 14 SUM
***Action Lines for INFEXP
IF (precx1 > 6.000) THEN
PERLND 1 3 INFEXP = 8.0000000
ELSE
PERLND 1 3 INFEXP = 2.0000000
END IF
hdf5 Data Model
- hdf5 Path:
/SPEC_ACTIONS/UVQUAN/table- Column Names (see DEF below): UVQNAM, OPTYP, OPTNO, VNAME, CSUB1, CSUB2, CSUB3, ADDR, TYPCOD, UVQMUL, CTCODE1, TSTEP1, CTCODE2, TSTEP2, CTRAN
DEF: Table Definition
- NOT YET COMPLETE: this is from ACTIONS specl: ACTIONS (parser and code) #105
| index | UVQNAM | OPTYP | OPTNO | VNAME | CSUB1 | CSUB2 | CSUB3 | TYPCOD | UVQMUL | CTCODE1 | TSTEP1 | CTCODE2 | TSTEP2 | CTRAN |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | prec | PERLND | 1 | PREC | 3 | DY | 1 | SUM |
Execution Code
- Fortran version SUBROUTINE PSPACT in 12.2
Metadata
Metadata
Assignees
Labels
No labels
