modules_REW_route (02/12/08)

CRHM Borland

REW_route

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

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

The flow output of an RB may be diverted to another RB by using the whereto parameter.  Normally, this flow is added to the input flow of the particular RB and does not become part of the internal hydro;ogy of the RB.

This routine handles the groundwater from all RBs in an identical manner.

Observations

  • none

Variables

  • WS_inflow (m^3/int) - sum of the optional inflow from other RBs and delayed surface and subsurface runoff from the current RB before Muskingum delay.
  • cum_WSinflow (m^3) - HRU cumulative inflow.
  • WS_outflow (m^3/int) - HRU outflow after Muskingum delayed WS_inflow.
  • cum_WSoutflow (m^3) - HRU cumulative outflow.
  • WS_flow (m^3/int) - average outflow rate of surface and subsurface runoff from the watershed.
  • WS_flow_s (m^3/s) - average outflow rate of surface and subsurface runoff from the watershed.
  • cum_WSflow (m^3) - cumulative watershed outflow.
  • WS_gwinflow (m^3/int) - sum of the optional inflow from other RBs and delayed surface and subsurface runoff from the current RB before Muskingum delay.
  • cum_WSgwinflow (m^3) - HRU cumulative inflow.
  • WS_gwoutflow (m^3/int) - HRU outflow after Muskingum delayed WS_gwinflow.
  • cum_WSgwoutflow (m^3) - HRU cumulative outflow.
  • WS_gwflow (m^3/int) - average outflow rate of surface and subsurface runoff from the watershed.
  • WS_gwflow_s (m^3/s) - average outflow rate of surface and subsurface runoff from the watershed.
  • cum_WSgwflow (m^3) - cumulative watershed outflow.

 

Parameters

  • watershed_area (km^2) - Sum of RB areas.
  • RB_area (km^2) - RB areas.
  • route_n () - Manning roughness coefficient.
  • route_R () - hydraulic radius.
  • route_L (m) - routing length.
  • route_H (m) - elevation change over route)L
  • WS_Kstorage (d) - storage constant for RB.
  • WS_Lag (h) - Lag for RB.
  • WS_X_M () - dimentionless weighting factor.
  • WS_whereto () - '0' for basin outflow or 1..n to be directed toanother HRU.
  • WS_order () - HRU routing process order.
  • WS_gwKstorage (d) - storage constant for RB.
  • WS_gwLag (h) - Lag for RB.
  • WS_gwX_M () - dimentionless weighting factor.
  • WS_gwwhereto () - '0' for basin outflow or 1..n to be directed toanother HRU.
  • WS_gworder () - HRU routing process order.

 

Variable Inputs

  • inflow_All (*) (mm/int) - "basinflow" variables from all groups. Programmed as an interval or daily value.  Associated variable "rew".
  • gw_All  (*) (mm/int) - "basingw" variables from all groups. Programmed as an interval or daily value. Associated variable "gwrew".

 

Notes.

     The variable inputs above are generated by a special call to " cnt = declgrpvar(Variable name, "search variable", "help information", "units", var, var_data)".    The name given as "search variable" is searched for in all model groups.  The variable "cnt" gives the number of occurrences found.  The one dimensional variable "var" gives the group index of the occurrences found. Group A - 1, B - 2, etc.  The  two dimensional  [RBindex][HRU], variable"var_data" gives the interval data.  In the case of  "basinflow" and "basingw" which are dimensioned as "basin", [HRU] is always [0].

Muskingum Routing.

The following is calculated from each RB's parameter and used for the Muskingum routing.

Vw[3] = {1.67, 1.44, 1.33}; // rectangular - 0/parabolic - 1/triangular - 2

WS_Kstorage = route_L/(Vw[route_Cshp]*Vavg) and

WS_gwKstorage = route_L/(Vw[route_Cshp]*Vavg) where

Vavg = (1/route_n)*pow(route_R, 2/3)*pow(route_H/route_L, 0.5)*86400.

Demo Project.

    watershed.prj