RainBarrel Class

Rain Barrels are containers that collect roof runoff during storm events and can either release or re-use the rain water during dry periods.

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 class RainBarrel : LIDBaseOffers, IStormwaterLID, 
	IStormwaterLIDFlowStat, IModelStateReadWrite
Inheritance
Object    LIDBaseOffers    RainBarrel
Implements
IModelStateReadWrite, IStormwaterLID, IStormwaterLIDFlowStat

Constructors

RainBarrelInitializes a new instance of the RainBarrel class

Properties

Areas A list specifying part of LID area on catchment surfaces.
BarrelArea Area of (all) barrels handled by this instance.
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
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 Current runoff from LID [m3/s]
Storage Storage of barrel
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.

Methods

AddInflow Add inflow (run-on from catchment to LID)
AddToOffers Add LID offers to provided lists of offers and offer delegates.
(Overrides LIDBaseOffersAddToOffers(IListIQuantity, IListFuncDouble))
ApplyBoundary(CatchmentSourceBoundaryTypes, IBoundarySource) No effect, rain barrels does not accept any boundaries
ApplyBoundary(GlobalSourceBoundaryTypes, GlobalGeoLocatedSource) No effect, rain barrels does not accept any boundaries
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
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
Initialize Initialize LID
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
PrepareForTimeStep Take time step
ReadState Read state and apply to module. Returns true if state was successfully read.
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
WriteState Write current state of module

Fields

_flowStat Flow statistics and mass balance
_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.

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