Crop submodel
Eventually, Persefone will include a full-blown crop-growth model (an adaptation of AquaCrop, created by the FAO). At the moment, we are only working with a very basic mock-up.
crops.jl
This includes the types and functions needed for all crop growth model, which are also referenced by the other submodels.
Persefone.CropType — TypeThe crop types simulated by the model
Persefone.FarmPlot — TypeFarmPlotThis represents one field, i.e. a collection of pixels with the same management. This is the spatial unit with which the crop growth model and the farm model work.
Persefone.averagefieldsize — Methodaveragefieldsize(model)Calculate the average field size in hectares for the model landscape.
Persefone.cropheight — Methodcropheight(model, position)Return the height of the crop at this position, or nothing if there is no crop here (utility wrapper).
Persefone.croptype — Methodcroptype(model, position)Return the crop at this position, or nothing if there is no crop here (utility wrapper).
Persefone.initfields! — Methodinitfields!(model)Initialise the model with its farm plots.
Persefone.stepagent! — Methodstepagent!(farmplot, model)Update a farm plot by one day.