Mike1DController Class

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.

Definition

Namespace: DHI.Mike1D.Mike1DDataAccess
Assembly: DHI.Mike1D.Mike1DDataAccess (in DHI.Mike1D.Mike1DDataAccess.dll) Version: 24.0.0.0 (11.1.1.1111)
C#
public class Mike1DController : AbstractMike1DController, 
	IMike1DController, IModelStateReadWrite
Inheritance
Object    AbstractMike1DController    Mike1DController
Derived
Implements
IMike1DController, IModelStateReadWrite

Constructors

Mike1DController Default constructor

The logfilewriter will be created based on the input file name, or connection properties, when calling the Open(IConnection, IDiagnostics) method.

Mike1DController(DiagnosticsHandler) Make a controller that uses the provided diagnosticsHandler for handling diagnostics messages. This is convenient if the diagnosticsHandler is to be resued by more than one controller.

Properties

CurrentTime Current time of simulation
(Overrides AbstractMike1DControllerCurrentTime)
DiagnosticsHandler Handler, taking care of diagnostics messages.
(Inherited from AbstractMike1DController)
EngineNet The enginenet used for the simulation
(Inherited from AbstractMike1DController)
IsFailed Bool indicating that the controller is in a failed state
(Inherited from AbstractMike1DController)
Mike1DData The Mike1DData that defines the simulation setup
(Inherited from AbstractMike1DController)
MinSecondsBetweenProgressEvent Minimum number of seconds between the ControllerProgressEvent is triggered.
(Inherited from AbstractMike1DController)
ProgressState Progress state of the controller, specifying how far the controller has progressed. One of Initialized,Prepared,Running.
(Inherited from AbstractMike1DController)
ResultDataList List of all result data components associated with
(Inherited from AbstractMike1DController)
RuntimeDiagnostics Diagnostics that are used during the simulation (prepare, run)
(Inherited from AbstractMike1DController)
SimulationType String to indicate the type of simulation being run. Used for user output only.
(Overrides AbstractMike1DControllerSimulationType)
State Current state of the controller
(Inherited from AbstractMike1DController)
StateWriter State writer, if enabled. Available after Prepare
Timings Detailed timings of the different parts of the simulation.
(Inherited from AbstractMike1DController)

Methods

ChangeControllerState Change the state of the controller. Also triggers the ControllerEvent
(Inherited from AbstractMike1DController)
DoFinish Finish and clean up
(Overrides AbstractMike1DControllerDoFinish)
DoInitialize Initialize the engine. Initialize sets up the engine net. When done, the EngineNet will be ready to inform on what data is available
(Overrides AbstractMike1DControllerDoInitialize(IDiagnostics))
DoPrepare Prepare the engine. This is called just before run is called.
(Overrides AbstractMike1DControllerDoPrepare)
DoPrepareBoundaryData Prepares boundary data.
DoPrepareCatchmentResultFiles Prepares catchment result files.
DoPrepareDiagnostics Prepares runtime diagnostics.
DoPrepareLTSModule Prepares LTS module.
DoPrepareResultFileFolder Prepares result file folder.
DoRun Run the engine to end of simulation.
(Overrides AbstractMike1DControllerDoRun)
DoRunUntil Run the engine to specified end time.
(Overrides AbstractMike1DControllerDoRunUntil(DateTime))
DoStopSimulation Calling this function will end the simulation after the current timestep has been completed
(Overrides AbstractMike1DControllerDoStopSimulation)
DoValidate Validate that the Controller does not have any errors/warnings
(Overrides AbstractMike1DControllerDoValidate)
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Finish Finish and clean up.
(Inherited from AbstractMike1DController)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetLTSResultSpecifications Produces LTS result specification.
GetTypeGets the Type of the current instance.
(Inherited from Object)
Initialize Initialize the engine. Initialize sets up the engine net. When done, the EngineNet will be ready to inform on what data is available
(Inherited from AbstractMike1DController)
InitTimings Initiate timings
(Overrides AbstractMike1DControllerInitTimings)
InvokeControllerProgressEvent Call to invoke a progress event
(Inherited from AbstractMike1DController)
IsInActiveState Returns true if the controller is in an active state and currently executing.
(Inherited from AbstractMike1DController)
Load(IConnection) Creates a Mike1DController and loads the setup. The setup is loaded with all default parameters.

