User guide
The FarmSystem model is meant to represent a farm that handles a list of field sites. Field sites refer to individual LandscapeDNDC simulation instances. The definition of an explicit farm that manges a field site is meant to:
- replace the static management definitions especially with regard to harvest dates (so far mainly in croplands). This is especially useful for longterm-simulations when climate change may require adjusted growing degree parametrizations and/or growing season lengths.
- establish communication between gridcells/fields (e.g., manure produced in one gridcell/field can be transported and incorporated into the soil of another gridcell/field)
Setup configurartion
The FarmSystem model requires two input definitions:
- Path to the json-formatted FarmSystem input: file="source/to/input/file.farmsystem"
FarmSystem identifier, i.e. id that defines the FarmSystem-specific input information: id="1"
For LandscapeDNDC, the definition of a gridcell/setup including the MoBiLE model as well as the FarmSystem model looks as follows:
<models>
<model id="FarmSystem"/>
<model id="_MoBiLE"/>
</models>
<FarmSystem file="%I/regional/testfarm/testfarm.farmsystem" id="1"/>
<mobile>
<modulelist>
...
</modulelist>
</mobile>
Field site
A field site includes the following attributes:
- id: Identifier of the setup/gridcell responsable for the ecosystem simulation
- name: A name identifier
- area: The size in [m2] of the field (default: one hectare or 10000 m2)
- dynamic_parametrization: Integer number 0 (no dynamic parametrization),1 (one adjustment after first harvest), or larger (continuous)
- periods: list of cropping seasons (see below)
Sources
Vegetation period
A vegetation period / cropping season includes the following attributes:
- start: day of year of the start of the season
- years: a list of years in which the defined season should be handled (if not given, season is handled every year)
- planting: list of planting attributes (see below)
- tilling: list of tilling attributes (see below)
- fertilizer: list of fertilizer attributes (see below)
- manure: list of manure attributes (see below)
- irrigation: list of irrigation attributes (see below)
- flooding: list of flooding attributes (see below)
Input file
The FarmSystem input is a JSON document holding one object per farm, keyed by the FarmSystem identifier given in the setup (id="0"):
{ "0": { "stores": [ ... ],
"fields": [ { "id": 0, "name": "...", "periods": [ ... ] } ] } }
Missing values and null use defaults. Numbers may also be given as strings (e.g., "-99.99"), lists with a single element may be given as plain value (e.g., "years": 2005), and comments (// ...) are allowed.
Events
Tilling
Farmsystem tilling includes:
- day
- days_after_harvest
- depth
Irrigation
Farmsystem irrigation includes:
- day
- years
- fraction_dvs_min
- fraction_dvs_max
- fraction_field_capacity
- amount
Flooding
Farmsystem flooding includes:
- start_static / start_dynamic
- end_static / end_dynamic
- bundheight
- watertable
- irrigationheight
- percolationrate
- drainage
Fertilization
Farmsystem fertilization includes:
- day
- years
- fraction_dvs_min
- fraction_dvs_max
- fraction_gdd
- type
- amount
- depth
- watermanagement
- irrigationheight
Organic fertilization
Farmsystem organic fertilization includes:
- day
- years
- fraction_dvs_min
- fraction_dvs_max
- fraction_gdd
- type
- c_amount
- n_amount
- depth
Cutting
Farmsystem cutting includes:
Output
...
Stores