If Infiltration is not defined, the surface is assumed to be impervious, and no infiltration is applied.
public class CatchmentSurface : ICatchmentSurfaceData,
ICatchmentSurface, ICatchmentSurfaceVariables, ICatchmentSurfaceStateVariables, ICatchmentSurfaceComputationalVariables, IModelStateReadWrite,
IDoubleTimeProxy| CatchmentSurface | Default constructor |
| ApplyEvaporationOnRain |
When raining, if true the evaporation is applied at the beginning of the time step,
correcting the net rain and limited by the rain.
If false, evaporation is applied on non-empty storages in the catchment and can exceed the rain.
In dry periods, this is not used, evaporation is always applied on storages. |
| ApplyInitialLossRecoveryRateWhenRaining | Flag specifying to apply InitialLossRecoveryRate also when it is raining. |
| AreaFraction | Area fraction of the surface Unit: [-]. |
| Depth | Depth of water on sub-catchment. State variable. Unit: [m] |
| DepthOld | Depth of water at the previous time step. Computational variable. Unit: [m] |
| EffectiveAreaFraction | Effective area fraction, subtracting area covered by LID's. Default: Same as AreaFraction when no LID's Unit: [-] |
| EvaporationActual | Actual evaporation. Reporting variable. Unit: [m/s] |
| EvaporationActualOld | Evaporation of last time step. Reporting variable. Unit: [m/s] |
| EvaporationFromTimeSeries |
True if evaporation is enabled, and an evaporation boundary has been defined.
If set to false the initial recover rate is used during dry periods. Default: False |
| EvaporationPotential | Potential evaporation. Reporting variable. Unit: [m/s] |
| GlobalDepthDryLimit | Dry depth used for switching Horton's mode between dry and wet in Kinematic Wave model when InfiltrationAfterRain == true. In this case the switching to regeneration of infiltration capacity is controlled by a low limit of the water depth on the surface. Unit: [m] Default: 1e-6 |
| Horton |
Horton, defined only for pervious surfaces.
Returns null if Infiltration is not Horton. |
| ID | The ID of the surface |
| Infiltration |
Infiltration calculator. This defines whether the surface is pervious.
If null, the surface is impervious. |
| InfiltrationActual | Actual infiltration. Reporting variable. Unit: [m/s] |
| InfiltrationActualOld | Infiltration of last time step Reporting variable. Unit: [m/s] |
| InfiltrationAfterRain |
True if infiltration shall occur also after rain has ended.
Default is true . |
| InfiltrationPotential | Potential infiltration. Reporting variable. Unit: [m/s] |
| InfiltrationPotentialOld | Potential infiltration of last time step Reporting variable. Unit: [m/s] |
| InitialLossRecoveryRate |
Recovery rate for initial loss capacity.
The initial loss capacity is regenerated in dry periods by a linear recovery rate.
Used as constant evaporation, when evaporation is not defined explicitly. If evaporation is defined explicitly (see EvaporationFromTimeSeries), this is neglected. Unit: [m/s] Default: 0.00005 [m/hour] = 1.2 [mm/day] |
| Loss |
Loss, other than infiltration which goes into InfiltrationActual.
Additionally, the wetting loss and storage loss is not included in this loss, and these are considered a part of catchment water volume, which cannot be routed. Unit: [m/s] |
| LossOld | Loss of last time step |
| RainRate |
Rain rate, which can be modified by some processes.
For example, rain rate can be modified by snow module. Unit: [m/s] |
| RainRateOld | Rain rate of last time step. Unit: [m/s] |
| SkipOffers | Skip the creation of offers. |
| SnowModule |
Snow module handling snow storage.
If null, the snow module is not applied. |
| SnowStorage | Snow storage at time N+1. Unit: [m] |
| SnowStorageOld | Snow storage at previous time N. Unit: [m] |
| StorageCapacity | Storage capacity. Unit: [m]. Not applicable to ImperviousSteep. |
| StorageLoss | Storage loss depth. State variable. Unit: [m] |
| StorageLossOld | Storage loss depth at the previous time step. Computational variable. Unit: [m] |
| SurfaceIndex | Index of the surface in the list of surfaces. |
| Temperature | Temperature from forcing. Unit: Degrees Celcius |
| Type | Impervious or pervious surface type. |
| UseReverseDraining |
Revert to old draining order. Set to true to
drain in same order as in MOUSE engine.
Reverse draining drains in order: wetting, storage, depth. Hence, when storages are full, wetting and storage will be drained and not depth, depth will be higher and give more runoff. This is visible in low-flow conditions. |
| WettingCapacity | Wetting capacity. Unit: [m]. |
| WettingLoss | Wetting loss depth. State variable. Unit: [m] |
| WettingLossOld | Wetting loss depth at the previous time step. Computational variable. Unit: [m] |
| AddToOffers(FuncDouble, IQuantity) | Adds to offers of catchment surface |
| AddToOffers(FuncDouble, PredefinedQuantity) | Adds to offers of catchment surface |
| AddToOffers(FuncDouble, PredefinedQuantityRR) | Adds to offers of catchment surface |
| Clone | Creates an instance of catchment surface with the reference to the same data |
| CreateOffers | Create offers for catchment surface. |
| DrainStorage | Drains water for the given storage (eg. infiltration) |
| Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
| EvaporateFromStorages | Evaporates from depth, storage loss, and wetting loss. |
| FillStorage | Fills a specific storage with a giving amount of inflow (rain). This procedure will update the amount of inflow not added to the storage, and returns the new depth of the storage. |
| Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object) |
| FinalizeTimeStep | Finalizes catchment surface time step. |
| GetHashCode | Serves as the default hash function. (Inherited from Object) |
| GetType | Gets the Type of the current instance. (Inherited from Object) |
| Initialize | Initialize catchment surface. |
| MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object) |
| Offers | List of data types that is offered and can be used in GetValue |
| PerformTimeStep |
Perform catchment surface time step.
The catchment surface has several processes: * Snow module * Filling of storages * Evaporation * Infiltration |
| Prepare | Prepare catchment surface for simulation. |
| PrepareForTimeStep | Prepare for catchment surface time step. |
| ReadState | Read state and apply to module. Returns true if state was successfully read. |
| ResetComputationalVariables | Resets computational variable values to zero |
| ResetStateVariables | Resets state variable values to zero |
| ResetVariables | Resets variable values to zero |
| StateUpdated | When state has been updated, this method can be called to update derived/computational variables |
| TimeOffers | List of data types that is offered and can be used in GetValue |
| TimeValueGetter | Get value getter for the specified data quantity |
| ToString | Returns a string that represents the current object. (Inherited from Object) |
| TransferVariablesToOld | Transfers previous time step variable values to Old variables. |
| ValueGetter | Get value setter for the specified data quantity |
| WriteState | Write current state of module |
| DefaultSurfaceID | Default ID for a surface |
| Getter | From the proxy, return an FuncTResult for the specified quantity. It returns the first quantity of that type that is offered, and null if the quantity is not offered. (Defined by ProxyExtensions) |
| TimeValueGetter | From the proxy, return an FuncT, TResult for the specified quantity. It returns the first quantity of that type that is offered, and null if the quantity is not offered. (Defined by ProxyExtensions) |