Click or drag to resize

DHI.Mike1D.ResultDataAccess Namespace

 
Classes
  ClassDescription
Public classAscii1Bridge
The Ascii1 bridge is a result data write bridge that is capable of writing the results of a result data object to a specific ascii file.

The Ascii1 bridge only stores reach data. All other data items are ignored.

Public classAscii2Bridge
The Ascii2 bridge is a result data write bridge that is capable of writing the results of a result data object to an ascii file.

The Ascii2 bridge only stores reach data. All other data items are ignored.

Public classAsciiBridge
Common class for ascii bridge data
Public classAsciiBridgeData
Ascii file format data, defining how and what is put in the ascii file
Protected classAsciiBridgeDataItemInstance
Class where one dynamic item corresponds to one element value in one data item
Public classAsciiBridgeFactory
Factory for creating Ascii Bridge
Public classCrfBridge
Bridge for reading MOUSE CRF files.
Public classCrfBridgeFactory
Factory for creating CRF Bridge
Public classDataItem
Public classDataItemFilterName
A class that can filter on names
Public classDataItemFilterQuantity
A class that can filter on quantities
Public classDataItems
Class implementing a list of IDataItem's Required for generic list COM interop
Public classDataItemTimeSingleProxySource
A IDataItem that can update itself based on an IDoubleTimeVectorGetter
Public classDfs0Bridge
The Dfs0 bridge is a result data write bridge that is capable of writing the results of a result data object to a dfs0 file.

The Dfs0 bridge only stores reach data. All other data items are ignored.

Public classDfs0BridgeFactory
Factory for creating dfs0 Bridge
Public classFilter
Filter allowing user to specify a subset of the data set. It contains a list of IDataItemFilter that must all accept a dataitem before it is accepted by this filter.
Public classListTimeStepData
Class implementing a list of double[]'s Required for generic list COM interop
Public classM11FfBlockReader
Class for reading the generic blocks of the original MIKE 11 file format, that is currently only used by MOUSE. File extensions that indicate a file in MIKE 11 file format: .PRF, .CRF,

After connecting to the file, use the GetNextBlockType to quiery the block type, and then any of the ReadBlock methods or the SkipBlock to read/skip the next block. At end-of-file, GetNextBlockType returns EndOfFile.

Public classM11FfBridgeBase
Base class for a bridge reading files in the old MIKE 11 File Format
Protected classM11FfBridgeBaseDataItemIndex
For a channel, holds the data item and the index where to store channel values.
Public classPeriod
Describes a period in time. The period is described through Start- and End- Time.
Public classPeriods
Class implementing a list of IPeriod's Required for generic list COM interop
Public classPrfBridge
Bridge for reading MOUSE PRF files.

The bridge can also handle other type of MOUSE result files that has the same structure as PRF file. Some of these PRF-like files are missing the full network definition, and if loaded as a stand-alone file, network is not complete. To get complete network, data must be added to an existing "primary" file, by merging in the data items. Different types of MOUSE results that are supported, are listed below:

  • PRF: HD primary result output.
  • PRF: HD result selection output. Must be added to primary PRF file
  • XRF: HD additional output. Must be added to primary PRF file
  • TRF: AD data. Should be added to primary PRF file, can load standalone with some definitions missing

