2.0.0b10
catchment modelling framework
Loading...
Searching...
No Matches
RutterInterception Class Reference

Interception storage overflow according to the Rutter and Morton (1977) model. More...

+ Inheritance diagram for RutterInterception:
+ Collaboration diagram for RutterInterception:

Detailed Description

Interception storage overflow according to the Rutter and Morton (1977) model.

Calculates the interception overflow as a storage depending fraction of incoming rainfall The Rutter model of interception reads as follows after Meuser, A., 1990. Effects of afforestation on run-off characteristics. Agric. For. Meteorol. 50: 125-138.:

\[\frac{dI_C(t)}{dt}=P(t)(1-p_F-p_S)-P(t)(1-p_F-p_S)\frac{I_C(t)}{I_CMAX}-f_I(E-e)(t)\]

With \(I_C\) the current canopy storage and \(P(t)\) the current rainfall.

The second term of the equation denotes the flux from the canopy to the ground. The implemented formula for canopy storage overflow reads then as:

\[q_{CO}(t) = P_{net}(t)\frac{V_{act}[mm]}{V_{max}[mm]}\]

With:

  • \(q_{CO}(t)[\frac{m^3}{day}]\): The flux from canopy to the ground
  • \(P_{net}(t)[\frac{m^3}{day}]\): The flux from the rain to the canopy
  • \(V_{act}[mm]=1000 [mm/m] \frac{V_{canopy}[m^3]}{A_{cell} [m^2]}\) The stored water of the canopy in mm
  • \(V_{max}[mm]=c_{LAI}[mm]\cdot LAI\) The capacity of the canopy in mm, defined by the factor CanopyCapacityPerLAI [mm/LAI], and the leaf area index LAI. (see: cmf::upslope::vegetation::Vegetation)

Public Member Functions

real conc (cmf::math::Time t, const cmf::water::solute &_Solute)
 Returns the concentration of the flux.
 
flux_node::ptr get_target (const flux_node &inquirer)
 Returns the other end of a connection than the asking end.
 
flux_node::ptr get_target (int index) const
 With index 0, the left node is returned, with index 1 the right node of the connection.
 
real get_tracer_filter ()
 A value ranging from 0 to 1 to filter tracers out of the water flux.
 
real get_tracer_filter (solute S)
 A value ranging from 0 to 1 to filter tracers out of the water flux.
 
bool kill_me ()
 Deregisters this connection from its nodes. Returns true if only one reference is left.
 
flux_node::ptr left_node () const
 Returns the left node of this connection.
 
real q (const flux_node &inquirer, cmf::math::Time t)
 Returns the current flux through a connection. Negative signs mean out of the inquirer, positive are inflows to the inquirer.
 
void refresh (cmf::math::Time t)
 Performes a new calculation of the flux.
 
flux_node::ptr right_node () const
 returns the right node of this connection
 
void set_tracer_filter (real value)
 A value ranging from 0 to 1 to filter tracers out of the water flux.
 

Static Public Member Functions

static RutterInterceptionuse_for_cell (cmf::upslope::Cell &cell)
 Creates a new connection between canopy and surfacewater and does a bunch of other things.
 

Public Attributes

const std::string type
 A string describing the type of the connection.
 

Member Function Documentation

◆ conc()

real conc ( cmf::math::Time t,
const cmf::water::solute & _Solute )
inherited

Returns the concentration of the flux.


If not overridden, it returns the concentration of the source of the flux (direction depending)

◆ get_tracer_filter()

real get_tracer_filter ( )
inherited

A value ranging from 0 to 1 to filter tracers out of the water flux.

1.0 is no filter and 0.0 means no solute is crossing this connection

◆ set_tracer_filter()

void set_tracer_filter ( real value)
inherited

A value ranging from 0 to 1 to filter tracers out of the water flux.

1.0 is no filter and 0.0 means no solute is crossing this connection

◆ use_for_cell()

static RutterInterception * use_for_cell ( cmf::upslope::Cell & cell)
static

Creates a new connection between canopy and surfacewater and does a bunch of other things.

  • If no canopy storage is available, it is created
  • The precipitation is split up between throughfall and intercepted rain
  • CanopyStorageEvaporation connects the canopy with cell.evaporation