Skip to content

P-Model

satterc.pipeline.models.pmodel

Satterc-compatable interface to PyRealm's 'P-model'.

This module provides the pmodel node, which wraps the pyrealm P-Model to calculate gross primary productivity (GPP), light use efficiency (LUE), and intrinsic water use efficiency (IWUE) from environmental inputs.

aridity_index_daily

aridity_index_daily(
    actual_evapotranspiration_daily: DataArray, precipitation_mm_daily: DataArray
) -> DataArray

Calculate a dimensionless aridity index AET/precipitation.

Parameters:

  • actual_evapotranspiration_daily (DataArray) –

    Actual evapotranspiration (mm).

  • precipitation_mm_daily (DataArray) –

    Precipitation (mm).

Returns:

  • DataArray

    Aridity index.

Notes

The standard aritidy index in the literature seems to use potential evapotranspiration (PET) instead of AET.

mean_growth_temperature_weekly

mean_growth_temperature_weekly(temperature_celcius_daily: DataArray) -> DataArray

Calculate the mean temperature on 'growing degree days' where the temperature is > 0°C.

pmodel

pmodel(
    temperature_celcius_weekly: DataArray,
    vpd_pa_weekly: DataArray,
    co2_ppm_weekly: DataArray,
    pressure_pa_weekly: DataArray,
    fapar_weekly: DataArray,
    ppfd_umol_m2_s1_weekly: DataArray,
    mean_growth_temperature_weekly: DataArray,
    aridity_index_weekly: DataArray,
    soil_moisture_weekly: DataArray,
    pmodel_parameters: tuple[str, str, str, str],
) -> dict[str, DataArray]

Run the P-Model to calculate GPP, LUE, and IWUE.

Parameters:

  • temperature_celcius_weekly (DataArray) –

    Air temperature (degrees Celsius).

  • vpd_pa_weekly (DataArray) –

    Vapor pressure deficit (Pascals).

  • co2_ppm_weekly (DataArray) –

    Atmospheric CO2 concentration (parts per million).

  • pressure_pa_weekly (DataArray) –

    Atmospheric pressure (Pascals).

  • fapar_weekly (DataArray) –

    Fraction of absorbed photosynthetically active radiation (dimensionless, 0-1).

  • ppfd_umol_m2_s1_weekly (DataArray) –

    Photosynthetic photon flux density (micromoles per square meter per second).

  • soil_moisture_weekly (DataArray) –

    Soil moisture content (mm).

  • mean_growth_temperature_weekly (DataArray) –

    Mean growth temperature (degrees Celsius).

  • aridity_index_weekly (DataArray) –

    Aridity index (dimensionless, ratio of actual evapotranspiration to precipitation).

  • pmodel_parameters (tuple[str, str, str, str]) –

    Tuple of parameters for the P-model.

Returns:

  • tuple

    Tuple of weekly outputs: - gpp_weekly: Gross primary productivity (gC per m2 per day) - lue_weekly: Light use efficiency (gC per MJ PAR) - iwue_weekly: Intrinsic water use efficiency (Pa)

pmodel_parameters

pmodel_parameters(
    method_optchi: str = "prentice14",
    method_jmaxlim: str = "wang17",
    method_kphio: str = "temperature",
    method_arrhenius: str = "simple",
) -> tuple[str, str, str, str]

Parameters for the P-model.

Parameters:

  • method_optchi (str, default: 'prentice14' ) –

    Method for calculating optimal chi (leaf-internal CO2 compensation point).

  • method_jmaxlim (str, default: 'wang17' ) –

    Method for Jmax limitation.

  • method_kphio (str, default: 'temperature' ) –

    Method for calculating the quantum yield efficiency (phi0).

  • method_arrhenius (str, default: 'simple' ) –

    Method for Arrhenius temperature scaling.

Returns:

  • Tuple containing these parameters in the order that they appear in the signature.