Click or drag to resize

CatchmentNamData Class

A lumped, conceptual rainfall-runoff model, simulating the overland-, inter-, and base-flow components as a function of the moisture contents in four storages; snow, surface, root-zone and ground water.

This class contains data and parameters for setting up a NAM model, and is as such a data class only. Computational variables are not included in this class. It can be used to explore data and parameters required when setting up the NAM 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 abstract class CatchmentNamData : CatchmentState, 
	ICatchmentNamData, ICatchmentData

The CatchmentNamData type exposes the following members.

Constructors
  NameDescription
Protected methodCatchmentNamData
Protected constructor
Top
Properties
  NameDescription
Public propertyAdditional
Additional parameters for the NAM catchment. These parameters are not used for the calculation, but can be used to calculate parameters for the catchment
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 propertyAutocal
Autocalibration
Public propertyBaseTemperature
Variable holding the base temperature defining if the precipitation is snow or rain (T0). Type: temperature Unit: [celcius] Default: 0.0
Public propertyCapilarFluxParameter
Variable expressing at which ground water depth the capilar flux is 1 mm/day when the lower zone is completely dry (GWLfl1). Type: Ground water depth Unit: [meter] Default: 0.0
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 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 propertyConstDegreeDayCoef
Variable holding the constant degree day coefficient (Csnow). Type: Melting Coefficient Unit: [mm/Celcius/day] Default: 2.0
Public propertyConstGwDepthForZeroBaseFlow
The ground water depth at which the base flow equals zero (GWLBF0). Constant value, used when UseSeasonalGwDepthForZeroBaseFlow is false

Type: Ground water depth. Unit: [meter]. Default: 10.

Public propertyCropCoeffs
Variables holding the seasonal crop coefficientsas read from the file Type: Dimensionless factor Unit: [] Default: 1

Used only when UseCropCoeffsAndLosses is set.

Public propertyCurrentTime
Current time of catchment
(Inherited from Catchment.)
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 propertyExternalChainage
Variable holding the chainage of the external river delivering irrigation water.
Public propertyExternalRiverName
Variable holding the name of the external river delivering irrigation water Type: River Name Default: Blank
Public propertyGwCAreaRatio
This variable holds the ratio between ground water reservoir and the catchment area (Carea). It is multiplied with the baseflow after updating the groundwater depth with infiltration. Type: Dimensionless factor Unit: [] Default: 1
Public propertyIncludeElevationZones
This flag tells if the catchment should be divided into elevation zones used when ice modelling is included. Default: false
Public propertyIncludeRadiation
This flag determines if a radiation coefficient should be use in the calculation. Default: false
Public propertyIncludeRainfallDegreeDay
This flag decides if a rainfall degree day coefficient should be used. Default: false.
Public propertyIncludeSnow
This flag tells if snow is included in the calculation Default: false
Public propertyInfiltrationRateAtFieldCapacity
Variable holding the infiltartion rate at field capacity (K0inf). Type: Infiltration Unit: [mm/h] Default: 1
Public propertyInitial
Initial conditions for NAM state variables.
Public propertyLossesToEvaporation
Variables holding the seasonal losses in percent due to evaporation as read from the file Type: Dimensionless factor Unit: [%] Default: 0

Used only when UseCropCoeffsAndLosses is set.

Public propertyLossesToGroundwater
Variables holding the seasonal losses in percent to groundwater Type: Dimensionless factor Unit: [%] Default: 0

Used only when UseCropCoeffsAndLosses is set.

Public propertyLossesToOverlandFlow
Variables holding the seasonal losses in percent to over land flow as read from the file Type: Dimensionless factor Unit: [%] Default: 0

Used only when UseCropCoeffsAndLosses is set.

