/// <summary> /// Method is called when <see cref="IMike1DController.ControllerEvent"/> is triggered. /// </summary> private void CatchmentUrbanSnowPlowingControllerEvent(object sender, ControllerEventArgs e) { // Listen for Prepared event (i.e. model is ready to run) if (e.State == ControllerState.Prepared) { Mike1DController controller = (Mike1DController)sender; // Find all urban catchments, loop over all catchments foreach (ICatchment catchment in controller.Mike1DData.RainfallRunoffData.Catchments) { // Check if it is an urban catchment if (catchment is CatchmentAbstractUrban) { CatchmentAbstractUrban catchmentAbstractUrban = catchment as CatchmentAbstractUrban; // Check if snow-module is enabled. if (catchmentAbstractUrban.UseSnowModule) { // Set up plowing for urban catchment UrbanCatchmentPlowing urbanCatchmentPlowing = new UrbanCatchmentPlowing(catchmentAbstractUrban); catchment.PostTimeStepEvent += urbanCatchmentPlowing.Plowing; } } } } }
public void SetMaxNumberOfThreads(IMike1DController controller) { Mike1DController hdController = controller as Mike1DController; if (hdController != null) { hdController.MaxNumberOfThreadsUser = 1; } }
private void ControllerOnControllerEvent(object sender, ControllerEventArgs e) { if (e.State == ControllerState.Initialized) { _mike1dController = (Mike1DController)sender; _mike1dController.Mike1DData.ResultSpecifications[0].WhatAddUnique(DAWaterVolumeChangeCalculator.QuantVolChangeDa); _mike1dController.Mike1DData.ResultSpecifications[0].WhatAddUnique(DAWaterVolumeChangeCalculator.QuantAccVolChangeDA); } if (e.State == ControllerState.Preparing) { _engineNet = _mike1dController.EngineNet; CreateVolCalculator(_engineNet); _engineNet.EvaluateHDImplicitSourcesEvent += PostHDTimeStepEvent; } if (e.State == ControllerState.Finalizing) { string totalAddedWater = _daWaterVolumeChangeCalculator.GetAccumulatedAddedVolume().ToString(); _mike1dController.DiagnosticsHandler.NewMessage(DiagnosticsHandler.MessageType.Info, "DA - Total added water volume: " + totalAddedWater + " m3"); } }