DHI.Mike1D.Mike1DDataAccess Namespace

Mike1DDataAccess is the overall data access component, containing data for an entire simulation and from all other data access components.

Classes

AbstractMike1DController An abstract base controller class.

It handles everything related to the ControllerEvent an delegates the real work on to the derived classes in the DoXXX methods.

AdditionalParameter Additional parameter data.
ControlDataXmlBridge Bridge for reading/writing control data to xml.
ControllerCreatedEventArgs Class containing event data for the controller created event.
ControllerEventArgs Class containing event data for the controller event.
ControllerExtensions Extension methods for the Controller
CouplingSummary Coupling summary
FloodMapTool Class connecting Mike1DData to the DHI.Mike1D.FloodMap tools.
HDPipeDesignData Data class for pipe design data
HDPipeDesignOptimizationItem Contains item to optimize
HDPipeDesignOptimizationReach Pipe design reach. The Control() method sets the Manning number of the _first_ XS in the underlying EngineReach. In MU setups, the cross section is shared between all points in the underlying reach, so in MU setups the Manning number of the whole reach will be controlled.
HTMLErrorLog Write diagnostics items to an HTML file.

This class only utilizes the log-file rolling, and overrides the WriteHTMLContent(TextWriter) method.

HTMLSummary Write a summary of a simulation to an HTML file.
HTMLTableEngineDataColumnGetterT, TOut A column that uses a getter to extract a TOut value from the row data object

This column does not support Accumulate.

HTMLTableEngineDataColumnStringGetter An engine data column return a string value using a getter, which is independent of the IEngineDataItem (static values).
HTMLTableEngineDataColumnValueGetter An engine data column return a double value using a getter.

This column supports accumulation

HTMLTableEngineDataColumnValueGetterT An engine data column return a double value using a getter and including its own IEngineDataItem, which must have the same data and structure as the one in the table.

This column supports accumulation

HTMLTableEngineDataItemT A table extracting values from IEngineDataItem
LongTermStatisticsData Class containing the data describing the LTS simulation.
LongTermStatisticsDataXmlBridge Bridge class for reading lont term statistics data to/from xml
LTSDryWeatherFlowSpecification Class describing dry weather flow in an LTS simulation.
LTSInitialCondition LTSInitialCondition hold hot start information for the individual jobs in the LTS simulation
LTSJob A SimulationEvent describes one of a series of simulations that are performed during the total runtime of the Long Term Simulation. A SimulationEvent is the same as am LTS "job" in MU terms.
LTSJobCondition Base class for describing LTS job start/stop and runtime stop conditions.
LTSJobList LTS joblist
LTSJobListCreator Class for creating an LTS job list.

The algorithm calculates the inflows only when it is raining. This effectively skips potential jobs where there is boundary inflow satisfying job start condition, but there is no active rain.

LTSJobStartCondition LTS job start condition.
LTSJobStopCondition LTS job stop condition.
LTSResultSpecification Result specification of LTS results
Obsolete
LTSResultSpecificationItemObsolete
LTSRuntimeStopCondition LTS runtime stop condition.
LTSRuntimeStopConditionCollection Holds a list of LTSRuntimeStopCondition's that must all be satisfied for a job to stop (the LTSRuntimeStopConditions in the collection are combined with the logical "and" operator).
Mike1DAdditionalBridge Bridge for reading the .m1da file, Mike 1D Additional setup file.
Mike1DBridge Common class for loading MIKE 1D setup from various known types of storages.

Currently supporting MIKE 11 (sim11), MIKE URBAN databases (mdb/gdb), MIKE HYDRO (mhydro) and MIKE 1D (m1dx).

Mike1DBridgeCollection Collection of MIKE 1D bridges, IMike1DBridge.

Register a new bridge by calling AddBridge(String, String, IMike1DBridgeFactory)

Mike1DControlDataFactory Factory that sets up and connects the control module with the engine net.
Mike1DController The Mike1DController is the entry point for an HD simulation, including any enabled modules (Rainfall runoff, AD, Control etc.)

It links the simulation setup with the actual engine setup. It controls initialization, start, stop and finalization of the engine.

Mike1DControllerEM The Mike1DControllerEM is the entry point for an HD simulation, including any enabled modules (Rainfall runoff, AD, Control etc.) It is primarely used by DA for the Ensemble Members.

It links the simulation setup with the actual engine setup. It controls initialization, start, stop and finalization of the engine.

Mike1DControllerFactory Factory class for creating IMike1DController.

The controller can either be created based on the content of Mike1DData, or from a IConnection, in which case the data will also be loaded.

