You are here

Communication between Simile and Apsim models

Communication between Simile and Apsim models

It is now possible for Simile models to run concurrently with ApsimNG crop models, exchanging information at each time step. A typical use case would be a farm-scale model, with the farm management, resources and finances handled in a Simile model, and the crops modelled in Apsim. Simile submodels implemented as c++ programs communicate via named pipes (FIFOs) with a dedicated manager model implemented as c# code in Apsim. Management actions (sowing, fertilizing, husbandry, harvesting) go from Simile to Apsim, while biophysical results (Yield, ongoing soil condition) come back to Simile.

Multiple Apsim crop models can be managed from within a single Simile model, either as separate fields within a single Apsim execution or as separate executions. In cases where there are many fields (or regions within a field) with the same crop growing under slightly different conditions, these can be simulated using the Experiment component in Apsim to produce multiple simultaneous runs of the same model, and connected with separate instances of a multi-instance submodel in Simile.

More technical details and examples to follow.

Page type: 

Comments

  • Simile side of interface now requires no coding. It sets up automatically according to selections in submodel properties; see online help
  • Simile implements the server side of the interface, allowing many APSIM instances to connect as clients to the same pipe location
  • Pipe data is binary, allowing c# code to read and write values of different types directly, including strings for Simile enumerated type values