Skip to content
SindbadTEM.TEMTypes Module

SindbadTEM.TEMTypes

Submodule that groups all core TEM type definitions and shared abstract types used across the terrestrial ecosystem model (TEM) implementation, including SindbadTypes, and LandEcosystem.

This module is the primary entry point for type-level building blocks of SINDBAD TEM processes and models.

Functions

Types

DoCatchModelErrors

SindbadTEM.TEMTypes.DoCatchModelErrors Type
julia
DoCatchModelErrors

Dispatch type to enable error catching during model execution.


DoDebugModel

SindbadTEM.TEMTypes.DoDebugModel Type
julia
DoDebugModel

Dispatch type to enable debug mode for model execution.

Used by higher-level orchestration code (e.g. computeTEM) to select debug-oriented execution paths (extra printing, timing, etc.).


DoInlineUpdate

SindbadTEM.TEMTypes.DoInlineUpdate Type
julia
DoInlineUpdate

Dispatch type to enable inline updates of model state (within a single time step).


DoNotCatchModelErrors

SindbadTEM.TEMTypes.DoNotCatchModelErrors Type
julia
DoNotCatchModelErrors

Dispatch type to disable error catching during model execution.


DoNotDebugModel

SindbadTEM.TEMTypes.DoNotDebugModel Type
julia
DoNotDebugModel

Dispatch type to disable debug mode for model execution.


DoNotInlineUpdate

SindbadTEM.TEMTypes.DoNotInlineUpdate Type
julia
DoNotInlineUpdate

Dispatch type to disable inline updates of model state.


LandEcosystem

SindbadTEM.TEMTypes.LandEcosystem Type

LandEcosystem

Abstract type for all SINDBAD land ecosystem models/approaches

Methods

All subtypes of LandEcosystem must implement at least one of the following methods:

  • define: Initialize arrays and variables

  • precompute: Update variables with new realizations

  • compute: Update model state in time

  • update: Update pools within a single time step

Examples

julia
julia> using SindbadTEM

julia> # Define a new model type
julia> struct MyProcess <: LandEcosystem end

julia> # Implement required methods
julia> function define(params::MyProcess, forcing, land, helpers)
           # Initialize arrays and variables
           return land
       end

julia> function precompute(params::MyProcess, forcing, land, helpers)
           # Update variables with new realizations
           return land
       end

julia> function compute(params::MyProcess, forcing, land, helpers)
           # Update model state in time
           return land
       end

julia> function update(params::MyProcess, forcing, land, helpers)
           # Update pools within a single time step
           return land
       end

Extended help

LandEcosystem

Abstract type for all SINDBAD land ecosystem models/approaches

