Skip to contents

Implements the ModVege grass growth model based off of Jouven et al. (2006).

This class contains model and site parameters and state variables as attributes and has methods for running ModVege with weather and management input.

Use the run() method to carry out a simulation for a given year. The results are stored in the state variables in this instance and can be written to file using write_output().

Model variables

See Jouven et al. (2006) for a thorough description of all model variables.

State Variables

  • BM Standing biomass in kg DM per ha.

  • BMG Standing green biomass (kg DM / ha).

  • cBM Cumulativeley grown biomass (kg DM / ha).

  • dBM Daily grown biomass (kg DM / ha).

  • hvBM Cumulative harvested biomass (kg DM / ha).

  • OMD Organic matter digestibility (kg / kg).

  • OMDG OMD of green matter (kg / kg).

  • ST Temperature sum in degree Celsius days.

  • REP Reproductive function. Gives the fraction of growth that is assigned to reproductive growth. The remainder goes into vegetative growth. Dimensionless.

  • PGRO Potential growth in kg DM / ha.

  • GRO Effective growth in kg DM / ha.

  • LAI Leaf area index, accounting for the proportion of light intercepted by the sward. Dimensionless.

  • LAIGV LAI of green vegetative biomass. Dimensionless.

  • AET Actual evapotranspiration in mm.

  • WR Water reserves in mm.

  • ENV Function representing environmental effects on growth. Acts as a multiplicative factor. Dimensionless.

  • ENVfPAR Part of ENV due to strength of incident radiation. Dimensionless.

  • ENVfT Part of ENV due to temperature. Dimensionless.

  • ENVfW Part of ENV due to water limitation. Dimensionless.

Initial conditions

  • AgeGV Age of green vegetative matter in degree Celsius days.

  • AgeGR Age of green reproductive matter in degree Celsius days.

  • AgeDV Age of dead vegetative matter in degree Celsius days.

  • AgeDR Age of dead reproductive matter in degree Celsius days.

  • BMGV biomass of GV (kg DM per ha).

  • BMGR biomass of GR (kg DM per ha).

  • BMDV biomass of DV (kg DM per ha).

  • BMDR biomass of DR (kg DM per ha).

  • BMDR biomass of DR (kg DM per ha).

  • SENG senescence of GV (kg DM per ha).

  • SENG senescence of GR (kg DM per ha).

  • ABSG abscission of DV (kg DM per ha).

  • ABSG abscission of DR (kg DM per ha).

  • ST thermal time (degree days).

  • cBM cumulative total biomass (kg per ha).

References

Jouven M, Carrère P, Baumont R (2006). “Model Predicting Dynamics of Biomass, Structure and Digestibility of Herbage in Managed Permanent Pastures. 1. Model Description.” Grass and Forage Science, 61(2), 112–124. ISSN 1365-2494, doi:10.1111/j.1365-2494.2006.00515.x , https://onlinelibrary.wiley.com/doi/abs/10.1111/j.1365-2494.2006.00515.x.

See also

Public fields

time_step

Used time step in the model in days (untested).

state_variable_names

Vector containing the names of the model's state variables.

n_state_variables

Number of state variables.

version

Version number of the growR package. Is written into output files.

site_name

Name of the site to be simulated.

run_name

Name of the simulation run. Used to distinguish between different runs at the same site.

year

Year to be simulated.

days_per_year

Number of days in this year.

j_start_of_growing_season

Index (DOY) of the day the growing season was determined to begin.

cut_height

Height of remaining grass after cut in m.

parameters

A ModvegeParameters object.

determine_cut

Function used to decide whether a cut occurs on a given DOY. Is overloaded depending on whether management data is provided or not.

cut_DOYs

List of DOYs on which a cut occurred.

cut_during_growth_preriod

Boolean to indicate whether a cut occurred during the growth period, in which case reproductive growth is stopped.

BM_after_cut

Amount of biomass that remains after a cut #' (determined through cut_height and biomass densities BDGV, BDDV, BDGR, BDDR).

weather

A list created by a WeatherData object's get_weather_for_year() method.

management

A list containing management data as returned by ModvegeEnvironment's get_environment_for_year() method. If its is_empty field is TRUE, the Autocut routine will be employed.

Autocut

A subclass of Autocut. The algorithm used to determine cut events.

Methods


Method new()

Constructor

Usage

ModvegeSite$new(parameters, site_name = "-", run_name = "-")

Arguments

parameters

A ModvegeParameters object.

site_name

string Name of the simulated site.

run_name

string Name of the simulation run. Used to differentiate between different simulation conditions at the same site. Defaults to "-", which indicates no specific run name.


