develop: the next step before master on respec repo
develop-equ-advanced: will introduce equations,
develop-broadcast: Built off develop-equ-advanced: Add broadcast
develop-datamatrix: Built off develop-equ-advanced: Add datamatrix
develop-flowby: Built off develop-equ-advanced: Add flowby
TBD develop-impoundment: Do after equations, matrices, flowby and broadcast variables, which are the base components needed to do a non-reservoir water supply operational model test
Remnant Branches (may contains code that is needed for migration)
develop-specact-eq: child of develop-specact - matrices and equations and lookups is current working version (copied from branch called develop-specact-speed-eq to keep things organized)
develop-specact-ts: introduce timeseries loading code and integration into runtime
Cannot yet test code until develop-specact has merge from develop-specact-depend (see above)
develop-specact-3: contains all currently developed OM code, with most recent version (except equation), including impoundment and channel prototypes
Recently merged branches:
~develop-specact-speed~ merged into develop-specact 4/2/2024
Note: both state_ix and op_tokens have been converted to ndarray, but the performance improvement with op_tokens is only on the order of 10ths of a second, because writes to data structures are very expensive in Dict but reads are cheap, or negligible slowdown compared to ndarray.https://github.com/respec/HSPsquared/issues/135
[ ] Provide access to timeseries values in both specl and regular om operations.
[ ] Test outputting state values to timeseries in json
[ ] (underway) develop-equ-advanced:
[x] equation - basic mathematical operations with parentheses and standard operation hierarchy support.
[ ] test equation by mimicking the specl test code writes
[x] timeseries: allow reads and writes from the hdf5 timeseries
[ ] develop-ts-read: hsp2 populates ts with only the domain specific inputs, for example hydr only has water balance related inputs for the specific RCHRES included -- see details at #60
[x] Accessor code
[ ] Convert to common timestep
[ ] Write to timeseries
[ ] Demo
[ ] Continuous integration testing code
[ ] develop-datamatrix:
[ ] datamatrix - lookup tables
[ ] develop-broadcast:
[ ] model_broadcast - allows a very flexible way of aggregating and linking variables, mostly a "pre-processor" type object, as it gets tokenized as links and has an auto reset to zero at the beginning of every timestep.
[ ] develop-flowby: #82
[ ] Flowby - maybe done as parser only arrangement which combines primitives equation, datamatrix and datamatrx function (like min, max)
[ ] develop-specl-uv - introduce timing for repeats on basic ACTION and the 2 UV ops
[ ] UVNAME or UVQUAN - which ever should logically appear first and can support work in equation or other components
[ ] (TBD) advanced operational model
datamatrix: table data structure to provide lookup lists, as well as statiscal analysis (i.e. get min value of arbitrarily long list of elements)
Branches
develop
: the next step beforemaster
on respec repodevelop-equ-advanced
: will introduce equations,develop-broadcast
: Built offdevelop-equ-advanced
: Add broadcastdevelop-datamatrix
: Built offdevelop-equ-advanced
: Add datamatrixdevelop-flowby
: Built offdevelop-equ-advanced
: Add flowbydevelop-impoundment
: Do after equations, matrices, flowby and broadcast variables, which are the base components needed to do a non-reservoir water supply operational model testdevelop-specact-eq
: child ofdevelop-specact
- matrices and equations and lookups is current working version (copied from branch calleddevelop-specact-speed-eq
to keep things organized)develop-specact-ts
: introduce timeseries loading code and integration into runtimedevelop-specact
has merge fromdevelop-specact-depend
(see above)develop-specact-3
: contains all currently developed OM code, with most recent version (except equation), including impoundment and channel prototypesdevelop-specact-speed
~ merged intodevelop-specact
4/2/2024develop-specact-depend
~: merged 4/24/2024 - introduce end-point dependencies - PR sent https://github.com/respec/HSPsquared/pull/150Migrating Code from Branch to Branch
git checkout [source branch] [code file]
git checkout origin/develop-specact-eq HSP2/om_model_broadcast.p
HSP2
tosrc/hsp2/hsp2
src/hsp2/hsp2
and then delete directoryHSP2
Steps
develop-specact-speed
: https://github.com/respec/HSPsquared/pull/134modelObject
,modelLinkage
,SpecialAction
, om lib: just the new time efficient codebenchmark.py
: performance testing of the speed increase withstate_ix
as anndarray
instead ofDict
(see use: #85)state_ix
andop_tokens
have been converted tondarray
, but the performance improvement withop_tokens
is only on the order of 10ths of a second, because writes to data structures are very expensive inDict
but reads are cheap, or negligible slowdown compared tondarray
.https://github.com/respec/HSPsquared/issues/135specl
and regularom
operations.develop-equ-advanced
:develop-ts-read
: hsp2 populatests
with only the domain specific inputs, for examplehydr
only has water balance related inputs for the specific RCHRES included -- see details at #60develop-datamatrix
:develop-broadcast
:develop-flowby
: #82develop-specl-uv
- introduce timing for repeats on basicACTION
and the 2 UV opsgit remote add --track develop-specact upstream-develop-specact https://github.com/respec/hspsquared