SubCatchmentKinematicWave Class

SubCatchment class. used for Kinematic Wave Rainfall Runoff model. A sub catchment can be of five types: CatchmentKinematicWaveSurfaceType.

This class is a wrapper for CatchmentSurface and CatchmentKinematicWaveSurfaceRouting. The CatchmentSurface class is responsible for loss processes (infiltration, etc.) and CatchmentKinematicWaveSurfaceRouting is responsible for having surface routing specific data.

Definition

Namespace: DHI.Mike1D.RainfallRunoffModule
Assembly: DHI.Mike1D.RainfallRunoffModule (in DHI.Mike1D.RainfallRunoffModule.dll) Version: 24.0.0.0 (11.1.1.1111)
C#
public class SubCatchmentKinematicWave : ICatchmentKinematicWaveSurfaceData, 
	ICatchmentSurfaceData, ICatchmentKinematicWaveSurfaceRoutingData, ICatchmentSurface
Inheritance
Object    SubCatchmentKinematicWave
Implements
ICatchmentKinematicWaveSurfaceData, ICatchmentKinematicWaveSurfaceRoutingData, ICatchmentSurface, ICatchmentSurfaceData

Constructors

SubCatchmentKinematicWaveInitializes a new instance of the SubCatchmentKinematicWave class

Properties

ApplyEvaporationOnRain When raining, if true the evaporation is applied at the beginning of the time step, correcting the net rain and limited by the rain. If false, evaporation is applied on non-empty storages in the catchment and can exceed the rain.

In dry periods, this is not used, evaporation is always applied on storages.

ApplyInitialLossRecoveryRateWhenRaining Flag specifying to apply InitialLossRecoveryRate also when it is raining.
AreaFraction Area fraction of the surface Unit: [-].
Depth Depth of water on sub-catchment. State variable. Unit: [m]
DepthOld Depth of water at the previous time step. Computational variable. Unit: [m]
EffectiveAreaFraction Effective area fraction, subtracting area covered by LID's. Default: Same as AreaFraction when no LID's Unit: [-]
EvaporationActual Actual evaporation. Reporting variable. Unit: [m/s]
EvaporationActualOld Evaporation of last time step. Reporting variable. Unit: [m/s]
EvaporationFromTimeSeries True if evaporation is enabled, and an evaporation boundary has been defined.

If set to false the initial recover rate is used during dry periods. Default: False

EvaporationPotential Potential evaporation. Reporting variable. Unit: [m/s]
GlobalDepthDryLimit Dry depth used for switching Horton's mode between dry and wet in Kinematic Wave model when InfiltrationAfterRain == true. In this case the switching to regeneration of infiltration capacity is controlled by a low limit of the water depth on the surface. Unit: [m] Default: 1e-6
Horton Horton, defined only for pervious surfaces.

Returns null if Infiltration is not Horton.

ID The ID of the surface
Infiltration Infiltration calculator. This defines whether the surface is pervious.

If null, the surface is impervious.

InfiltrationActual Actual infiltration. Reporting variable. Unit: [m/s]
InfiltrationActualOld Infiltration of last time step Reporting variable. Unit: [m/s]
InfiltrationAfterRain True if infiltration shall occur also after rain has ended.

Default is true

.
InfiltrationPotential Potential infiltration. Reporting variable. Unit: [m/s]
InfiltrationPotentialOld Potential infiltration of last time step Reporting variable. Unit: [m/s]
InitialLossRecoveryRate Recovery rate for initial loss capacity. The initial loss capacity is regenerated in dry periods by a linear recovery rate.

Used as constant evaporation, when evaporation is not defined explicitly. If evaporation is defined explicitly (see EvaporationFromTimeSeries), this is neglected.

Unit: [m/s] Default: 0.00005 [m/hour] = 1.2 [mm/day]

KinematicFactor Kinematic factor. Computational variable. Unit: [m^(4/3)/s]
Length The length of the subcatchment/channel.

The model assumes a prismatic flow channel with rectangular cross section. The channel bottom width is computed from catchment area and length.

If not defined, the average length of the base catchment is used.

Default: undefined Unit: [m]

Loss Loss, other than infiltration which goes into InfiltrationActual.

Additionally, the wetting loss and storage loss is not included in this loss, and these are considered a part of catchment water volume, which cannot be routed.

Unit: [m/s]
LossOld Loss of last time step
ManningM Manning M number.

Default: depending on the surface type.

Unit: [m^(2/3)/s].

RainRate Rain rate, which can be modified by some processes.

For example, rain rate can be modified by snow module.

Unit: [m/s]
RainRateOld Rain rate of last time step. Unit: [m/s]
Runoff Runoff from the sub-catchment. State variable. Unit: [m3/s]
RunoffOld Runoff from the sub-catchment at previous time step Computational variable. Unit: [m3/s]
Slope The slope of the catchment/channel.

If not defined, the average slope of the base catchment is used.

Default: undefined Unit: [m]

SnowModule Snow module handling snow storage.

If null, the snow module is not applied.

SnowStorage Snow storage at time N+1. Unit: [m]
StorageCapacity Storage capacity. Unit: [m]. Not applicable to ImperviousSteep.
StorageLoss Storage loss depth. State variable. Unit: [m]
StorageLossOld Storage loss depth at the previous time step. Computational variable. Unit: [m]
Surface Catchment surface class, handling wetting loss, storage loss, infiltration and evaporation

If Infiltration is not defined, the surface is assumed to be impervious, and no infiltration is applied.

SurfaceRouting Data interface that covers data in a kinematic wave catchment model which varies with the surface type. Note that not all properties are applicable for all surface types.
SurfaceType Surface types of the sub-catchments
Type Impervious or pervious surface type.
UseReverseDraining Revert to old draining order. Set to true to drain in same order as in MOUSE engine.

Reverse draining drains in order: wetting, storage, depth. Hence, when storages are full, wetting and storage will be drained and not depth, depth will be higher and give more runoff. This is visible in low-flow conditions.

WettingCapacity Wetting capacity. Unit: [m].
WettingLoss Wetting loss depth. State variable. Unit: [m]
WettingLossOld Wetting loss depth at the previous time step. Computational variable. Unit: [m]
Width Width of the sub-catchment. Computational variable. Unit: [m]

Methods

Create Creates an instance of SubCatchmentKinematicWave
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
FinalizeTimeStep Finalizes catchment surface time step.
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
Initialize Initialize catchment surface.
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
PerformTimeStep Perform catchment surface time step.

The catchment surface has several processes: * Snow module * Filling of storages * Evaporation * Infiltration

Prepare Prepare catchment surface for simulation.
PrepareForTimeStep Prepare for catchment surface time step.
SetSurfaceType Set surface type for subcatchment
ToStringReturns a string that represents the current object.
(Inherited from Object)

See Also