| Title: | Crop-Specific Functions and Parameters for APSIM Next Generation Lupin Model |
| Version: | 0.1.0 |
| Description: | Provides lupin-specific functions, processes and parameter sets used by lupin model in the Agricultural Production Systems sIMulator ('APSIM') Next Generation. Includes tools for crop process calculations, parameter management and customisation, enabling users to explore, modify and apply lupin model components. |
| License: | MIT + file LICENSE |
| Encoding: | UTF-8 |
| Depends: | R (≥ 4.1.0) |
| Imports: | optree (≥ 0.1.1), tidyweather (≥ 0.3.0) |
| Suggests: | testthat (≥ 3.0.0) |
| Config/testthat/edition: | 3 |
| URL: | https://lupin.rapsimng.bangyou.me/, https://github.com/byzheng/rapsimng.lupin |
| BugReports: | https://github.com/byzheng/rapsimng.lupin/issues |
| Config/roxygen2/version: | 8.1.0 |
| NeedsCompilation: | no |
| Packaged: | 2026-09-14 08:06:25 UTC; zhe00a |
| Author: | Bangyou Zheng [aut, cre] |
| Maintainer: | Bangyou Zheng <zheng.bangyou@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-09-24 05:30:02 UTC |
lupin model options manager
Description
An options manager for configuring lupin model parameters. This object provides methods to get and set lupin related parameters.
Usage
lupin
Value
An option manager object for configuring lupin model parameters.
Available Options
- phenology.thermal_time.x
Cardinal temperatures for thermal time calculation. Default: c(2, 30, 35)
- phenology.thermal_time.y
Effective thermal time at corresponding cardinal temperatures. Default: c(0, 28, 0)
- phenology.thermal_time.method
Method used for thermal time calculation. Supported values: "3hr" and "HourlySinPpAdjusted". Default: "HourlySinPpAdjusted"
- phenology.vernalisation_time.x
Cardinal temperatures for vernalisation time calculation. Default: c(0, 2, 8, 15)
- phenology.vernalisation_time.y
Effective vernalisation time at corresponding cardinal temperatures. Default: c(0, 1, 0.5, 0.0)
Methods
- get(key)
Retrieve the value of an option by its key (e.g., "phenology.thermal_time.x")
- set(key, value)
Set the value of an option by its key
- reset()
Reset all options to their default values
Examples
# Get default thermal time cardinal temperatures
lupin$get("phenology.thermal_time.x")
# Get default vernalisation time parameters
lupin$get("phenology.vernalisation_time.x")
lupin$get("phenology.vernalisation_time.y")
# Set custom values
lupin$set("phenology.thermal_time.x" = c(0, 25, 40))
lupin$set("phenology.thermal_time.y" = c(0, 25, 0))
# Reset to defaults
lupin$reset()
Calculate thermal time using cardinal temperatures
Description
Calculate thermal time using cardinal temperatures
Usage
thermal_time(
mint,
maxt,
x_temp = lupin$get("phenology.thermal_time.x"),
y_temp = lupin$get("phenology.thermal_time.y"),
method = lupin$get("phenology.thermal_time.method"),
...
)
Arguments
mint |
The minimum temperature |
maxt |
The maximum temperature |
x_temp |
The cardinal temperatures using to calculate thermal time. The default values are c(2, 30, 35) defined in lupin$get("phenology.thermal_time.x"). |
y_temp |
The effective thermal time at the corresponding cardinal temperatures. The default values are c(0, 28, 0) defined in lupin$get("phenology.thermal_time.y"). |
method |
The method to calculate thermal time. The default is |
... |
Additional arguments passed to the underlying |
Details
The daily thermal time is calculated by interpolating the effective thermal time at three hour intervals between the daily minimum and maximum temperatures, and then averaging these values to get the daily thermal time. For more information about the lupin phenology model, see the APSIM Next Generation Lupin Documentation.
Value
The thermal time.
Examples
mint <- c(0, 10)
maxt <- c(30, 40)
date <- as.Date(c("2024-01-01", "2024-01-02"))
thermal_time(mint, maxt, date = date, lat = -27)
Calculate vernalisation time using cardinal temperatures
Description
Calculate vernalisation time using cardinal temperatures
Usage
vernalisation_days(
mint,
maxt,
x_temp = lupin$get("phenology.vernalisation_time.x"),
y_temp = lupin$get("phenology.vernalisation_time.y")
)
Arguments
mint |
The minimum temperature |
maxt |
The maximum temperature |
x_temp |
The cardinal temperatures used to calculate vernalisation time. The default values are defined in lupin$get("phenology.vernalisation_time.x"). |
y_temp |
The effective vernalisation time at the corresponding cardinal temperatures. The default values are defined in lupin$get("phenology.vernalisation_time.y"). |
Details
The daily vernalisation time is calculated by interpolating the effective vernalisation time at three hour intervals between the daily minimum and maximum temperatures, and then averaging these values to get the daily vernalisation time.
Value
The vernalisation time (days).
Examples
mint <- c(0, 10)
maxt <- c(30, 40)
vernalisation_days(mint, maxt)