Method get_weather()

Return weather data if it exists

Usage

ModvegeSite$get_weather()

Returns

The WeatherData object, if it exists.


Method get_management()

Return management data if it exists

Usage

ModvegeSite$get_management()

Returns

The ManagementData object, if it exists.


Method set_SGS_method()

Choose which method to be used for determination of SGS

Options for the determination of the start of growing season (SGS) are:

MTD

Multicriterial thermal definition, start_of_growing_season_mtd()

simple

Commonly used, simple SGS definition based on temperature sum, start_of_growing_season()

Usage

ModvegeSite$set_SGS_method(method)

Arguments

method

str Name of the method to use. Options: "MTD", "simple".

Returns

none


Method determine_cut_from_input()

Read from the input whether a cut occurs on day DOY.

Usage

ModvegeSite$determine_cut_from_input(DOY)

Arguments

DOY

Integer day of the year for which to check.

Returns

Boolean TRUE if a cut happens on day DOY.


Method run()

Carry out a ModVege simulation for one year.

Usage

ModvegeSite$run(year, weather, management)

Arguments

year

Integer specifying the year to consider.

weather

Weather list for given year as returned by WeatherData$get_weather_for_year.

management

Management list for given year as provided by ModvegeEnvironment$get_environment_for_year().

Returns

None Fills the state variables of this instance with the simulated values. Access them programmatically or write them to file using write_output().


Method write_output()

Write values of ModVege results into given file.

A header with metadata is prepended to the actual data.

Usage

ModvegeSite$write_output(filename, force = FALSE)

Arguments

filename

Path or name of filename to be created or overwritten.

force

Boolean If TRUE, do not prompt user before writing.

Returns

None Writes simulation results to file filename.


Method set_parameters()

Savely update the values in self$parameters.

This is just a shorthand to the underlying ModvegeParameters object's set_parameters() function. Special care is taken to account for potential changes to functional group weights.

Usage

ModvegeSite$set_parameters(params)

Arguments

params

List of name-value pairs of the parameters to update.

Returns

None Updates this object's parameter values.


Method plot()

Create an overview plot for 16 state variables.

Creates a simple base R plot showing the temporal evolution of 16 modeled state variables.

Can only be sensibly run after a simulation has been carried out, i.e. after this instance's run() method has been called.

Usage

ModvegeSite$plot(...)

Arguments

...

Further arguments are discarded.

Returns

NULL Creates a plot of the result in the active device.


Method plot_bm()

Create an overview plot for biomass.

Creates a simple base R plot showing the BM with cutting events and, if applicable, target biomass, dBM, cBM and hvBM. Can only be sensibly run after a simulation has been carried out, i.e. after this instance's run() method has been called.

Usage

ModvegeSite$plot_bm(smooth_interval = 28, ...)

Arguments

smooth_interval

Int. Number of days over which the variable dBM is smoothened.

...

Further arguments are discarded.

Returns

NULL Creates a plot of the result in the active device.


Method plot_limitations()

Create an overview plot of limiting factors.

Creates a simple base R plot showing the different environmental limitation functions over time. Can only be sensibly run after a simulation has been carried out, i.e. after this instance's run() method has been called.

Usage

ModvegeSite$plot_limitations(...)

Arguments

...

Further arguments are discarded.

Returns

NULL Creates a plot of the result in the active device.


Method plot_water()

Create an overview plot of the water balance.

Creates a simple base R plot showing different variables pertaining to the water balance, namely water reserves WR, actual evapotranspiration AET, leaf area index LAI and LAI of the green vegetative compartment LAIGV.

Can only be sensibly run after a simulation has been carried out, i.e. after this instance's run() method has been called.

Usage

ModvegeSite$plot_water(...)

Arguments

...

Further arguments are discarded.

Returns

NULL Creates a plot of the result in the active device.


Method plot_growth()

Create an overview plot of growth dynamics.

Creates a simple base R plot showing different variables pertaining to the growth dynamics, namely potential growth PGRO, effective growth GRO, the reproductive function REP and the temperature sum ST.

Can only be sensibly run after a simulation has been carried out, i.e. after this instance's run() method has been called.

Usage

ModvegeSite$plot_growth(...)

Arguments

...

Further arguments are discarded.

Returns

NULL Creates a plot of the result in the active device.


Method plot_var()

Plot the temporal evolution of a modeled state variable.

Usage

ModvegeSite$plot_var(var, ...)

Arguments

var

String. Name of the state variable to plot.

...

Further arguments are passed to the base plot() function.

Returns

None, but plots to the current device.


Method clone()

The objects of this class are cloneable with this method.

Usage

ModvegeSite$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.