CatchmentDischarge Class

Simple catchment that handles catchment discharge

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 CatchmentDischarge : Catchment, 
	IModelStateReadWrite
Inheritance
Object    Catchment    CatchmentDischarge
Implements
IModelStateReadWrite

Constructors

Properties

AdditionalFlow Additional constant flow added to the total runoff Unit: [m3/s] Default: 0
(Inherited from Catchment)
Area Total area of catchment Type: Catchment area Unit: [m2] Default: 1e8 (100 km2)
(Inherited from Catchment)
AreaInSquareKm Full area of catchment Type: Catchment area Unit: [km2] Default: 100
(Inherited from Catchment)
BoundarySourceRainfall Rainfall boundary source
(Inherited from Catchment)
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.


(Inherited from Catchment)
CatchmentName 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)
CenterPoint Get and set the central point of the catchment
(Inherited from Catchment)
CheckPoints A set of check points in time that must be hit by the catchments.
(Inherited from Catchment)
ClientName
(Inherited from Catchment)
CurrentTime Current time of catchment
(Inherited from Catchment)
EffectiveArea 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)
EffectiveTimeStep 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)
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)
MaximumFlow Maximum runoff flow
(Inherited from Catchment)
MinimumFlow Minimum runoff flow
(Inherited from Catchment)
MinTime 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)
ModelId Catchment model ID. Unique id.
(Inherited from Catchment)
MonthlyStatistics Dictionary of statistics as a function of year and month
(Inherited from Catchment)
Name
(Inherited from Catchment)
Obsolete
ObservedData Observed data. Used for creating calibration plots and for auto-calibration reference data.
(Inherited from Catchment)
PeriodicStatistics Class for catchment periodic statistics
(Inherited from Catchment)
Persons Number of person equivalent in the catchment, used with catchment discharge source boundary
(Inherited from Catchment)
Runoff Total runoff from catchment at present time step. Unit: [m^3/s]
(Inherited from Catchment)
RuntimeDiagnostics Get the Diagnostics instance for a Catchment. Used during runtime.
(Inherited from Catchment)
StartTime Start time of catchment data - the earliest time for which the catchment can return data
(Inherited from Catchment)
Obsolete
StatisticsPreviousTimeStepWeight Weight of the previous time step when calculating statistics.
(Inherited from Catchment)
StatisticsPreviousTimeStepWeightRunoff Weight of the previous time step when calculating statistics for Runoff and AdditionalFlow.
(Inherited from Catchment)
StatisticsType Periodic statistics type for catchments
(Inherited from Catchment)
StormWaterLIDs List of Lids
(Inherited from Catchment)
TimeOfMaximumFlow Time of minimum runoff flow
(Inherited from Catchment)
TimeOfMinimumFlow Time of maximum runoff flow
(Inherited from Catchment)
TimeStep Time step used by the catchment model
(Inherited from Catchment)
TotalAdditionalInflowVolume Total volume of additional inflow
(Inherited from Catchment)
TotalLossVolume Total infiltration into this catchment (integrated over time)
(Inherited from Catchment)
TotalRainfallVolume Total rainfall on this catchment (integrated over time)
(Inherited from Catchment)
TotalRunoffVolume Total runoff from this catchment (integrated over time)
(Inherited from Catchment)
TSBuffer Set the TSBuffer to use in this catchment
(Inherited from Catchment)
UseHotStartFile Flag telling if initial conditions is taken from a hotstart file Default: false
(Inherited from Catchment)
UseLegacyLIDs Flag specifying whether to use legacy LID implementation.
(Inherited from Catchment)
VolumeOnGroundAdded Volume of water added to catchment after a time step. This water will be eventually routed.
(Inherited from Catchment)
YearlyStatistics Dictionary of statistics as a function of year
(Inherited from Catchment)

Methods