Available methods/subtypes:

  • EVI: Enhanced Vegetation Index

    • EVI_constant: Sets EVI as a constant value.

    • EVI_forcing: Gets EVI from forcing data.

  • LAI: Leaf Area Index

    • LAI_cVegLeaf: LAI as a function of cVegLeaf and SLA.

    • LAI_constant: sets LAI as a constant value.

    • LAI_forcing: Gets LAI from forcing data.

  • NDVI: Normalized Difference Vegetation Index.

    • NDVI_constant: Sets NDVI as a constant value.

    • NDVI_forcing: Gets NDVI from forcing data.

  • NDWI: Normalized Difference Water Index.

    • NDWI_constant: Sets NDWI as a constant value.

    • NDWI_forcing: Gets NDWI from forcing data.

  • NIRv: Near-infrared reflectance of terrestrial vegetation.

    • NIRv_constant: Sets NIRv as a constant value.

    • NIRv_forcing: Gets NIRv from forcing data.

  • PET: Potential evapotranspiration.

    • PET_Lu2005: Calculates PET using Lu et al. (2005) method.

    • PET_PriestleyTaylor1972: Calculates PET using Priestley-Taylor (1972) method.

    • PET_forcing: Gets PET from forcing data.

  • PFT: Plant Functional Type (PFT) classification.

    • PFT_constant: Sets a uniform PFT class.
  • WUE: Water Use Efficiency (WUE).

    • WUE_Medlyn2011: Calculates WUE as a function of daytime mean VPD and ambient CO₂, following Medlyn et al. (2011).

    • WUE_VPDDay: Calculates WUE as a function of WUE at 1 hPa and daily mean VPD.

    • WUE_VPDDayCo2: Calculates WUE as a function of WUE at 1 hPa daily mean VPD and linear CO₂ relationship.

    • WUE_constant: Sets WUE as a constant value.

    • WUE_expVPDDayCo2: Calculates WUE as a function of WUE at 1 hPa, daily mean VPD, and an exponential CO₂ relationship.

  • ambientCO2: Ambient CO₂ concentration.

    • ambientCO2_constant: Sets ambient CO₂ to a constant value.

    • ambientCO2_forcing: Gets ambient CO₂ from forcing data.

  • autoRespiration: Autotrophic respiration for growth and maintenance.

    • autoRespiration_Thornley2000A: Calculates autotrophic maintenance and growth respiration using Thornley and Cannell (2000) Model A, where maintenance respiration is prioritized.

    • autoRespiration_Thornley2000B: Calculates autotrophic maintenance and growth respiration using Thornley and Cannell (2000) Model B, where growth respiration is prioritized.

    • autoRespiration_Thornley2000C: Calculates autotrophic maintenance and growth respiration using Thornley and Cannell (2000) Model C, which includes growth, degradation, and resynthesis.

    • autoRespiration_none: Sets autotrophic respiration fluxes to 0.

  • autoRespirationAirT: Effect of air temperature on autotrophic respiration.

    • autoRespirationAirT_Q10: Calculates the effect of air temperature on maintenance respiration using a Q10 function.

    • autoRespirationAirT_none: No air temperature effect on autotrophic respiration.

  • cAllocation: Allocation fraction of NPP to different vegetation pools.

    • cAllocation_Friedlingstein1999: Dynamically allocates carbon based on LAI, moisture, and nutrient availability, following Friedlingstein et al. (1999).

    • cAllocation_GSI: Dynamically allocates carbon based on temperature, water, and radiation stressors following the GSI approach.

    • cAllocation_fixed: Sets carbon allocation to each pool using fixed allocation parameters.

    • cAllocation_none: Sets carbon allocation to 0.

  • cAllocationLAI: Estimates allocation to the leaf pool given light limitation constraints to photosynthesis, using LAI dynamics.

    • cAllocationLAI_Friedlingstein1999: Estimates the effect of light limitation on carbon allocation via LAI, based on Friedlingstein et al. (1999).

    • cAllocationLAI_none: Sets the LAI effect on allocation to 1 (no effect).

  • cAllocationNutrients: Pseudo-effect of nutrients on carbon allocation.

    • cAllocationNutrients_Friedlingstein1999: Calculates pseudo-nutrient limitation based on Friedlingstein et al. (1999).

    • cAllocationNutrients_none: Sets the pseudo-nutrient limitation to 1 (no effect).

  • cAllocationRadiation: Effect of radiation on carbon allocation.

    • cAllocationRadiation_GSI: Calculates the radiation effect on allocation using the GSI method.

    • cAllocationRadiation_RgPot: Calculates the radiation effect on allocation using potential radiation instead of actual radiation.

    • cAllocationRadiation_gpp: Sets the radiation effect on allocation equal to that for GPP.

    • cAllocationRadiation_none: Sets the radiation effect on allocation to 1 (no effect).

  • cAllocationSoilT: Effect of soil temperature on carbon allocation.

    • cAllocationSoilT_Friedlingstein1999: Calculates the partial temperature effect on decomposition and mineralization based on Friedlingstein et al. (1999).

    • cAllocationSoilT_gpp: Sets the temperature effect on allocation equal to that for GPP.

    • cAllocationSoilT_gppGSI: Calculates the temperature effect on allocation as for GPP using the GSI approach.

    • cAllocationSoilT_none: Sets the temperature effect on allocation to 1 (no effect).

  • cAllocationSoilW: Effect of soil moisture on carbon allocation.

    • cAllocationSoilW_Friedlingstein1999: Calculates the partial moisture effect on decomposition and mineralization based on Friedlingstein et al. (1999).

    • cAllocationSoilW_gpp: Sets the moisture effect on allocation equal to that for GPP.

    • cAllocationSoilW_gppGSI: Calculates the moisture effect on allocation as for GPP using the GSI approach.

    • cAllocationSoilW_none: Sets the moisture effect on allocation to 1 (no effect).

  • cAllocationTreeFraction: Adjusts carbon allocation according to tree cover.

    • cAllocationTreeFraction_Friedlingstein1999: Adjusts allocation coefficients according to the fraction of trees to herbaceous plants and fine to coarse root partitioning.
  • cBiomass: Computes aboveground biomass (AGB).

    • cBiomass_simple: Calculates AGB simply as the sum of wood and leaf carbon pools.

    • cBiomass_treeGrass: Considers the tree-grass fraction to include different vegetation pools while calculating AGB. For Eddy Covariance sites with tree cover, AGB = leaf + wood biomass. For grass-only sites, AGB is set to the wood biomass, which is constrained to be near 0 after optimization.

    • cBiomass_treeGrass_cVegReserveScaling: Same as cBiomass_treeGrass.jl, but includes scaling for the relative fraction of the reserve carbon to not allow for large reserve compared to the rest of the vegetation carbol pool.

  • cCycle: Compute fluxes and changes (cycling) of carbon pools.

    • cCycle_CASA: Carbon cycle wtih components based on the CASA approach.

    • cCycle_GSI: Carbon cycle with components based on the GSI approach, including carbon allocation, transfers, and turnover rates.

    • cCycle_simple: Carbon cycle with components based on the simplified version of the CASA approach.

  • cCycleBase: Defines the base properties of the carbon cycle components. For example, components of carbon pools, their turnover rates, and flow matrix.

    • cCycleBase_CASA: Structure and properties of the carbon cycle components used in the CASA approach.

    • cCycleBase_GSI: Structure and properties of the carbon cycle components as needed for a dynamic phenology-based carbon cycle in the GSI approach.

    • cCycleBase_GSI_PlantForm: Same as GSI, additionally allowing for scaling of turnover parameters based on plant forms.

    • cCycleBase_GSI_PlantForm_LargeKReserve: Same as cCycleBase_GSI_PlantForm, but with a default of larger turnover of reserve pool so that it respires and flows.

    • cCycleBase_simple: Structure and properties of the carbon cycle components as needed for a simplified version of the CASA approach.

  • cCycleConsistency: Consistency and sanity checks in carbon allocation and transfers.

    • cCycleConsistency_simple: Checks consistency in the cCycle vector, including c_allocation and cFlow.
  • cCycleDisturbance: Disturbance of the carbon cycle pools.

    • cCycleDisturbance_WROASTED: Moves carbon in reserve pool to slow litter pool, and all other carbon pools except reserve pool to their respective carbon flow target pools during disturbance events.

    • cCycleDisturbance_cFlow: Moves carbon in all pools except reserve to their respective carbon flow target pools during disturbance events.

  • cFlow: Transfer rates for carbon flow between different pools.

    • cFlow_CASA: Carbon transfer rates between pools as modeled in CASA.

    • cFlow_GSI: Carbon transfer rates between pools based on the GSI approach, using stressors such as soil moisture, temperature, and light.

    • cFlow_none: Sets carbon transfers between pools to 0 (no transfer); sets c_giver and c_taker matrices to empty; retrieves the transfer matrix.

    • cFlow_simple: Carbon transfer rates between pools modeled a simplified version of CASA.

  • cFlowSoilProperties: Effect of soil properties on carbon transfers between pools.

    • cFlowSoilProperties_CASA: Effect of soil properties on carbon transfers between pools as modeled in CASA.

    • cFlowSoilProperties_none: Sets carbon transfers between pools to 0 (no transfer).

  • cFlowVegProperties: Effect of vegetation properties on carbon transfers between pools.

    • cFlowVegProperties_CASA: Effect of vegetation properties on carbon transfers between pools as modeled in CASA.

    • cFlowVegProperties_none: Sets carbon transfers between pools to 0 (no transfer).

  • cTau: Actual decomposition/turnover rates of all carbon pools considering the effect of stressors.

    • cTau_mult: Combines all effects that change the turnover rates by multiplication.

    • cTau_none: Sets the decomposition/turnover rates of all carbon pools to 0, i.e., no carbon decomposition and flow.

  • cTauLAI: Effect of LAI on turnover rates of carbon pools.

    • cTauLAI_CASA: Effect of LAI on turnover rates and computes the seasonal cycle of litterfall and root litterfall based on LAI variations, as modeled in CASA.

    • cTauLAI_none: Sets the litterfall scalar values to 1 (no LAI effect).

  • cTauSoilProperties: Effect of soil texture on soil decomposition rates

    • cTauSoilProperties_CASA: Compute soil texture effects on turnover rates [k] of cMicSoil

    • cTauSoilProperties_none: Set soil texture effects to ones (ineficient, should be pix zix_mic)

  • cTauSoilT: Effect of soil temperature on decomposition rates.

    • cTauSoilT_Q10: Effect of soil temperature on decomposition rates using a Q10 function.

    • cTauSoilT_none: Sets the effect of soil temperature on decomposition rates to 1 (no temperature effect).

  • cTauSoilW: Effect of soil moisture on decomposition rates.

    • cTauSoilW_CASA: Effect of soil moisture on decomposition rates as modeled in CASA, using the belowground moisture effect (BGME) from the Century model.

    • cTauSoilW_GSI: Effect of soil moisture on decomposition rates based on the GSI approach.

    • cTauSoilW_none: Sets the effect of soil moisture on decomposition rates to 1 (no moisture effect).

  • cTauVegProperties: Effect of vegetation properties on soil decomposition rates.

    • cTauVegProperties_CASA: Effect of vegetation type on decomposition rates as modeled in CASA.

    • cTauVegProperties_none: Sets the effect of vegetation properties on decomposition rates to 1 (no vegetation effect).

  • cVegetationDieOff: Fraction of vegetation pools that die off.

    • cVegetationDieOff_forcing: Get the fraction of vegetation that die off from forcing data.
  • capillaryFlow: Capillary flux of water from lower to upper soil layers (upward soil moisture movement).

    • capillaryFlow_VanDijk2010: Computes the upward capillary flux of water through soil layers using the Van Dijk (2010) method.
  • constants: Defines constants and variables that are independent of model structure.

    • constants_numbers: Includes constants for numbers such as 1 to 10.
  • deriveVariables: Derives additional variables based on other SINDBAD models and saves them into land.deriveVariables.

    • deriveVariables_simple: Incudes derivation of few variables that may be commonly needed for optimization against some datasets.
  • drainage: Drainage flux of water from upper to lower soil layers.

    • drainage_dos: Drainage flux based on an exponential function of soil moisture degree of saturation.

    • drainage_kUnsat: Drainage flux based on unsaturated hydraulic conductivity.

    • drainage_wFC: Drainage flux based on overflow above field capacity.

  • evaporation: Bare soil evaporation.

    • evaporation_Snyder2000: Bare soil evaporation using the relative drying rate of soil following Snyder (2000).

    • evaporation_bareFraction: Bare soil evaporation from the non-vegetated fraction of the grid as a linear function of soil moisture and potential evaporation.

    • evaporation_demandSupply: Bare soil evaporation using a demand-supply limited approach.

    • evaporation_fAPAR: Bare soil evaporation from the non-absorbed fAPAR (as a proxy for vegetation fraction) and potential evaporation.

    • evaporation_none: Bare soil evaporation set to 0.

    • evaporation_vegFraction: Bare soil evaporation from the non-vegetated fraction and potential evaporation.

  • evapotranspiration: Evapotranspiration.

    • evapotranspiration_simple: calculates evapotranspiration as a simple linear function of soil moisture

    • evapotranspiration_sum: Evapotranspiration as a sum of all potential components

  • fAPAR: Fraction of absorbed photosynthetically active radiation.

    • fAPAR_EVI: fAPAR as a linear function of EVI.

    • fAPAR_LAI: fAPAR as a function of LAI.

    • fAPAR_cVegLeaf: fAPAR based on the carbon pool of leaves, specific leaf area (SLA), and kLAI.

    • fAPAR_cVegLeafBareFrac: fAPAR based on the carbon pool of leaves, but only for the vegetated fraction.

    • fAPAR_constant: Sets fAPAR as a constant value.

    • fAPAR_forcing: Gets fAPAR from forcing data.

    • fAPAR_vegFraction: fAPAR as a linear function of vegetation fraction.

  • getPools: Retrieves the amount of water at the beginning of the time step.

    • getPools_simple: Simply take throughfall as the maximum available water.
  • gpp: Gross Primary Productivity (GPP).

    • gpp_coupled: GPP based on transpiration supply and water use efficiency (coupled).

    • gpp_min: GPP with potential scaled by the minimum stress scalar of demand and supply for uncoupled model structures.

    • gpp_mult: GPP with potential scaled by the product of stress scalars of demand and supply for uncoupled model structures.

    • gpp_none: Sets GPP to 0.

    • gpp_transpirationWUE: GPP based on transpiration and water use efficiency.

  • gppAirT: Effect of temperature on GPP: 1 indicates no temperature stress, 0 indicates complete stress.

    • gppAirT_CASA: Temperature effect on GPP based as implemented in CASA.

    • gppAirT_GSI: Temperature effect on GPP based on the GSI implementation of LPJ.

    • gppAirT_MOD17: Temperature effect on GPP based on the MOD17 model.

    • gppAirT_Maekelae2008: Temperature effect on GPP based on Maekelae (2008).

    • gppAirT_TEM: Temperature effect on GPP based on the TEM model.

    • gppAirT_Wang2014: Temperature effect on GPP based on Wang (2014).

    • gppAirT_none: Sets temperature stress on GPP to 1 (no stress).

  • gppDemand: Combined effect of environmental demand on GPP.

    • gppDemand_min: Demand GPP as the minimum of all stress scalars (most limiting factor).

    • gppDemand_mult: Demand GPP as the product of all stress scalars.

    • gppDemand_none: Sets the scalar for demand GPP to 1 and demand GPP to 0.

  • gppDiffRadiation: Effect of diffuse radiation (Cloudiness scalar) on GPP: 1 indicates no diffuse radiation effect, 0 indicates complete effect.

    • gppDiffRadiation_GSI: Cloudiness scalar (radiation diffusion) on GPP potential based on the GSI implementation of LPJ.

    • gppDiffRadiation_Turner2006: Cloudiness scalar (radiation diffusion) on GPP potential based on Turner (2006).

    • gppDiffRadiation_Wang2015: Cloudiness scalar (radiation diffusion) on GPP potential based on Wang (2015).

    • gppDiffRadiation_none: Sets the cloudiness scalar (radiation diffusion) for GPP potential to 1.

  • gppDirRadiation: Effect of direct radiation (light effect) on GPP: 1 indicates no direct radiation effect, 0 indicates complete effect.

    • gppDirRadiation_Maekelae2008: Light saturation scalar (light effect) on GPP potential based on Maekelae (2008).

    • gppDirRadiation_none: Sets the light saturation scalar (light effect) on GPP potential to 1.

  • gppPotential: Potential GPP based on maximum instantaneous radiation use efficiency.

    • gppPotential_Monteith: Potential GPP based on radiation use efficiency model/concept of Monteith.
  • gppSoilW: Effect of soil moisture on GPP: 1 indicates no soil water stress, 0 indicates complete stress.

    • gppSoilW_CASA: Soil moisture stress on GPP potential based on base stress and the relative ratio of PET and PAW (CASA).

    • gppSoilW_GSI: Soil moisture stress on GPP potential based on the GSI implementation of LPJ.

    • gppSoilW_Keenan2009: Soil moisture stress on GPP potential based on Keenan (2009).

    • gppSoilW_Stocker2020: Soil moisture stress on GPP potential based on Stocker (2020).

    • gppSoilW_none: Sets soil moisture stress on GPP potential to 1 (no stress).

  • gppVPD: Effect of vapor pressure deficit (VPD) on GPP: 1 indicates no VPD stress, 0 indicates complete stress.

    • gppVPD_MOD17: VPD stress on GPP potential based on the MOD17 model.

    • gppVPD_Maekelae2008: VPD stress on GPP potential based on Maekelae (2008).

    • gppVPD_PRELES: VPD stress on GPP potential based on Maekelae (2008) and includes the CO₂ effect based on the PRELES model.

    • gppVPD_expco2: VPD stress on GPP potential based on Maekelae (2008) and includes the CO₂ effect.

    • gppVPD_none: Sets VPD stress on GPP potential to 1 (no stress).

  • groundWRecharge: Groundwater recharge.

    • groundWRecharge_dos: Groundwater recharge as an exponential function of the degree of saturation of the lowermost soil layer.

    • groundWRecharge_fraction: Groundwater recharge as a fraction of the moisture in the lowermost soil layer.

    • groundWRecharge_kUnsat: Groundwater recharge as the unsaturated hydraulic conductivity of the lowermost soil layer.

    • groundWRecharge_none: Sets groundwater recharge to 0.

  • groundWSoilWInteraction: Groundwater-soil moisture interactions (e.g., capillary flux, water exchange).

    • groundWSoilWInteraction_VanDijk2010: Upward flow of water from groundwater to the lowermost soil layer using the Van Dijk (2010) method.

    • groundWSoilWInteraction_gradient: Delayed/Buffer storage that gives water to the soil when the soil is dry and receives water from the soil when the buffer is low.

    • groundWSoilWInteraction_gradientNeg: Delayed/Buffer storage that does not give water to the soil when the soil is dry, but receives water from the soil when the soil is wet and the buffer is low.

    • groundWSoilWInteraction_none: Sets groundwater capillary flux to 0 for no interaction between soil moisture and groundwater.

  • groundWSurfaceWInteraction: Water exchange between surface and groundwater.

    • groundWSurfaceWInteraction_fracGradient: Moisture exchange between groundwater and surface water as a fraction of the difference between their storages.

    • groundWSurfaceWInteraction_fracGroundW: Depletion of groundwater to surface water as a fraction of groundwater storage.

  • interception: Interception loss.

    • interception_Miralles2010: Interception loss according to the Gash model of Miralles, 2010.

    • interception_fAPAR: Interception loss as a fraction of fAPAR.

    • interception_none: Sets interception loss to 0.

    • interception_vegFraction: Interception loss as a fraction of vegetation cover.

  • percolation: Percolation through the top of soil

    • percolation_WBP: Percolation as a difference of throughfall and surface runoff loss.

    • percolation_rain: calculate percolation = rain, assuming no surface runoff losses

  • plantForm: Plant form of the ecosystem.

    • plantForm_PFT: Differentiate plant form based on PFT.

    • plantForm_fixed: Sets plant form to a fixed form with 1: tree, 2: shrub, 3:herb. Assumes tree as default.

  • rainIntensity: Rainfall intensity.

    • rainIntensity_forcing: Gets rainfall intensity from forcing data.

    • rainIntensity_simple: Rainfall intensity as a linear function of rainfall amount.

  • rainSnow: Rain and snow partitioning.

    • rainSnow_Tair: Rain and snow partitioning based on a temperature threshold.

    • rainSnow_forcing: Sets rainfall and snowfall from forcing data, with snowfall scaled if the snowfall_scalar parameter is optimized.

    • rainSnow_rain: All precipitation is assumed to be liquid rain with 0 snowfall.

  • rootMaximumDepth: Maximum rooting depth.

    • rootMaximumDepth_fracSoilD: Maximum rooting depth as a fraction of total soil depth.
  • rootWaterEfficiency: Water uptake efficiency by roots for each soil layer.

    • rootWaterEfficiency_constant: Water uptake efficiency by roots set as a constant for each soil layer.

    • rootWaterEfficiency_expCvegRoot: Water uptake efficiency by roots set according to total root carbon.

    • rootWaterEfficiency_k2Layer: Water uptake efficiency by roots set as a calibration parameter for each soil layer (for two soil layers).

    • rootWaterEfficiency_k2fRD: Water uptake efficiency by roots set as a function of vegetation fraction, and for the second soil layer, as a function of rooting depth from different datasets.

    • rootWaterEfficiency_k2fvegFraction: Water uptake efficiency by roots set as a function of vegetation fraction, and for the second soil layer, as a function of rooting depth from different datasets, which is further scaled by the vegetation fraction.

  • rootWaterUptake: Root water uptake from soil.

    • rootWaterUptake_proportion: Root uptake from each soil layer proportional to the relative plant water availability in the layer.

    • rootWaterUptake_topBottom: Root uptake from each soil layer from top to bottom, using maximul available water in each layer.

  • runoff: Total runoff.

    • runoff_simple: calculates runoff as a simple linear function of soil moisture

    • runoff_sum: Runoff as a sum of all potential components.

  • runoffBase: Baseflow.

    • runoffBase_Zhang2008: Baseflow from a linear groundwater storage following Zhang (2008).

    • runoffBase_none: Sets base runoff to 0.

  • runoffInfiltrationExcess: Infiltration excess runoff.

    • runoffInfiltrationExcess_Jung: Infiltration excess runoff as a function of rain intensity and vegetated fraction.

    • runoffInfiltrationExcess_kUnsat: Infiltration excess runoff based on unsaturated hydraulic conductivity.

    • runoffInfiltrationExcess_none: Sets infiltration excess runoff to 0.

  • runoffInterflow: Interflow runoff.

    • runoffInterflow_none: Sets interflow runoff to 0.

    • runoffInterflow_residual: Interflow as a fraction of the available water balance pool.

  • runoffOverland: Total overland runoff that passes to surface storage.

    • runoffOverland_Inf: Overland flow due to infiltration excess runoff.

    • runoffOverland_InfIntSat: Overland flow as the sum of infiltration excess, interflow, and saturation excess runoffs.

    • runoffOverland_Sat: Overland flow due to saturation excess runoff.

    • runoffOverland_none: Sets overland runoff to 0.

  • runoffSaturationExcess: Saturation excess runoff.

    • runoffSaturationExcess_Bergstroem1992: Saturation excess runoff using the original Bergström method.

    • runoffSaturationExcess_Bergstroem1992MixedVegFraction: Saturation excess runoff using the Bergström method with separate parameters for vegetated and non-vegetated fractions.

    • runoffSaturationExcess_Bergstroem1992VegFraction: Saturation excess runoff using the Bergström method with parameters scaled by vegetation fraction.

    • runoffSaturationExcess_Bergstroem1992VegFractionFroSoil: Saturation excess runoff using the Bergström method with parameters scaled by vegetation fraction and frozen soil fraction.

    • runoffSaturationExcess_Bergstroem1992VegFractionPFT: Saturation excess runoff using the Bergström method with parameters scaled by vegetation fraction separated by different PFTs.

    • runoffSaturationExcess_Zhang2008: Saturation excess runoff as a function of incoming water and PET following Zhang (2008).

    • runoffSaturationExcess_none: Sets saturation excess runoff to 0.

    • runoffSaturationExcess_satFraction: Saturation excess runoff as a fraction of the saturated fraction of a grid-cell.

  • runoffSurface: Surface runoff generation.

    • runoffSurface_Orth2013: Surface runoff directly calculated using delay coefficient for the last 60 days based on the Orth et al. (2013) method.

    • runoffSurface_Trautmann2018: Surface runoff directly calculated using delay coefficient for the last 60 days based on the Orth et al. (2013) method, but with a different delay coefficient as implemented in Trautmann et al. (2018).

    • runoffSurface_all: All overland runoff generates surface runoff.

    • runoffSurface_directIndirect: Surface runoff as the sum of the direct fraction of overland runoff and the indirect fraction of surface water storage.

    • runoffSurface_directIndirectFroSoil: Surface runoff as the sum of the direct fraction of overland runoff and the indirect fraction of surface water storage, with the direct fraction additionally dependent on the frozen fraction of the grid.

    • runoffSurface_indirect: All overland runoff is collected in surface water storage first, which in turn generates indirect surface runoff.

    • runoffSurface_none: Sets surface runoff to 0.

  • saturatedFraction: Saturated fraction of a grid-cell.

    • saturatedFraction_none: Sets the saturated soil fraction to 0.
  • snowFraction: Snow cover fraction.

    • snowFraction_HTESSEL: Snow cover fraction following the HTESSEL approach.

    • snowFraction_binary: Snow cover fraction using a binary approach.

    • snowFraction_none: Sets the snow cover fraction to 0.

  • snowMelt: Snowmelt.

    • snowMelt_Tair: Snowmelt as a function of air temperature.

    • snowMelt_TairRn: Snowmelt based on temperature and net radiation when air temperature exceeds 0°C.

  • soilProperties: Soil hydraulic properties.

    • soilProperties_Saxton1986: Soil hydraulic properties based on Saxton (1986).

    • soilProperties_Saxton2006: Soil hydraulic properties based on Saxton (2006).

  • soilTexture: Soil texture (sand, silt, clay, and organic matter fraction).

    • soilTexture_constant: Sets soil texture properties as constant values.

    • soilTexture_forcing: Gets Soil texture properties from forcing data.

  • soilWBase: Base soil hydraulic properties over soil layers.

    • soilWBase_smax1Layer: Maximum soil water content of one soil layer as a fraction of total soil depth, based on the Trautmann et al. (2018) model.

    • soilWBase_smax2Layer: Maximum soil water content of two soil layers as fractions of total soil depth, based on the older version of the Pre-Tokyo Model.

    • soilWBase_smax2fRD4: Maximum soil water content of two soil layers: the first layer as a fraction of soil depth, the second as a linear combination of scaled rooting depth data from forcing.

    • soilWBase_uniform: Soil hydraulic properties distributed for different soil layers assuming a uniform vertical distribution.

  • sublimation: Snow sublimation.

    • sublimation_GLEAM: Sublimation using the Priestley-Taylor term following the GLEAM approach.

    • sublimation_none: Sets snow sublimation to 0.

  • transpiration: Transpiration.

    • transpiration_coupled: Transpiration as a function of GPP and WUE.

    • transpiration_demandSupply: Transpiration as the minimum of supply and demand.

    • transpiration_none: Sets transpiration to 0.

  • transpirationDemand: Demand-limited transpiration.

    • transpirationDemand_CASA: Demand-limited transpiration as a function of volumetric soil content and soil properties, as in the CASA model.

    • transpirationDemand_PET: Demand-limited transpiration as a function of PET and a vegetation parameter.

    • transpirationDemand_PETfAPAR: Demand-limited transpiration as a function of PET and fAPAR.

    • transpirationDemand_PETvegFraction: Demand-limited transpiration as a function of PET, a vegetation parameter, and vegetation fraction.

  • transpirationSupply: Supply-limited transpiration.

    • transpirationSupply_CASA: Supply-limited transpiration as a function of volumetric soil content and soil properties, as in the CASA model.

    • transpirationSupply_Federer1982: Supply-limited transpiration as a function of a maximum rate parameter and available water, following Federer (1982).

    • transpirationSupply_wAWC: Supply-limited transpiration as the minimum of the fraction of total available water capacity and available moisture.

    • transpirationSupply_wAWCvegFraction: Supply-limited transpiration as the minimum of the fraction of total available water capacity and available moisture, scaled by vegetated fractions.

  • treeFraction: Tree cover fraction.

    • treeFraction_constant: Sets tree cover fraction as a constant value.

    • treeFraction_forcing: Gets tree cover fraction from forcing data.

  • vegAvailableWater: Plant available water (PAW), i.e., the amount of water available for transpiration.

    • vegAvailableWater_rootWaterEfficiency: PAW as a function of soil moisture and root water extraction efficiency.

    • vegAvailableWater_sigmoid: PAW using a sigmoid function of soil moisture.

  • vegFraction: Vegetation cover fraction.

    • vegFraction_constant: Sets vegetation fraction as a constant value.

    • vegFraction_forcing: Gets vegetation fraction from forcing data.

    • vegFraction_scaledEVI: Vegetation fraction as a linear function of EVI.

    • vegFraction_scaledLAI: Vegetation fraction as a linear function of LAI.

    • vegFraction_scaledNDVI: Vegetation fraction as a linear function of NDVI.

    • vegFraction_scaledNIRv: Vegetation fraction as a linear function of NIRv.

    • vegFraction_scaledfAPAR: Vegetation fraction as a linear function of fAPAR.

  • wCycle: Apply the delta storage changes to storage variables

    • wCycle_combined: computes the algebraic sum of storage and delta storage

    • wCycle_components: update the water cycle pools per component

    • wCycle_simple: update soilW assuming a simple model structure with only soilW pools

  • wCycleBase: Sets the basic structure of the water cycle storages.

    • wCycleBase_simple: Through wCycle.jl, adjust/update the variables for each storage separately and for TWS.
  • waterBalance: Water balance

    • waterBalance_simple: Simply checks the water balance as P-ET-R-ds/dt.