In case of errors when loading the setup, a Mike1DException is thrown. Errors can be examined by extracting the IDiagnostics object stored in Data using string key "Diagnostics".

Load(IConnection, IDiagnostics) Creates a Mike1DController and loads the setup. The setup is loaded with all default parameters
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Open Open the file specified by the connection.
Prepare Prepare the engine. This is called just before run is called. I will set the initial state (initial conditions), open output files etc.
(Inherited from AbstractMike1DController)
RaiseControllerFailedEvent Put controller in a failed state, and issue a failed event on ControllerEvent
(Inherited from AbstractMike1DController)
RaiseIssue(Exception) Internal error reporting method
RaiseIssue(IDiagnostics) Internal error reporting method
RaiseSpecialEvent Trigger a custom special event
(Inherited from AbstractMike1DController)
ReadStartStates Read the controller start state. It is in a method to let the Mike1DControllerEM objects skip this part
ReadState Reading starting state of a MIKE 1D controller from a state file. Used when a reader is already defined - could ex. be used to read the starting state of DA ensemble member
Run Run the engine
(Inherited from AbstractMike1DController)
RunManual Must be called when running the engine manually, timestep by timestep, i.e. when not using the Run or RunUntil(DateTime) methods.

This is required for correctly transferring the engine to the run state before taking the time step.


(Inherited from AbstractMike1DController)
RunUntil Run the engine until endTime.

endTime should not exceed the simulation end time.


(Inherited from AbstractMike1DController)
SetupStateWriting Setup writing of the controller state. It is in a method to let the Mike1DControllerEM objects skip this part
StopSimulation Calling this function will end the simulation after the current timestep has been completed
(Inherited from AbstractMike1DController)
ToStringReturns a string that represents the current object.
(Inherited from Object)
Validate Validate that the Controller/data access modules does not have any errors/warnings. Can be called before Initialize(IDiagnostics).
(Inherited from AbstractMike1DController)
WriteState Writing current state of a MIKE 1D controller to a state file. Used when a writer is already defined - could ex. be used to write the DA ensemble member

Events

ControllerEvent Event that is raised while the controller is running. It is raised whenever the State of the controller changes.
(Inherited from AbstractMike1DController)
ControllerProgressEvent Controller progress event, triggered whenever the controller has progressed, though no more often than MinSecondsBetweenProgressEvent
(Inherited from AbstractMike1DController)
SpecialEvent Event that is raised for special events
(Inherited from AbstractMike1DController)

Fields

_engineNet EngineNet
(Inherited from AbstractMike1DController)
_engineNetGlobal Global (entire) EngineNet. Used when decomposing setup into several domains, where this contains the full EngineNet
(Inherited from AbstractMike1DController)
_mike1DData MIKE 1D data object
(Inherited from AbstractMike1DController)
_resultDataList Active result data objects
(Inherited from AbstractMike1DController)
_runtimeDiagnostics Diagnostics object used during runtime
(Inherited from AbstractMike1DController)
_state Current state of controller
(Inherited from AbstractMike1DController)
_suppressUnknownExceptions Flag indicating whether to suppress unknown exception.
(Inherited from AbstractMike1DController)
_timings Timings used in controller
(Inherited from AbstractMike1DController)
_timingsPrep Timings used during prepare
_timingsRun Timings used during runtime
MaxNumberOfThreadsUser Maximum number of threads, set by the user.
UseThreadedDomainDecomposition Use Threaded domain decomposition

Extension Methods

CanWriteHtmlSummary Check if controller is in a state to write HTML summary
(Defined by ControllerExtensions)

See Also