Example node implementations
Types
IHACRESNode = ref object of RootObj name*: string nodetype*: string area*: float d*: float d2*: float e*: float f*: float level_params*: array[9, float] storage*: seq[float] quickflow*: seq[float] slowflow*: seq[float] outflow*: seq[float] effective_rainfall*: seq[float] et*: seq[float] inflow*: seq[float] level*: seq[float] storage_coef*: float
- abstract base class for an expression
BilinearNode = ref object of IHACRESNode a*: float b*: float alpha*: float
ExpuhNode = ref object of IHACRESNode tau_s*: float tau_q*: float v_s*: float
Procs
proc set_calib_params(s: IHACRESNode; d, d2, e, f: float) {...}{.raises: [], tags: [].}
- Helper function to set parameters during calibration.
proc update_state(s: IHACRESNode; storage, e_rainfall, et, qflow_store, sflow_store, outflow, level: float) {...}{. raises: [], tags: [].}