Version 5 (modified by joeb, 14 years ago) (diff)

--

Sample code

Source code for a sample plugin can be found at 

Ecopath6\Sources\EwETutorials\CEFASPluginSample

To view the sample code

  1. Load EwE6.sln into Visual Studio
  2. In Visual Studio's Solution Explore added CEFASPluginSample.vbproj by right clicking on the tree where 

Running Ecosim on a variable time step

Ecosim can be run on a variable time step via a plugin. When run from the Scientific Interface Ecosim runs 1 time step per month, 12 time steps per year. The number of timesteps per month can be set in code via the cEcosimDataStuctures.StepsPerMonth property. This allows a plugin to run Ecosim on sub time steps, multiple time steps in a month.

Sub time step data

When running on sub time steps Ecosim will only update its results objects cCore.cEcoSimResults(), cCore.cEcosimGroupOutput(), cCore.cEcosimOutput() and cCore.cEcosimFleetOutput() once at the end of the month. Data computed for the sub time step can only be access via the cEcosimDataStrucutres provided by the IEcosimSubTimestepsPlugin.EcosimSubTimeStepBegin() and IEcosimSubTimestepsPlugin.EcosimSubTimeStepEnd() plugin points. The IEcosimBeginTimestepPlugin.EcosimBeginTimeStep() and IEcosimEndTimestepPlugin.EcosimEndTimeStep() will only be call at the start and end of the month not during the sub time step and will not contain the sub time step data.

Sub time step plugin points

IEcosimSubTimestepsPlugin.EcosimSubTimeStepBegin(ByRef BiomassAtTimestep() As Single, ByVal TimeInYears As Single, ByVal DeltaT As Single, ByVal SubTimestepIndex As Integer, ByVal EcosimDatastructures As Object)

  • Called at the start of a sub time step.
  • BiomassAtTimestep() contains the biomass that will be used for the time step. Any changes to biomass by a plugin point will be use be by Ecosim for the time step.

IEcosimSubTimestepsPlugin.EcosimSubTimeStepEnd(ByRef BiomassAtTimestep() As Single, ByVal TimeInYears As Single, ByVal DeltaT As Single, ByVal SubTimestepIndex As Integer, ByVal EcosimDatastructures As Object)

  • Called at the end of a sub time step.
  • BiomassAtTimestep() contains the biomass computed for the time step.