Public propertyLowerGwRechargeCoef
Variable holding the fraction of the infiltration to the ground water that enters the lower ground water storage (CQlow). If set to zero, the lower ground water storage is not enabled. Type: Lower baseflow Unit: [percent] Default: 0.0
Public propertyMaxGwDepthForZeroBaseFlow
Holds the maximum groundwater depth corresponding to a zero base flow. Used when UseSeasonalGwDepthForZeroBaseFlow. Type: Ground water depth Unit: [meter] Default: 10
Public propertyMaximumFlow
Maximum runoff flow
(Inherited from Catchment.)
Public propertyMinGwDepthForTranferToUpperStorage
Holds the minimum groundwater depth at which the groundwater is transfered to the upper storage (GWLmin). Type: Ground water depth Unit: [meter] Default: 0
Public propertyMinGwDepthForZeroBaseFlow
Holds the minimum groundwater depth corresponding to a zero base flow. Used when UseSeasonalGwDepthForZeroBaseFlow. Type: Ground water depth Unit: [meter] Default: 0
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 propertyNumberOfSnowZones
Variable holding the number of inidividual snow zones. When set, all snow zone parameter arrays are recreated and reset to default values. Default: 1
Public propertyObservedData
Observed data. Used for creating calibration plots and for auto-calibration reference data.
(Inherited from Catchment.)
Public propertyOverLandflowRunoffCoeff
Coefficient for overland flow runoff (CQOF). It expresses the part of the net rainfall that run off as over land flow. Type: Dimensionless Unit: [] Default: 0.5
Public propertyPercentageFromExternalRiver
Variable telling the percentage of irrigation source that originates from external river. Type: Dimensionless Factor Unit: [] Default: 0
Public propertyPercentageFromLocalGroundWater
Variable telling the percentage of irrigation source that originates from local ground water. Type: Dimensionless Factor Unit: [] Default: 50
Public propertyPercentageFromLocalRiver
Variable telling the percentage of irrigation source that originates from local river. Type: Dimensionless Factor Unit: [] Default: 50
Public propertyPersons
Number of person equivalent in the catchment, used with catchment discharge source boundary
(Inherited from Catchment.)
Public propertyRadiationCoeff
Variable holding the radiation coefficient (Crad); Type: Dimensionless factor Default: 0.0;
Public propertyRainfallDegreeDayCoeff
Variable holding the rainfall degree day coefficient (Crain). Type: Rain Melting Coefficient per degree per time Unit: [/celcius/day] Default: 0.0
Public propertyRootZoneStorageMax
Maximum storage in the root/lower zone (L_max) Type: Storage depth Unit: [mm] Default: 100.00
Public propertyRuntimeDiagnostics
Get the Diagnostics instance for a Catchment. Used during runtime.
(Inherited from Catchment.)
Public propertySeasonalDegreeDayCoeff
This array holds the seasonal variation of the degree day coefficient (Csnow). Type: melting Coefficient Unit: [mm/celcius/day] Default: 1, 1.5, 2, 3, 4, 4.5, 4.5, 4, 3, 2, 1.5, 1
Public propertySeasonalDegreeDayCoeffTimeSeries
This flag determines if the seasonal variation of the degree day coefficient is specified in a time series. Default: false
Public propertySeasonalRelativeGwDepth
Holds the relative seasonal depth used to calculated the groundwater depth corresponding to a zero base flow. Used when UseSeasonalGwDepthForZeroBaseFlow. Type: Dimensionless factor Unit: [] Default: 1
Public propertySpecificYield
Holds the specific yield for the groundwater reservoir (Sy). Type: Dimensionless factor Unit: [] Default: 0.1
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 propertySurfaceStorageMax
Maximum surface/upper storage (Umax) Type: Storage Depth Unit: [mm] Default: 10.00
Public propertyThresholdGroundWaterRecharge
Root zone treshold for recharging groundwater (TG) Type: Dimensionless factor Unit: [] Default: 0
Public propertyThresholdInterFlow
Root zone treshold for inter flow (TIF) Type: Dimensionless factor Unit: [] Default: 0
Public propertyThresholdOverlandFlow
Root zone treshold for overland flow (TOF) Type: Dimensionless factor Unit: [] Default: 0
Public propertyTimeConstantBaseFlow
Time constant for the routing of base flow (CKBF) Type: Flow routing time constant Unit: [hour] Default: 2000
Public propertyTimeConstantFirstReservoir
Time constant for the first linear reservoir routing (CK1), for overland and interflow. Type: Flow routing time constant Unit: [hour] Default: 10
Public propertyTimeConstantInterFlow
Time constant for the first linear reservoir routing of inter flow (CKIF) Type: Flow routing time constant Unit: [hour] Default: 1000
Public propertyTimeConstantLowerBaseFlow
Variable holding the time constant for routing ground water in the lower ground water reservoir (CKlow). Type: Flow routing time constant Unit: [hour] Default: 10000
Public propertyTimeConstantSecondReservoir
Time constant for the second linear reservoir routing (CK2), for overland flow. Type: Flow routing time constant Unit: [hour] Default: 10
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 rainfall runoff model
(Overrides CatchmentTimeStep.)
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 propertyUseAbstraction
Flag telling if abstraction of ground water should be included. Default: false
Public propertyUseCropCoeffsAndLosses
Flag telling if seasonal crop coefficients and losses should be specified. Default: false
Public propertyUseFullEvaporationOnSnow
Flag telling if the evaporation has to be reduced by the snow cover. If False (default MIKE 11) the evaporation will be reduced by the snow cover, if True (default MIKE URBAN), full evaporation occurs even on the ground where there is snow Type: bool Default: False
Public propertyUseHotStartFile
Flag telling if initial conditions is taken from a hotstart file Default: false
(Inherited from Catchment.)
Public propertyUseIrrigationModule
Flag telling if the irrigation module should be applied. Type: bool Default: False
Public propertyUseSeasonalDegreeDayCoeff
This flag determines if a seasonal variation of the degree day coefficient should be used. Default: false
Public propertyUseSeasonalGwDepthForZeroBaseFlow
Flag telling if a seasonal variation of the ground water depth corresponding to zero base flow should be used. Default: false
Public propertyYearlyRunoff
Return dictionary of runoff as a function of year
(Inherited from Catchment.)
Public propertyZoneArea
Variables holding the areas of the different zones. Type: Catchment area Unit: [km2] Default: 0, not used in case of only one snow zone, the total catchment area is used instead.
Public propertyZoneDryTemperatureCorrection
Variables holding the dry temperature correction for the different zones. Type: Temperature correction Unit: [celcius] Default: 0
Public propertyZoneElevation
Variables holding the elevations for the different zones. These values are not used during the calculation, but used elsewhere to calculate parameters in different snow zones. Type: Elevation Unit: [meter] Default: 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000
Public propertyZoneMaximumStorage
Variables holding the maximum storage at the different zones Type: Storage depth Unit: [mm] Default: 10000, if only one snow zone: 0.
Public propertyZoneMaxWaterInSnow
Variables holding the maximum amount of water contained in the snow. Type: Max Water Unit: [%] Default: 0
Public propertyZoneMinimumStorage
Variables holding the minimum storage for full coverage for each zone Type: Storage depth Unit: [mm] Default: 100, if only one snow zone: 0.
Public propertyZonePrecipitationCorrection
Variables holding the precipitation correction for the different zones. Type: Precipitation correction Unit: [%] Default: 0
Public propertyZoneWetTemperatureCorrection
Variables holding the wet temperature correction for the different zones. Type: Temperature correction Unit: [celcius] Default: 0
Top
Methods
  NameDescription
