DHI.Mike1D.RainfallRunoffModule Namespace

The RainfallRunoffModule component contains various catchment models for calculating runoff from catchments

Classes

Autocal Data for autocalibration of catchment parameters.
Catchment Abstract catchment class.
CatchmentAbstractUrban CatchmentAbstractUrban is an abstract class that inherits from Catchment. All common methods for urban rainfall-runoff models are implemented here.
CatchmentAbstractUrbanSurface Catchment surface for linear reservoir.
CatchmentCombined Class for the Combined type of catchment. A combined catchment is a combination of existing Catchments, named subcatchments. The runoff is calculated by multiplying a contributing area factor to each subcatchments.
CatchmentDischarge Simple catchment that handles catchment discharge
CatchmentFromTimeSeries Load a time seris as a catchment
CatchmentKinematicWave Class for Kinematic Wave catchment model. See ICatchmentKinematicWaveData for parameters availabel when setting up the model.

In Kinematic Wave model the runoff is computed as flow in an open channel, taking the gravitational and frition forces only. The runoff amount is controlled by the various hydrological losses and the size of the actually contributing area.

CatchmentKinematicWaveSurface 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.

CatchmentKinematicWaveSurfaceRouting 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.
CatchmentLinearReservoir Class for Linear Reservoir catchment model. See ICatchmentLinearReservoirData for parameters available when setting up the model.

This class implement the linear reservoir rainfall runoff, also called Runoff C in MIKE URBAN Two model types are currently available: the Dutch (C1) and the French model (C2).

CatchmentLinearReservoirSurface Catchment surface for linear reservoir.
CatchmentLinearReservoirSurfaceDutch Catchment surface for linear reservoir.
CatchmentLinearReservoirSurfaceFrench Catchment surface for linear reservoir.
CatchmentMonthlyStatistics Class for catchment monthly statistics
CatchmentNam A lumped, conceptual rainfall-runoff model, simulating the overland-, inter-, and base-flow components as a function of the moisture contents in four storages; snow, surface, root-zone and ground water.
CatchmentNamAdditional Class containing additional parameters for CatchmentNam. These parameters are not used for the calculation, but are used to calculate parameters for the catchment
CatchmentNamData A lumped, conceptual rainfall-runoff model, simulating the overland-, inter-, and base-flow components as a function of the moisture contents in four storages; snow, surface, root-zone and ground water.

This class contains data and parameters for setting up a NAM model, and is as such a data class only. Computational variables are not included in this class. It can be used to explore data and parameters required when setting up the NAM model.

CatchmentNamInitial Default initial conditions for NAM.
CatchmentNamInitialFromHotstart 
CatchmentPeriodicStatistics Class for catchment periodic statistics
Catchments A collection of Rainfall Runoff catchments
CatchmentsSmallestTimeComparer Class for comparing date time on the smallest time
CatchmentState Base class for catchments utilizing the StateVariable for maintaining and interpolating in state.
CatchmentsToTimeSeries Bridge to save catchment output to dfs0 file
CatchmentSurface 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.

CatchmentSurfaces A list of catchment surfaces.
CatchmentSurfacesRouting A list of kinematic wave catchment routing surfaces.
CatchmentTimeArea Class for Time Area catchment model. See ICatchmentTimeAreaData for parameters availabel when setting up the model.
CatchmentTimeAreaSurface Catchment surface for Time-Area catchment.
CatchmentUHM Class for the UHM rainfall runoff model

The UHM catchment is based on a unit hydrograph, defined as e.g. Hydrograph, where the time and flow are both dimensionless. The time is scaled such that the peak of the hydrograph matches the lagtime (see LagTimeType), and the flow is scaled to assure no mass loss.

CatchmentUHMDimensionlessHydrographPoint Class to describe a dimensionless hydrograph cell, specifying the time for a flow.

Both the time and the flow is dimensionless. Time is scaled such that the peak of the hydrograph matches the lagtime

