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.cropcoverMethod
cropcover(model, position)

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

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 an empty string 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.isgrasslandMethod
isgrassland(farmplot, model)

Classify a farmplot as grassland or not (i.e., is the landcover of >80% of its pixels grass?)

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

Sow the specified crop on the farmplot.

source
Persefone.@sowMacro
@sow(cropname)

Sow the named crop on the current field. Requires the variables field and model.

source

crops.jl

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