Plant functional types

The PFT concept

Plant functional types (PFTs) are the basis of the mechanical schemes. Instead of defining individual species, which tend to be restricted to a single area of the globe, or not extensively studied, using PFTs allows to generalize life forms and strategies.

The defintion of PFTs often includes information on their climatic range and on their phenology, leaf form, or general energy acquisition strategy.

For instance, the original PFTs used in BIOME4 are: Tropical Evergreen, Tropical Deciduous, Temperate Broadleaved Evergreen, Temperate Deciduous, Temperate Needleleaf Everegreen, Boreal Evergreen, Boreal Deciduous, Temperate C3 Grass, Tropical/Warm-temperate Grass (C4), Desert Woody (C3 or C4), Tundra Shrub, Cold Herbaceous, Lichen/Forb (Kaplan, 2001).

However, this list is not finite and could be extended to for example: Epiphytes, CAM Succulents, C4 Forbs, Mangroves, and so on.

PFTs in the model

In this package, we provide you with base PFTs based on Phenology:

  • Broadleaf Evergreen
  • Broadleaf Deciduous
  • Needleleaf Evergreen
  • Needleleaf Decidous
  • C3 Grass
  • C4 Grass

We have initialized them with generic parameters. You also can manually modify these traits (see defining your own PFTs).

When running the BIOME4 model, the default PFTs as defined by Kaplan (2001) will be used.

PFT traits in the model

The model is based on a series traits used to compute the growth of each PFT through three main processes (Hallgren & Pitman, 2001):

  • photosynthesis
  • evaopotranspiration
  • root distribution

Ecophysiological traits

ParameterCategoryDescriptionMinMaxSource
kkPhotosynthesisLight extinction coefficient0.30.8Larcher (1995)(1995)
c4PhotosynthesisC4 photosynthesis flag (true = C4, false = C3)BoolBool-
optratioa (C3)PhotosynthesisOptimal Ci/Ca ratio for C30.50.95Haxeltine et al.(1996)
optratioa (C4)PhotosynthesisOptimal Ci/Ca ratio for C40.310.7Wong et al. (1979), Collatz et al. (1992)
sw_dropPhotosynthesisSoil water content at which stomata start to close--specified
sw_appearPhotosynthesisSoil water content at which stomata start to open--specified
max_min_canopy_conductanceEvapotranspirationMin/max canopy conductance (mm s⁻¹), related to photosynthesis2.530Monteith(1995)
EmaxEvapotranspirationMaximum daily transpiration under well-watered conditions (mm s⁻¹)4.512.0Whitehead et al. (1993); Stewart & Gay (1989)
sapwood_respirationRespirationSapwood respiration type (1 = woody, 2 = grass)12-
respfactRespirationSapwood maintenance respiration (g C kg⁻¹ month⁻¹)1.32.0-
phenological_typeGeneralPhenology type: 1 = Evergreen; 2 = Deciduous; 3 = Grass13-
root_fraction_top_soilGeneralFraction of roots in topsoil layer01Haxeltine et al. (1996)
leaf_longevityGeneralLeaf longevity (years)0.50.95Hallgren & Pitman (2001)
GDD5_full_leaf_outGeneralGrowing degree days above 5 °C for full leaf-out50200Haxeltine & Prentice (1996)
GDD0_full_leaf_outGeneralGrowing degree days above 0 °C for full leaf-out---
thresholdGeneralLAI\:sapwood-area threshold0.250.95Hallgren & Pitman (2001)
t0GeneralReference temperature for growth initiation (°C)-12.010.0-
tcurveGeneralTemperature response curve0.51.0-
allocfactGeneralAllocation factor for leaf vs litter mass0.51.6Raich & Nadelhoffer (1989)
grassGeneralGrass flag (true = grass functional type)BoolBool-
dominance_factorGeneralCapacity to dominate in harsh conditions110Prentice et al. (1992)

Climatic Constraints

