Click or drag to resize

CatchmentCombined Class

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.
Inheritance Hierarchy

Namespace:  DHI.Mike1D.RainfallRunoffModule
Assembly:  DHI.Mike1D.RainfallRunoffModule (in DHI.Mike1D.RainfallRunoffModule.dll) Version: 19.0.0.0 (11.1.1.1111)
Syntax
public class CatchmentCombined : CatchmentState, 
	ICatchmentCombined

The CatchmentCombined type exposes the following members.

Constructors
  NameDescription
Public methodCatchmentCombined
Constructor of CatchmentCombined Create the new dictionary that are used to store the subcatchments
Top
Properties
  NameDescription
Public propertyAdditionalFlow
Additional constant flow added to the total runoff Unit: [m3/s] Default: 0
(Inherited from Catchment.)
Public propertyArea
Total area of catchment Type: Catchment area Unit: [m2] Default: 1e8 (100 km2)
(Inherited from Catchment.)
Protected propertyAreaInSquareKm
Full area of catchment Type: Catchment area Unit: [km2] Default: 100
(Inherited from Catchment.)
Public propertyBoundarySourceRainfall
Rainfall boundary source
(Inherited from Catchment.)
Public propertyCatchmentGeometry
Get and set the list of coordinates of the catchment
(Inherited from Catchment.)
Public propertyCatchmentName
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.

(Inherited from Catchment.)
Public propertyCenterPoint
Get and set the central point of the catchment
(Inherited from Catchment.)
Public propertyCheckPoints
A set of check points in time that must be hit by the catchments.
(Inherited from Catchment.)
Public propertyClientName (Inherited from Catchment.)
Public propertyCurrentTime
Current time of catchment
(Inherited from Catchment.)
Public propertyEffectiveArea
Effective area. The effective area is the area that collects water. Can be smaller than total area, eg for Linear Reservoir or when LIDs are present.
(Inherited from Catchment.)
Public propertyEffectiveTimeStep
Time step used in the simulation, it may change. It is set initially in Prepare to TimeStep, and can be updated by individual catchment models when required, i.e. it may differ from TimeStep.
(Inherited from Catchment.)
Public propertyEndTime
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.
(Inherited from Catchment.)
Public propertyMaximumFlow
Maximum runoff flow
(Inherited from Catchment.)
Public propertyMinimumFlow
Minimum runoff flow
(Inherited from Catchment.)
Public propertyMinTime Obsolete.
Minimum time the catchment should be able to provide values. The catchment will cache or recalculate values from MinTime to EndTime. MinTime must be updated ("dragged behind" time of calculation) from the caller to allow the catchment to discard cached values.
(Inherited from Catchment.)
Public propertyModelId
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.

(Inherited from Catchment.)
Public propertyName Obsolete. (Inherited from Catchment.)
Public propertyObservedData
Observed data. Used for creating calibration plots and for auto-calibration reference data.
(Inherited from Catchment.)
Public propertyPersons
Number of person equivalent in the catchment, used with catchment discharge source boundary
(Inherited from Catchment.)
Public propertyRunoff
Total runoff from catchment at present time step. Unit: [m^3/s]
(Inherited from Catchment.)
Public propertyRuntimeDiagnostics
Get the Diagnostics instance for a Catchment. Used during runtime.
(Inherited from Catchment.)
Public propertyStartTime Obsolete.
Start time of catchment data - the earliest time for which the catchment can return data
(Inherited from Catchment.)
Public propertyStormWaterLIDs
List of Lids
(Inherited from Catchment.)
Public propertyTimeOfMaximumFlow
Time of minimum runoff flow
(Inherited from Catchment.)
Public propertyTimeOfMinimumFlow
Time of maximum runoff flow
(Inherited from Catchment.)
Public propertyTimeStep
Time step used by the catchment model
(Inherited from Catchment.)
Public propertyTotalAdditionalInflowVolume
Total volume of additional inflow
(Inherited from Catchment.)
Public propertyTotalLossVolume
Total infiltration into this catchment (integrated over time)
(Inherited from Catchment.)
Public propertyTotalRainfallVolume
Total rainfall on this catchment (integrated over time)
(Inherited from Catchment.)
Public propertyTotalRunoffVolume
Total runoff from this catchment (integrated over time)
(Inherited from Catchment.)
Public propertyTSBuffer
Set the TSBuffer to use in this catchment
(Inherited from Catchment.)
Public propertyUseHotStartFile
Flag telling if initial conditions is taken from a hotstart file Default: false
(Inherited from Catchment.)
Public propertyVolumeOnGroundAdded
Volume of water added to catchment after a time step. This water will be eventually routed.
(Inherited from Catchment.)
Public propertyYearlyRunoff
Return dictionary of runoff as a function of year
(Inherited from Catchment.)
Public propertyYearlyStatistics
Dictionary of statistics as a function of year
(Inherited from Catchment.)
Top
Methods
  NameDescription
