Crop submodel

Eventually, the plan is to have Persefone include a reimplementation of the AquaCrop model, a well-established crop growth model developed by the FAO. Until then, we are using the crop growth submodel used in ALMaSS.

farmplot.jl

This file is responsible for the farm plots, i.e. the indidivual fields that farmers manage.

Persefone.FarmPlotType
FarmPlot

This 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.

source
Persefone.cropheightMethod
cropheight(model, position)

Return the height of the crop at this position, or nothing if there is no crop here (utility wrapper).

source
Persefone.cropnameMethod
cropname(model, position)

Return the name of the crop at this position, or nothing if there is no crop here (utility wrapper).

source
Persefone.croptypeMethod
croptype(model, position)

Return the crop at this position, or nothing if there is no crop here (utility wrapper).

source
Persefone.growcrop!Method
growcrop!(farmplot, model)

Apply the relevant crop growth model to update the plants on this farm plot. Currently only supports the ALMaSS crop growth model by Topping et al.

source
Persefone.sow!Method
sow!(cropname, farmplot, model)

Sow the specified crop on this farmplot.

source

crops.jl

This includes the types and functions needed for all crop growth model, which are also referenced by the other submodels.

Persefone.CropTypeType
CropType

The type struct for all crops. Currently follows the crop growth model as implemented in ALMaSS.

source
Persefone.GrowthPhaseType
GrowthPhase

ALMaSS crop growth curves are split into five phases, triggered by seasonal dates or agricultural events.

source
Base.tryparseMethod
Base.tryparse(type, str)

Extend tryparse to allow parsing GrowthPhase values. (Needed to read in the CSV parameter file.)

source
Persefone.readcropparametersMethod
readcropparameters(generalcropfile, cropgrowthfile)

Parse a CSV file containing the required parameter values for each crop (as produced from the original ALMaSS file by convert_almass_data.py).

source