ICatchment Interface

Interface to Rainfall Runoff catchments. Specific catchments can inherit from the abstract Catchment class instead of implementing this interface directly.

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 interface ICatchment : IDoubleProxy, 
	IQuantityProxy, IDoubleTimeProxy, ICalibratable
Implements
ICalibratable, IDoubleProxy, IDoubleTimeProxy, IQuantityProxy

Properties

Area Total area of catchment Unit: [m2]
CatchmentGeometry Get and set the list of coordinates of the catchment

The sequence of coordinates can represent one or more polygons. It is interpreted as follows:

  • Polygons are stored in sequence.
  • A polygon is stored with the outer ring first, and any holes following immediately.
  • Any polygon ring (outer or inner) is represented as a string of coordinates, starting and ending with the same coordinate.
  • Any polygon that is clockwise is assumed to be an outer polygon.
  • Any polygon that is counter-clockwise is assumed to be a hole in the most recent outer polygon. A hole must be fully contained by the most recent outer polygon and not overlap other holes.

CatchmentName Catchment name.

The name is not unique, there may be several catchment models for one catchment, however all catchments with the same name should/must share the same catchment geometry.

CenterPoint Get and set the central point of the catchment
ClientName Title of the calibration plot
(Inherited from ICalibratable)
CurrentTime Return the time of the current state.
EffectiveArea Effective area of catchment, where runoff takes place. Unit: [m2]
EndTime Return the end time of the catchment simulation. This is set during prepare, and the catchment must make sure not to run beyond this time.
MinTime Minimum time to which Time can be set. The catchment must caches values from MinTime to the max value of Time.
ModelId Catchment model ID. Unique id.
Name Same as ModelId - for backward compatibility.
Obsolete
ObservedData Observed data. Used for creating calibration plots and for auto-calibration reference data.
Runoff Total runoff from catchment at present time step. Unit: [m^3/s]
TimeStep Time step op catchment
TSBuffer Set the TSBuffer to use in this catchment

Methods

Accepts List of data types that is accepted, i.e., that you can get a ValueSetter for.
(Inherited from IQuantityProxy)
Initialize Initialize Rainfall Runoff model. Sets up static data.
InitializePlugins Initializes the cathcment plugins.
Offers List of data types that is offered, i.e., that you can get a ValueGetter for.
(Inherited from IQuantityProxy)
PerformTimeStep This procedure forwards the calculation with one time step.
Prepare Prepare Rainfall Runoff model. Sets up dynamic data so that the model is ready for first time step.
PreparePlugins Prepares the cathcment plugins.
ResetBoundaries Remove boundaries applied in previous runs
TimeOffers List of data types that is offered and can be used in GetValue
(Inherited from IDoubleTimeProxy)
TimeOfNextUpdate Return the time of next update. Used for PostTimeStepEvent event in Catchments.
Obsolete
TimeValueGetter Get value getter for the specified data quantity
(Inherited from IDoubleTimeProxy)
Type Type of model used in catchment
Update This procedure forwards the calculation such that the state includes the specified time
ValueGetter Get value setter for the specified data quantity
(Inherited from IDoubleProxy)
ValueSetter Get value setter for the specified data type
(Inherited from IDoubleProxy)

Events

PostTimeStepEvent An event that is called everytime a timestep was successfully performed.

Extension Methods

Getter

From the proxy, return an FuncTResult for the specified quantity.

It returns the first quantity of that type that is offered, and null if the quantity is not offered.


(Defined by ProxyExtensions)
Getter

From the proxy, return an FuncTResult for the specified quantity.

It returns the first quantity of that type that is offered, and null if the quantity is not offered.


(Defined by ProxyExtensions)
Getters Returns a set of FuncTResult for the quantity. We can return several quantities with the same id (usually they will differ in their description). If the quantity is not offerent, an empty list is returned.
(Defined by ProxyExtensions)
GettersFraction Returns a set of FuncT, TResult for the quantity. We can return several quantities with the same id (usually they will differ in their description). If the quantity is not offerent, an empty list is returned.
(Defined by ProxyExtensions)
GetterUnboxed

From the proxy, return an FuncTResult for the specified quantity.

It returns the first quantity of that type that is offered, and null if the quantity is not offered.


(Defined by ProxyExtensions)
NTSGeometry Create a NetToplogySuite (NTS) geometry from the CatchmentGeometry.

Depending on the coordinates, the returned IGeometry is either a NTS Polygon or NTS MultiPolygon.

Check out CatchmentGeometry for how the sequence of coordinates is interpreted


(Defined by RRExtensions)
NTSGeometry Create a NetToplogySuite (NTS) geometry from the CatchmentGeometry.

Depending on the coordinates, the returned IGeometry is either a NTS Polygon or NTS MultiPolygon.

Check out CatchmentGeometry for how the sequence of coordinates is interpreted


(Defined by RRExtensions)
Setter

From the proxy, return an IDoubleGetSet for the specified quantity.

It returns the first quantity of that type that is accepted, and null if the quantity is not accepted.


(Defined by ProxyExtensions)
TimeValueGetter

From the proxy, return an FuncT, TResult for the specified quantity.

It returns the first quantity of that type that is offered, and null if the quantity is not offered.


(Defined by ProxyExtensions)

See Also