CatchmentUHMSurface Catchment surface for UHM.
CatchmentValueBuffer Class handling buffering and interpolation in time of catchment values.
CatchmentWallingford Class for Wallingford catchment model.
CatchmentWallingfordSurface Base catchment surface class for Wallingford model.
CatchmentWallingfordSurfaceImpervious Impervious catchment surface for Wallingford model.
CatchmentWallingfordSurfacePervious Pervious catchment surface for Wallingford model.
CatchmentYearlyStatistics Class for catchment yearly statistics
EmptyCatchmentPlugin An empty catchment plugin that does not do anything.
GreenAmptInfiltration Class containing state for a Green Ampt infiltration calculation
GreenAmptInfiltrationCalculator Class for calculating infiltration using the Green Ampt infiltration method
Horton Horton class holds the parameters used for calculation infiltration using the Hortons infiltration.
NAMYearlyStat Yearly statistics for NAM catchments
PredefinedQuantityTableRR Dictionary from PredefinedQuantityRR to actual Quantity.
RainfallRunoffClassFactory Factory class for creating custom classes for RainfallRunoff processing

To use a custom class overriding the default implementation, create a new class that extends from the default implementation and overrides its methods, and add a function here that creates an instance of this new class.

RainfallRunoffData Access to catchment data
RRExtensions Static class containing extension methods related to DHI.Mike1D.RainfallRunoffModule
RRHotstartCatchmentData Class interfacing to hotstart data for one catchment.
RRHotstartFiles Structure to store hot start files in the form of IResultData objects, and a hot start time.
RRParameters Class containing parameters for all RR models.
RRPredefinedQuantityData Static class containing the PredefinedQuantityTableRR.
RRQuantities Provides methods for creating RR quantities.
RRStatFileWriter Class for writing the "RRStat.txt" file.
RRTotalStat Class for reporting total (accumulated) statistics.
RRYearlyStat Yearly statistics for catchments
SnowModule Simple snow module with a single storage for snow
StateVariable A class that provides linear interpolation between to values of a state variable.
SubCatchmentKinematicWave 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.

Structures

AutocalObjectiveFunction Objective Function
AutocalParameter Autocalibration Parameter
CatchmentTimeAreaCell Cell structure: a cell contains a relative area and a unit volume of water in the cell
CatchmentUHMCell Cell structure: a cell contains a relative area and a unit volume of water in the cell

Interfaces

ICatchment Interface to Rainfall Runoff catchments. Specific catchments can inherit from the abstract Catchment class instead of implementing this interface directly.
ICatchmentADComponent Interface for a catchment that supports AD component and AD related inflow from boundaries.
ICatchmentCombined Catchment that combines several other catchments and need knowlege of other catchments.
ICatchmentData A overall data interface for cathcment data, containing data properties that are common for all catchments.

This interface contains data and parameters for setting up a catchment model, and represents as such only setup data. Computational variables and methods are not included in this interface. It can be used to explore data and parameters required when setting up the catchment model.

ICatchmentInfiltrationCalculator Common interface for calculating infiltration
ICatchmentKinematicWaveData Kinematic wave data interface.

The Kinematic wave rainfall runoff model is also called "Urban B"

In Kinematic Wave model the runoff is computed as flow in an open channel, taking the gravitational and frition forces only. The runoff amount is controlled by the various hydrological losses and the size of the actually contributing area.

Interface for Kinematic Wave catchment model inherits from ICatchmentUrbanData interface.

This interface contains data and parameters for setting up a catchment model, and represents as such only setup data. Computational variables and methods are not included in this interface. It can be used to explore data and parameters required when setting up the catchment model.

ICatchmentKinematicWaveSurfaceData 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.
ICatchmentKinematicWaveSurfaceRoutingData 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.
ICatchmentLinearReservoirData Linear reservoir data interface.

The linear reservoir rainfall runoff model, also called Runoff C in MIKE URBAN Two model types are currently available: the Dutch (C1) and the French model (C2).

Interface for linear reservoir catchment model inherits from ICatchmentUrbanData interface.

This interface contains data and parameters for setting up a catchment model, and represents as such only setup data. Computational variables and methods are not included in this interface. It can be used to explore data and parameters required when setting up the catchment model.

ICatchmentNamData

Catchment NAM/RDI data interface

