Dam (Storage Level)

Streamfall.run_node!Method
run_node!(
    node::DamNode, climate::Climate, ts::Int;
    inflow=nothing, extraction=nothing, exchange=nothing
)::Nothing

Run a specific node for a specified time step.

Arguments

  • node : DamNode
  • climate : Climate dataset
  • ts : Current time step
  • inflow : Time series of inflows from any upstream node.
  • extraction : Time series of water orders (expects column of _releases)
  • exchange : Time series of groundwater flux
source
Streamfall.run_node!Method
run_node!(
    node::DamNode,
    ts::Int64,
    rain::Float64,
    et::Float64,
    volume::Float64,
    inflow::Float64,
    extractions::Float64,
    gw_flux::Float64
)

Calculate outflow for the dam node for a single time step.

Arguments

  • node : DamNode
  • rain : rainfall in mm
  • et : evapotranspiration data in mm
  • irrig_ext : irrigation extractions
  • extractions : extraction data in ML
  • gw_flux : groundwater interaction

Returns

Outflow from dam

source
Streamfall.update_params!Method
update_params!(node::DamNode, storage_coef::Float64)::Nothing

Method to update DamNode specific parameters.

Arguments

  • node : DamNode
  • storage_coef : Storage coefficient value
source
Streamfall.update_volumeMethod
update_volume(volume, node_inflow, gamma, rain, evap, area, extractions, discharge, max_store)::Float64

Update dam volume for timestep.

Arguments

  • volume : current water volume in ML
  • node_inflow : inflow from previous node in ML
  • gamma : groundwater exchange (positive is gain from gw flow, negative is loss to infiltration)
  • rain : rainfall input
  • evap : evaporation loss
  • infiltration : infiltration loss
  • area : dam surface area in square kilometers
  • extractions : water extraction from dam in ML
  • discharge : discharge from dam in ML
  • max_store : maximum dam storage in ML

Returns

volume of water stored in dam

source