Public classPrfBridgeFactory
Factory for creating PRF Bridge
Public classRes11BridgeFactory
Factory for creating Res11 Bridge
Public classRes11BridgeLazyFactory
Factory for creating Res11 lazy Bridge
Public classRes11Record
Public classRes11StaticData
Public classRes11Table
Public classRes1DAbstractDataSet
Abstract class holding the basic constituents for a Res1D data set
Public classRes1DBasin
Basin node
Public classRes1DBridgeAppendFactory
Factory for creating Res1d append Bridge
Public classRes1DBridgeFactory
Factory for creating Res1dBridge
Public classRes1DBridgeLazyFactory
Factory for creating Res1d lazy Bridge reader
Public classRes1DBridgeOldFactory
Factory for creating Res1d old format Bridge
Public classRes1DCatchment
Data desription and time step data for a catchment.
Public classRes1DCatchments
Class implementing a list of IRes1DCatchment's Required for generic list COM interop
Public classRes1DCircularCrossSection
Data model for circular cross section. To be able draw circular sections a postprocessing tool (for instance MIKE VIEW) needs to know ID, Centerlevel and Diameter.
Public classRes1DClosedPolygonCrossSection
Interface for a closed cross section defined as a polygon in x-z plane
Public classRes1DCrossSectionPoint
X-Z Point in a tabulated cross section.
Public classRes1DCrossSectionPoints
Class implementing a list of IRes1DCrossSectionPoint's Required for generic list COM interop
Public classRes1DEggshapedCrossSection
Result meta data for describing egg-shaped circular cross section
Public classRes1DExtensions
Class containing extension methods for Res1D classes
Public classRes1DFactory
A factory class (abstract factory pattern) for creating Res1D objects
Public classRes1DGlobalData
Global data. Global data are data that is not specific to the topology or parts of the topology (network, catchments ..). Global data could be time step used in model, wind field valid for entire domain etc.
Public classRes1DGridPoint
Abstract base class for gridpoints.
Public classRes1DGridPoints
Class implementing a list of IRes1DGridPoint's Required for generic list COM interop
Public classRes1DHGridPoint
Specialized H gridpoint class extending Res1DGridPoint
Public classRes1DInterpolatedCrossSection
Class for an interpolated cross section. An interpolated cross section only contains processed data, and needs other data from elsewhere
Public classRes1DManhole
Access to ManHole data from Res1D data access.
Public classRes1DNetworkDataInterpolatorWrapper
Public classRes1DNetworkDataSetWrapper
Network value set for a Res1D file, based on a given time in the file.

The Res1DNetworkDataSetWrapper provides temporal and spatial interpolation of data from a IResultData.

Public classRes1DNetworkDataTimeSetWrapper
Network value set for a Res1D file The Res1DNetworkDataTimeSetWrapper provides temporal and spatial interpolation of data from a IResultData.
Public classRes1DNetworkFilter
An implementation of the IRes1DSpatialFilter containing a positive list of ids of different types that the filter includes
Public classRes1DNetworkHFilter
An Res1DNetworkFilter that one reaches only includes H grid points, otherwise it behaves as the Res1DNetworkFilter.
Public classRes1DNetworkQFilter
An Res1DNetworkFilter that one reaches only includes Q grid points, otherwise it behaves as the Res1DNetworkFilter.
Public classRes1DNode
Provides access to node data via Res1D data access.
Public classRes1DNodes
Class implementing a list of IRes1DNode's Required for generic list COM interop
Public classRes1DOpenCrossSection
Class implementing a simple open cross section
Public classRes1DOutlet
Outlet node
Public classRes1DQGridPoint
Specialized Q gridpoint
Public classRes1DReach
Default implementation of IRes1DReach
Public classRes1DReaches
Class implementing a list of IRes1DReach's Required for generic list COM interop
Public classRes1DRectangularCrossSection
Simple implemtation of a rectangular cross section
Public classRes1DRoutingGridPoint
Specialized routing gridpoint
Public classRes1DSewerNode
Sewernode is the base class for nodes used in the sewers.
Public classRes1DSpatialFilterAll
A filter that includes all or none of a certain type.
Public classRes1DSpatialFilterAllQPoints
An IRes1DSpatialFilter that includes all Q grid points and excludes anything else
Public classRes1DSpatialFilterSet
An implementation of the IRes1DSpatialFilter containing a positive list of ids of different types that the filter includes
Public classRes1DStaticDataTypeRecord
Public classRes1DStaticDataTypeRecordMap
Public classRes1DStaticDataTypeTable
Public classRes1DStructure
Data description of structure
Public classRes1DStructureGridPoint
Specialized Q gridpoint
Public classRes1DStructureReach
Default implementation of IRes1DStructureReach
Public classRes1DStructures
Class implementing a list of IRes1DStructure's Required for generic list COM interop
Public classRes1DToTimeSeries
Contains static functions to extract time series from result data.
Public classResultBridgeFactories
Contains a number of IResultBridgeFactory's keyed on the bridge name