Public methodApplyBoundary(ICatchmentSourceBoundary)
Apply a boundary to this catchment
(Inherited from Catchment.)
Public methodApplyBoundary(GlobalSourceBoundaryTypes, GlobalGeoLocatedSource)
Apply a boundary to this catchment
(Inherited from Catchment.)
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
(Inherited from Catchment.)
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.
(Inherited from Catchment.)
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.
(Inherited from Catchment.)
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.)
Protected methodTakeTimeStep
This procedure is the one actually calculating the new time step.
(Inherited from Catchment.)
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.
(Inherited from CatchmentState.)
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
(Inherited from Catchment.)
Public methodUpdate
Update internal state of catchment to time Time()
(Inherited from CatchmentState.)
Public methodValidate
Validate that the catchment is set up correctly
(Inherited from Catchment.)
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_cropCoeffs
Variables holding the seasonal crop coefficients Type: Dimensionless factor Unit: [] Default: 1
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_includeSnow
This flag tells if snow is included in the calculation Default: false
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_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_timeStepInHours
Time step used in the NAM rainfall runoff model Unit: [hours]
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
Extension Methods
  NameDescription
Public Extension MethodCreateMonthlyAbstractionBoundary
Sets up monthly abstraction for nam, assuming the abstraction values are in mm/month.
(Defined by RRExtensions.)
Top
See Also