SindbadTypes

SindbadTEM.TEMTypes.SindbadTypes Type

SindbadTypes

Abstract type for all Julia types in SINDBAD models, frameworks and modules that are re-exported by Sindbad

Type Hierarchy

SindbadTypes <: Any


Extended help

Available methods/subtypes:

  • ArrayTypes: Abstract type for all array types in SINDBAD

    • ModelArrayType: Abstract type for internal model array types in SINDBAD

      • ModelArrayArray: Use standard Julia arrays for model variables

      • ModelArrayStaticArray: Use StaticArrays for model variables

      • ModelArrayView: Use array views for model variables

    • OutputArrayType: Abstract type for output array types in SINDBAD

      • OutputArray: Use standard Julia arrays for output

      • OutputMArray: Use MArray for output

      • OutputSizedArray: Use SizedArray for output

      • OutputYAXArray: Use YAXArray for output

  • InputTypes: Abstract type for input data and processing related options in SINDBAD

    • DataFormatBackend: Abstract type for input data backends in SINDBAD

      • BackendNetcdf: Use NetCDF format for input data

      • BackendZarr: Use Zarr format for input data

    • ForcingTime: Abstract type for forcing variable types in SINDBAD

      • ForcingWithTime: Forcing variable with time dimension

      • ForcingWithoutTime: Forcing variable without time dimension

    • InputArrayBackend: Abstract type for input data array types in SINDBAD

      • InputArray: Use standard Julia arrays for input data

      • InputKeyedArray: Use keyed arrays for input data

      • InputNamedDimsArray: Use named dimension arrays for input data

      • InputYaxArray: Use YAXArray for input data

    • SpatialSubsetter: Abstract type for spatial subsetting methods in SINDBAD

      • SpaceID: Use site ID (all caps) for spatial subsetting

      • SpaceId: Use site ID (capitalized) for spatial subsetting

      • Spaceid: Use site ID for spatial subsetting

      • Spacelat: Use latitude for spatial subsetting

      • Spacelatitude: Use full latitude for spatial subsetting

      • Spacelon: Use longitude for spatial subsetting

      • Spacelongitude: Use full longitude for spatial subsetting

      • Spacesite: Use site location for spatial subsetting

  • LandTypes: Abstract type for land related types that are typically used in preparing objects for model runs in SINDBAD

    • LandWrapperType: Abstract type for land wrapper types in SINDBAD

      • GroupView: Represents a group of data within a LandWrapper, allowing access to specific groups of variables.

      • LandWrapper: Wraps the nested fields of a NamedTuple output of SINDBAD land into a nested structure of views that can be easily accessed with dot notation.

    • PreAlloc: Abstract type for preallocated land helpers types in prepTEM of SINDBAD

      • PreAllocArray: use a preallocated array for model output

      • PreAllocArrayAll: use a preallocated array to output all land variables

      • PreAllocArrayFD: use a preallocated array for finite difference (FD) hybrid experiments

      • PreAllocArrayMT: use arrays of nThreads size for land model output for replicates of multiple threads

      • PreAllocStacked: save output as a stacked vector of land using map over temporal dimension

      • PreAllocTimeseries: save land output as a preallocated vector for time series of land

      • PreAllocYAXArray: use YAX arrays for model output

  • MachineLearningTypes: Abstract type for types in machine learning related methods in SINDBAD

    • ActivationType: Abstract type for activation functions used inMachine Learningmodels

      • CustomSigmoid: Use a custom sigmoid activation function. In this case, the k_σ parameter in ml_model sections of the settings is used to control the steepness of the sigmoid function.

      • FluxRelu: Use Flux.jl ReLU activation function

      • FluxSigmoid: Use Flux.jl Sigmoid activation function

      • FluxTanh: Use Flux.jl Tanh activation function

    • MachineLearningGradType: Abstract type for automatic differentiation or finite differences for gradient calculations

      • EnzymeGrad: Use Enzyme.jl for automatic differentiation

      • FiniteDiffGrad: Use FiniteDiff.jl for finite difference calculations

      • FiniteDifferencesGrad: Use FiniteDifferences.jl for finite difference calculations

      • ForwardDiffGrad: Use ForwardDiff.jl for automatic differentiation

      • PolyesterForwardDiffGrad: Use PolyesterForwardDiff.jl for automatic differentiation

      • ZygoteGrad: Use Zygote.jl for automatic differentiation

    • MachineLearningModelType: Abstract type for machine learning models used in SINDBAD

      • FluxDenseNN: simple dense neural network model implemented in Flux.jl
    • MachineLearningOptimizerType: Abstract type for optimizers used for trainingMachine Learningmodels in SINDBAD

      • OptimisersAdam: Use Optimisers.jl Adam optimizer for trainingMachine Learningmodels in SINDBAD

      • OptimisersDescent: Use Optimisers.jl Descent optimizer for trainingMachine Learningmodels in SINDBAD

    • MachineLearningTrainingType: Abstract type for training a hybrid algorithm in SINDBAD

      • CalcFoldFromSplit: Use a split of the data to calculate the folds for cross-validation. The default wat to calculate the folds is by splitting the data into k-folds. In this case, the split is done on the go based on the values given in ml_training.split_ratios and n_folds.

      • LoadFoldFromFile: Use precalculated data to load the folds for cross-validation. In this case, the data path has to be set under ml_training.fold_path and ml_training.which_fold. The data has to be in the format of a jld2 file with the following structure: /folds/0, /folds/1, /folds/2, ... /folds/n_folds. Each fold has to be a tuple of the form (train_indices, test_indices).

      • LossModelObsMachineLearning: Loss function using metrics between the predicted model and observation as defined in optimization.json

      • MixedGradient: Use a mixed gradient approach for training using gradient from multiple methods and combining them with pullback from zygote

  • ParameterOptimizationTypes: Abstract type for optimization related functions and methods in SINDBAD

    • CostMethod: Abstract type for cost calculation methods in SINDBAD

      • CostModelObs: cost calculation between model output and observations

      • CostModelObsLandTS: cost calculation between land model output and time series observations

      • CostModelObsMT: multi-threaded cost calculation between model output and observations

      • CostModelObsPriors: cost calculation between model output, observations, and priors. NOTE THAT THIS METHOD IS JUST A PLACEHOLDER AND DOES NOT CALCULATE PRIOR COST PROPERLY YET

    • DataAggrOrder: Abstract type for data aggregation order in SINDBAD

      • SpaceTime: Aggregate data first over space, then over time

      • TimeSpace: Aggregate data first over time, then over space

    • GSAMethod: Abstract type for global sensitivity analysis methods in SINDBAD

      • GSAMorris: Morris method for global sensitivity analysis

      • GSASobol: Sobol method for global sensitivity analysis

      • GSASobolDM: Sobol method with derivative-based measures for global sensitivity analysis

    • ParameterOptimizationMethod: Abstract type for optimization methods in SINDBAD

      • BayesOptKMaternARD5: Bayesian Optimization using Matern 5/2 kernel with Automatic Relevance Determination from BayesOpt.jl

      • CMAEvolutionStrategyCMAES: Covariance Matrix Adaptation Evolution Strategy (CMA-ES) from CMAEvolutionStrategy.jl

      • EvolutionaryCMAES: Evolutionary version of CMA-ES optimization from Evolutionary.jl

      • OptimBFGS: Broyden-Fletcher-Goldfarb-Shanno (BFGS) from Optim.jl

      • OptimLBFGS: Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) from Optim.jl

      • OptimizationBBOadaptive: Black Box Optimization with adaptive parameters from Optimization.jl

      • OptimizationBBOxnes: Black Box Optimization using Natural Evolution Strategy (xNES) from Optimization.jl

      • OptimizationBFGS: BFGS optimization with box constraints from Optimization.jl

      • OptimizationFminboxGradientDescent: Gradient descent optimization with box constraints from Optimization.jl

      • OptimizationFminboxGradientDescentFD: Gradient descent optimization with box constraints using forward differentiation from Optimization.jl

      • OptimizationGCMAESDef: Global CMA-ES optimization with default settings from Optimization.jl

      • OptimizationGCMAESFD: Global CMA-ES optimization using forward differentiation from Optimization.jl

      • OptimizationMultistartOptimization: Multi-start optimization to find global optimum from Optimization.jl

      • OptimizationNelderMead: Nelder-Mead simplex optimization method from Optimization.jl

      • OptimizationQuadDirect: Quadratic Direct optimization method from Optimization.jl

    • ParameterScaling: Abstract type for parameter scaling methods in SINDBAD

      • ScaleBounds: Scale parameters relative to their bounds

      • ScaleDefault: Scale parameters relative to default values

      • ScaleNone: No parameter scaling applied

    • SpatialDataAggr: Abstract type for spatial data aggregation methods in SINDBAD

    • SpatialMetricAggr: Abstract type for spatial metric aggregation methods in SINDBAD

      • MetricMaximum: Take maximum value across spatial dimensions

      • MetricMinimum: Take minimum value across spatial dimensions

      • MetricSpatial: Apply spatial aggregation to metrics

      • MetricSum: Sum values across spatial dimensions

  • SimulationTypes: Abstract type for model simulation run flags and experimental setup and simulations in SINDBAD

    • OutputStrategy: Abstract type for model output strategies in SINDBAD

      • DoNotOutputAll: Disable output of all model variables

      • DoNotSaveSingleFile: Save output variables in separate files

      • DoOutputAll: Enable output of all model variables

      • DoSaveSingleFile: Save all output variables in a single file

    • ParallelizationPackage: Abstract type for using different parallelization packages in SINDBAD

      • QbmapParallelization: Use Qbmap for parallelization

      • ThreadsParallelization: Use Julia threads for parallelization

    • RunFlag: Abstract type for model run configuration flags in SINDBAD

      • DoCalcCost: Enable cost calculation between model output and observations

      • DoFilterNanPixels: Enable filtering of NaN values in spatial data

      • DoNotCalcCost: Disable cost calculation between model output and observations

      • DoNotFilterNanPixels: Disable filtering of NaN values in spatial data

      • DoNotRunForward: Disable forward model run

      • DoNotRunOptimization: Disable model parameter optimization

      • DoNotSaveInfo: Disable saving of model information

      • DoNotSpinupTEM: Disable terrestrial ecosystem model spinup

      • DoNotStoreSpinup: Disable storing of spinup results

      • DoNotUseForwardDiff: Disable forward mode automatic differentiation

      • DoRunForward: Enable forward model run

      • DoRunOptimization: Enable model parameter optimization

      • DoSaveInfo: Enable saving of model information

      • DoSpinupTEM: Enable terrestrial ecosystem model spinup

      • DoStoreSpinup: Enable storing of spinup results

      • DoUseForwardDiff: Enable forward mode automatic differentiation

  • SpinupTypes: Abstract type for model spinup related functions and methods in SINDBAD

    • SpinupMode: Abstract type for model spinup modes in SINDBAD

      • AllForwardModels: Use all forward models for spinup

      • EtaScaleA0H: scale carbon pools using diagnostic scalars for ηH and c_remain

      • EtaScaleA0HCWD: scale carbon pools of CWD (cLitSlow) using ηH and set vegetation pools to c_remain

      • EtaScaleAH: scale carbon pools using diagnostic scalars for ηH and ηA

      • EtaScaleAHCWD: scale carbon pools of CWD (cLitSlow) using ηH and scale vegetation pools by ηA

      • NlsolveFixedpointTrustregionCEco: use a fixed-point nonlinear solver with trust region for carbon pools (cEco)

      • NlsolveFixedpointTrustregionCEcoTWS: use a fixed-point nonlinear solver with trust region for both cEco and TWS

      • NlsolveFixedpointTrustregionTWS: use a fixed-point nonlinearsolver with trust region for Total Water Storage (TWS)

      • ODEAutoTsit5Rodas5: use the AutoVern7(Rodas5) method from DifferentialEquations.jl for solving ODEs

      • ODEDP5: use the DP5 method from DifferentialEquations.jl for solving ODEs

      • ODETsit5: use the Tsit5 method from DifferentialEquations.jl for solving ODEs

      • SSPDynamicSSTsit5: use the SteadyState solver with DynamicSS and Tsit5 methods

      • SSPSSRootfind: use the SteadyState solver with SSRootfind method

      • SelSpinupModels: run only the models selected for spinup in the model structure

      • Spinup_TWS: Spinup spinup_mode for Total Water Storage (TWS)

      • Spinup_cEco: Spinup spinup_mode for cEco

      • Spinup_cEco_TWS: Spinup spinup_mode for cEco and TWS

    • SpinupSequence: Basic Spinup sequence without time aggregation

    • SpinupSequenceWithAggregator: Spinup sequence with time aggregation for corresponding forcingtime series

  • DoCatchModelErrors: Enable error catching during model execution

  • DoDebugModel: Enable model debugging mode

  • DoInlineUpdate: Enable inline updates of model state

  • DoNotCatchModelErrors: Disable error catching during model execution

  • DoNotDebugModel: Disable model debugging mode

  • DoNotInlineUpdate: Disable inline updates of model state

  • LandEcosystem: Abstract type for all SINDBAD land ecosystem models/approaches

    • EVI: Enhanced Vegetation Index

      • EVI_constant: Sets EVI as a constant value.

      • EVI_forcing: Gets EVI from forcing data.

    • LAI: Leaf Area Index

      • LAI_cVegLeaf: LAI as a function of cVegLeaf and SLA.

      • LAI_constant: sets LAI as a constant value.

      • LAI_forcing: Gets LAI from forcing data.

    • NDVI: Normalized Difference Vegetation Index.

      • NDVI_constant: Sets NDVI as a constant value.

      • NDVI_forcing: Gets NDVI from forcing data.

    • NDWI: Normalized Difference Water Index.

      • NDWI_constant: Sets NDWI as a constant value.

      • NDWI_forcing: Gets NDWI from forcing data.

    • NIRv: Near-infrared reflectance of terrestrial vegetation.

      • NIRv_constant: Sets NIRv as a constant value.

      • NIRv_forcing: Gets NIRv from forcing data.

    • PET: Potential evapotranspiration.

      • PET_Lu2005: Calculates PET using Lu et al. (2005) method.

      • PET_PriestleyTaylor1972: Calculates PET using Priestley-Taylor (1972) method.

      • PET_forcing: Gets PET from forcing data.

    • PFT: Plant Functional Type (PFT) classification.

      • PFT_constant: Sets a uniform PFT class.
    • WUE: Water Use Efficiency (WUE).

      • WUE_Medlyn2011: Calculates WUE as a function of daytime mean VPD and ambient CO₂, following Medlyn et al. (2011).

      • WUE_VPDDay: Calculates WUE as a function of WUE at 1 hPa and daily mean VPD.

      • WUE_VPDDayCo2: Calculates WUE as a function of WUE at 1 hPa daily mean VPD and linear CO₂ relationship.

      • WUE_constant: Sets WUE as a constant value.

      • WUE_expVPDDayCo2: Calculates WUE as a function of WUE at 1 hPa, daily mean VPD, and an exponential CO₂ relationship.

    • ambientCO2: Ambient CO₂ concentration.

      • ambientCO2_constant: Sets ambient CO₂ to a constant value.

      • ambientCO2_forcing: Gets ambient CO₂ from forcing data.

    • autoRespiration: Autotrophic respiration for growth and maintenance.

      • autoRespiration_Thornley2000A: Calculates autotrophic maintenance and growth respiration using Thornley and Cannell (2000) Model A, where maintenance respiration is prioritized.

      • autoRespiration_Thornley2000B: Calculates autotrophic maintenance and growth respiration using Thornley and Cannell (2000) Model B, where growth respiration is prioritized.

      • autoRespiration_Thornley2000C: Calculates autotrophic maintenance and growth respiration using Thornley and Cannell (2000) Model C, which includes growth, degradation, and resynthesis.

      • autoRespiration_none: Sets autotrophic respiration fluxes to 0.

    • autoRespirationAirT: Effect of air temperature on autotrophic respiration.

      • autoRespirationAirT_Q10: Calculates the effect of air temperature on maintenance respiration using a Q10 function.

      • autoRespirationAirT_none: No air temperature effect on autotrophic respiration.

    • cAllocation: Allocation fraction of NPP to different vegetation pools.

      • cAllocation_Friedlingstein1999: Dynamically allocates carbon based on LAI, moisture, and nutrient availability, following Friedlingstein et al. (1999).

      • cAllocation_GSI: Dynamically allocates carbon based on temperature, water, and radiation stressors following the GSI approach.

      • cAllocation_fixed: Sets carbon allocation to each pool using fixed allocation parameters.

      • cAllocation_none: Sets carbon allocation to 0.

    • cAllocationLAI: Estimates allocation to the leaf pool given light limitation constraints to photosynthesis, using LAI dynamics.

      • cAllocationLAI_Friedlingstein1999: Estimates the effect of light limitation on carbon allocation via LAI, based on Friedlingstein et al. (1999).

      • cAllocationLAI_none: Sets the LAI effect on allocation to 1 (no effect).

    • cAllocationNutrients: Pseudo-effect of nutrients on carbon allocation.

      • cAllocationNutrients_Friedlingstein1999: Calculates pseudo-nutrient limitation based on Friedlingstein et al. (1999).

      • cAllocationNutrients_none: Sets the pseudo-nutrient limitation to 1 (no effect).

    • cAllocationRadiation: Effect of radiation on carbon allocation.

      • cAllocationRadiation_GSI: Calculates the radiation effect on allocation using the GSI method.

      • cAllocationRadiation_RgPot: Calculates the radiation effect on allocation using potential radiation instead of actual radiation.

      • cAllocationRadiation_gpp: Sets the radiation effect on allocation equal to that for GPP.

      • cAllocationRadiation_none: Sets the radiation effect on allocation to 1 (no effect).

    • cAllocationSoilT: Effect of soil temperature on carbon allocation.

      • cAllocationSoilT_Friedlingstein1999: Calculates the partial temperature effect on decomposition and mineralization based on Friedlingstein et al. (1999).

      • cAllocationSoilT_gpp: Sets the temperature effect on allocation equal to that for GPP.

      • cAllocationSoilT_gppGSI: Calculates the temperature effect on allocation as for GPP using the GSI approach.

      • cAllocationSoilT_none: Sets the temperature effect on allocation to 1 (no effect).

    • cAllocationSoilW: Effect of soil moisture on carbon allocation.

      • cAllocationSoilW_Friedlingstein1999: Calculates the partial moisture effect on decomposition and mineralization based on Friedlingstein et al. (1999).

      • cAllocationSoilW_gpp: Sets the moisture effect on allocation equal to that for GPP.

      • cAllocationSoilW_gppGSI: Calculates the moisture effect on allocation as for GPP using the GSI approach.

      • cAllocationSoilW_none: Sets the moisture effect on allocation to 1 (no effect).

    • cAllocationTreeFraction: Adjusts carbon allocation according to tree cover.

      • cAllocationTreeFraction_Friedlingstein1999: Adjusts allocation coefficients according to the fraction of trees to herbaceous plants and fine to coarse root partitioning.
    • cBiomass: Computes aboveground biomass (AGB).

      • cBiomass_simple: Calculates AGB simply as the sum of wood and leaf carbon pools.

      • cBiomass_treeGrass: Considers the tree-grass fraction to include different vegetation pools while calculating AGB. For Eddy Covariance sites with tree cover, AGB = leaf + wood biomass. For grass-only sites, AGB is set to the wood biomass, which is constrained to be near 0 after optimization.

      • cBiomass_treeGrass_cVegReserveScaling: Same as cBiomass_treeGrass.jl, but includes scaling for the relative fraction of the reserve carbon to not allow for large reserve compared to the rest of the vegetation carbol pool.

    • cCycle: Compute fluxes and changes (cycling) of carbon pools.

      • cCycle_CASA: Carbon cycle wtih components based on the CASA approach.

      • cCycle_GSI: Carbon cycle with components based on the GSI approach, including carbon allocation, transfers, and turnover rates.

      • cCycle_simple: Carbon cycle with components based on the simplified version of the CASA approach.

    • cCycleBase: Defines the base properties of the carbon cycle components. For example, components of carbon pools, their turnover rates, and flow matrix.

      • cCycleBase_CASA: Structure and properties of the carbon cycle components used in the CASA approach.

      • cCycleBase_GSI: Structure and properties of the carbon cycle components as needed for a dynamic phenology-based carbon cycle in the GSI approach.

      • cCycleBase_GSI_PlantForm: Same as GSI, additionally allowing for scaling of turnover parameters based on plant forms.

      • cCycleBase_GSI_PlantForm_LargeKReserve: Same as cCycleBase_GSI_PlantForm, but with a default of larger turnover of reserve pool so that it respires and flows.

      • cCycleBase_simple: Structure and properties of the carbon cycle components as needed for a simplified version of the CASA approach.

    • cCycleConsistency: Consistency and sanity checks in carbon allocation and transfers.

      • cCycleConsistency_simple: Checks consistency in the cCycle vector, including c_allocation and cFlow.
    • cCycleDisturbance: Disturbance of the carbon cycle pools.

      • cCycleDisturbance_WROASTED: Moves carbon in reserve pool to slow litter pool, and all other carbon pools except reserve pool to their respective carbon flow target pools during disturbance events.

      • cCycleDisturbance_cFlow: Moves carbon in all pools except reserve to their respective carbon flow target pools during disturbance events.

    • cFlow: Transfer rates for carbon flow between different pools.

      • cFlow_CASA: Carbon transfer rates between pools as modeled in CASA.

      • cFlow_GSI: Carbon transfer rates between pools based on the GSI approach, using stressors such as soil moisture, temperature, and light.

      • cFlow_none: Sets carbon transfers between pools to 0 (no transfer); sets c_giver and c_taker matrices to empty; retrieves the transfer matrix.

      • cFlow_simple: Carbon transfer rates between pools modeled a simplified version of CASA.

    • cFlowSoilProperties: Effect of soil properties on carbon transfers between pools.

      • cFlowSoilProperties_CASA: Effect of soil properties on carbon transfers between pools as modeled in CASA.

      • cFlowSoilProperties_none: Sets carbon transfers between pools to 0 (no transfer).

    • cFlowVegProperties: Effect of vegetation properties on carbon transfers between pools.

      • cFlowVegProperties_CASA: Effect of vegetation properties on carbon transfers between pools as modeled in CASA.

      • cFlowVegProperties_none: Sets carbon transfers between pools to 0 (no transfer).

    • cTau: Actual decomposition/turnover rates of all carbon pools considering the effect of stressors.

      • cTau_mult: Combines all effects that change the turnover rates by multiplication.

      • cTau_none: Sets the decomposition/turnover rates of all carbon pools to 0, i.e., no carbon decomposition and flow.

    • cTauLAI: Effect of LAI on turnover rates of carbon pools.

      • cTauLAI_CASA: Effect of LAI on turnover rates and computes the seasonal cycle of litterfall and root litterfall based on LAI variations, as modeled in CASA.

      • cTauLAI_none: Sets the litterfall scalar values to 1 (no LAI effect).

    • cTauSoilProperties: Effect of soil texture on soil decomposition rates

      • cTauSoilProperties_CASA: Compute soil texture effects on turnover rates [k] of cMicSoil

      • cTauSoilProperties_none: Set soil texture effects to ones (ineficient, should be pix zix_mic)

    • cTauSoilT: Effect of soil temperature on decomposition rates.

      • cTauSoilT_Q10: Effect of soil temperature on decomposition rates using a Q10 function.

      • cTauSoilT_none: Sets the effect of soil temperature on decomposition rates to 1 (no temperature effect).

    • cTauSoilW: Effect of soil moisture on decomposition rates.

      • cTauSoilW_CASA: Effect of soil moisture on decomposition rates as modeled in CASA, using the belowground moisture effect (BGME) from the Century model.

      • cTauSoilW_GSI: Effect of soil moisture on decomposition rates based on the GSI approach.

      • cTauSoilW_none: Sets the effect of soil moisture on decomposition rates to 1 (no moisture effect).

    • cTauVegProperties: Effect of vegetation properties on soil decomposition rates.

      • cTauVegProperties_CASA: Effect of vegetation type on decomposition rates as modeled in CASA.

      • cTauVegProperties_none: Sets the effect of vegetation properties on decomposition rates to 1 (no vegetation effect).

    • cVegetationDieOff: Fraction of vegetation pools that die off.

      • cVegetationDieOff_forcing: Get the fraction of vegetation that die off from forcing data.
    • capillaryFlow: Capillary flux of water from lower to upper soil layers (upward soil moisture movement).

      • capillaryFlow_VanDijk2010: Computes the upward capillary flux of water through soil layers using the Van Dijk (2010) method.
    • constants: Defines constants and variables that are independent of model structure.

      • constants_numbers: Includes constants for numbers such as 1 to 10.
    • deriveVariables: Derives additional variables based on other SINDBAD models and saves them into land.deriveVariables.

      • deriveVariables_simple: Incudes derivation of few variables that may be commonly needed for optimization against some datasets.
    • drainage: Drainage flux of water from upper to lower soil layers.

      • drainage_dos: Drainage flux based on an exponential function of soil moisture degree of saturation.

      • drainage_kUnsat: Drainage flux based on unsaturated hydraulic conductivity.

      • drainage_wFC: Drainage flux based on overflow above field capacity.

    • evaporation: Bare soil evaporation.

      • evaporation_Snyder2000: Bare soil evaporation using the relative drying rate of soil following Snyder (2000).

      • evaporation_bareFraction: Bare soil evaporation from the non-vegetated fraction of the grid as a linear function of soil moisture and potential evaporation.

      • evaporation_demandSupply: Bare soil evaporation using a demand-supply limited approach.

      • evaporation_fAPAR: Bare soil evaporation from the non-absorbed fAPAR (as a proxy for vegetation fraction) and potential evaporation.

      • evaporation_none: Bare soil evaporation set to 0.

      • evaporation_vegFraction: Bare soil evaporation from the non-vegetated fraction and potential evaporation.

    • evapotranspiration: Evapotranspiration.

      • evapotranspiration_simple: calculates evapotranspiration as a simple linear function of soil moisture

      • evapotranspiration_sum: Evapotranspiration as a sum of all potential components

    • fAPAR: Fraction of absorbed photosynthetically active radiation.

      • fAPAR_EVI: fAPAR as a linear function of EVI.

      • fAPAR_LAI: fAPAR as a function of LAI.

      • fAPAR_cVegLeaf: fAPAR based on the carbon pool of leaves, specific leaf area (SLA), and kLAI.

      • fAPAR_cVegLeafBareFrac: fAPAR based on the carbon pool of leaves, but only for the vegetated fraction.

      • fAPAR_constant: Sets fAPAR as a constant value.

      • fAPAR_forcing: Gets fAPAR from forcing data.

      • fAPAR_vegFraction: fAPAR as a linear function of vegetation fraction.

    • getPools: Retrieves the amount of water at the beginning of the time step.

      • getPools_simple: Simply take throughfall as the maximum available water.
    • gpp: Gross Primary Productivity (GPP).

      • gpp_coupled: GPP based on transpiration supply and water use efficiency (coupled).

      • gpp_min: GPP with potential scaled by the minimum stress scalar of demand and supply for uncoupled model structures.

      • gpp_mult: GPP with potential scaled by the product of stress scalars of demand and supply for uncoupled model structures.

      • gpp_none: Sets GPP to 0.

      • gpp_transpirationWUE: GPP based on transpiration and water use efficiency.

    • gppAirT: Effect of temperature on GPP: 1 indicates no temperature stress, 0 indicates complete stress.

      • gppAirT_CASA: Temperature effect on GPP based as implemented in CASA.

      • gppAirT_GSI: Temperature effect on GPP based on the GSI implementation of LPJ.

      • gppAirT_MOD17: Temperature effect on GPP based on the MOD17 model.

      • gppAirT_Maekelae2008: Temperature effect on GPP based on Maekelae (2008).

      • gppAirT_TEM: Temperature effect on GPP based on the TEM model.

      • gppAirT_Wang2014: Temperature effect on GPP based on Wang (2014).

      • gppAirT_none: Sets temperature stress on GPP to 1 (no stress).

    • gppDemand: Combined effect of environmental demand on GPP.

      • gppDemand_min: Demand GPP as the minimum of all stress scalars (most limiting factor).

      • gppDemand_mult: Demand GPP as the product of all stress scalars.

      • gppDemand_none: Sets the scalar for demand GPP to 1 and demand GPP to 0.

    • gppDiffRadiation: Effect of diffuse radiation (Cloudiness scalar) on GPP: 1 indicates no diffuse radiation effect, 0 indicates complete effect.

      • gppDiffRadiation_GSI: Cloudiness scalar (radiation diffusion) on GPP potential based on the GSI implementation of LPJ.

      • gppDiffRadiation_Turner2006: Cloudiness scalar (radiation diffusion) on GPP potential based on Turner (2006).

      • gppDiffRadiation_Wang2015: Cloudiness scalar (radiation diffusion) on GPP potential based on Wang (2015).

      • gppDiffRadiation_none: Sets the cloudiness scalar (radiation diffusion) for GPP potential to 1.

    • gppDirRadiation: Effect of direct radiation (light effect) on GPP: 1 indicates no direct radiation effect, 0 indicates complete effect.

      • gppDirRadiation_Maekelae2008: Light saturation scalar (light effect) on GPP potential based on Maekelae (2008).

      • gppDirRadiation_none: Sets the light saturation scalar (light effect) on GPP potential to 1.

    • gppPotential: Potential GPP based on maximum instantaneous radiation use efficiency.

      • gppPotential_Monteith: Potential GPP based on radiation use efficiency model/concept of Monteith.
    • gppSoilW: Effect of soil moisture on GPP: 1 indicates no soil water stress, 0 indicates complete stress.

      • gppSoilW_CASA: Soil moisture stress on GPP potential based on base stress and the relative ratio of PET and PAW (CASA).

      • gppSoilW_GSI: Soil moisture stress on GPP potential based on the GSI implementation of LPJ.

      • gppSoilW_Keenan2009: Soil moisture stress on GPP potential based on Keenan (2009).

      • gppSoilW_Stocker2020: Soil moisture stress on GPP potential based on Stocker (2020).

      • gppSoilW_none: Sets soil moisture stress on GPP potential to 1 (no stress).

    • gppVPD: Effect of vapor pressure deficit (VPD) on GPP: 1 indicates no VPD stress, 0 indicates complete stress.

      • gppVPD_MOD17: VPD stress on GPP potential based on the MOD17 model.

      • gppVPD_Maekelae2008: VPD stress on GPP potential based on Maekelae (2008).

      • gppVPD_PRELES: VPD stress on GPP potential based on Maekelae (2008) and includes the CO₂ effect based on the PRELES model.

      • gppVPD_expco2: VPD stress on GPP potential based on Maekelae (2008) and includes the CO₂ effect.

      • gppVPD_none: Sets VPD stress on GPP potential to 1 (no stress).

    • groundWRecharge: Groundwater recharge.

      • groundWRecharge_dos: Groundwater recharge as an exponential function of the degree of saturation of the lowermost soil layer.

      • groundWRecharge_fraction: Groundwater recharge as a fraction of the moisture in the lowermost soil layer.

      • groundWRecharge_kUnsat: Groundwater recharge as the unsaturated hydraulic conductivity of the lowermost soil layer.

      • groundWRecharge_none: Sets groundwater recharge to 0.

    • groundWSoilWInteraction: Groundwater-soil moisture interactions (e.g., capillary flux, water exchange).

      • groundWSoilWInteraction_VanDijk2010: Upward flow of water from groundwater to the lowermost soil layer using the Van Dijk (2010) method.

      • groundWSoilWInteraction_gradient: Delayed/Buffer storage that gives water to the soil when the soil is dry and receives water from the soil when the buffer is low.

      • groundWSoilWInteraction_gradientNeg: Delayed/Buffer storage that does not give water to the soil when the soil is dry, but receives water from the soil when the soil is wet and the buffer is low.

      • groundWSoilWInteraction_none: Sets groundwater capillary flux to 0 for no interaction between soil moisture and groundwater.

    • groundWSurfaceWInteraction: Water exchange between surface and groundwater.

      • groundWSurfaceWInteraction_fracGradient: Moisture exchange between groundwater and surface water as a fraction of the difference between their storages.

      • groundWSurfaceWInteraction_fracGroundW: Depletion of groundwater to surface water as a fraction of groundwater storage.

    • interception: Interception loss.

      • interception_Miralles2010: Interception loss according to the Gash model of Miralles, 2010.

      • interception_fAPAR: Interception loss as a fraction of fAPAR.

      • interception_none: Sets interception loss to 0.

      • interception_vegFraction: Interception loss as a fraction of vegetation cover.

    • percolation: Percolation through the top of soil

      • percolation_WBP: Percolation as a difference of throughfall and surface runoff loss.

      • percolation_rain: calculate percolation = rain, assuming no surface runoff losses

    • plantForm: Plant form of the ecosystem.

      • plantForm_PFT: Differentiate plant form based on PFT.

      • plantForm_fixed: Sets plant form to a fixed form with 1: tree, 2: shrub, 3:herb. Assumes tree as default.

    • rainIntensity: Rainfall intensity.

      • rainIntensity_forcing: Gets rainfall intensity from forcing data.

      • rainIntensity_simple: Rainfall intensity as a linear function of rainfall amount.

    • rainSnow: Rain and snow partitioning.

      • rainSnow_Tair: Rain and snow partitioning based on a temperature threshold.

      • rainSnow_forcing: Sets rainfall and snowfall from forcing data, with snowfall scaled if the snowfall_scalar parameter is optimized.

      • rainSnow_rain: All precipitation is assumed to be liquid rain with 0 snowfall.

    • rootMaximumDepth: Maximum rooting depth.

      • rootMaximumDepth_fracSoilD: Maximum rooting depth as a fraction of total soil depth.
    • rootWaterEfficiency: Water uptake efficiency by roots for each soil layer.

      • rootWaterEfficiency_constant: Water uptake efficiency by roots set as a constant for each soil layer.

      • rootWaterEfficiency_expCvegRoot: Water uptake efficiency by roots set according to total root carbon.

      • rootWaterEfficiency_k2Layer: Water uptake efficiency by roots set as a calibration parameter for each soil layer (for two soil layers).

      • rootWaterEfficiency_k2fRD: Water uptake efficiency by roots set as a function of vegetation fraction, and for the second soil layer, as a function of rooting depth from different datasets.

      • rootWaterEfficiency_k2fvegFraction: Water uptake efficiency by roots set as a function of vegetation fraction, and for the second soil layer, as a function of rooting depth from different datasets, which is further scaled by the vegetation fraction.

    • rootWaterUptake: Root water uptake from soil.

      • rootWaterUptake_proportion: Root uptake from each soil layer proportional to the relative plant water availability in the layer.

      • rootWaterUptake_topBottom: Root uptake from each soil layer from top to bottom, using maximul available water in each layer.

    • runoff: Total runoff.

      • runoff_simple: calculates runoff as a simple linear function of soil moisture

      • runoff_sum: Runoff as a sum of all potential components.

    • runoffBase: Baseflow.

      • runoffBase_Zhang2008: Baseflow from a linear groundwater storage following Zhang (2008).

      • runoffBase_none: Sets base runoff to 0.

    • runoffInfiltrationExcess: Infiltration excess runoff.

      • runoffInfiltrationExcess_Jung: Infiltration excess runoff as a function of rain intensity and vegetated fraction.

      • runoffInfiltrationExcess_kUnsat: Infiltration excess runoff based on unsaturated hydraulic conductivity.

      • runoffInfiltrationExcess_none: Sets infiltration excess runoff to 0.

    • runoffInterflow: Interflow runoff.

      • runoffInterflow_none: Sets interflow runoff to 0.

      • runoffInterflow_residual: Interflow as a fraction of the available water balance pool.

    • runoffOverland: Total overland runoff that passes to surface storage.

      • runoffOverland_Inf: Overland flow due to infiltration excess runoff.

      • runoffOverland_InfIntSat: Overland flow as the sum of infiltration excess, interflow, and saturation excess runoffs.

      • runoffOverland_Sat: Overland flow due to saturation excess runoff.

      • runoffOverland_none: Sets overland runoff to 0.

    • runoffSaturationExcess: Saturation excess runoff.

      • runoffSaturationExcess_Bergstroem1992: Saturation excess runoff using the original Bergström method.

      • runoffSaturationExcess_Bergstroem1992MixedVegFraction: Saturation excess runoff using the Bergström method with separate parameters for vegetated and non-vegetated fractions.

      • runoffSaturationExcess_Bergstroem1992VegFraction: Saturation excess runoff using the Bergström method with parameters scaled by vegetation fraction.

      • runoffSaturationExcess_Bergstroem1992VegFractionFroSoil: Saturation excess runoff using the Bergström method with parameters scaled by vegetation fraction and frozen soil fraction.

      • runoffSaturationExcess_Bergstroem1992VegFractionPFT: Saturation excess runoff using the Bergström method with parameters scaled by vegetation fraction separated by different PFTs.

      • runoffSaturationExcess_Zhang2008: Saturation excess runoff as a function of incoming water and PET following Zhang (2008).

      • runoffSaturationExcess_none: Sets saturation excess runoff to 0.

      • runoffSaturationExcess_satFraction: Saturation excess runoff as a fraction of the saturated fraction of a grid-cell.

    • runoffSurface: Surface runoff generation.

      • runoffSurface_Orth2013: Surface runoff directly calculated using delay coefficient for the last 60 days based on the Orth et al. (2013) method.

      • runoffSurface_Trautmann2018: Surface runoff directly calculated using delay coefficient for the last 60 days based on the Orth et al. (2013) method, but with a different delay coefficient as implemented in Trautmann et al. (2018).

      • runoffSurface_all: All overland runoff generates surface runoff.

      • runoffSurface_directIndirect: Surface runoff as the sum of the direct fraction of overland runoff and the indirect fraction of surface water storage.

      • runoffSurface_directIndirectFroSoil: Surface runoff as the sum of the direct fraction of overland runoff and the indirect fraction of surface water storage, with the direct fraction additionally dependent on the frozen fraction of the grid.

      • runoffSurface_indirect: All overland runoff is collected in surface water storage first, which in turn generates indirect surface runoff.

      • runoffSurface_none: Sets surface runoff to 0.

    • saturatedFraction: Saturated fraction of a grid-cell.

      • saturatedFraction_none: Sets the saturated soil fraction to 0.
    • snowFraction: Snow cover fraction.

      • snowFraction_HTESSEL: Snow cover fraction following the HTESSEL approach.

      • snowFraction_binary: Snow cover fraction using a binary approach.

      • snowFraction_none: Sets the snow cover fraction to 0.

    • snowMelt: Snowmelt.

      • snowMelt_Tair: Snowmelt as a function of air temperature.

      • snowMelt_TairRn: Snowmelt based on temperature and net radiation when air temperature exceeds 0°C.

    • soilProperties: Soil hydraulic properties.

      • soilProperties_Saxton1986: Soil hydraulic properties based on Saxton (1986).

      • soilProperties_Saxton2006: Soil hydraulic properties based on Saxton (2006).

    • soilTexture: Soil texture (sand, silt, clay, and organic matter fraction).

      • soilTexture_constant: Sets soil texture properties as constant values.

      • soilTexture_forcing: Gets Soil texture properties from forcing data.

    • soilWBase: Base soil hydraulic properties over soil layers.

      • soilWBase_smax1Layer: Maximum soil water content of one soil layer as a fraction of total soil depth, based on the Trautmann et al. (2018) model.

      • soilWBase_smax2Layer: Maximum soil water content of two soil layers as fractions of total soil depth, based on the older version of the Pre-Tokyo Model.

      • soilWBase_smax2fRD4: Maximum soil water content of two soil layers: the first layer as a fraction of soil depth, the second as a linear combination of scaled rooting depth data from forcing.

      • soilWBase_uniform: Soil hydraulic properties distributed for different soil layers assuming a uniform vertical distribution.

    • sublimation: Snow sublimation.

      • sublimation_GLEAM: Sublimation using the Priestley-Taylor term following the GLEAM approach.

      • sublimation_none: Sets snow sublimation to 0.

    • transpiration: Transpiration.

      • transpiration_coupled: Transpiration as a function of GPP and WUE.

      • transpiration_demandSupply: Transpiration as the minimum of supply and demand.

      • transpiration_none: Sets transpiration to 0.

    • transpirationDemand: Demand-limited transpiration.

      • transpirationDemand_CASA: Demand-limited transpiration as a function of volumetric soil content and soil properties, as in the CASA model.

      • transpirationDemand_PET: Demand-limited transpiration as a function of PET and a vegetation parameter.

      • transpirationDemand_PETfAPAR: Demand-limited transpiration as a function of PET and fAPAR.

      • transpirationDemand_PETvegFraction: Demand-limited transpiration as a function of PET, a vegetation parameter, and vegetation fraction.

    • transpirationSupply: Supply-limited transpiration.

      • transpirationSupply_CASA: Supply-limited transpiration as a function of volumetric soil content and soil properties, as in the CASA model.

      • transpirationSupply_Federer1982: Supply-limited transpiration as a function of a maximum rate parameter and available water, following Federer (1982).

      • transpirationSupply_wAWC: Supply-limited transpiration as the minimum of the fraction of total available water capacity and available moisture.

      • transpirationSupply_wAWCvegFraction: Supply-limited transpiration as the minimum of the fraction of total available water capacity and available moisture, scaled by vegetated fractions.

    • treeFraction: Tree cover fraction.

      • treeFraction_constant: Sets tree cover fraction as a constant value.

      • treeFraction_forcing: Gets tree cover fraction from forcing data.

    • vegAvailableWater: Plant available water (PAW), i.e., the amount of water available for transpiration.

      • vegAvailableWater_rootWaterEfficiency: PAW as a function of soil moisture and root water extraction efficiency.

      • vegAvailableWater_sigmoid: PAW using a sigmoid function of soil moisture.

    • vegFraction: Vegetation cover fraction.

      • vegFraction_constant: Sets vegetation fraction as a constant value.

      • vegFraction_forcing: Gets vegetation fraction from forcing data.

      • vegFraction_scaledEVI: Vegetation fraction as a linear function of EVI.

      • vegFraction_scaledLAI: Vegetation fraction as a linear function of LAI.

      • vegFraction_scaledNDVI: Vegetation fraction as a linear function of NDVI.

      • vegFraction_scaledNIRv: Vegetation fraction as a linear function of NIRv.

      • vegFraction_scaledfAPAR: Vegetation fraction as a linear function of fAPAR.

    • wCycle: Apply the delta storage changes to storage variables

      • wCycle_combined: computes the algebraic sum of storage and delta storage

      • wCycle_components: update the water cycle pools per component

      • wCycle_simple: update soilW assuming a simple model structure with only soilW pools

    • wCycleBase: Sets the basic structure of the water cycle storages.

      • wCycleBase_simple: Through wCycle.jl, adjust/update the variables for each storage separately and for TWS.
    • waterBalance: Water balance

      • waterBalance_simple: Simply checks the water balance as P-ET-R-ds/dt.