Farm submodel
Eventually, the aim is to create a full socio-economic farm decision model for Persefone. However, for the time being, we will restrict ourselves to a simple model that executes typical farm operations and crop rotations.
farm.jl
This file is responsible for managing the farm module(s).
Persefone.BasicFarmer
— TypeBasicFarmer
The BasicFarmer type simply applies a set crop rotation to his fields and keeps track of income.
Persefone.Farmer
— TypeThis is the agent type for the farm ABM.
Persefone.initbasicfarms!
— Methodinitbasicfarms!(model)
Initialise the basic farm model. All fields are controlled by a single farmer actor and are assigned as grassland, set-aside, or arable land with a crop rotation.
Persefone.initfarms!
— Methodinitfarms!(model)
Initialise the model with a set of farm agents, depending on the configured farm model.
Persefone.stepagent!
— Methodstepagent!(farmer, model)
Update a farmer by one day. Cycle through all fields and see what management is needed.
Persefone.updatefarms!
— Methodupdatefarms!(model)
Run processes that affect all farms and fields.
farmdata.jl
This file collects relevant output data from the farm model.
Persefone.initfarmdata
— Methodinitfarmdata()
Create output files for each data group collected by the farm model.
Persefone.savefielddata
— Methodsavefielddata(model)
Return a data table (to be printed to fields.csv
), giving the current date, and the area and average height and cover of each crop in the landscape. May be called never, daily, monthly, yearly, or at the end of a simulation, depending on the parameter farm.fieldoutfreq
.
scenarios.jl
This file contains management scenarios that can modify the functioning of the farm component.
Persefone.applyscenarios
— Methodapplyscenarios(model)
Calls functions that can change settings or otherwise manipulate the model to implement different simulation scenarios.
Persefone.sc_thuringian_fallows
— Methodsc_thuringian_fallows(model)
This scenario changes the amount of set-aside/fallow area over time, based on historical developments in Thuringia following changes in the CAP (2007: abolishment of set-asides (used as a market instrument); 2015: introduction of Greening). Note: does not include the most recent changes (CAP post-2022).
Based on data from Thüringer Landesamt für Statistik, via Jungmann (2018): https://wirtschaft.thueringen.de/fileadmin/Landwirtschaft/Agrarpolitik/oevfbiodiversitatthueringen_nov2018.pdf