LIDBase Class

Base class for LID classes, holding common parameters and functionality.

Definition

Namespace: DHI.Mike1D.RainfallRunoffModule.LID
Assembly: DHI.Mike1D.RainfallRunoffModule (in DHI.Mike1D.RainfallRunoffModule.dll) Version: 24.0.0.0 (11.1.1.1111)
C#
public abstract class LIDBase : LIDBaseOffers, 
	IStormwaterLID, IStormwaterLIDFlowStat, IModelStateReadWrite
Inheritance
Object    LIDBaseOffers    LIDBase
Derived
Implements
IModelStateReadWrite, IStormwaterLID, IStormwaterLIDFlowStat

Constructors

LIDBaseInitializes a new instance of the LIDBase class

Properties

Area Area of LID.

This is the area used for rain and evaporation, i.e. if set to 0.5 times the catchment area, then half of the rain falls on the catchment and half of the rain on the LIDs directly.

The sum of all Area for all LIDs within a single catchment must be less than the area of the catchment they belong to.

For some LIDs (e.g. rain barrel), this area is zero.

Areas A list specifying part of LID area on catchment surfaces.
CollectingAreas A list specifying LID collecting areas on catchment surfaces.

When entry with the same SurfaceID is also present in Areas then the entry in this list correspond to additional collecting area, which will define collecting surface. This effectively gives that the sum of all collecting areas may be smaller than TotalCollectingArea.

Connections A list specifying connection to other LIDs where the water needs to be transferred.
Evaporation Evaporation in the LID at the current time step Unit: [m/s]
(Inherited from LIDBaseOffers)
FlowStat Flow statistics and mass balance
FractionOfLIDFlowToRoute Fraction of runoff flow from the LIDs that are routed by the catchment. The remainder will be added directly to the catchment runoff (not routed).

The different catchment types may treat this differently.

Default value: 1. Unit: [fraction]

Infiltration Infiltration in the LID at the current time step Unit: [m/s]
(Inherited from LIDBaseOffers)
InitialSaturation Initial saturation fraction.

For storage, this fraction is used to calculate the initial storage depth.

Default value: 0. Unit: [fraction].

Name Name of the LID
NumberOfUnits Number of LID units handled by this LID instance
ReportPath Path and name for report file.

If null or empty, no report file is created.

Use only for testing and validating model - file can become quite big.

Runoff Runoff from LID at the current time step Unit: [m3/s]
TotalCollectingArea Total collecting area is the area from which water is routed through the LIDS, either because rain is falling directly on the LIDs (Area) or when catchment rain (after losses) is routed to the LIDs.

This area is used by the catchment to figure out how much water should be routed to the LIDs, effectively splitting the catchment area in 3 parts: catchment-No-LID-Area = ICatchment.Area - sum(IStormwaterLID.TotalCollectingArea) catchment-Route-To-LID-Area = sum(IStormwaterLID.TotalCollectingArea - IStormwaterLID.Area) LID-area = sum(IStormwaterLID.Area) The sum of all 3 contributions is the area of the catchment.

The TotalCollectingArea cannot be smaller than Area.

The sum of all TotalCollectingArea for all LIDs within a single catchment must be less than the area of the catchment they belong to.

Width Width of a single unit

Used for routing calculations

Methods

AddInflow Add inflow (run-on from catchment to LID)
AddToOffers Add LID offers to provided lists of offers and offer delegates.
(Inherited from LIDBaseOffers)
ApplyBoundary(CatchmentSourceBoundaryTypes, IBoundarySource) Apply a boundary to this catchment
ApplyBoundary(GlobalSourceBoundaryTypes, GlobalGeoLocatedSource) Apply a boundary to this catchment
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Finish Finish simulations
GetEvapRates Computes evaporation rate from layer.
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
Initialize Initialize LID
Limit Limit val between minValue and maxValue
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
PerformTimeStep(DateTime, DateTime) Take time step and calculate the rain rate and potential evaporation rate from boundaries
PerformTimeStep(DateTime, DateTime, Double, Double) Take time step with provided rain rate and evaporation rate
Prepare Prepare LID
PrepareForNewReportFile(IDiagnostics) Check report file directory and delete existing file, if present.
PrepareForNewReportFile(IDiagnostics, FilePath, String) Check report file directory and delete existing file, if present.
PrepareForTimeStep Take time step
ReadState Read state and apply to module. Returns true if state was successfully read.
SetInputParameters Set input parameters
StateUpdated When state has been updated, this method can be called to update derived/computational variables
ToStringReturns a string that represents the current object.
(Inherited from Object)
Validate Validate LID surface
WriteState Write current state of module

Fields

_boundarySourceEvaporation Boundary for evaporation
_boundarySourceRainfall Boundary for rainfall
_evapPot Potential evaporation rate [m/s], from boundary
_flowStat Flow statistics and mass balance
_inflow Inflow [m3/s]
_initialSaturation Initial saturation fraction.

For storage, this fraction is used to calculate the initial storage depth.

Default value: 0. Unit: [fraction].

_rainRate Rain rate [m/s], from boundary
_reportPath Path and name for report file.

If null or empty, no report file is created.

Use only for testing and validating model - file can become quite big.

_reportWriter Result file writer
_runoff Runoff from LID at the current time step Unit: [m3/s]
MperSecToMmperHour Conversion factor from m/s to mm/hour

Extension Methods

SetSoilMoisture Set soil/pavement moisture of lid, independent of type.

If lid does not have a soil/pavement layer, an exception is thrown


(Defined by LIDExtension)
SetStorageDepth Set storage depth of lid, independent of type.

If lid does not have a storage layer, an exception is thrown


(Defined by LIDExtension)
SetSurfaceDepth Set surface depth of lid, independent of type.

If lid does not have a surface layer, an exception is thrown


(Defined by LIDExtension)
SoilMoisture Get soil/pavement moisture of lid, independent of type.

If lid does not have a soil/pavement layer, an exception is thrown


(Defined by LIDExtension)
StorageDepth Get storage depth of lid, independent of type.

If lid does not have a storage layer, an exception is thrown


(Defined by LIDExtension)
SurfaceDepth Get surface depth of lid, independent of type.

If lid does not have a surface layer, an exception is thrown


(Defined by LIDExtension)
ValidateConnections Validate LID surface connections and total routing fraction
(Defined by LIDExtension)

See Also