PasturePyomo module

author: Young

AfoLogic.PasturePyomo.f_con_drypas_between(model)

Constrains the high and low quality dry pasture available in each period. Determined by senesced green pasture in the current period, dry pasture transferred from previous period and livestock consumption. Pasture decay and trampling are factored into the consumption and transfer activities (e.g. the transfer activity removes 1000kg from the previous period and provides 1000 - decay - trampling kg into the current period).

AfoLogic.PasturePyomo.f_con_drypas_within(model)

Constrains the high and low quality dry pasture available in each period. Determined by senesced green pasture in the current period, dry pasture transferred from previous period and livestock consumption. Pasture decay and trampling are factored into the consumption and transfer activities (e.g. the transfer activity removes 1000kg from the previous period and provides 1000 - decay - trampling kg into the current period).

AfoLogic.PasturePyomo.f_con_erosion(model)

Constraint on the erosion limit at the end of the period. This ensure that at the end of the growing season paddocks have some cover as a sustainability measure. Doesn’t include nap because nap is only on crop paddocks (the nap on crop paddocks is all low quality and doesn’t tend to get grazed so there is no need for an erosion constraint on non-arable crop area).

AfoLogic.PasturePyomo.f_con_greenpas_between(model)

Constrain the green pasture available on each soil type in each feed period between a given season. Determined by rotation selection (germination and resowing), growth and consumption on each hectare of pasture landuse.

AfoLogic.PasturePyomo.f_con_greenpas_within(model)

Constrain the green pasture available on each soil type in each feed period within a given season. Determined by rotation selection (germination and resowing), growth and consumption on each hectare of pasture landuse.

AfoLogic.PasturePyomo.f_con_nappas(model)

Constrains the high and low quality dry pasture available from non arable areas of crop paddocks in each period. Determined by rotation and ungrazed growth rate of pasture during the growing season. This pasture becomes available for livestock to graze once harvest is done. Pasture decay and trampling are factored into the consumption and transfer activities (e.g. the transfer activity removes 1000kg from the previous period and provides 1000 - decay - trampling kg into the current period).

This has to be a separate constraint from dry_pas so that nap doesn’t provide pasture in the erosion constraint.

Note: Dry pasture does not transfer into the new season because once green feed is available stock will not graze old dry feed. Therefore no ‘between’ constraint exists.

AfoLogic.PasturePyomo.f_con_pasarea(model)

Constrains the pasture area (used in con_greenpas) on each LMU based on the rotation selected. This accounts for arable area and destocking for reseeding.

AfoLogic.PasturePyomo.f_nappas_me(model, q, s, p6, f, z)

Calculate the total energy provided to each nv pool from the selected level of non-arable pasture consumption.

Used in global constraint (con_me). See CorePyomo

AfoLogic.PasturePyomo.f_pas_me(model, q, s, p6, f, z)

Calculate the total energy provided to each nv pool from the selected level of dry and green pasture consumption.

Used in global constraint (con_me). See CorePyomo

AfoLogic.PasturePyomo.f_pas_me2(model, q, s, p6, f, z)

Calculate the total me of pasture consumed, not including POC. This is used in con_link_pasture_supplement_consumption to stop pasture being deferred. POC is excluded because putting sheep on poc is basically like using the crop paddock as the confinement paddock.

Used in global constraint (con_link_pasture_supplement_consumption). See CorePyomo

AfoLogic.PasturePyomo.f_pas_vol(model, q, s, p6, f, z)

Calculate the total volume required by each nv pool to consume the selected level of pasture.

Used in global constraint (con_vol). See CorePyomo

AfoLogic.PasturePyomo.paspyomo_precalcs(params, r_vals, nv)

Call crop precalc functions.

Parameters:
  • params – dictionary which stores all arrays used to populate pyomo parameters.

  • r_vals – dictionary which stores all report values.

  • nv – dictionary which stores nutrient pool info from StockGenerator.py.