Click or drag to resize

CatchmentUHM Class

Class for the UHM rainfall runoff model
Inheritance Hierarchy

Namespace:  DHI.Mike1D.RainfallRunoffModule
Assembly:  DHI.Mike1D.RainfallRunoffModule (in DHI.Mike1D.RainfallRunoffModule.dll) Version: 16.0.0.0 (11.1.1.1111)
Syntax
C#
public class CatchmentUHM : CatchmentState, 
	ICatchmentUHMData, ICatchmentData

The CatchmentUHM type exposes the following members.

Constructors
  NameDescription
Public methodCatchmentUHM
Contructor of the UHM rainfall runoff model.
Top
Properties
  NameDescription
Public propertyAccumulatedRain
Accumulated rain since start of simulation. Used for loss calculations.

State variable.

Unit: [m]

Public propertyAdditionalFlow
Additional constant flow added to the total runoff Unit: [m3/s] Default: 0
(Inherited from Catchment.)
Public propertyAlamedaStreamSlope
Stream Slope used for the Alameda SUH calculations Unit: [-]
Public propertyAlamedaWatershedFactor
Watershed Coefficient is the Basin factor used for the Alameda SUH calculations Unit: [-]
Public propertyAmcNumber
Antecedant Moisture Condition number. Used by the SCSLoss method.

State variable.

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 propertyAreaReductionFactor
Area reduction fator Unit: [-]
Public propertyBaseFlow
Base flow Unit: [m3/s]
Public propertyCatchmentGeometry
Get and set the list of coordinates of the catchment
(Inherited from Catchment.)
Public propertyCatchmentName
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.

(Inherited from Catchment.)
Public propertyCells
List of CatchmentUHMCell sorted from downstream to upstream.

The first cell will discharge in the coming time step, the second cell in two time steps, etc. So each cell is one timestep further from discharging. The time offset for a cell is the number (index+1) of the cell in this list times the time step size.

State is contained inside each CatchmentUHMCell

Created during prepare

Public propertyCenterPoint
Get and set the central point of the catchment
(Inherited from Catchment.)
Public propertyComponentSources
A Component Source provides info on concentration of various components.
(Inherited from Catchment.)
Public propertyConstantLoss
Constant loss Unit: [m/s]
Public propertyCurrentTime
Current time of catchment
(Inherited from Catchment.)
Public propertyCurveNumber
Curve number Unit: [-]
Public propertyDailyRain
Rain within 24 hours, reset every 24 hours. Used for loss calculations

State variable. Only applicable for the SCS loss models

Unit: [m]

Protected 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 propertyEndTime
End time of catchment data - the latest time for which the catchment can return data
(Inherited from Catchment.)
Public propertyExcessDailyRain
Excess rain within 24 hours, reset every 24 hours. Used for loss calculations

State variable. Only applicable for the SCS loss models

Unit: [m]