Public methodAccepts (Inherited from Catchment.)
Public methodAddNewCatchment
Method that adds a new catchment into the list of subcathcment, the factor correspond to the contributing area of the subcatchment compared to the entire area of the combined catchment
Public methodAddToOffers (Inherited from Catchment.)
Public methodApplyBoundary(ICatchmentSourceBoundary)
Apply a boundary to this catchment
(Inherited from Catchment.)
Public methodApplyBoundary(CatchmentSourceBoundaryTypes, IBoundarySource)
Apply a boundary to this catchment
(Overrides CatchmentApplyBoundary(CatchmentSourceBoundaryTypes, IBoundarySource).)
Public methodApplyBoundary(GlobalSourceBoundaryTypes, GlobalGeoLocatedSource)
Apply a boundary to this catchment
(Overrides CatchmentApplyBoundary(GlobalSourceBoundaryTypes, GlobalGeoLocatedSource).)
Protected methodApplyBoundaryLIDs(GlobalGeoLocatedSource)
Apply boundary to LID's in catchment
(Inherited from Catchment.)
Protected methodApplyBoundaryLIDs(ICatchmentSourceBoundary)
Apply boundary to LID's in catchment
(Inherited from Catchment.)
Protected methodApplyBoundaryLIDs(CatchmentSourceBoundaryTypes, IBoundarySource)
Apply boundary to LID's in catchment
(Inherited from Catchment.)
Protected methodApplyBoundaryLIDs(GlobalSourceBoundaryTypes, GlobalGeoLocatedSource)
Apply boundary to LID's in catchment
(Inherited from Catchment.)
Public methodBoundaryTypeIsAdditive
Return true if boundaries of the specified type are additive; the contributions of two discharge boundaries add up, while two temperature boundaries do not.
(Inherited from Catchment.)
Protected methodCalculateStatistics
Calculate statistics.

Called at end of each time step, by PerformTimeStep

