Closed rburghol closed 1 year ago
def _hydr_(ui, ts, COLIND, OUTDGT, rowsFT, funct, Olabels, OVOLlabels, specactions):
def specl(uci, ts, step, specactions):
def _specl_(uci, ts, step, specactions):
specl
facility from the original model, but it may be more appropriate to make them a separate module but we are using this issue to scope that out.demand()
appears to get arguments pertaining to OUTDGT, hence, I think that anything that alters OUTDGT
will influence the processing of demand()
, but a primary purpose of this scoping is to determine precisely how that works.specactions
dictionary?
hsp2 import_uci
. Check the parser issue for detail. https://github.com/respec/HSPsquared/issues/99specactions = {}
? https://github.com/HARPgroup/HARParchive/issues/536#issuecomment-1245729144
specactions
is populated when the UCI is read. See https://github.com/respec/HSPsquared/issues/99Answered some of your questions in line. Let's tackle these in tomorrow's work sesh!
propose at https://github.com/respec/HSPsquared/issues/90
def specl(io_manager, siminfo, ui, ts, state, specl_actions)
:io_manager
: global facility to pull data. Minimize calls toio_manager
within loops if possible for speedsiminfo
: global info like start, end, timestep other?ui
: uci data for current block, ie rchres/hydr (verify this path in the Data Dictionary)ts
: timeseries/[block], ie timeseries/rchresstate
:ts[step -1]
; the state array for the domain (i.e. RCHRES variables), this is crucial as state variables in the code are simply named variables, not a member of an array, thus difficult to pass into a routine such asspecl()
, however, all values that are relevant should be set at the end of each timestep in thets
dictionary, so, passing the last state is both a reasonable way of insuring that only the values that should be public are passed, and that the expected state of the system at the last time step is what special actions are acting upon.specl_actions
: local reach SAs (could be global list of SAs), andobjects
io_manager
in the calling routine prior to looping, so that we avoid redundant data retrievals.get_specl()
in the manner ofget_timeseries()
see def get_timeseriesSUBROUTINE SPECL
,[old hspf fn]
, which receives data at each time step then calls python equivalent to old function_[old hspf function name in lower case]_
define hydr()
calls_hydr_()
see HYDR.py