ParameterDescriptionMinMaxSource
tcmMin/max temperature of coldest month (°C)-65+15Hallgren & Pitman (2001)
minMinimum temperature for growth (°C)-45+5Haxeltine et al. (1996)
gddGDD for growth initiation (base unspecified)30010000Hallgren & Pitman (2001)
gdd0GDD for growth initiation above 0 °C50010000Hallgren & Pitman (2001)
twmTemperature for water limitation growth cutoff (°C)0+InfHallgren & Pitman (2001)
snowSnow depth required for growth (cm)0100Hallgren & Pitman (2001)
swbSite water balance (mm)02000Added in this iteration of the model

Defining your own PFTs

You can modify individual parameters of your base PFT by doing:

C4Grass =  GrassPFT(c4 = true, name = "C4Grass")

TropicalDeciduous = TropicalPFT(phenological_type = 2)

These subtypes will inherit the supertypes of our base PFTs, useful later on in your biome definition

typeof(C4Grass)
#=> GrassPFT{Float64, Int64}

typeof(TropicalDeciduous)
#=> TropicalPFT{Float64, Int64}

You can also completely define your PFT from the base. For example, here is a WoodyDesert plant from BIOME4:

function WoodyDesert()
    return WoodyDesert{T,U}(
        PFTCharacteristics{T,U}(
            "C3C4WoodyDesert",
            1,
            0.1,
            1.0,
            -99.9,
            -99.9,
            0.53,
            12.0,
            -99.9,
            -99.9,
            U(1,
            0.70,
            0.3,
            true,
            0.33,
            5.0,
            1.0,
            1.4,
            1.0,
            false,
            (
                tcm=[-Inf, +Inf],
                min=[-45.0, +Inf],
                gdd=[500, +Inf],
                gdd0=[-Inf, +Inf],
                twm=[10.0, +Inf],
                snow=[-Inf, +Inf],
                swb=[-Inf,500]
            ),
            (clt=9.2, prec=2.5, temp=23.9),
            (clt=2.2, prec=2.8, temp=2.7))
        ).
        dominance_factor = 5,
        minimum_lai = 1
    )
end

WoodyDesert() = WoodyDesert()

Modifying existing PFTs

You can also choose to load some of the existing PFT lists and to modify a single parameter at a time. This is very useful for parameter optimization and tuning. A helper function helps you to do so. Below is an example on updating the PFT named "LichenForb" from the PFT list for Emax and then for the constraint tcm (temperature of the coldest month).

pftlist = BIOME4.PFTClassification()

# Customize using set_characteristic!
set_characteristic!(pftlist, "LichenForb", :Emax, 999999.0)
set_characteristic!(pftlist, "LichenForb", :tcm, [99999.0, Inf])

Adding constraints to existing PFTs

You can add new constraints to PFTs in your existing PFT list in a very similar way as you would use set_characteristic!, just as a tuple. Just don't forget to pass the new constraint as an input or to refer to an existing model variable. Below is an example of how you can do so.

pftlist = BIOME4.PFTClassification()

# Customize using set_characteristic!
add_constraint!(pftlist, "LichenForb", :mynewconstraint, (-12000.0, +Inf))

References

  • Hallgren, Willow & Pitman, AJ. (2001). The uncertainty in simulations by a Global Biome Model (BIOMES) to alternative parameter values. Global Change Biology. 6. 483 - 495. 10.1046/j.1365-2486.2000.00325.x.
  • Haxeltine, A., & Prentice, I. C. (1996). BIOME3: An equilibrium terrestrial biosphere model based on ecophysiological constraints, resource availability, and competition among plant functional types. Global Biogeochemical Cycles, 10(4), 693–709. https://doi.org/10.1029/96GB02344
  • Kaplan, J. O. (2001). Geophysical Applications of Vegetation Modeling. (Ph.D. thesis), Lund University, Lund, Sweden. doi:10.5281/zenodo.1492908
  • Prentice, I. C., Cramer, W., Harrison, S. P., Leemans, R., Monserud, R. A., & Solomon, A. M. (1992). Special Paper: A Global Biome Model Based on Plant Physiology and Dominance, Soil Properties and Climate. Journal of Biogeography, 19(2), 117–134. https://doi.org/10.2307/2845499