(Inherited from CatchmentState.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Destructor
(Inherited from Catchment.)
Protected methodFinalizeTimeStep
Finalizes the time step for the catchment.
(Inherited from Catchment.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetRequiredTypes
Get the type of boundary required by this catchment
(Overrides CatchmentGetRequiredTypes.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodGetYearlyStat
Get or create a RRYearlyStat object for the specified year.
(Inherited from Catchment.)
Public methodInitialize(IDiagnostics)
Initialize Rainfall Runoff model. Sets up static data.
(Overrides CatchmentInitialize(IDiagnostics).)
Public methodInitialize(Catchments, IDiagnostics)
Initialize Rainfall Runoff model. Sets up static data.
Public methodInitializePlugins
Initializes the cathcment plugins.
(Inherited from Catchment.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodOffers
List of data types that is offered and can be used in GetValue
(Inherited from Catchment.)
Public methodPerformTimeStep
This procedure forwards the calculation with one time step.
(Inherited from Catchment.)
Public methodPrepare
Prepare Rainfall Runoff model. Sets up dynamic data so that the model is ready for first time step.
(Overrides CatchmentPrepare(DateTime, DateTime, RRParameters, IDiagnostics).)
Protected methodPrepareForTimeStep
Prepares the catchment for the time step.
(Inherited from Catchment.)
Public methodPreparePlugins
Prepares the cathcment plugins.
(Inherited from Catchment.)
Protected methodPrepareSource
Prepare boundary source.
(Inherited from Catchment.)
Protected methodPrepareState
Prepare state for new simulation.
(Inherited from CatchmentState.)
Protected methodReadPluginStates
Write current state of plugins
(Inherited from Catchment.)
Public methodReset
Reset the catchment and set the current time.
(Inherited from Catchment.)
Public methodResetBoundaries
Remove boundaries applied in previous runs
(Inherited from Catchment.)
Public methodStateUpdated
If state has been updated from outside, call this method to recalculate state dependent parameters.
(Inherited from CatchmentState.)
Protected methodTakeTimeStep
This procedure forwards the calculation with one time step.
(Overrides CatchmentTakeTimeStep.)
Public methodTimeOffers
List of data types that is offered and can be used in GetValue
(Inherited from Catchment.)
Public methodTimeOfNextUpdate Obsolete.
Return the time of next update. Used for PostTimeStepEvent event in Catchments. If a catchment uses variable timesteps, then this function must be overridden!!
(Overrides CatchmentTimeOfNextUpdate.)
Public methodTimeValueGetter
Get value getter for the specified data quantity
(Inherited from Catchment.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Catchment.)
Public methodTransferToStateVariableTable
This routine stores the calculated variables in variables ready for export. The values in these state variable corresponds to the values written to the result file. All discharge variables are subject to a unit conversion. During the calculation discharges are calculated using the unit mm/hour and must therefor be converted into m3/s.
(Overrides CatchmentStateTransferToStateVariableTable.)
Protected methodTriggerPostTimeStepEvent
Trigger the PostTimeStepEvent, called at end of a time step.
(Inherited from Catchment.)
Public methodType
The type of catchment: NAM, Urban A etc
(Overrides CatchmentType.)
Public methodUpdate
Update internal state of catchment to time Time()
(Inherited from Catchment.)
Protected methodUpdateCheckPointTime
Updates check point time.
(Inherited from Catchment.)
Protected methodUpdateRouting
Updates the routing for the catchment.
(Inherited from Catchment.)
Protected methodUpdateStorage
Updates the storage for the catchment.
(Inherited from Catchment.)
Protected methodUpdateTime
Update time, setting _timeNew to _timeOld + _effectiveTimeStep. This method will assue that _timeNew does not go beyond _endTime, by modifying _effectiveTimeStep. Before calling UpdateTime, be sure that _effectiveTimeStep is set.
(Inherited from Catchment.)
Protected methodUpdateTimeStepUsingCheckPoint
Updates the present time if it is greater than the check point time.
(Inherited from Catchment.)
Public methodValidate
Validate that the catchment is set up correctly
(Inherited from Catchment.)
Protected methodValidateLIDs
Validate all LIDs in catchment
(Inherited from Catchment.)
Public methodValueGetter
Get value setter for the specified data quantity
(Inherited from Catchment.)
Public methodValueSetter (Inherited from Catchment.)
Public methodVolumeInCatchment
Volume of water stored in catchment after previous time step.
(Inherited from Catchment.)
Public methodVolumeInCatchmentAtStart
Volume of water stored in catchment after previous time step.
(Inherited from Catchment.)
Protected methodWritePluginStates
Write current state of plugins
(Inherited from Catchment.)
Top
Events
  NameDescription
Public eventPostTimeStepEvent
Event that is triggered every time the catchment has finished a new time step
(Inherited from Catchment.)
Top
Fields
  NameDescription
Protected field_additionalFlow
Additional constant flow added to the total runoff Unit: [m3/s] Default: 0
(Inherited from Catchment.)
Protected field_additionalFlowOld
Additional constant flow at start of time step
(Inherited from Catchment.)
Protected field_area
Total area of catchment. Type: Catchment area. Unit: [m2]. Default: 1e8 (100 km2).
(Inherited from Catchment.)
Protected field_boundarySourceEvaporation
Evaporation boundary source
(Inherited from Catchment.)
Protected field_boundarySourceRainfall
Rainfall boundary source
(Inherited from Catchment.)
Protected field_boundarySourceTemperature
Temperature boundary source
(Inherited from Catchment.)
Protected field_checkPointTime
The most recent check point time.
(Inherited from Catchment.)
Protected field_effectiveTimeStep
Time step used in the simulation, it may change. It is set in Prepare to _timeStep, and can be updated by individual catchment models when required, i.e. it may differ from _timeStep.
(Inherited from Catchment.)
Protected field_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.
(Inherited from Catchment.)
Protected field_maximumFlow
Maximum flow
(Inherited from Catchment.)
Protected field_minimumFlow
Minimum flow
(Inherited from Catchment.)
Protected field_minTime
Proteced MinTime
(Inherited from Catchment.)
Protected field_offerDelegates
List of delegates, matching list of _offers
(Inherited from Catchment.)
Protected field_offers
List of datatypes offered in GetValue
(Inherited from Catchment.)
Protected field_runoff
Total runoff from catchment at present time step. Unit: [m^3/s]
(Inherited from Catchment.)
Protected field_runtimeDiagnostics
Diagnostics instance for a Catchment. Used during runtime.
(Inherited from Catchment.)
Protected field_startTime
Protected start time of catchment data - the earliest time for which the catchment can return data
(Inherited from Catchment.)
Protected field_stateVariableLoss
Losses in [m3/s]
(Inherited from CatchmentState.)
Protected field_stateVariableNetRainfall
Net rainfall in [m/s]
(Inherited from CatchmentState.)
Protected field_stateVariableTotalInfiltration
Total infiltration in [m/s]
(Inherited from CatchmentState.)
Protected field_stateVariableTotalRunOff
Total Runoff in [m3/s]. It includes also AdditionalFlow.
(Inherited from CatchmentState.)
Protected field_stormwaterLIDs
List of Lids
(Inherited from Catchment.)
Protected field_timeNew
Variable holding information on the latest calculated time
(Inherited from Catchment.)
Protected field_timeOfLastUpdate
Last time the state of this catchment was updated (Update(DateTime) was called)
(Inherited from Catchment.)
Protected field_timeOfMaximumFlow
Time of maximum flow
(Inherited from Catchment.)
Protected field_timeOfMinimumFlow
Time of minimum flow
(Inherited from Catchment.)
Protected field_timeOld
Variable holding information on the latest calculated time
(Inherited from Catchment.)
Protected field_timeStep
Time step used in the simulation, or initial time step if the time step can change.
(Inherited from Catchment.)
Protected field_totalAdditionalInflowVolume
Total volume of additional inflow
(Inherited from Catchment.)
Protected field_totalLossVolume
Total volume of loss
(Inherited from Catchment.)
Protected field_totalRainfallVolume
Total volume of rain
(Inherited from Catchment.)
Protected field_totalRunoffVolume
Total volume of runoff
(Inherited from Catchment.)
Protected field_tsBuffer
TSBuffer to use when accessing time series objects Set in Catchments.Add(). If not set, then the inheritors must create a TSBuffer before using it.
(Inherited from Catchment.)
Protected field_useHotStartFile
Flag telling if initial conditions is taken from a hotstart file Default: false
(Inherited from Catchment.)
Protected field_volumeOnGroundAdded
Volume on ground added after UpdateStorage
(Inherited from Catchment.)
Protected field_volumeOnGroundAfterRouting
Volume on ground after routing
(Inherited from Catchment.)
Protected field_volumeOnGroundBeforeRouting
Volume on ground before routing
(Inherited from Catchment.)
Protected field_yearlyStatistics
Dictionary of statistics as a function of year
(Inherited from Catchment.)
Public fieldCatchmentPlugins
List of catchment plugins
(Inherited from Catchment.)
Public fieldScaleByArea
Flag specifying whether the AreaFactor of a sub catchment is an area (in m^2) or a relative scaling factor.

When true, the AreaFactor is interpreted as the area of the sub catchment within the combined catchment. The discharge of the sub catchment will be scaled with the area of the sub catchment to get discharge per area, and then multiplied with the area stored in the AreaFactor.

When false, the AreaFactor is interpreted as a scaling factor of the discharge from each of the sub catchment. A value of one means that the entire discharge from the sub catchment is used in the combined catchment.

Public fieldSubCatchmentNames
Subcatchment by names. The dictionary contains the name of the subcatchment and a contributing area factor, which is the fraction of the total area that the subcatchment runoff contributes to this combined catchment.
Public fieldValueBuffer (Inherited from Catchment.)
Top
See Also