The factory handles log files. By default a new log is created every time a new controller is created, and the log file is closed when the controller finishes. You can disable log files by setting DisableLogFile and if you want to reuse a log file for several controllers (append to it), set manually your own LogFileWriter.

Mike1DControllerLTS The Mike1DControllerLTS is the entry point for a Long Term Statistics simulation. It controls initialization, start, stop and finalization of the engine.
Mike1DControllerRRCalibrate The Mike1DController is the entry point for automatic RR calibration.

It will loop through all catchments that has auto calibration enabled, and calibrate each of these individually. When the controller is done, it will update the catchment parameters to contain the optimal parameters.

Mike1DData Class that collects all DataAccess components in one place.
Mike1DDataExtensions Extension methods for the MIKE 1D Data object
Mike1DDataSorter Helper class to sort objects in Mike1DData to produce identical results and setup files. It can also be used for comparing .m1dx files, since data can look quite different depending on where they are coming from.
Mike1DDataSorterKeyComparerT Compare a pair on the key, using a key-selector
Mike1DDataSorterTool Class to alphabetically sort entries of Mike1DData object (m1dx file).
Mike1DDataXmlBridge Bridge class for saving MIKE 1D data to XML, handling reading/writing the .m1dx file.

For loading a full setup, use the Mike1DBridge.

Mike1DLogFileWriter Log file writer for MIKE 1D engine.

Call Prepare to open the logfile. If prepare is not called, all writing to the logfile is ignored silently.

Mike1DResultDataFactory Factory that sets up an IResultData to retrieve values from an EngineNet
Mike1DResultDataFactoryDataItemVectorProxySource A IDataItem that can update itself based on an IDoubleVectorGetter
Mike1DStateReader Class for reading MIKE 1D state file and apply to model.
Mike1DStateWriter Class for writing current state of a MIKE 1D model to a state file.
ModelCouplingSummary Model coupling summary
ProgressWriter Write progress to standard out
RainfallRunoffStateWriter Helper class to write and read rainfall runoff module state in memory
SpecialEventArgs Class containing event data for the special controller event.
StateWriteSpecification Specification for when and how to write state outputs.
SummaryTableColumnNodeNotes Special column that adds a G or a C flag in case of ground level or critical level has been exceeded.
SummaryTableColumnTotalRunoffGetter Special column reporting total runoff of catchment.

It needs to be special to handle CatchmentCombined and not count in twice the runoff from each catchment.

SummaryTableDIColumnStringGetterT An engine data column return a string value using a getter.

Structures

AssemblyVersionInfo Helper class for assembly version information
CouplingSummaryInOutFlow Helper struct having information about flow due to coupling
HTMLSummaryStructureInfo Structure info for a generic IStructure
HTMLSummaryStructureInfoT Structure info for a structure of type {T}

Interfaces

IHTMLTableEngineDataColumnTOut An html table column for HTMLTableEngineDataItemT where the type of the column is {TOut}
IMike1DBridge Bridge interface, for loading a MIKE 1D setup from storage.
IMike1DBridgeFactory Factory class for creating IMike1DBridge, used by Mike1DBridge loader: You can register your own bridge using Mike1DBridgeCollection
IMike1DController The IMike1DController is the starting point for controlling and running a simulation. Depending on the underlying data components, the controller may do different things. Different data controllers may also do different things on the same data components. The following are examples of controllers:
  • HD controller: runs an HD simulation, including add ons (rainfall runoff, AD etc.)
  • RR controller: runs an RR simulation.
  • RR calibration controller: runs an RR calibration.
  • LTS controller: runs a LTS (Long Term Statistics) HD simulation.
IMike1DMUBridge Special interface for loading MIKE URBAN data into MIKE 1D within the MIKE URBAN GUI.

Enumerations

ControllerState State of controller
CouplingFlowDirection Coupling flow direction
CouplingFlowType Coupling flow type
CouplingType Coupling type
HDPipeDesignIOUnits Units of pipe design in/output
HDPipeDesignOptimizationCriteriaType Pipe design criteria type
HDPipeDesignOptimizationGroupType Pipe design reach group type
HDPipeDesignOptimizationType The type of optmization to perform
LTSConditionTypes Runtime stop and job start/stop condition types.
LTSJobListCreatorTypes Enum specifying what kind of algorithm to use when generating a job list.
LTSNetworkLocationTypes Type of network locations for LTSJobConditions.
LTSReachLocationTypes Specific reach locations to report LTS results on.
Obsolete
LTSResultType Type of LTS results
Obsolete
ParameterType Type of parameter, for additional data
ReceivingModelType Type of model that receives data
ResultSpecificationTypes Type of result to create default result specifications for. Used in GetDefaultResultSpecification(ResultSpecificationTypes)