NAM is a lumped, conceptual rainfall-runoff model, simulating the overland-, inter-, and base-flow components as a function of the moisture contents in four storages; snow, surface, root-zone and ground water.

This interface contains data and parameters for setting up a NAM model, and is as such a data class only. Computational variables are not included in this class. It can be used to explore data and parameters required when setting up the NAM model.

ICatchmentNamInitial Initial values that is required by the NAM catchment model.
ICatchmentPlugin A generic catchment plugin. An example of such plugin is SWQ module.
ICatchmentRunController Controlling the time stepping of a standalone rainfall runoff simulation is done by this interface. The interface specifies a list of ICatchment that needs explicit time stepping control. These catchments will be updated synchronously, and each update will raise a post time step event in the Catchments class. Furthermore the post time step event of the Catchments class is raised at all times returned by the TimeOfNextUpdate method. This interface is required in order to support at the same time updating catchments to a specified time, as well as updating them per time step.
ICatchments Interface to Rainfall Runoff Model catchments
Obsolete
ICatchmentSTComponent Interface for a catchment that supports AD component and AD related inflow from boundaries.
ICatchmentSurface Catchment surface interface declaring steps needed to perform simulation
ICatchmentSurfaceComputationalVariables Computational variables of catchment surface, which all also needed for CatchmentSurfaces
ICatchmentSurfaceData Catchment surface data interface, setup data for the CatchmentSurface class.

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

ICatchmentSurfaceStateVariables State variables of catchment surface, which all also needed for CatchmentSurfaces
ICatchmentSurfaceVariables Combined variables for catchment surface
ICatchmentSWQ Interface for classes that wants to support SWQ calculations
ICatchmentTimeAreaData Time Area data interface.

The time area rainfall runoff model is also called "Urban A"

Interface for time area catchment model inherits from ICatchmentUrbanData interface.

This interface contains data and parameters for setting up a catchment model, and represents as such only setup data. Computational variables and methods are not included in this interface. It can be used to explore data and parameters required when setting up the catchment model.

ICatchmentUHMData Catchment UHM data interface.

This interface contains data and parameters for setting up a UHM model, CatchmentUHM, and is as such a data interface only. Computational variables are not included in this interface. It can be used to explore data and parameters required when setting up the UHM model.

The UHM catchment is based on a unit hydrograph, defined as e.g. Hydrograph, where the time and flow are both dimensionless. The time is scaled such that the peak of the hydrograph matches the lagtime (see LagTimeType), and the flow is scaled to assure no mass loss.

ICatchmentUrbanData ICatchmentUrban is a common data interface for different urban catchment models.

This interface contains data and parameters for setting up a catchment model, and represents as such only setup data. Computational variables and methods are not included in this interface. It can be used to explore data and parameters required when setting up the catchment model.

ICatchmentWithSurfaces Interface for catchment supporting custom surface(s)
ICatchmentWithSurfacesRouting Interface for custom Kinematic Wave surface(s) routing data.
ISnowModule Common interface for handling snow module
IStormwaterLID Interface for a stormwater Low-Impact-Development structure.

A stormwater LID is a small scale hydrologic structure, that can store, detain, infiltrate (and/or similar) water close to where the water origin from.

The stormwater LID is attached to a catchment. It can overtake some of the catchment area (TotalCollectingArea and Area).

Delegates

CatchmentsTimeEvent Delegate that is used when triggering a TimeStepPerfomed event.

Enumerations

CatchmentKinematicWaveSurfaceType Surface types of the sub-catchments
CatchmentLinearReservoirModelType Model type enum NL: Dutch model (C1) FR: french model (C2)
CatchmentPeriodicStatisticsType Periodic statistics type for catchments
CatchmentSurfaceType Type of the catchment surface
CatchmentTimeAreaMethodType Enum of time area methods. Two methods are available: Time-Area curve or Time-Area coefficient.
CatchmentTimeAreaTimeAreaCurveTypes Type of time-area curve
CatchmentUHMHydrographTypes Hydrograph types
CatchmentUHMLagTimeTypes Lag time
CatchmentUHMLossModels Loss model types
HortonMode Horton mode
PredefinedQuantityRR Enumeration of predefined quantities for RR module.