DHI.Mike1D.BoundaryModule Namespace

The boundary model contains boundary setup parameters. The boundary module handles as well open boundary conditions as forcings, for as well HD, AD, ST as RR simulations.

Classes

AbstractBoundaryItem Many common tasks for an IBoundaryItem are handled by the AbstractBoundaryItem. It handles: It is up to the class that extends the AbstractBoundaryItem to make sure to utilize above functionality in the GetValue call as described below. There are some helper functions in this class for example to get the soft start factor for a given date/time.
AbstractLocationSourceBoundary Class containing common code for locations for a source, which can contain as well a point locations as a node locations. It also handles the individual scalefactor that each location can have.
AbstractSourceBoundary Many common tasks for an IBoundarySource are handled by the AbstractSourceBoundary. All MIKE 1D boundary sources extent from this. Current subclasses include

The AbstractSourceBoundary has a list of boundary items, Items

BoundaryAdaptiveProbeWrapper A helper class for implementing the IBoundaryAdaptive interface for a IBoundarySource by probing the values.

Probing will not find all extreme values, and hence it is more accurate to implement the IBoundaryAdaptive directly and use knowledge of the boundary data, instead of being based on probing.

BoundaryAdaptiveTimeEvaluator Helper class to calculate preferred time step based on a list of times and a list of values. This class holds the time data only, and can be reused if more value series share the same time axis.
BoundaryAdaptiveTimeSeriesEvaluator Helper class to calculate preferred time step based on a list of times and a list of values.

This class is intended for cases where only one value serie use this time axis.

BoundaryAdaptiveTimeValueSeriesEvaluator Helper class to calculate preferred time step based on a list of times and a list of values.

This class is intended for cases where more than one value series share the same time axis.

BoundaryData The BoundaryData class is the main entrance to boundary data access. It handles boundary conditions and sources.
BoundaryDataXmlBridge Bridge for saving and reading boundary data to/from xml.

This will only store the boundary data component.

BoundaryExtensions Utility class, containing extension methods for classes in the BoundaryModule namespace
BoundaryItemConstant Constant boundary item implementation.
BoundaryItemDDoubleGetter A boundary item that retrieves its value through a delegate of the type DDoubleTimeGetter. Inherits AbstractBoundaryItem supporting scalefactor, application interval and soft start.
BoundaryItemHDADMultiply A boundary item consisting of two boundary items that are multiplied together

This boundary item is used by MIKE 11 load, setup as HD inflow + AD concentration, where the HD inflow is ignored, but the AD is included, effectively modelling a load type of AD boundary.

BoundaryItemPeriodicMonthly A boundary item with constant values in each month
BoundaryItemQH Q(h) boundary item. Access to a Q(h) table. Gets the water level via a DDoubleGetter
BoundaryItemRRResult Rainfall runoff boundary item.
Obsolete
BoundaryItemSWQ SWQ boundary item implementation, placeholder for the SWQId and not a "real" IBoundaryItem.

Only applicable for component items of a CatchmentComponentSourceBoundary. Requires that the SWQId is present in the RainfallRunoffData.Pollutants.

BoundaryItemTableConcentration Table concentration item implementation.
BoundaryItemTimeSeries Time series boundary item. Generel access to time series items, defined by a full path name, and an item number.
BoundaryItemTimeSeriesBase Time series boundary item. Generel access to one time series item.

This is a base class for other time series classes, handling the time and values of a time series, time interpolation etc.

BoundarySourceComponent Boundary source for a component, containing either a concentration type source, a load type source, or a specific quantity.

The component sources are used by other than inflow boundaries, as e.g. a wind having a direction and a velocity component. These special types of component sources may require the components in a special order. They are identified by their Quantity value.

The connection to the AD components is defined by the ComponentId value. If that is null or empty, it is not an AD component.

BoundarySourceComponentUnitConverter Class for unit conversion of component boundary values
CatchmentComponentResultFile Component result file, for adding AD and sediment component loads from result file to network.

It will only add component load if the HD result file does also contain that catchment. I.e. if component result file contains data from more catchments than the HD result file, the additional catchments will be ignored.

CatchmentComponentSourceBoundary A special kind of boundary, only used when AD module is enabled, which provides component concentrations for catchment inflows.
CatchmentGriddedWeights For a catchment, specifying which cells of a grid that is inside this catchment, and for each cell specifying the weight for calculating the average cell contribution.

If the Weights is null, the weights will be calculated automatically. To have a catchment use this grid, and have the weights calculated automatically, then only specify the CatchmentId.

CatchmentResultFile Catchment result file, containing rainfall runoff and/or catchment discharge.
CatchmentSourceBoundaries Class implementing a list of ICatchmentSourceBoundary's Required for generic list COM interop
CatchmentSourceBoundary Catchment source boundary. All catchments are identified by a catchment ID, string.
CatchmentSourceWeightingBoundary Catchment source boundary. All catchments are identified by a catchment ID, string.
DistributedSourceBoundaries Class implementing a list of IDistributedSourceBoundary's Required for generic list COM interop
DistributedSourceBoundary A distributed source is a source that is applied on a part of the network. It can be a combination of LocationSpans and Links. TODO: Check whether the links are necessary or whether they are just a simple version of a LocationSpan.
GlobalGeoLocatedSource A global source that has a geographical position associated with it.

A global source can have several geo-located sources, and the closest geo-located source can be used.

GlobalSourceBoundaries Class implementing a list of IGlobalSourceBoundary's Required for generic list COM interop
GlobalSourceBoundary A global source that contributes to the entire network A GeoPoint can be provided, and more than one source of the same type is then valid. The closest source should then be used.
GriddedSource A gridded source is specifying a 2D grid of source values.

Use the UseGlobally to apply this boundary to all catchments overlapping the grid.

