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
DoCatchModelErrorsDispatch type to enable error catching during model execution.
DoDebugModel
SindbadTEM.TEMTypes.DoDebugModel Type
DoDebugModelDispatch 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
DoInlineUpdateDispatch type to enable inline updates of model state (within a single time step).
DoNotCatchModelErrors
SindbadTEM.TEMTypes.DoNotCatchModelErrors Type
DoNotCatchModelErrorsDispatch type to disable error catching during model execution.
DoNotDebugModel
SindbadTEM.TEMTypes.DoNotDebugModel Type
DoNotDebugModelDispatch type to disable debug mode for model execution.
DoNotInlineUpdate
SindbadTEM.TEMTypes.DoNotInlineUpdate Type
DoNotInlineUpdateDispatch 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 variablesprecompute: Update variables with new realizationscompute: Update model state in timeupdate: Update pools within a single time step
Examples
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
endExtended help
LandEcosystem
Abstract type for all SINDBAD land ecosystem models/approaches
Available methods/subtypes:
EVI: Enhanced Vegetation IndexEVI_constant: Sets EVI as a constant value.EVI_forcing: Gets EVI from forcing data.
LAI: Leaf Area IndexLAI_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 AGBsimplyas 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 ascBiomass_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 ratescTauSoilProperties_CASA: Compute soil texture effects on turnover rates [k] of cMicSoilcTauSoilProperties_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 moistureevapotranspiration_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 soilpercolation_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 moisturerunoff_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 variableswCycle_combined: computes the algebraic sum of storage and delta storagewCycle_components: update the water cycle pools per componentwCycle_simple: update soilW assuming a simple model structure with only soilW pools
wCycleBase: Sets the basic structure of the water cycle storages.wCycleBase_simple: ThroughwCycle.jl, adjust/update the variables for each storage separately and for TWS.
waterBalance: Water balancewaterBalance_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 SINDBADModelArrayType: Abstract type for internal model array types in SINDBADModelArrayArray: Use standard Julia arrays for model variablesModelArrayStaticArray: Use StaticArrays for model variablesModelArrayView: Use array views for model variables
OutputArrayType: Abstract type for output array types in SINDBADOutputArray: Use standard Julia arrays for outputOutputMArray: Use MArray for outputOutputSizedArray: Use SizedArray for outputOutputYAXArray: Use YAXArray for output
InputTypes: Abstract type for input data and processing related options in SINDBADDataFormatBackend: Abstract type for input data backends in SINDBADBackendNetcdf: Use NetCDF format for input dataBackendZarr: Use Zarr format for input data
ForcingTime: Abstract type for forcing variable types in SINDBADForcingWithTime: Forcing variable with time dimensionForcingWithoutTime: Forcing variable without time dimension
InputArrayBackend: Abstract type for input data array types in SINDBADInputArray: Use standard Julia arrays for input dataInputKeyedArray: Use keyed arrays for input dataInputNamedDimsArray: Use named dimension arrays for input dataInputYaxArray: Use YAXArray for input data
SpatialSubsetter: Abstract type for spatial subsetting methods in SINDBADSpaceID: Use site ID (all caps) for spatial subsettingSpaceId: Use site ID (capitalized) for spatial subsettingSpaceid: Use site ID for spatial subsettingSpacelat: Use latitude for spatial subsettingSpacelatitude: Use full latitude for spatial subsettingSpacelon: Use longitude for spatial subsettingSpacelongitude: Use full longitude for spatial subsettingSpacesite: Use site location for spatial subsetting
LandTypes: Abstract type for land related types that are typically used in preparing objects for model runs in SINDBADLandWrapperType: Abstract type for land wrapper types in SINDBADGroupView: Represents a group of data within aLandWrapper, 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 SINDBADPreAllocArray: use a preallocated array for model outputPreAllocArrayAll: use a preallocated array to output all land variablesPreAllocArrayFD: use a preallocated array for finite difference (FD) hybrid experimentsPreAllocArrayMT: use arrays of nThreads size for land model output for replicates of multiple threadsPreAllocStacked: save output as a stacked vector of land using map over temporal dimensionPreAllocTimeseries: save land output as a preallocated vector for time series of landPreAllocYAXArray: use YAX arrays for model output
MachineLearningTypes: Abstract type for types in machine learning related methods in SINDBADActivationType: Abstract type for activation functions used inMachine LearningmodelsCustomSigmoid: Use a custom sigmoid activation function. In this case, thek_σparameter in ml_model sections of the settings is used to control the steepness of the sigmoid function.FluxRelu: Use Flux.jl ReLU activation functionFluxSigmoid: Use Flux.jl Sigmoid activation functionFluxTanh: Use Flux.jl Tanh activation function
MachineLearningGradType: Abstract type for automatic differentiation or finite differences for gradient calculationsEnzymeGrad: Use Enzyme.jl for automatic differentiationFiniteDiffGrad: Use FiniteDiff.jl for finite difference calculationsFiniteDifferencesGrad: Use FiniteDifferences.jl for finite difference calculationsForwardDiffGrad: Use ForwardDiff.jl for automatic differentiationPolyesterForwardDiffGrad: Use PolyesterForwardDiff.jl for automatic differentiationZygoteGrad: Use Zygote.jl for automatic differentiation
MachineLearningModelType: Abstract type for machine learning models used in SINDBADFluxDenseNN: simple dense neural network model implemented in Flux.jl
MachineLearningOptimizerType: Abstract type for optimizers used for trainingMachine Learningmodels in SINDBADOptimisersAdam: Use Optimisers.jl Adam optimizer for trainingMachine Learningmodels in SINDBADOptimisersDescent: Use Optimisers.jl Descent optimizer for trainingMachine Learningmodels in SINDBAD
MachineLearningTrainingType: Abstract type for training a hybrid algorithm in SINDBADCalcFoldFromSplit: 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.jsonMixedGradient: 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 SINDBADCostMethod: Abstract type for cost calculation methods in SINDBADCostModelObs: cost calculation between model output and observationsCostModelObsLandTS: cost calculation between land model output and time series observationsCostModelObsMT: multi-threaded cost calculation between model output and observationsCostModelObsPriors: 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 SINDBADSpaceTime: Aggregate data first over space, then over timeTimeSpace: Aggregate data first over time, then over space
GSAMethod: Abstract type for global sensitivity analysis methods in SINDBADGSAMorris: Morris method for global sensitivity analysisGSASobol: Sobol method for global sensitivity analysisGSASobolDM: Sobol method with derivative-based measures for global sensitivity analysis
ParameterOptimizationMethod: Abstract type for optimization methods in SINDBADBayesOptKMaternARD5: Bayesian Optimization using Matern 5/2 kernel with Automatic Relevance Determination from BayesOpt.jlCMAEvolutionStrategyCMAES: Covariance Matrix Adaptation Evolution Strategy (CMA-ES) from CMAEvolutionStrategy.jlEvolutionaryCMAES: Evolutionary version of CMA-ES optimization from Evolutionary.jlOptimBFGS: Broyden-Fletcher-Goldfarb-Shanno (BFGS) from Optim.jlOptimLBFGS: Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) from Optim.jlOptimizationBBOadaptive: Black Box Optimization with adaptive parameters from Optimization.jlOptimizationBBOxnes: Black Box Optimization using Natural Evolution Strategy (xNES) from Optimization.jlOptimizationBFGS: BFGS optimization with box constraints from Optimization.jlOptimizationFminboxGradientDescent: Gradient descent optimization with box constraints from Optimization.jlOptimizationFminboxGradientDescentFD: Gradient descent optimization with box constraints using forward differentiation from Optimization.jlOptimizationGCMAESDef: Global CMA-ES optimization with default settings from Optimization.jlOptimizationGCMAESFD: Global CMA-ES optimization using forward differentiation from Optimization.jlOptimizationMultistartOptimization: Multi-start optimization to find global optimum from Optimization.jlOptimizationNelderMead: Nelder-Mead simplex optimization method from Optimization.jlOptimizationQuadDirect: Quadratic Direct optimization method from Optimization.jl
ParameterScaling: Abstract type for parameter scaling methods in SINDBADScaleBounds: Scale parameters relative to their boundsScaleDefault: Scale parameters relative to default valuesScaleNone: No parameter scaling applied
SpatialDataAggr: Abstract type for spatial data aggregation methods in SINDBADSpatialMetricAggr: Abstract type for spatial metric aggregation methods in SINDBADMetricMaximum: Take maximum value across spatial dimensionsMetricMinimum: Take minimum value across spatial dimensionsMetricSpatial: Apply spatial aggregation to metricsMetricSum: Sum values across spatial dimensions
SimulationTypes: Abstract type for model simulation run flags and experimental setup and simulations in SINDBADOutputStrategy: Abstract type for model output strategies in SINDBADDoNotOutputAll: Disable output of all model variablesDoNotSaveSingleFile: Save output variables in separate filesDoOutputAll: Enable output of all model variablesDoSaveSingleFile: Save all output variables in a single file
ParallelizationPackage: Abstract type for using different parallelization packages in SINDBADQbmapParallelization: Use Qbmap for parallelizationThreadsParallelization: Use Julia threads for parallelization
RunFlag: Abstract type for model run configuration flags in SINDBADDoCalcCost: Enable cost calculation between model output and observationsDoFilterNanPixels: Enable filtering of NaN values in spatial dataDoNotCalcCost: Disable cost calculation between model output and observationsDoNotFilterNanPixels: Disable filtering of NaN values in spatial dataDoNotRunForward: Disable forward model runDoNotRunOptimization: Disable model parameter optimizationDoNotSaveInfo: Disable saving of model informationDoNotSpinupTEM: Disable terrestrial ecosystem model spinupDoNotStoreSpinup: Disable storing of spinup resultsDoNotUseForwardDiff: Disable forward mode automatic differentiationDoRunForward: Enable forward model runDoRunOptimization: Enable model parameter optimizationDoSaveInfo: Enable saving of model informationDoSpinupTEM: Enable terrestrial ecosystem model spinupDoStoreSpinup: Enable storing of spinup resultsDoUseForwardDiff: Enable forward mode automatic differentiation
SpinupTypes: Abstract type for model spinup related functions and methods in SINDBADSpinupMode: Abstract type for model spinup modes in SINDBADAllForwardModels: Use all forward models for spinupEtaScaleA0H: scale carbon pools using diagnostic scalars for ηH and c_remainEtaScaleA0HCWD: scale carbon pools of CWD (cLitSlow) using ηH and set vegetation pools to c_remainEtaScaleAH: scale carbon pools using diagnostic scalars for ηH and ηAEtaScaleAHCWD: scale carbon pools of CWD (cLitSlow) using ηH and scale vegetation pools by ηANlsolveFixedpointTrustregionCEco: 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 TWSNlsolveFixedpointTrustregionTWS: use a fixed-point nonlinearsolver with trust region for Total Water Storage (TWS)ODEAutoTsit5Rodas5: use the AutoVern7(Rodas5) method from DifferentialEquations.jl for solving ODEsODEDP5: use the DP5 method from DifferentialEquations.jl for solving ODEsODETsit5: use the Tsit5 method from DifferentialEquations.jl for solving ODEsSSPDynamicSSTsit5: use the SteadyState solver with DynamicSS and Tsit5 methodsSSPSSRootfind: use the SteadyState solver with SSRootfind methodSelSpinupModels: run only the models selected for spinup in the model structureSpinup_TWS: Spinup spinup_mode for Total Water Storage (TWS)Spinup_cEco: Spinup spinup_mode for cEcoSpinup_cEco_TWS: Spinup spinup_mode for cEco and TWS
SpinupSequence: Basic Spinup sequence without time aggregationSpinupSequenceWithAggregator: Spinup sequence with time aggregation for corresponding forcingtime series
DoCatchModelErrors: Enable error catching during model executionDoDebugModel: Enable model debugging modeDoInlineUpdate: Enable inline updates of model stateDoNotCatchModelErrors: Disable error catching during model executionDoNotDebugModel: Disable model debugging modeDoNotInlineUpdate: Disable inline updates of model stateLandEcosystem: Abstract type for all SINDBAD land ecosystem models/approachesEVI: Enhanced Vegetation IndexEVI_constant: Sets EVI as a constant value.EVI_forcing: Gets EVI from forcing data.
LAI: Leaf Area IndexLAI_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 AGBsimplyas 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 ascBiomass_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 ratescTauSoilProperties_CASA: Compute soil texture effects on turnover rates [k] of cMicSoilcTauSoilProperties_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 moistureevapotranspiration_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 soilpercolation_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 moisturerunoff_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 variableswCycle_combined: computes the algebraic sum of storage and delta storagewCycle_components: update the water cycle pools per componentwCycle_simple: update soilW assuming a simple model structure with only soilW pools
wCycleBase: Sets the basic structure of the water cycle storages.wCycleBase_simple: ThroughwCycle.jl, adjust/update the variables for each storage separately and for TWS.
waterBalance: Water balancewaterBalance_simple: Simply checks the water balance as P-ET-R-ds/dt.