By default the following bridges are available:

  • res1d
  • dfs0 - only write support
  • res11 - only read support

Public classResultData
The result data access is the class that all producers or users of MIKE 1D results should use. The class is used for recording the results, reading results, hot-starting the Mike1D engine and extracting specific results.
Public classResultDataBuffer

Class that contains a number of resultdata files. In case of more than one component needing access to the same result data file, it should only be opened once (performance/ressource issues). Hence, each component using a result data file should ask this buffer for the file and if it already exist in the buffer, the existing file will be used.

Each result data file is idenfitied by its full filepath name.

Public classResultDataExtensions
Extension class with various extension methods
Public classResultDataFactory
Class to ease reading and writing of result data files.
Public classResultDataHelper
Helper class that extend the functionality of ResultData

Required for certain functions related to COM interop.

Public classResultDataParameters
Base implementation of IResultDataParameters
Public classResultDataSearch
Class for fast searching in list of nodes, reaches and catchments.
Public classResultDataXmlBridge
Bridge that writes ResultData to XML file using DataContracts
Public classResultSpecification
Specification for Result
Public classTimeDataValue
Implementation of ITimeData for a single valued item
Public classTimeDataVector
Implementation of ITimeData for a vector item

It stores an array of element values for each time step.

Public classTimeDataVectorTS
Implementation of ITimeData for a vector item.

For each element it stores a list of time steps.

Structures
  StructureDescription
Public structureM11FfBlockReaderChannelDescriptor
Channel descriptor block

In the CHANNEL descripter part information is stored about each specific data series in the data part of the file. In the ITEM descripter part there could as an example be one record describing "water level in nodes". In the CHANNEL description part there must be one record for each node. The record can hold individual information about the node shuch as top and bottom level.

Additional information about each CHANNEL may be placed in a number of extra records just after the CHANNEL descripter record.

ONE channel descriptor record must exist for each channel.

CHANNEL descripter records MUST appear in the same order as the data they represent appears in the logical data record.

Public structureM11FfBlockReaderItemDescriptor
Item Descriptor block

The ITEM descripter part contains one ITEM descripter record for each type of data channel. Examples of ITEMs are "water level" and "flow". If data channels with values for water level as a funtion of time is to be devided into groups e.g. "water level in nodes" and "water level in pipes" then there must exist an ITEM descripter record for each of the groups.

Each item descripter record may represent several data channels of the described ITEM.

In this part of the file no extra records are allowed. Note in particular that ITEM descripter records for data channels with time values must be defined too

ONE item descirptor record for each type of data channel.

No extra records allowed in this part

Public structureM11FfBlockReaderMiscDescriptor
Misc descriptor block
Public structureM11FfBlockReaderTimeDescriptor
Time descriptor block

The TIME descripter part must start with one and only one TIME descripter record. This record contains information about the type of time data in the file. The type of time data ranges from information about an offset time and a constant time step which applies for all data channels, to individual time data for each data value in each data channel.

The individual information is added in a number of extra records after the TIME descripter record. The number of extra records must be specified in the TIME descripter record in variable NR_XREC. If there are no extra records, NR_XREC is defined as zero.

For rectype 1 and 2, the following values are present

DivReal[0] : Number of time steps/values in each data channel
DivReal[1] : Time between first and last value, time span of file

For constant time steps, the time step size can be calculated by:

double timestepSize = DivReal[1] / (DivReal[0]-1.0);

Protected structureM11FfBridgeBaseItemTypeData
Item type data
Public structureSerializerCoordsSurrogate
Surrogated class for DHI.Generic.MikeZero.DFS.Coords
Interfaces
  InterfaceDescription
Public interfaceIDataItem

An IDataItem contains data for one quantity and for a number of time steps and elements. For each set of time data there is an array of data element values.

