Click or drag to resize

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.

Inheritance Hierarchy

Namespace:  DHI.Mike1D.Mike1DDataAccess
Assembly:  DHI.Mike1D.Mike1DDataAccess (in DHI.Mike1D.Mike1DDataAccess.dll) Version: 19.0.0.0 (11.1.1.1111)
Syntax
public class Mike1DControllerEM : Mike1DController

The Mike1DControllerEM type exposes the following members.

Constructors
  NameDescription
Public methodMike1DControllerEM
Default constructor

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

Public methodMike1DControllerEM(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.
Top
Properties
  NameDescription
Public propertyCurrentTime
Current time of simulation
(Inherited from Mike1DController.)
Public propertyDiagnosticsHandler
Handler, taking care of diagnostics messages.
(Inherited from AbstractMike1DController.)
Public propertyEngineNet
The enginenet used for the simulation
(Inherited from AbstractMike1DController.)
Public propertyIsFailed
Bool indicating that the controller is in a failed state
(Inherited from AbstractMike1DController.)
Public propertyMike1DData
The Mike1DData that defines the simulation setup
(Inherited from AbstractMike1DController.)
Public propertyMinSecondsBetweenProgressEvent
Minimum number of seconds between the ControllerProgressEvent is triggered.
(Inherited from AbstractMike1DController.)
Public propertyProgressState
Progress state of the controller, specifying how far the controller has progressed. One of Initialized,Prepared,Running.
(Inherited from AbstractMike1DController.)
Public propertyResultDataList
List of all result data components associated with
(Inherited from AbstractMike1DController.)
Public propertyRuntimeDiagnostics
Diagnostics that are used during the simulation (prepare, run)
(Inherited from AbstractMike1DController.)
Public propertySimulationType
String to indicate the type of simulation being run. Used for user output only.
(Inherited from Mike1DController.)
Public propertyState
Current state of the controller
(Inherited from AbstractMike1DController.)
Public propertyStateWriter (Inherited from Mike1DController.)
Public propertyTimings
Detailed timings of the different parts of the simulation.
(Inherited from AbstractMike1DController.)
Top
Methods
  NameDescription
Protected methodChangeControllerState
Change the state of the controller. Also triggers the ControllerEvent
(Inherited from AbstractMike1DController.)
Protected methodDoFinish
Finish and clean up
(Inherited from Mike1DController.)
Protected methodDoInitialize
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.)
Protected methodDoPrepare
Prepare the engine. This is called just before run is called.
(Inherited from Mike1DController.)
Protected methodDoPrepareBoundaryData
Prepares boundary data.
(Inherited from Mike1DController.)
Protected methodDoPrepareCatchmentResultFiles
Prepares catchment result files.
(Inherited from Mike1DController.)
Protected methodDoPrepareDiagnostics
Prepares runtime diagnostics.
(Inherited from Mike1DController.)
Protected methodDoPrepareLTSModule
Prepares LTS module.
(Inherited from Mike1DController.)
Protected methodDoPrepareResultFileFolder
Prepares result file folder.
(Inherited from Mike1DController.)
Protected methodDoRun
Run the engine to end of simulation.
(Inherited from Mike1DController.)
Protected methodDoRunUntil
Run the engine to specified end time.
(Inherited from Mike1DController.)
Protected methodDoStopSimulation
Calling this function will end the simulation after the current timestep has been completed
(Inherited from Mike1DController.)
Protected methodDoValidate
Validate that the Controller does not have any errors/warnings
(Inherited from Mike1DController.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFinish
Finish and clean up.
(Inherited from AbstractMike1DController.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Protected methodGetLTSResultSpecifications
Produces LTS result specification.
(Inherited from Mike1DController.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodInitialize
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.)
Protected methodInitTimings
Initiate timings
(Inherited from Mike1DController.)
Protected methodInvokeControllerProgressEvent
Call to invoke a progress event
(Inherited from AbstractMike1DController.)
Public methodIsInActiveState
Returns true if the controller is in an active state and currently executing.
(Inherited from AbstractMike1DController.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodOpen
Open the file specified by the connection.
(Inherited from Mike1DController.)
Public methodPrepare
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.)
Protected methodRaiseControllerFailedEvent
Put controller in a failed state, and issue a failed event on ControllerEvent
(Inherited from AbstractMike1DController.)
Public methodRaiseSpecialEvent
Trigger a custom special event
(Inherited from AbstractMike1DController.)
Protected methodReadStartStates
Ensemble member controllers reads the start state through the Main DA module and not through the controller.
(Overrides Mike1DControllerReadStartStates.)
Public methodReadState
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.)
Public methodRun
Run the engine
(Inherited from AbstractMike1DController.)
Public methodRunManual
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.)
Public methodRunUntil
Run the engine until endTime.

endTime should not exceed the simulation end time.

(Inherited from AbstractMike1DController.)
Protected methodSetupStateWriting
Ensemble member controllers writes the controller state through the Main DA module and not through the controller.
(Overrides Mike1DControllerSetupStateWriting.)
Public methodStopSimulation
Calling this function will end the simulation after the current timestep has been completed
(Inherited from AbstractMike1DController.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodValidate
Validate that the Controller/data access modules does not have any errors/warnings. Can be called before Initialize(IDiagnostics).
(Inherited from AbstractMike1DController.)
Public methodWriteState
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.)
Top
Events
  NameDescription
Public eventControllerEvent
Event that is raised while the controller is running. It is raised whenever the State of the controller changes.
(Inherited from AbstractMike1DController.)
Public eventControllerProgressEvent
Controller progress event, triggered whenever the controller has progressed, though no more often than MinSecondsBetweenProgressEvent
(Inherited from AbstractMike1DController.)
Public eventSpecialEvent
Event that is raised for special events
(Inherited from AbstractMike1DController.)
Top
Fields
  NameDescription
Protected field_engineNet
EngineNet
(Inherited from AbstractMike1DController.)
Protected field_engineNetGlobal
Global (entire) EngineNet. Used when decomposing setup into several domains, where this contains the full EngineNet
(Inherited from AbstractMike1DController.)
Protected field_mike1DData
MIKE 1D data object
(Inherited from AbstractMike1DController.)
Protected field_resultDataList
Active result data objects
(Inherited from AbstractMike1DController.)
Protected field_runtimeDiagnostics
Diagnostics object used during runtime
(Inherited from AbstractMike1DController.)
Protected field_state
Current state of controller
(Inherited from AbstractMike1DController.)
Protected field_suppressUnknownExceptions
Flag indicating whether to suppress unknown exception.
(Inherited from AbstractMike1DController.)
Protected field_timings
Timings used in controller
(Inherited from AbstractMike1DController.)
Protected field_timingsPrep
Timings used during prepare
(Inherited from Mike1DController.)
Protected field_timingsRun
Timings used during runtime
(Inherited from Mike1DController.)
Public fieldMaxNumberOfThreadsUser
Maximum number of threads, set by the user.
(Inherited from Mike1DController.)
Public fieldUseThreadedDomainDecomposition
Use Threaded domain decomposition
(Inherited from Mike1DController.)
Top
See Also