Configuration
Persefone requires three input files: a configuration file and two map files. How to generate the map files is documented elsewhere. The configuration file defines parameter values and looks like this (see src/parameters.toml
for the default):
### Persefone.jl - a model of agricultural landscapes and ecosystems in Europe.
###
### This is the default configuration file for Persefone, containing all model parameters.
### The syntax is described here: https://toml.io/en/
[core]
configfile = "src/parameters.toml" # location of the configuration file
outdir = "results" # location and name of the output folder
overwrite = "ask" # overwrite the output directory? (true/false/"ask")
logoutput = "both" # log output to screen/file/both
csvoutput = true # save collected data in CSV files
visualise = true # generate result graphs
storedata = true # keep collected data in memory
loglevel = "debug" # verbosity level: "debug", "info", "warn"
processors = 2 # number of processors to use on parallel runs
seed = 2 # seed value for the RNG (0 -> random value)
startdate = 2022-01-01 # first day of the simulation
enddate = 2022-12-31 # last day of the simulation
[world]
landcovermap = "data/regions/jena/landcover.tif" # location of the landcover map
farmfieldsmap = "data/regions/jena/fields.tif" # location of the field geometry map
weatherfile = "data/regions/jena/weather.csv" # location of the weather data file
[farm]
farmmodel = "FieldManager" # which version of the farm model to use (not yet implemented)
[nature]
targetspecies = ["Wolpertinger", "Wyvern"] # list of target species to simulate
popoutfreq = "daily" # output frequency population-level data, daily/monthly/yearly/end/never
indoutfreq = "end" # output frequency individual-level data, daily/monthly/yearly/end/never
insectmodel = ["season", "habitat", "pesticides", "weather"] # factors affecting insect growth
[crop]
cropmodel = "almass" # crop growth model to use, "almass" or "aquacrop"
cropfile = "data/crops/almass/crop_data_general.csv" # file with general crop parameters
growthfile = "data/crops/almass/almass_crop_growth_curves.csv" # file with crop growth parameters
You can set any parameter to a list of different values, e.g. seed = [1,2,3]
. Persefone will then set up and run multiple simulations, one for every possible combination of parameters that you entered (i.e. do a full-factorial simulation experiment).