Specify explicitly the catchments that should use this grid in the CatchmentGriddedWeights. It is optional to provide the Weights, if not specified, weights are calculated automatically.

GriddedValueBoundarySource Helper class, implementing an IBoundarySource for a boundary extracting weighted values directly from a grid.

Using the GriddedValueBuffer as value provider.

GriddedValueBuffer Class for buffering grid (dfs2) values, loading only a few values at a time, and calculate a time series value based on the weights.
GriddedWeight Cell weight, indices and weight value
GridDfs2Data Class for accessing dfs2 data in the GridToTsProcessor.
GridToTsProcessor Class that calculates time series from a grid series file and a set of catchment weights.
ListIBoundaryItems Class implementing a list of IBoundaryItem's Required for generic list COM interop
OpenSourceBoundaries Class implementing a list of IOpenSourceBoundary's Required for generic list COM interop
OpenSourceBoundary An open source boundary is at the boundary of the network, (compared to a point source boundary which can be situated anywhere in the network)
PointSourceBoundaries Class implementing a list of IPointSourceBoundary's Required for generic list COM interop
PointSourceBoundary A source located at a specific point in the network. A PointSourceBoundary is always an inflow (a forcing).
QhRelation QH relation
StructureSourceBoundary Structure source boundary. All catchments are identified by a structure ID which is a string. If StructureSourceBoundaryType is StructureSourceBoundaryTypes.DamBreak, then the boundary contains three components: 1) Breach level, 2) Breach width, and 3) Breach slope

Interfaces

IAbstractLocationSourceBoundary Interface for an AbstractLocationSourceBoundary. Adding interfaces for point and node locations. To be extended.
IAdvancedBoundaryItem An advanced boundary item adds functionality for scale factor, soft start (gradual start-up) and application interval to the standard IBoundaryItem
IBoundaryAdaptive Interface handling adaptive time step evaluation. Implemented by as well boundary items as boundary sources
IBoundaryData This is the interface for the BoundaryData class Note: Needed for COM interop only - do not use from .Net
IBoundaryItem A general BoundaryItem interface. AbstractBoundaryItem provides a general implementation of IBoundaryItem.
IBoundaryItemConstant Interface for a constant boundary item
IBoundaryItemUndefinedData Interface for boundary items which can handle data containing undefined values (delete values).
IBoundarySource Base interface for all BoundarySources
IBoundaryValueModifier Generic interface for modifying boundary values on the fly.
IBoundaryWithComponents Interface for boundaries with components
ICatchmentSourceBoundaries Interface for a list of ICatchmentSourceBoundary's Required for generic list COM interop
ICatchmentSourceBoundary Interface for a CatchmentSourceBoundary. Interfaces for Cathcment ID and scalefactors.
IDistributedSourceBoundaries Interface for a list of IDistributedSourceBoundary's Required for generic list COM interop
IDistributedSourceBoundary Interface for a DistributedSourceBoundary
IGlobalSourceBoundaries Interface for a list of IGlobalSourceBoundary's Required for generic list COM interop
IGlobalSourceBoundary Interface for a GlobalSourceBoundary.

A global source boundary consist of a number of items that are geographically located, stored in the GeoLocatedSources list. If there is only one global item, it must be the first one, and then the GeoLocatedSources needs not have a geo-point, GeoPoint, and UseGeoLocatedSources must return false. If UseGeoLocatedSources returns false, the first item in the GeoLocatedSources is used.

To get the value at a given location, it is up to the user/engine whether to take the closest geo-located item, to interpolate in them or do something else.

You can define a number of items that overrides the global value at certain areas in the network, these are stored in the DistributedOverrides list, that each are an IDistributedSourceBoundary. The same goes for local items that override certain open nodes which are stored in PointSourceOverrides of type IPointSourceBoundary.

IGridData Interface for a generic type of grid, used by the GridToTsProcessor
IListIBoundaryItems Interface for a list of IBoundaryItem's Required for generic list COM interop
IOpenSourceBoundaries Interface for a list of IOpenSourceBoundary's Required for generic list COM interop
IOpenSourceBoundary Interface to a OpenSourceBoundary Note: Needed for COM interop only - do not use from .Net
IPointSourceBoundaries Interface for a list of IPointSourceBoundary's Required for generic list COM interop
IPointSourceBoundary Interface to a PointSourceBoundary
IStructureSourceBoundary Interface for a StructureSourceBoundary. Interfaces for Strucure location.

Enumerations

AbstractSourceBoundaryDataMissing Enum defining if source is missing data within simulation period, see ValidateItemsInSimTime(IListIBoundaryItems, DateTime, DateTime, DateTime)
BoundaryItemTypes Currently supported boundary item types. Each has its own class implementing its functionality.
BoundarySourceComponentType For Component sources, specifies which type of source it is
BoundarySourceTypes Types of Boundary sources
CatchmentResultFileConnectionType Type of connection that is applied for a CatchmentResultFile
CatchmentSourceBoundaryTypes Type of Catchmentsource boundary
ComponentScope Enumeration specifying where component belongs
DistributedSourceBoundaryTypes Type of distributed source inflow
GlobalSourceApplicationTypes Enumeration specifying where a global source is applied
GlobalSourceBoundaryTypes Type of global source boundaries.
GriddedSourceWeightCalculationType 
OpenSourceBoundaryTypes Types of opensource boundaries
PointSourceBoundaryInflowTypes Type of inflow. Used to limit the total inflow of a specific type.
PointSourceBoundaryTypes Type of inflow. Used to limit the total inflow of a specific type.
SoftstartTypes Types of softstart
StructureSourceBoundaryTypes Type of Catchmentsource boundary
TypeOfDistribution Defines how a distributed source distributes its source value.