Public interfaceIDataItemFilter
Interface for implementing filtering of data items.
Public interfaceIDataItemFilterQuantity
Interface for DataItemFilterQuantity
Public interfaceIDataItems
Interface for a list of IDataItem's Required for generic list COM interop
Public interfaceIFilter
Filter allowing user to specify a subset of the data set.
Public interfaceIListTimeStepData
Interface for a list of Double's Required for generic list COM interop
Public interfaceIPeriod
Describes a period in time. The period id described through Start- and End- Time.
Public interfaceIPeriods
Interface for a list of IPeriod's Required for generic list COM interop
Public interfaceIRes1DBasin
Data model for a Basin. The basin is a specialisation of a sewer node.
Public interfaceIRes1DCatchment
Data desription and time step data for a catchment.
Public interfaceIRes1DCatchments
Interface for a list of IRes1DCatchment's Required for generic list COM interop
Public interfaceIRes1DCircularCrossSection
Result meta data for describing circular cross section
Public interfaceIRes1DClosedCrossSection
Base interface for closed cross sections in the result data access. Basically it simply defines that all closed cross sections must have a height.
Public interfaceIRes1DClosedPolygonCrossSection
Interface for a closed cross section defined as a polygon in x-z plane
Public interfaceIRes1DCrossSection
Base interface for cross sections in the result data access. Basically it simply defines that all cross sections must have an identification string.
Public interfaceIRes1DCrossSectionPoint
X-Z point in tabulated cross section
Public interfaceIRes1DCrossSectionPoints
Interface for a list of IRes1DCrossSectionPoint's Required for generic list COM interop
Public interfaceIRes1DDataSet
Interface for a general dataset, containing timestep data.
Public interfaceIRes1DEggshapedCrossSection
Result meta data for describing egg-shaped circular cross section
Public interfaceIRes1DFactory
A factory interface (abstract factory pattern) for creating Res1D objects
Public interfaceIRes1DGlobalData
Global data. Global data are data that is not specific to the topology or parts of the topology (network, catchments ..). Global data could be time step used in model, wind filed valid for entire domain etc.
Public interfaceIRes1DGridPoint
Data model for the generalized gridpoint. Actual grid points are specilizations of IRes1dGridPoint
Public interfaceIRes1DGridPoints
Interface for a list of IRes1DGridPoint's Required for generic list COM interop
Public interfaceIRes1DHGridPoint
Data description of the H grid point. A H grid point is a grid point with a cross section.
Public interfaceIRes1DInterpolatedCrossSection
Base interface for interpolated cross sections. An interpolated cross section only contains processed data, and needs other data from elsewhere
Public interfaceIRes1DItemData
Data for one data item and one timestep.

Depending on the type of data in the file, this can be cast to a similar IRes1DItemDataT and the Data can be cast to its raw array data type.

This interface is never implemented directly.

Public interfaceIRes1DItemDataT
Data for one item and timestep. This is the generic extension of IRes1DItemData
Public interfaceIRes1DManhole
The circular manhole is a vertical circular cylinder. The cylinder is bounded vertically by invert level and ground level.
Public interfaceIRes1DNode
Interface to a Res1D Node
Public interfaceIRes1DNodes
Interface for a list of IRes1DNode's Required for generic list COM interop
Public interfaceIRes1DOpenCrossSection
Interface to an open cross section
Public interfaceIRes1DOutlet
Interface for a Res1D outlet
Public interfaceIRes1DQGridPoint
Data description of the Q grid point
Public interfaceIRes1DReach
Data desription and time step data for a reach (also sometimes called a branch or a link)
Public interfaceIRes1DReaches
Interface for a list of IRes1DReach's Required for generic list COM interop
Public interfaceIRes1DRectangularCrossSection
Interface for a rectangular cross section
Public interfaceIRes1DRoutingGridPoint
Data description of a routing grid point. A routing grid point is a Q point that can also have a cross section and a water level
Public interfaceIRes1DSewerNode
Interface for a Res1D sewer node. This is usually specialized further.
Public interfaceIRes1DSpatialFilter
A filter interface that specifies whether a specified Res1D data structure is included or not.
Public interfaceIRes1DStructure
Data description of structure
Public interfaceIRes1DStructureGridPoint
Data description of the Q grid point
Public interfaceIRes1DStructureReach
Data desription and time step data for a reach that only contains a structure
Public interfaceIRes1DStructures
Interface for a list of IRes1DStructure's Required for generic list COM interop
Public interfaceIResultBridge
Interface that is to be implemted by any MIKE 1D result bridge. The interface standardizes the communication between ResultData access and persistant storage.
Public interfaceIResultBridgeFactory
Interface for a result bridge factory
Public interfaceIResultData
The result data access is the class that all producers or users of MIKE 1D results should use. The class is used for recording the results, reading results, hotstarting the Mike1D engine and extracting specific results.
Public interfaceIResultDataHelper
Helper class that extend the functionality of ResultData