Public propertyHydrographTsFileName
User defined hydrograph time series filename.
Public propertyHydrographTsItemNumber
Item to use in HydrographTsFileName Note: this index is 1-based
Public propertyHydrographType
Public propertyInitialAbstractionDepth
Initial abstraction depth Unit: [m]
Public propertyInitialAMC
Antecedant Moisture Conditions Unit: [-]
Public propertyInitialLoss
Initial loss Unit: [m]
Public propertyLagTime
Lag time Unit: [s]
Public propertyLagTimeCurveNumber
Curve number used in the lag time calculations Unit: [-]
Public propertyLagTimeType
Lag time calculation type
Public propertyLength
For the SUH the length represents the length of the main stream from the outlet to the dicide Unit: [m]
Public propertyLengthToCentroid
Represents the length of main stream from the outlet to a point nearest the watershed centroid. Used in the calculations of the SUH lag time Unit: [-]
Public propertyLossModel
Loss model type
Public propertyMaximumFlow
Maximum runoff flow
(Inherited from Catchment.)
Public propertyMinimumFlow
Minimum runoff flow
(Inherited from Catchment.)
Public propertyMinTime
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
Catchment model ID. Unique id.
(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 propertyPeakingCoefficient
Peaking coefficient used by SUH standard hydrograph model Unit: [-]
Public propertyPersons
Number of person equivalent in the catchment, used with catchment discharge source boundary
(Inherited from Catchment.)
Public propertyRunoff
Runoff.

Unit: [m3/s]

This is a computational variable. Setting this has no effect (apart from when writing initial conditions to result file)

Public propertyRunoffCoefficient
Runoff coefficient used in proportional loss method Unit: [-]
Public propertyRuntimeDiagnostics
Get the Diagnostics instance for a Catchment. Used during runtime.
(Inherited from Catchment.)
Public propertySlope
Slope of the catchment Unit: [-]
Public propertyStartTime
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 propertyWatershedCoefficient
Watershed Coefficient is the Basin factor used for the standard SUH calculations Unit: [-]
Public propertyYearlyRunoff
Return dictionary of runoff as a function of year
(Inherited from Catchment.)
Top
Methods
  NameDescription
Public methodApplyBoundary(ICatchmentSourceBoundary)
Apply a boundary to this catchment
(Overrides CatchmentApplyBoundary(ICatchmentSourceBoundary).)
Public methodApplyBoundary(GlobalSourceBoundaryTypes, GlobalGeoLocatedSource)
Apply a boundary to this catchment
(Overrides CatchmentApplyBoundary(GlobalSourceBoundaryTypes, GlobalGeoLocatedSource).)
Protected methodApplyBoundaryLIDs(ICatchmentSourceBoundary)
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.)
Protected methodCalculateYearlyStatistics
Calculate and update yearly statistics, YearlyRunoff.

Called at end of each time step, in 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.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(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 methodInitialiseStateVariableTable
This procedure initializes all the state variables declared for the catchment.
(Inherited from CatchmentState.)
Public methodInitialize
Initialize Rainfall Runoff model. Sets up static data.
(Overrides CatchmentInitialize(IDiagnostics).)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
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(RRParameters, IDiagnostics).)
Protected methodPrepareSource
Prepare boundary source.
(Inherited from Catchment.)
Protected methodPrepareState
Prepare state for new simulation.
(Inherited from CatchmentState.)
Public methodResetBoundaries
Remove boundaries applied in previous runs
(Inherited from Catchment.)
Public methodStateUpdated
When state has been updated, this method can be called to update derived/computational variables
Protected methodTakeTimeStep
Take an UHM rainfall runoff time step
(Overrides CatchmentTakeTimeStep.)
Public methodTimeAccepts
List of data types that is accepted and can be used in SetValue
(Inherited from Catchment.)
Public methodTimeOffers
List of data types that is offered and can be used in GetValue
(Inherited from Catchment.)
Public methodTimeOfNextUpdate
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.)
Public methodTimeValueGetter(IQuantity)
Get value setter for the specified data quantity
(Inherited from Catchment.)
Public methodTimeValueGetter(IQuantity, IQuantity)
Get value setter for the specified data quantity
(Inherited from Catchment.)
Public methodTimeValueGetterRR
Get value setter for the specified data quantity
(Inherited from CatchmentState.)
Public methodTimeValueSetter
Get value setter for the specified data type
(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 CatchmentState.)
Public methodValidate
Validate the UHM runoff model
(Overrides CatchmentValidate.)
Protected methodValidateLIDs
Validate all LIDs in catchment
(Inherited from Catchment.)
Public methodVolumeInCatchment
Volume of water stored in catchment after previous TakeTimeStep()
(Inherited from Catchment.)
Public methodVolumeInCatchmentAtStart
Volume of water stored in catchment after previous TakeTimeStep()
(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_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
Protected end time of catchment data - the latest time for which the catchment can return data
(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_offers
List of datatypes offered in GetValue
(Inherited from Catchment.)
Protected field_rainfallFromForcing
Rainfall that must be applied during the calculation time step measured in m/s. unit: [m/s]
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_stateVariables
State variables in catchment
(Inherited from CatchmentState.)
Protected field_stormwaterLIDs
List of Lids
(Inherited from Catchment.)
Protected field_timeNew
Variable holding information on the latest calulated 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 calulated 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_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.
(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_yearlyRunoff
Dictionary of runoff as a function of year
(Inherited from Catchment.)
Top
See Also