IResultData Interface

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.

Definition

Namespace: DHI.Mike1D.ResultDataAccess
Assembly: DHI.Mike1D.ResultDataAccess (in DHI.Mike1D.ResultDataAccess.dll) Version: 24.0.0.0 (11.1.1.1111)
C#
public interface IResultData

Properties

Bridge Get the bridge that was used for loading/saving
Catchments List of nodes
Connection Holder of read/write info
DataItems This can be used to iterate over all data items.
DataSets This can be used to iterate over all data sets. It will iterate the nodes, reaches, catchment and global data, but could be extended in the future.
DeleteValue Delete value for variables. Any double data value with this value will be treated as a missing value.
EndTime Data coverage start
GlobalData Global time series date
IgnoreCase Flag specifying whether to ignore case in string Id's

Default is true

MaxBufferSize The MaxBufferSize is the limit for how many time steps that may be held in memory during file generation.
NetworkDatas Static data on the network.

Used for user defined markers from MIKE 11 and Critical Levels in MU.

NetworkDataSet Static data on the network.

Also used for user defined markers from MIKE 11


Obsolete
Nodes List of nodes
NumberOfTimeSteps Number of time steps
Parameters Parameters to use when loading results
ProjectionString A WKT string defining the spatial reference system. See IDfsProjection for details.
Quantities List of the contained quantities
Reaches List of reaches
ResultType Result type
StartTime Data coverage start
StructureTypes List of the contained quantities. Note: This is a derived property
TimesList TimeStamp list data. List of DateTimes.
UnitSystem Unit system of the simulation that produced the result data object.

When creating a result data object and storing: Properties of ResultData objects (coordinates, bottom levels etc.) must always be set in SI units.

When loading a result data object from storage: The UnitSystem and ConvertGeometry can be used to change units of data and properties in the Result Data object. This property will maintain the original value and will not be changed by updating the IResultDataParameters

Methods

Dispose Dispose of ressources
Flush Saves the contents of the class using the defined connection.
GenerateDerivedProperties Generate derived properties: ResultData.Quantities and ResultData.StructureTypes
GetNumberOfDataItems Total number of data items.
GetNumberOfElements Total number of elements.
GetTimesAsArray Gettter for the time stamps contained. The time stamps are returned in a [NumerOfTimeSteps, 7] array. A row contains year, month, day, hour, minute, second, millisecond.
GridPointsWithStructure List of gridpoints that contain a specific structure. Note: This is a derived property
Load Loads results from a persistent media into memory. Load uses the connection object to decide what and how it should load the data.
Load(IDiagnostics) Loads results from a persistent media into memory. Load uses the connection object to decide what and how it should load the data.
LoadData Loads the dynamic data of the results from a persistent media into memory. The LoadHeader(IDiagnostics) must already have been called.
LoadHeader(IDiagnostics) Loads the header information of the results from a persistent media into memory. Load uses the connection object to decide what and how it should load the data.
LoadHeader(Boolean, IDiagnostics) Loads the header information of the results from a persistent media into memory. Load uses the connection object to decide what and how it should load the data. Using the filter argument the user may choose to load only a sub-selection of the entire data.
Prepare Prepare the result data for new data. After this is called, the result data should be ready to handle calls to Update(DateTime) and UpdateAndFlushIfNeeded(DateTime). This will usually open the file on the disc, making it ready to write to the file.
Save Saves the contents of the class using the defined connection.
TriggerTimeStepEvent Trigger the time step event, e.g. in case a time step has been added, updated or before writing to file.
Update(DateTime) The method pulls data into the result data access module and passes the data to the dataItems.
Update(DateTime, Int32) The method pulls data into the result data access module and passes the data to the dataItems, storing it at the specifed updateIndex.
UpdateAndFlushIfNeeded The methods checks if an update is needed for this time (time step). If so, data is pulled into the result data object and passes the data to the dataItems. After this it is tested whether the number of time steps kept in the DataItems are larger or equal to MaxBufferSize. In case it is the data is flushed to persistant storage.

Events

TimeStepEvent Event triggered everytime a time step has been read

Extension Methods

FilterLoadsAllTimes Check if filter will load all time steps. Header must have been loaded, such that resultData knows the extent in time of the data.
(Defined by ResultDataExtensions)
InitializeTimeData Initialize all data items with default time-data objects. This can be used when storing data for many time steps in a result data object, typically when reading.
(Defined by ResultDataExtensions)
Quantities Extract all quantities of a result data object.
(Defined by ResultDataExtensions)
QuantityDataItems Extract all quantities and dataitems of a result data object, grouped by their quantity
(Defined by ResultDataExtensions)
RemoveTimestep Extract all quantities of a result data object.
(Defined by ResultDataExtensions)
RemoveUnusedDataItems Remove unused data items from resultData object
(Defined by Res1DExtensions)

See Also