Catchment Class |
Namespace: DHI.Mike1D.RainfallRunoffModule
public abstract class Catchment : ICatchment, IDoubleTimeProxy, ICatchmentData
The Catchment type exposes the following members.
Name | Description | |
---|---|---|
Catchment(String) |
Catchment constructor
| |
Catchment(String, String) |
Catchment constructor
|
Name | Description | |
---|---|---|
AdditionalFlow |
Additional constant flow added to the total runoff
Unit: [m3/s]
Default: 0
| |
Area |
Total area of catchment
Type: Catchment area
Unit: [m2]
Default: 1e8 (100 km2)
| |
AreaInSquareKm |
Full area of catchment
Type: Catchment area
Unit: [km2]
Default: 100
| |
CatchmentGeometry |
Get and set the list of coordinates of the catchment
| |
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
| |
ComponentSources |
A Component Source provides info on concentration of various
components.
| |
CurrentTime |
Current time of 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.
| |
EndTime |
End time of catchment data - the latest time for which the catchment can return data
| |
MaximumFlow |
Maximum runoff flow
| |
MinimumFlow |
Minimum runoff flow
| |
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.
| |
ModelId |
Catchment model ID. Unique id.
| |
Name | Obsolete. | |
ObservedData |
Observed data. Used for creating calibration plots and for auto-calibration reference data.
| |
Persons |
Number of person equivalent in the catchment,
used with catchment discharge source boundary
| |
RuntimeDiagnostics |
Get the Diagnostics instance for a Catchment. Used during runtime.
| |
StartTime |
Start time of catchment data - the earliest time for which the catchment can return data
| |
StormWaterLIDs |
List of Lids
| |
TimeOfMaximumFlow |
Time of minimum runoff flow
| |
TimeOfMinimumFlow |
Time of maximum runoff flow
| |
TimeStep |
Time step used by the catchment model
| |
TotalAdditionalInflowVolume |
Total volume of additional inflow
| |
TotalLossVolume |
Total infiltration into this catchment (integrated over time)
| |
TotalRainfallVolume |
Total rainfall on this catchment (integrated over time)
| |
TotalRunoffVolume |
Total runoff from this catchment (integrated over time)
| |
TSBuffer |
Set the TSBuffer to use in this catchment
| |
UseHotStartFile |
Flag telling if initial conditions is taken from a hotstart file
Default: false
| |
YearlyRunoff |
Return dictionary of runoff as a function of year
|
Name | Description | |
---|---|---|
ApplyBoundary(ICatchmentSourceBoundary) |
Apply a boundary to this catchment
| |
ApplyBoundary(GlobalSourceBoundaryTypes, GlobalGeoLocatedSource) |
Apply a boundary to this catchment
| |
ApplyBoundaryLIDs(ICatchmentSourceBoundary) |
Apply boundary to LID's in catchment
| |
ApplyBoundaryLIDs(GlobalSourceBoundaryTypes, GlobalGeoLocatedSource) |
Apply boundary to LID's in 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.
| |
CalculateStatistics |
Calculate statistics on catchment.
TODO: Consider moving this to individual catchments to increase performance (avoid using _stateVariables).
TODO: Consider moving this out of Catchments class and into seperate class, for generic handling of all catchments
| |
CalculateYearlyStatistics |
Update the yearly statistics.
Called at end of every time step. | |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize |
Destructor
(Overrides ObjectFinalize.) | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetRequiredTypes |
Get the type of boundary required by this catchment
| |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
Initialize |
Initialize Rainfall Runoff model. Sets up static data.
| |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
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.
| |
PrepareSource |
Prepare boundary source.
| |
PrepareState |
Prepare state, especially time
| |
ResetBoundaries |
Remove boundaries applied in previous runs
| |
TakeTimeStep |
This procedure is the one actually calculating the new time step.
| |
TimeAccepts |
List of data types that is accepted and can be used in SetValue
| |
TimeOffers |
List of data types that is offered and can be used in GetValue
| |
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!!
| |
TimeValueGetter(IQuantity) |
Get value setter for the specified data quantity
| |
TimeValueGetter(IQuantity, IQuantity) |
Get value setter for the specified data quantity
| |
TimeValueGetterRR |
Get value setter for the specified data quantity
| |
TimeValueSetter |
Get value setter for the specified data type
| |
ToString | Returns a string that represents the current object. (Overrides ObjectToString.) | |
TriggerPostTimeStepEvent |
Trigger the PostTimeStepEvent, called at end of a time step.
| |
Type |
The type of catchment: NAM, Urban A etc
| |
Update |
Update internal state of catchment to time Time()
| |
Validate |
Validate that the catchment is set up correctly
| |
ValidateLIDs |
Validate all LIDs in catchment
| |
VolumeInCatchment |
Volume of water stored in catchment after previous TakeTimeStep()
| |
VolumeInCatchmentAtStart |
Volume of water stored in catchment after previous TakeTimeStep()
|
Name | Description | |
---|---|---|
PostTimeStepEvent |
Event that is triggered every time the catchment has finished
a new time step
|
Name | Description | |
---|---|---|
_additionalFlow |
Additional constant flow added to the total runoff
Unit: [m3/s]
Default: 0
| |
_additionalFlowOld |
Additional constant flow at start of time step
| |
_area |
Total area of catchment.
Type: Catchment area.
Unit: [m2].
Default: 1e8 (100 km2).
| |
_boundarySourceEvaporation |
Evaporation boundary source
| |
_boundarySourceRainfall |
Rainfall boundary source
| |
_boundarySourceTemperature |
Temperature boundary source
| |
_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.
| |
_endTime |
Protected end time of catchment data - the latest time for which the catchment can return data
| |
_maximumFlow | Maximum flow | |
_minimumFlow | Minimum flow | |
_minTime |
Proteced MinTime
| |
_offers |
List of datatypes offered in GetValue
| |
_runtimeDiagnostics |
Diagnostics instance for a Catchment. Used during runtime.
| |
_startTime |
Protected start time of catchment data - the earliest time for which the catchment can return data
| |
_stormwaterLIDs |
List of Lids
| |
_timeNew |
Variable holding information on the latest calulated time
| |
_timeOfLastUpdate |
Last time the state of this catchment was updated (Update(DateTime) was called)
| |
_timeOfMaximumFlow | Time of maximum flow | |
_timeOfMinimumFlow | Time of minimum flow | |
_timeOld |
Variable holding information on the latest calulated time
| |
_timeStep |
Time step used in the simulation, or initial time step if the time step can change.
| |
_timeUpdateFraction |
Fraction of time between prev time and current time for the last
call to Update(DateTime). This should be updated everytime
_timeOfLastUpdate is updated.
| |
_totalAdditionalInflowVolume | Total volume of additional inflow | |
_totalLossVolume | Total volume of loss | |
_totalRainfallVolume | Total volume of rain | |
_totalRunoffVolume | Total volume of runoff | |
_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.
| |
_useHotStartFile |
Flag telling if initial conditions is taken from a hotstart file
Default: false
| |
_yearlyRunoff |
Dictionary of runoff as a function of year
|