Accepts
(Inherited from Catchment)
AddToOffers
(Inherited from Catchment)
ApplyBoundary(ICatchmentSourceBoundary) Apply a boundary to this catchment
(Inherited from Catchment)
ApplyBoundary(CatchmentSourceBoundaryTypes, IBoundarySource) Apply a boundary to this catchment
(Overrides CatchmentApplyBoundary(CatchmentSourceBoundaryTypes, IBoundarySource))
ApplyBoundary(GlobalSourceBoundaryTypes, GlobalGeoLocatedSource) Apply a boundary to this catchment
(Overrides CatchmentApplyBoundary(GlobalSourceBoundaryTypes, GlobalGeoLocatedSource))
ApplyBoundaryLIDs(GlobalGeoLocatedSource) Apply boundary to LID's in catchment
(Inherited from Catchment)
ApplyBoundaryLIDs(ICatchmentSourceBoundary) Apply boundary to LID's in catchment
(Inherited from Catchment)
ApplyBoundaryLIDs(CatchmentSourceBoundaryTypes, IBoundarySource) Apply boundary to LID's in catchment
(Inherited from Catchment)
ApplyBoundaryLIDs(GlobalSourceBoundaryTypes, GlobalGeoLocatedSource) Apply boundary to LID's in catchment
(Inherited from Catchment)
BoundaryTypeIsAdditive 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)
CalculateStatistics Calculate statistics on catchment.
(Overrides CatchmentCalculateStatistics)
CreatePeriodicStat Creates and instance of statistics for a period.
(Inherited from Catchment)
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Finalize Destructor
(Inherited from Catchment)
FinalizeTimeStep Finalizes the time step for the catchment.
(Inherited from Catchment)
GetCatchmentDischarge Get catchment discharge from boundary setup.
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetPeriodicStat Get or create a RRYearlyStat object for the specified period.
(Inherited from Catchment)
GetRequiredTypes Get the type of boundary required by this catchment
(Overrides CatchmentGetRequiredTypes)
GetTypeGets the Type of the current instance.
(Inherited from Object)
Initialize Initialize Rainfall Runoff model. Sets up static data.
(Overrides CatchmentInitialize(IDiagnostics))
InitializeAD 
InitializePlugins Initializes the cathcment plugins.
(Inherited from Catchment)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Offers List of data types that is offered and can be used in GetValue
(Inherited from Catchment)
PerformTimeStep This procedure forwards the calculation with one time step.
(Inherited from Catchment)
Prepare Prepare Rainfall Runoff model. Sets up dynamic data so that the model is ready for first time step.
(Overrides CatchmentPrepare(DateTime, DateTime, RRParameters, IDiagnostics))
PrepareForTimeStep Prepares the catchment for the time step.
(Overrides CatchmentPrepareForTimeStep)
PreparePlugins Prepares the cathcment plugins.
(Inherited from Catchment)
PrepareSource Prepare boundary source.
(Inherited from Catchment)
PrepareState Prepare state, especially time
(Inherited from Catchment)
ReadBufferState Read current state of catchment value buffer
(Inherited from Catchment)
ReadPluginStates Read current state of plugins
(Inherited from Catchment)
ReadState Read state and apply to module. Returns true if state was successfully read.
Reset Reset the catchment and set the current time.
(Inherited from Catchment)
ResetBoundaries Remove boundaries applied in previous runs
(Overrides CatchmentResetBoundaries)
StateUpdated If state has been updated from outside, call this method to recalculate state dependent parameters.
(Inherited from Catchment)
TakeTimeStep This procedure is the one actually calculating the new time step.
(Inherited from Catchment)
TimeOffers List of data types that is offered and can be used in GetValue
(Inherited from Catchment)
TimeOfNextUpdate Return the time of next update. Used for PostTimeStepEvent event in Catchments. If a catchment uses variable timesteps, then this function must be overridden!!
(Inherited from Catchment)
Obsolete
TimeValueGetter Get value getter for the specified data quantity
(Inherited from Catchment)
ToStringReturns a string that represents the current object.
(Inherited from Catchment)
TriggerPostTimeStepEvent Trigger the PostTimeStepEvent, called at end of a time step.
(Inherited from Catchment)
Type The type of catchment: NAM, Urban A etc
(Overrides CatchmentType)
Update Update internal state of catchment to time Time()
(Inherited from Catchment)
UpdateCheckPointTime Updates check point time.
(Inherited from Catchment)
UpdateRouting This procedure forwards the calculation with one time step.
(Overrides CatchmentUpdateRouting)
UpdateRunoffMinMaxStatistics Update time and values of minimum/maximum flow.
(Inherited from Catchment)
UpdateStorage Updates the storage for the catchment.
(Inherited from Catchment)
UpdateTime 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)
UpdateTimeStepUsingCheckPoint Updates the present time if it is greater than the check point time.
(Inherited from Catchment)
Validate Validate that the catchment is set up correctly
(Inherited from Catchment)
ValidateLIDs Validate all LIDs in catchment
(Inherited from Catchment)
ValueGetter Get value setter for the specified data quantity
(Inherited from Catchment)
ValueSetter
(Inherited from Catchment)
VolumeInCatchment Volume of water stored in catchment after previous time step.
(Inherited from Catchment)
VolumeInCatchmentAtStart Volume of water stored in catchment after previous time step.
(Inherited from Catchment)
WriteBufferState Write current state of catchment value buffer
(Inherited from Catchment)
WritePluginStates Write current state of plugins
(Inherited from Catchment)
WriteState Write current state of module

