Simulation

The core directory holds source files that are important for all submodels, including scheduling, landscape, and input/output functions.

simulation.jl

This file includes the basal functions for initialising and running simulations.

Persefone.finalise!Method
finalise!(model)

Wrap up the simulation. Currently doesn't do anything except print some information.

source
Persefone.initialiseFunction
initialise(config=PARAMFILE, seed=nothing)

Initialise the model: read in parameters, create the output data directory, and instantiate the AgentBasedModel object(s). Optionally allows specifying the configuration file and overriding the seed parameter. This returns a single model object, unless the config file contains multiple values for one or more parameters, in which case it creates a full-factorial simulation experiment and returns a vector of model objects.

source
Persefone.initmodelMethod
initmodel(settings)

Initialise a model object using a ready-made settings dict. This is a helper function for initialise().

source
Persefone.paramscanMethod
paramscan(settings)

Create a list of settings dicts, covering all possible parameter combinations given by the input settings (i.e. a full-factorial experiment). This is a helper function for initialise().

source
Persefone.simulateFunction
simulate(config=PARAMFILE, seed=nothing)

Initialise one or more model objects and carry out a full simulation experiment, optionally specifying a configuration file and a seed for the RNG.

This is the default way to run a Persefone simulation.

source
Persefone.simulate!Method
simulate!(model)

Carry out a complete simulation run using a pre-initialised model object.

source

landscape.jl

This file manages the landscape maps that underlie the model.