Required for certain functions related to COM interop.

Public interfaceIResultDataIO
TODO: Interface for working the the data in the underlying file format, on a file based manner.
Public interfaceIResultDataParameters
Parameters to use when loading data into an IResultData
Public interfaceIResultDataReader
Interface to connect the IResultData with an IResultReadBridge.

Special kind of read functionality can be required in different scenaries. Examples of read functionality include lazy reading (read only when required), time-filtered reading etc. The data reader implements this special read functionality for the IResultRandomReadBridge bridges.

Public interfaceIResultDataSearch
Utility interface for searching in reaches, nodes, grid points and catchments in the result data object.

Provided for COM interop.

Public interfaceIResultRandomReadBridge
A read bridge that is able to access time step data in random order from a result storage.
Public interfaceIResultReadBridge
Interface that is to be implemted for a bridge that can read data from persistant storage into the ResultData access.
Public interfaceIResultReadWriteBridge
Interface that is to be implemted for a bridge that can read and write between the ResultData access and persistant storage. For detail, see the IResultReadBridge and IResultWriteBridge.
Public interfaceIResultWriteBridge
Interface that is to be implemted for a bridge that can write data from the ResultData access to persistant storage.

The Save method is used for storing the entire content of the result data object to persistant storage. When Save is called, the bridge should initialize and open the persistant storage, write data to the storage and finalise and close the storage.

The methods Prepare(IDiagnostics), Flush(Boolean) and Finish are used for storing data from the result data into persistent storage during a simulation.

The Prepare(IDiagnostics) is called during the prepare phase of the simulation, where all static data is available. The method must initialise the storage, open it for writing and write any required static data (not time dependent data) to the storage.

The Flush(Boolean) method is called regurlarly during the simulation, depending on the SecondsBetweenFileFlush parameter. There can be data for more than one time step in the result data object. The method must store all data present in the result data object. After the flush method, the current data in the result data object is removed. A final call to flush is issued when the simulation is done.

The Finish method will be called when the simulation is done and after the last flush call. It must finalize and close down the persistant storage.

Public interfaceITimeData
Data container, storing a number of time steps and element values.

It has methods for handling as well single valued items (one element) and vector items with several elements.

Delegates
  DelegateDescription
Public delegateResultDataDoStoreDelegate
Delegate type used to override the build in functionality of when to store results in the result data object.
Public delegateResultTimeStepEvent
Delegate type for hooking up time step notifications
Enumerations
  EnumerationDescription
Public enumerationAsciiBridgeStaticItemTypes
Types of static outputs.
Public enumerationCode exampleDirectionTypes
Direction of data on an axis.
Examples
For velocity data, Positive means that positive velocity value is in positive axis direction, while Negative means that positive velocity value is in the negative axis direction.
Public enumerationGridPointTypes
Types of gridpoints
Public enumerationItemTypeGroup
Enumeration that is used to describe whether a certain item is associated with global data, a node or a reach
Public enumerationM11FfBlockReaderBlockType
Type of blocks in MIKE 11 file format
Protected enumerationM11FfBridgeBaseGeometryType
Type of geometry
Public enumerationRes11StaticDataType
FlowDir type. Used for readability of the code.
Public enumerationRes1DSpatialFilterTypeEnum
Type enum used in Res1DNetworkFilter to specify which grid points on a reach to include in the filter.
Public enumerationRes1DStaticDataType
Enums of static data types used in the static items of the DFS file.
Public enumerationResultSpecificationFileMode
How to handle creation of files
Public enumerationStoringFrequencyUnitTypes
Enum specifying unit type of storing frequency
Public enumerationUfsSimpleType Obsolete.
DHI enum for file control tags and data types. From ufs.h. Also superset of TSobject, TimeSeries.idl (see comments on enum members)