Events

PostTimeStepEvent Event that is triggered every time the catchment has finished a new time step
(Inherited from Catchment)

Fields

_additionalFlow Additional constant flow added to the total runoff Unit: [m3/s] Default: 0
(Inherited from Catchment)
_additionalFlowOld Additional constant flow at start of time step
(Inherited from Catchment)
_area Total area of catchment. Type: Catchment area. Unit: [m2]. Default: 1e8 (100 km2).
(Inherited from Catchment)
_boundarySourceEvaporation Evaporation boundary source
(Inherited from Catchment)
_boundarySourceRainfall Rainfall boundary source
(Inherited from Catchment)
_boundarySourceTemperature Temperature boundary source
(Inherited from Catchment)
_catchmentDischargeSources Catchment discharge source, populated during initialize.
_checkPointTime The most recent check point time.
(Inherited from Catchment)
_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)
_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)
_globalCatchmentDischargeSources Global discharge sources, populated during initialize.
_maximumFlow Maximum flow
(Inherited from Catchment)
_minimumFlow Minimum flow
(Inherited from Catchment)
_minTime Proteced MinTime
(Inherited from Catchment)
_offerDelegates List of delegates, matching list of _offers
(Inherited from Catchment)
_offers List of datatypes offered in GetValue
(Inherited from Catchment)
_runoff Total runoff from catchment at present time step. Unit: [m^3/s]
(Inherited from Catchment)
_runtimeDiagnostics Diagnostics instance for a Catchment. Used during runtime.
(Inherited from Catchment)
_startTime Protected start time of catchment data - the earliest time for which the catchment can return data
(Inherited from Catchment)
_stormwaterLIDs List of Lids
(Inherited from Catchment)
_timeNew Variable holding information on the latest calculated time
(Inherited from Catchment)
_timeOfLastUpdate Last time the state of this catchment was updated (Update(DateTime) was called)
(Inherited from Catchment)
_timeOfMaximumFlow Time of maximum flow
(Inherited from Catchment)
_timeOfMinimumFlow Time of minimum flow
(Inherited from Catchment)
_timeOld Variable holding information on the latest calculated time
(Inherited from Catchment)
_timeStep Time step used in the simulation, or initial time step if the time step can change.
(Inherited from Catchment)
_totalAdditionalInflowVolume Total volume of additional inflow
(Inherited from Catchment)
_totalLossVolume Total volume of loss
(Inherited from Catchment)
_totalRainfallVolume Total volume of rain
(Inherited from Catchment)
_totalRunoffVolume Total volume of runoff
(Inherited from Catchment)
_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)
_useHotStartFile Flag telling if initial conditions is taken from a hotstart file Default: false
(Inherited from Catchment)
_volumeOnGroundAdded Volume on ground added after UpdateStorage
(Inherited from Catchment)
_volumeOnGroundAfterRouting Volume on ground after routing
(Inherited from Catchment)
_volumeOnGroundBeforeRouting Volume on ground before routing
(Inherited from Catchment)
CatchmentPlugins List of catchment plugins
(Inherited from Catchment)
ValueBuffer
(Inherited from Catchment)

See Also