Package {rapsimng.fababean}


Title: Crop-Specific Functions and Parameters for APSIM Next Generation Fababean Model
Version: 0.1.0
Description: Provides fababean-specific functions, processes and parameter sets used by fababean 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 fababean model components.
License: MIT + file LICENSE
Encoding: UTF-8
Depends: R (≥ 4.1.0)
Imports: optree, tidyweather (≥ 0.3.0)
Suggests: testthat (≥ 3.0.0)
Config/testthat/edition: 3
URL: https://fababean.rapsimng.bangyou.me/, https://github.com/byzheng/rapsimng.fababean
BugReports: https://github.com/byzheng/rapsimng.fababean/issues
Config/roxygen2/version: 8.1.0
NeedsCompilation: no
Packaged: 2026-09-14 05:22:07 UTC; zhe00a
Author: Bangyou Zheng [aut, cre]
Maintainer: Bangyou Zheng <zheng.bangyou@gmail.com>
Repository: CRAN
Date/Publication: 2026-09-24 05:00:14 UTC

fababean model options manager

Description

An options manager for configuring fababean model parameters. This object provides methods to get and set fababean related parameters.

Usage

fababean

Value

An option manager object for configuring fababean 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
fababean$get("phenology.thermal_time.x")

# Get default vernalisation time parameters
fababean$get("phenology.vernalisation_time.x")
fababean$get("phenology.vernalisation_time.y")

# Set custom values
fababean$set("phenology.thermal_time.x" = c(0, 25, 40))
fababean$set("phenology.thermal_time.y" = c(0, 25, 0))

# Reset to defaults
fababean$reset()

Calculate thermal time using cardinal temperatures

Description

Calculate thermal time using cardinal temperatures

Usage

thermal_time(
  mint,
  maxt,
  x_temp = fababean$get("phenology.thermal_time.x"),
  y_temp = fababean$get("phenology.thermal_time.y"),
  method = fababean$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 fababean$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 fababean$get("phenology.thermal_time.y").

method

The method to calculate thermal time. The default is "HourlySinPpAdjusted". Other options are "3hr" and NULL (mean temperature).

...

Additional arguments passed to the underlying tidyweather::thermal_time function.

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 fababean phenology model, see the APSIM Next Generation fababean 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 = fababean$get("phenology.vernalisation_time.x"),
  y_temp = fababean$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 fababean$get("phenology.vernalisation_time.x").

y_temp

The effective vernalisation time at the corresponding cardinal temperatures. The default values are defined in fababean$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)