modules_Netroute (11/15/12)

CRHM Borland

Netroute

This module defined in ClassNetroute, handles the routing of surface runoff, subsurface runoff and HRU routing using the lag and route method described by Clark(1945). Outflow from a HRU is calculated by lagging its inflow by the travel time through the HRU, then routing it through an amount of linear storage defined by the storage constant, K. The outflow from a HRU can be diverted to the inflow of another HRU or directed to the basin outlet. The parameter ‘order’ ensures that the outflows from the various HRUs are calculated in the correct order from upstream to downstream. The parameter ‘whereto’ defines the destination of an HRU outflow. A non zero value indicates flow to another HRU and a zero value specifies to the basin outflow.

The sum of runoff and snowmelt runoff may be delayed using independent Clark routing objects before being handled as input to the main HRU Clark object.

Similarly the subsurface runoff may also be delayed using an independent Clark object before being handled as input to the main HRU Clark routing object.

The delayed runoff and subsurface runoff are added and applied to the common HRU Clark routing object.

The output flow of an HRU may be diverted to another HRU by using the whereto parameter.  This flow is used to top up the depression storage (Sd in the Soil module) and the soil moisture recharge layer (soil_rechr in the Soil module) of the HRU during the current time step. Any surplus is returned to the soil module by the put variable  redirected_residual and is added to the soil_runoff variable during the next time step. The parameters soil_rechr_ByPass and Sd_ByPass may be used to prevent replenishing the recharge and depressional storage.

The groundwater flow from an HRU may be diverted to another HRU by using the 'gwwhereto' parameter. The gw flow is added to the input flow of the particular HRU after the recharge layer (soil_rechr in the Soil module) and the HRU free depressional storage (Sd in the Soil module) has been replenished. The parameters soil_rechr_ByPass and Sd_ByPass may be used to prevent replenishing the recharge and depressional storage.

Observations

  • none

Variables

  • inflow (mm*km^2/int) - sum of the optional inflow from other HRUs and delayed surface and subsurface runoff from this HRU.
  • cuminflow (mm*km^2) - HRU cumulative inflow.
  • outflow (mm*km^2/int) - HRU outflow after Clark(Kstorage, Lag) delay.
  • cumoutflow (mm*km^2) - HRU cumulative outflow.
  • outflow_diverted (mm*km^2) - HRU outflow diverted to another HRU.
  • cumoutflow_diverted (mm*km^2) - HRU cumulative outflow diverted to another HRU.
  • cum_to_Sd (mm) - cumulative flow from other HRUs to the depression storage of this HRU.
  • cum_to_soil_rechr (mm) - cumulative other HRU to soil_rechr of this HRU.
  • ssrinflow (mm*km^2/int) - subsurface runoff (ssr) to this HRU.
  • ssrcuminflow (mm*km^2) - cumulative ssrinflow.
  • ssroutflow (mm*km^2/int) - ssr outflow after Clark(ssrKstorage, ssrLag) delay.
  • ssrcumoutflow (mm*km^2) - cumulative ssr outflow.
  • runinflow (mm*km^2/int) - sum of snowmelt runoff and runoff to this HRU.
  • runcuminflow (mm*km^2) - cumulative runinflow.
  • runoutflow (mm*km^2/int) - runoff outflow after Clark(runKstorage, runLag) delay.
  • runcumoutflow (mm*km^2) - cumulative runoutflow.
  • gwinflow (mm*km^2) - gw inflow.
  • gwcuminflow (mm*km^2) - cumulative gwinflow.
  • gwoutflow (mm*km^2/int) - gw outflow after Clark(gwKstorage, gwLag) delay.
  • gwcumoutflow (mm*km^2) - cumulative gw outflow.
  • gwoutflow_diverted (mm*km^2/int) - gw outflow diverted to other HRU.
  • gwcumoutflow_diverted (mm*km^2/int) - cumulative gw outflow diverted to other HRU.
  • basinflow (m^3/int) - average outflow rate of surface and subsurface runoff from the basin.
  • basinflow_s (m^3/s) - average outflow rate of surface and subsurface runoff from the basin.
  • cumbasinflow (m^3) - cumulative basinflow.
  • basingw (m^3/int) - average ouflow rate of groundwater from the basin.
  • basingw_s (m^3/s) - average ouflow rate of groundwater from the basin.
  • cumbasingw (m3) - cumulative basingw.

 

Parameters

  • basin_area (km^2) - basin area.
  • hru area (km^2) - HRU area.
  • Kstorage (d) - storage constant for HRU.
  • Lag (h) - Lag for HRU.
  • ssrKstorage (d) - storage constant for subsurface runoff to HRU routing.
  • ssrLag (h) - Lag for subsurface runoff to HRU routing.
  • runKstorage (d) - storage constant runoff to HRU routing.
  • runLag (h) - Lag for runoff to HRU routing.
  • whereto () - '0' for basin outflow or 1..n to be directed toanother HRU.
  • gwwhereto () - 0 - basin gw (basingw), >0 other HRU surface input. <0 other -HRU gw input, or (< -HRUmax or > +HRUmax) - surface basin outflow (basinflow),
  • order () - HRU routing process order.
  • Sdmax (mm) - maximum depression storage.
  • soil_rechar_max (mm) - soil recharge maximum.
  • Sd_ByPass () - 0 - normal, 1 - Bypass Pond/Depressional storage (i.e. Sd). Also applies to redirected gw.
  • soil_rechr_ByPass () - 0 - normal, 1 - Bypass recharge layer (i.e. soil_rechr). Also applies to redirected gw.
  • gwKstorage (d) - storage constant for gw to HRU routing.
  • gwLag (h) - Lag for gw to HRU routing.

 

Variable Inputs

  • soil_ssr (*) (mm/int) - from module Soil etc. Programmed as an interval or daily value.
  • soil_runoff (*) (mm/int) - from module Soil etc. Programmed as an interval or daily value.
  • soil_gw (*) (mm/int) - from module Soil etc. Programmed as a daily value.
  • Sd (*) (mm) - from module Soil etc. Programmed as a state  put value.
  • soil_rechr (*) (mm) - from module Soil etc. Programmed as a state  put value.
  • soil_moist (*) (mm) - from module Soil etc. Programmed as a state  put value.
  • redirected_residual (*) (mm*km^2/int) - to module Soil etc. Programmed as a state  put value.

 

Notes.

    The redistribution of water between HRU's is handled by Netroute. The interval outflow from an HRU may be directed to another HRU or designated as basin flow using the whereto parameter.  When directed to another HRU, any water is first used to top up the soil recharge layer if soil_rechr_ByPass is not enabled and then any surplus applied to Depression or Pond storage (Sd) if Sd_ByPass is not enabled and then the excess is added to the HRU's inflow. If the whereto parameter is 0, the outflow is accumulated in basin flow. The last HRU is basin flow, so whereto is always 0.