ihacres/node

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: [].}