Mike1DControllerEM Class

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.

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 Mike1DControllerEM : Mike1DController
Inheritance
Object    AbstractMike1DController    Mike1DController    Mike1DControllerEM

Constructors

Mike1DControllerEM Default constructor

The logfilewriter will be created based on the input file name, or connection properties, when calling the [!:Open] method.

Mike1DControllerEM(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
(Inherited from Mike1DController)
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.
(Inherited from Mike1DController)
State Current state of the controller
(Inherited from AbstractMike1DController)
StateWriter State writer, if enabled. Available after Prepare
(Inherited from Mike1DController)
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
(Inherited from Mike1DController)
DoInitialize 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 Mike1DController)
DoPrepare Prepare the engine. This is called just before run is called.
(Inherited from Mike1DController)
DoPrepareBoundaryData Prepares boundary data.
(Inherited from Mike1DController)
DoPrepareCatchmentResultFiles Prepares catchment result files.
(Inherited from Mike1DController)
DoPrepareDiagnostics Prepares runtime diagnostics.
(Inherited from Mike1DController)
DoPrepareLTSModule Prepares LTS module.
(Inherited from Mike1DController)
DoPrepareResultFileFolder Prepares result file folder.
(Inherited from Mike1DController)
DoRun Run the engine to end of simulation.
(Inherited from Mike1DController)
DoRunUntil Run the engine to specified end time.
(Inherited from Mike1DController)
DoStopSimulation Calling this function will end the simulation after the current timestep has been completed
(Inherited from Mike1DController)
DoValidate Validate that the Controller does not have any errors/warnings
(Inherited from Mike1DController)
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.
(Inherited from Mike1DController)
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
(Inherited from Mike1DController)
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)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Open Open the file specified by the connection.
(Inherited from Mike1DController)
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)
RaiseSpecialEvent Trigger a custom special event
(Inherited from AbstractMike1DController)
ReadStartStates Ensemble member controllers reads the start state through the Main DA module and not through the controller.
(Overrides Mike1DControllerReadStartStates)
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
(Inherited from Mike1DController)
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 Ensemble member controllers writes the controller state through the Main DA module and not through the controller.
(Overrides Mike1DControllerSetupStateWriting)
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
(Inherited from Mike1DController)

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
(Inherited from Mike1DController)
_timingsRun Timings used during runtime
(Inherited from Mike1DController)
MaxNumberOfThreadsUser Maximum number of threads, set by the user.
(Inherited from Mike1DController)
UseThreadedDomainDecomposition Use Threaded domain decomposition
(Inherited from Mike1DController)

See Also