Skip to content
SindbadTEM.Processes Module
julia
Processes

The core module for defining and implementing models and approaches of ecosystem processes in the SINDBAD framework.

Purpose:

The Processes module provides the infrastructure for defining and implementing terrestrial ecosystem models within the SINDBAD framework. It includes tools for process definition, parameter management, and method implementation. All SINDBAD models inherit from LandEcosystem and implement standardized methods for model execution.

Dependencies:

  • SindbadTEM: Provides the core SINDBAD models and types, including LandEcosystem and purpose function.

  • FieldMetadata: Enables metadata annotations for model parameters (bounds, units, timescale, descriptions).

  • Parameters: Provides the @with_kw macro for keyword argument construction.

Included Files:

The module dynamically includes all process implementations from subdirectories under src/Processes/.

Each process directory follows the convention:

  • A main process file: Processes/<process>/<process>.jl defining the abstract process type

  • One or more approach files: Processes/<process>/<process>_*.jl implementing specific approaches

Key processes include:

  • Carbon cycle processes (GPP, respiration, allocation, turnover)

  • Water cycle processes (evapotranspiration, runoff, soil water)

  • Vegetation processes (LAI, fAPAR, phenology)

  • And many more ecosystem processes

Notes:

  • All models must implement at least one of the following methods: define, precompute, compute, or update.

  • Parameters should use metadata macros (@bounds, @describe, @units, @timescale) for proper documentation and validation.

  • Processes should follow SINDBAD modeling conventions for consistency and maintainability.

  • The module provides getModelDocString and getApproachDocString helpers for automatic documentation generation of models and approaches.

Examples:

julia
julia> using SindbadTEM.Processes

julia> # Define a new process
julia> abstract type MyProcess <: LandEcosystem end

julia> purpose(::Type{MyProcess}) = "Description of my process."

julia> # Define an approach with parameters (example structure)
julia> # @bounds @describe @units @timescale @with_kw struct MyProcess_v1{T} <: MyProcess
julia> #     param1::T = 1.0 | (0.0, 2.0) | "Description" | "units" | "timescale"
julia> # end

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

Processes (models + approaches)

EVI

SindbadTEM.Processes.EVI Type
julia
Enhanced Vegetation Index

Approaches

  • EVI_constant: Sets EVI as a constant value.

  • EVI_forcing: Gets EVI from forcing data.

EVI approaches
SindbadTEM.Processes.EVI_constant Type

Sets EVI as a constant value.

Parameters

  • Fields
    • constant_EVI: 1.0 ∈ [0.0, 1.0] => EVI (unitless @ all timescales)

Methods:

precompute:

  • Inputs

    • None
  • Outputs

    • states.EVI: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :EVI) for information on how to add the variable to the catalog.

define, compute, update methods are not defined

End of getModelDocString-generated docstring for EVI_constant.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 11.11.2019 [skoirala | @dr-ko]: cleaned up the code

Created by

  • skoirala | @dr-ko

View Source


LAI

SindbadTEM.Processes.LAI Type
julia
Leaf Area Index

Approaches

  • 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.

LAI approaches
SindbadTEM.Processes.LAI_cVegLeaf Type

LAI as a function of cVegLeaf and SLA.

Parameters

  • Fields
    • SLA: 0.016 ∈ [0.01, 0.024] => specific leaf area (units: m^2.gC^-1 @ all timescales)

Methods:

compute:

  • Inputs

    • pools.cVegLeaf: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cVegLeaf) for information on how to add the variable to the catalog.
  • Outputs

    • states.LAI: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :LAI) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for LAI_cVegLeaf.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 05.05.2020 [sbesnard]

Created by

  • sbesnard

Calculated using:

julia
Inputs: :pools => :cVegLeaf
Outputs: :states => :LAI

View Source


NDVI

SindbadTEM.Processes.NDVI Type
julia
Normalized Difference Vegetation Index.

Approaches

  • NDVI_constant: Sets NDVI as a constant value.

  • NDVI_forcing: Gets NDVI from forcing data.

NDVI approaches
SindbadTEM.Processes.NDVI_constant Type

Sets NDVI as a constant value.

Parameters

  • Fields
    • constant_NDVI: 1.0 ∈ [0.0, 1.0] => NDVI (unitless @ all timescales)

Methods:

precompute:

  • Inputs

    • None
  • Outputs

    • states.NDVI: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :NDVI) for information on how to add the variable to the catalog.

define, compute, update methods are not defined

End of getModelDocString-generated docstring for NDVI_constant.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 29.04.2020 [sbesnard]: new module

Created by

  • sbesnard

View Source


NDWI

SindbadTEM.Processes.NDWI Type
julia
Normalized Difference Water Index.

Approaches

  • NDWI_constant: Sets NDWI as a constant value.

  • NDWI_forcing: Gets NDWI from forcing data.

NDWI approaches
SindbadTEM.Processes.NDWI_constant Type

Sets NDWI as a constant value.

Parameters

  • Fields
    • constant_NDWI: 1.0 ∈ [0.0, 1.0] => NDWI (unitless @ all timescales)

Methods:

precompute:

  • Inputs

    • None
  • Outputs

    • states.NDWI: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :NDWI) for information on how to add the variable to the catalog.

define, compute, update methods are not defined

End of getModelDocString-generated docstring for NDWI_constant.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 29.04.2020 [sbesnard]: new module

Created by

  • sbesnard

View Source


NIRv

SindbadTEM.Processes.NIRv Type
julia
Near-infrared reflectance of terrestrial vegetation.

Approaches

  • NIRv_constant: Sets NIRv as a constant value.

  • NIRv_forcing: Gets NIRv from forcing data.

NIRv approaches
SindbadTEM.Processes.NIRv_constant Type

Sets NIRv as a constant value.

Parameters

  • Fields
    • constant_NIRv: 1.0 ∈ [0.0, 1.0] => NIRv (unitless @ all timescales)

Methods:

precompute:

  • Inputs

    • None
  • Outputs

    • states.NIRv: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :NIRv) for information on how to add the variable to the catalog.

define, compute, update methods are not defined

End of getModelDocString-generated docstring for NIRv_constant.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 29.04.2020 [sbesnard]: new module

Created by

  • sbesnard

View Source


PET

SindbadTEM.Processes.PET Type
julia
Potential evapotranspiration.

Approaches

  • 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.

PET approaches
SindbadTEM.Processes.PET_Lu2005 Type

Calculates PET using Lu et al. (2005) method.

Parameters

  • Fields
    • α: 1.26 ∈ [0.1, 2.0] => calibration constant: α = 1.26 for wet or humid (unitless @ all timescales)

    • svp_1: 0.2 ∈ [-Inf, Inf] => saturation vapor pressure temperature curve parameter 1 (unitless @ all timescales)

    • svp_2: 0.00738 ∈ [-Inf, Inf] => saturation vapor pressure temperature curve parameter 2 (unitless @ all timescales)

    • svp_3: 0.8072 ∈ [-Inf, Inf] => saturation vapor pressure temperature curve parameter 3 (unitless @ all timescales)

    • svp_4: 7.0 ∈ [-Inf, Inf] => saturation vapor pressure temperature curve parameter 4 (unitless @ all timescales)

    • svp_5: 0.000116 ∈ [-Inf, Inf] => saturation vapor pressure temperature curve parameter 5 (unitless @ all timescales)

    • sh_cp: 0.001013 ∈ [-Inf, Inf] => specific heat of moist air at constant pressure (1.013 kJ/kg/°C) (units: MJ/kg/°C @ all timescales)

    • elev: 0.0 ∈ [0.0, 8848.0] => elevation (units: m @ all timescales)

    • pres_sl: 101.29 ∈ [0.0, 101.3] => atmospheric pressure at sea level (units: kpa @ all timescales)

    • pres_elev: 0.01055 ∈ [-Inf, Inf] => rate of change of atmospheric pressure with elevation (units: kpa/m @ all timescales)

    • λ_base: 2.501 ∈ [-Inf, Inf] => latent heat of vaporization (units: MJ/kg @ all timescales)

    • λ_airT: 0.002361 ∈ [-Inf, Inf] => rate of change of latent heat of vaporization with temperature (units: MJ/kg/°C @ all timescales)

    • γ_resistance: 0.622 ∈ [-Inf, Inf] => ratio of canopy resistance to atmospheric resistance (unitless @ all timescales)

    • Δt: 2.0 ∈ [-Inf, Inf] => time delta for calculation of G (units: day @ all timescales)

    • G_base: 4.2 ∈ [-Inf, Inf] => base groundheat flux (unitless @ all timescales)

Methods:

define:

  • Inputs

    • forcing.f_airT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_airT) for information on how to add the variable to the catalog.
  • Outputs

    • fluxes.PET: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :PET) for information on how to add the variable to the catalog.

    • states.Tair_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :Tair_prev) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • forcing.f_rn: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_rn) for information on how to add the variable to the catalog.

    • forcing.f_airT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_airT) for information on how to add the variable to the catalog.

    • states.Tair_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :Tair_prev) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.PET: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :PET) for information on how to add the variable to the catalog.

    • states.Tair_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :Tair_prev) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for PET_Lu2005.jl. Check the Extended help for user-defined information.


Extended help

References

  • Lu

Versions

  • 1.0 on 11.11.2019 [skoirala | @dr-ko]

Created by

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :forcing => :f_rn, :forcing => :f_airT, :states => :Tair_prev
Outputs: :fluxes => :PET, :states => :Tair_prev

View Source


PFT

SindbadTEM.Processes.PFT Type
julia
Plant Functional Type (PFT) classification.

Approaches

  • PFT_constant: Sets a uniform PFT class.
PFT approaches
SindbadTEM.Processes.PFT_constant Type

Sets a uniform PFT class.

Parameters

  • Fields
    • PFT: 1.0 ∈ [1.0, 13.0] => Plant functional type (units: class @ all timescales)

Methods:

precompute:

  • Inputs

    • None
  • Outputs

    • PFT.PFT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:PFT, :PFT) for information on how to add the variable to the catalog.

define, compute, update methods are not defined

End of getModelDocString-generated docstring for PFT_constant.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 18.11.2019 [ttraut]: cleaned up the code

Created by

  • unknown [xxx]

View Source


WUE

SindbadTEM.Processes.WUE Type
julia
Water Use Efficiency (WUE).

Approaches

  • 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.

WUE approaches
SindbadTEM.Processes.WUE_Medlyn2011 Type

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

Parameters

  • Fields
    • g1: 3.0 ∈ [0.5, 12.0] => stomatal conductance parameter (units: kPa^0.5 @ all timescales)

    • ζ: 1.0 ∈ [0.85, 3.5] => sensitivity of WUE to ambient co2 (unitless @ all timescales)

    • diffusivity_ratio: 1.6 ∈ [-Inf, Inf] => Ratio of the molecular diffusivities for water vapor and CO2 (unitless @ all timescales)

Methods:

define:

  • Inputs

    • None
  • Outputs

    • WUE.umol_to_gC: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:WUE, :umol_to_gC) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • forcing.f_psurf_day: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_psurf_day) for information on how to add the variable to the catalog.

    • forcing.f_VPD_day: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_VPD_day) for information on how to add the variable to the catalog.

    • states.ambient_CO2: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :ambient_CO2) for information on how to add the variable to the catalog.

    • WUE.umol_to_gC: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:WUE, :umol_to_gC) for information on how to add the variable to the catalog.

  • Outputs

    • states.ci: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :ci) for information on how to add the variable to the catalog.

    • states.ciNoCO2: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :ciNoCO2) for information on how to add the variable to the catalog.

    • diagnostics.WUENoCO2: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :WUENoCO2) for information on how to add the variable to the catalog.

    • diagnostics.WUE: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :WUE) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for WUE_Medlyn2011.jl. Check the Extended help for user-defined information.


Extended help

References

  • Knauer J, El-Madany TS, Zaehle S, Migliavacca M [2018] Bigleaf—An R package for the calculation of physical & physiological ecosystem properties from eddy covariance data. PLoS ONE 13[8]: e0201114. https://doi.org/10.1371/journal.pone.0201114

  • MEDLYN; B.E.; DUURSMA; R.A.; EAMUS; D.; ELLSWORTH; D.S.; PRENTICE; I.C. BARTON; C.V.M.; CROUS; K.Y.; DE ANGELIS; P.; FREEMAN; M. & WINGATE L. (2011), Reconciling the optimal & empirical approaches to modelling stomatal conductance. Global Change Biology; 17: 2134-2144. doi:10.1111/j.1365-2486.2010.02375.x

  • Medlyn; B.E.; Duursma; R.A.; Eamus; D.; Ellsworth; D.S.; Colin Prentice I.; Barton; C.V.M.; Crous; K.Y.; de Angelis; P.; Freeman; M. & Wingate, L. (2012), Reconciling the optimal & empirical approaches to modelling stomatal conductance. Glob Change Biol; 18: 3476-3476. doi:10.1111/j.1365-2486.2012.02790.

Versions

  • 1.0 on 11.11.2020 [skoirala | @dr-ko]

Created by

  • skoirala | @dr-ko

Notes

  • unit conversion: C_flux[gC m-2 d-1] < - CO2_flux[(umol CO2 m-2 s-1)] * 1e-06 [umol2mol] * 0.012011 [Cmol] * 1000 [kg2g] * 86400 [days2seconds] from Knauer; 2019

  • water: mmol m-2 s-1: /1000 [mol m-2 s-1] * .018015 [Wmol in kg/mol] * 84600

Calculated using:

julia
Inputs: :forcing => :f_psurf_day, :forcing => :f_VPD_day, :states => :ambient_CO2, :WUE => :umol_to_gC
Outputs: :states => :ci, :states => :ciNoCO2, :diagnostics => :WUENoCO2, :diagnostics => :WUE

View Source


ambientCO2

SindbadTEM.Processes.ambientCO2 Type
julia
Ambient CO₂ concentration.

Approaches

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

  • ambientCO2_forcing: Gets ambient CO₂ from forcing data.

ambientCO2 approaches
SindbadTEM.Processes.ambientCO2_constant Type

Sets ambient CO₂ to a constant value.

Parameters

  • Fields
    • constant_ambient_CO2: 400.0 ∈ [200.0, 5000.0] => atmospheric CO2 concentration (units: ppm @ all timescales)

Methods:

precompute:

  • Inputs

    • None
  • Outputs

    • states.ambient_CO2: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :ambient_CO2) for information on how to add the variable to the catalog.

define, compute, update methods are not defined

End of getModelDocString-generated docstring for ambientCO2_constant.jl. Check the Extended help for user-defined information.


Extended help

This function assigns a constant value of ambient CO2 concentration to the land model state. The value is derived from the constant_ambient_CO2 parameter defined in the ambientCO2_constant structure.

References

  • None

Versions

  • 1.0 on 11.11.2019 [skoirala | @dr-ko]

Created by

  • skoirala | @dr-ko

View Source


autoRespiration

SindbadTEM.Processes.autoRespiration Type
julia
Autotrophic respiration for growth and maintenance.

Approaches

  • 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.

autoRespiration approaches
SindbadTEM.Processes.autoRespiration_Thornley2000A Type

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

Parameters

  • Fields
    • RMN: 0.009085714285714286 ∈ [0.0009085714285714285, 0.09085714285714286] => Nitrogen efficiency rate of maintenance respiration (units: gC/gN/day @ day timescale)

    • YG: 0.75 ∈ [0.0, 1.0] => growth yield coefficient, or growth efficiency. Loosely: (1-YG)*GPP is growth respiration (units: gC/gC @ all timescales)

Methods:

define:

  • Inputs

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.k_respiration_maintain: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :k_respiration_maintain) for information on how to add the variable to the catalog.

    • diagnostics.k_respiration_maintain_su: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :k_respiration_maintain_su) for information on how to add the variable to the catalog.

    • fluxes.auto_respiration_growth: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :auto_respiration_growth) for information on how to add the variable to the catalog.

    • fluxes.auto_respiration_maintain: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :auto_respiration_maintain) for information on how to add the variable to the catalog.

    • fluxes.c_eco_efflux: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :c_eco_efflux) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • diagnostics.k_respiration_maintain: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :k_respiration_maintain) for information on how to add the variable to the catalog.

    • diagnostics.k_respiration_maintain_su: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :k_respiration_maintain_su) for information on how to add the variable to the catalog.

    • fluxes.c_eco_efflux: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :c_eco_efflux) for information on how to add the variable to the catalog.

    • fluxes.auto_respiration_growth: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :auto_respiration_growth) for information on how to add the variable to the catalog.

    • fluxes.auto_respiration_maintain: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :auto_respiration_maintain) for information on how to add the variable to the catalog.

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.

    • pools.cVeg: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cVeg) for information on how to add the variable to the catalog.

    • fluxes.gpp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :gpp) for information on how to add the variable to the catalog.

    • diagnostics.C_to_N_cVeg: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :C_to_N_cVeg) for information on how to add the variable to the catalog.

    • diagnostics.c_allocation: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation) for information on how to add the variable to the catalog.

    • diagnostics.auto_respiration_f_airT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :auto_respiration_f_airT) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.k_respiration_maintain: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :k_respiration_maintain) for information on how to add the variable to the catalog.

    • diagnostics.k_respiration_maintain_su: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :k_respiration_maintain_su) for information on how to add the variable to the catalog.

    • fluxes.auto_respiration_growth: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :auto_respiration_growth) for information on how to add the variable to the catalog.

    • fluxes.auto_respiration_maintain: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :auto_respiration_maintain) for information on how to add the variable to the catalog.

    • fluxes.c_eco_efflux: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :c_eco_efflux) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for autoRespiration_Thornley2000A.jl. Check the Extended help for user-defined information.


Extended help

References

  • Amthor, J. S. (2000), The McCree-de Wit-Penning de Vries-Thornley respiration paradigms: 30 years later, Ann Bot-London, 86[1], 1-20. Ryan, M. G. (1991), Effects of Climate Change on Plant Respiration, Ecol Appl, 1[2], 157-167.

  • Thornley, J. H. M., & M. G. R. Cannell [2000], Modelling the components of plant respiration: Representation & realism, Ann Bot-London, 85[1] 55-67.

Versions

  • 1.0 on 06.05.2022 [ncarvalhais/skoirala]: cleaned up the code

Created by

  • ncarvalhais

Notes

  • Questions - practical - leave raAct per pool; | make a field land.fluxes.ra that has all the autotrophic respiration components together?

Calculated using:

julia
Inputs: :diagnostics => :k_respiration_maintain, :diagnostics => :k_respiration_maintain_su, :fluxes => :c_eco_efflux, :fluxes => :auto_respiration_growth, :fluxes => :auto_respiration_maintain, :pools => :cEco, :pools => :cVeg, :fluxes => :gpp, :diagnostics => :C_to_N_cVeg, :diagnostics => :c_allocation, :diagnostics => :auto_respiration_f_airT
Outputs: :diagnostics => :k_respiration_maintain, :diagnostics => :k_respiration_maintain_su, :fluxes => :auto_respiration_growth, :fluxes => :auto_respiration_maintain, :fluxes => :c_eco_efflux

View Source


autoRespirationAirT

SindbadTEM.Processes.autoRespirationAirT Type
julia
Effect of air temperature on autotrophic respiration.

Approaches

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

  • autoRespirationAirT_none: No air temperature effect on autotrophic respiration.

autoRespirationAirT approaches
SindbadTEM.Processes.autoRespirationAirT_Q10 Type

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

Parameters

  • Fields
    • Q10: 2.0 ∈ [1.05, 3.0] => Q10 parameter for maintenance respiration (unitless @ all timescales)

    • ref_airT: 20.0 ∈ [0.0, 40.0] => Reference temperature for the maintenance respiration (units: °C @ all timescales)

    • Q10_base: 10.0 ∈ [-Inf, Inf] => base temperature difference (units: °C @ all timescales)

Methods:

compute:

  • Inputs

    • forcing.f_airT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_airT) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.auto_respiration_f_airT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :auto_respiration_f_airT) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for autoRespirationAirT_Q10.jl. Check the Extended help for user-defined information.


Extended help

References

  • Amthor, J. S. (2000), The McCree-de Wit-Penning de Vries-Thornley respiration paradigms: 30 years later, Ann Bot-London, 86[1], 1-20.

  • Ryan, M. G. (1991), Effects of Climate Change on Plant Respiration, Ecol Appl, 1[2], 157-167.

  • Thornley, J. H. M., & M. G. R. Cannell [2000], Modelling the components of plant respiration: Representation & realism, Ann Bot-London, 85[1] 55-67.

Versions

  • 1.0 on 22.11.2019 [skoirala | @dr-ko]: clean up

Created by

  • ncarvalhais

Notes

Calculated using:

julia
Inputs: :forcing => :f_airT
Outputs: :diagnostics => :auto_respiration_f_airT

View Source


cAllocation

SindbadTEM.Processes.cAllocation Type
julia
Allocation fraction of NPP to different vegetation pools.

Approaches

  • 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.

cAllocation approaches
SindbadTEM.Processes.cAllocation_Friedlingstein1999 Type

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

Parameters

  • Fields
    • so: 0.3 ∈ [0.0, 1.0] => fractional carbon allocation to stem for non-limiting conditions (units: fractional @ all timescales)

    • ro: 0.3 ∈ [0.0, 1.0] => fractional carbon allocation to root for non-limiting conditions (units: fractional @ all timescales)

    • rel_Y: 2.0 ∈ [1.0, Inf] => normalization parameter (units: dimensionless @ all timescales)

Methods:

define:

  • Inputs

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.c_allocation: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation) for information on how to add the variable to the catalog.

    • cAllocation.cVeg_names: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cAllocation, :cVeg_names) for information on how to add the variable to the catalog.

    • cAllocation.cVeg_nzix: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cAllocation, :cVeg_nzix) for information on how to add the variable to the catalog.

    • cAllocation.cVeg_zix: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cAllocation, :cVeg_zix) for information on how to add the variable to the catalog.

    • cAllocation.c_allocation_to_veg: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cAllocation, :c_allocation_to_veg) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • states.c_allocation: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :c_allocation) for information on how to add the variable to the catalog.

    • cAllocation.cVeg_names: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cAllocation, :cVeg_names) for information on how to add the variable to the catalog.

    • cAllocation.cVeg_nzix: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cAllocation, :cVeg_nzix) for information on how to add the variable to the catalog.

    • cAllocation.cVeg_zix: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cAllocation, :cVeg_zix) for information on how to add the variable to the catalog.

    • cAllocation.c_allocation_to_veg: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cAllocation, :c_allocation_to_veg) for information on how to add the variable to the catalog.

    • diagnostics.c_allocation_f_W_N: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation_f_W_N) for information on how to add the variable to the catalog.

    • diagnostics.c_allocation_f_LAI: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation_f_LAI) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.c_allocation: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for cAllocation_Friedlingstein1999.jl. Check the Extended help for user-defined information.


Extended help

References

  • Friedlingstein; P.; G. Joel; C.B. Field; & I.Y. Fung; 1999: Toward an allocation scheme for global terrestrial carbon models. Glob. Change Biol.; 5; 755-770; doi:10.1046/j.1365-2486.1999.00269.x.

Versions

  • 1.0 on 12.01.2020 [sbesnard]

Created by

  • ncarvalhais

Calculated using:

julia
Inputs: :states => :c_allocation, :cAllocation => :cVeg_names, :cAllocation => :cVeg_nzix, :cAllocation => :cVeg_zix, :cAllocation => :c_allocation_to_veg, :diagnostics => :c_allocation_f_W_N, :diagnostics => :c_allocation_f_LAI, :constants => :z_zero, :constants => :o_one
Outputs: :diagnostics => :c_allocation

View Source


cAllocationLAI

SindbadTEM.Processes.cAllocationLAI Type
julia
Estimates allocation to the leaf pool given light limitation constraints to photosynthesis, using LAI dynamics.

Approaches

  • 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).

cAllocationLAI approaches
SindbadTEM.Processes.cAllocationLAI_Friedlingstein1999 Type

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

Parameters

  • Fields
    • kext: 0.5 ∈ [0.0, 1.0] => extinction coefficient of LAI effect on allocation (unitless @ all timescales)

    • min_f_LAI: 0.1 ∈ [0.0, 1.0] => minimum LAI effect on allocation (unitless @ all timescales)

    • max_f_LAI: 1.0 ∈ [0.0, 1.0] => maximum LAI effect on allocation (unitless @ all timescales)

Methods:

compute:

  • Inputs

    • states.LAI: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :LAI) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.c_allocation_f_LAI: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation_f_LAI) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for cAllocationLAI_Friedlingstein1999.jl. Check the Extended help for user-defined information.


Extended help

References

  • Friedlingstein; P.; G. Joel; C.B. Field; & I.Y. Fung; 1999: Toward an allocation scheme for global terrestrial carbon models. Glob. Change Biol.; 5; 755-770; doi:10.1046/j.1365-2486.1999.00269.x.

Versions

  • 1.0 on 12.01.2020 [sbesnard]

Created by

  • ncarvalhais

Calculated using:

julia
Inputs: :states => :LAI
Outputs: :diagnostics => :c_allocation_f_LAI

View Source


cAllocationNutrients

SindbadTEM.Processes.cAllocationNutrients Type
julia
Pseudo-effect of nutrients on carbon allocation.

Approaches

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

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

cAllocationNutrients approaches
SindbadTEM.Processes.cAllocationNutrients_Friedlingstein1999 Type

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

Parameters

  • Fields
    • min_L: 0.1 ∈ [0.0, 1.0] => (unitless @ all timescales)

    • max_L: 1.0 ∈ [0.0, 1.0] => (unitless @ all timescales)

Methods:

compute:

  • Inputs

    • states.PAW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :PAW) for information on how to add the variable to the catalog.

    • properties.∑w_awc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :∑w_awc) for information on how to add the variable to the catalog.

    • diagnostics.c_allocation_f_soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation_f_soilW) for information on how to add the variable to the catalog.

    • diagnostics.c_allocation_f_soilT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation_f_soilT) for information on how to add the variable to the catalog.

    • fluxes.PET: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :PET) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • cAllocationNutrients.c_allocation_f_W_N: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cAllocationNutrients, :c_allocation_f_W_N) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for cAllocationNutrients_Friedlingstein1999.jl. Check the Extended help for user-defined information.


Extended help

References

  • Friedlingstein; P.; G. Joel; C.B. Field; & I.Y. Fung; 1999: Toward an allocation scheme for global terrestrial carbon models. Glob. Change Biol.; 5; 755-770; doi:10.1046/j.1365-2486.1999.00269.x.

Notes

  • "There is no explicit estimate of soil mineral nitrogen in the version of CASA used for these simulations. As a surrogate; we assume that spatial variability in nitrogen mineralization & soil organic matter decomposition are identical [Townsend et al. 1995]. Nitrogen availability; N; is calculated as the product of the temperature & moisture abiotic factors used in CASA for the calculation of microbial respiration [Potter et al. 1993]." in Friedlingstein et al., 1999.#

Versions

  • 1.0 on 12.01.2020 [sbesnard]

Created by

  • ncarvalhais

Calculated using:

julia
Inputs: :states => :PAW, :properties => :∑w_awc, :diagnostics => :c_allocation_f_soilW, :diagnostics => :c_allocation_f_soilT, :fluxes => :PET, :constants => :z_zero, :constants => :o_one
Outputs: :cAllocationNutrients => :c_allocation_f_W_N

View Source


cAllocationRadiation

SindbadTEM.Processes.cAllocationRadiation Type
julia
Effect of radiation on carbon allocation.

Approaches

  • 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).

cAllocationRadiation approaches
SindbadTEM.Processes.cAllocationRadiation_GSI Type

Calculates the radiation effect on allocation using the GSI method.

Parameters

  • Fields
    • τ_rad: 0.02 ∈ [0.001, 1.0] => temporal change rate for the light-limiting function (unitless @ all timescales)

    • slope_rad: 1.0 ∈ [0.01, 200.0] => slope parameters of a logistic function based on mean daily y shortwave downward radiation (unitless @ all timescales)

    • base_rad: 10.0 ∈ [0.0, 100.0] => inflection point parameters of a logistic function based on mean daily y shortwave downward radiation (unitless @ all timescales)

Methods:

define:

  • Inputs

    • None
  • Outputs

    • diagnostics.c_allocation_f_cloud_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation_f_cloud_prev) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • forcing.f_PAR: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_PAR) for information on how to add the variable to the catalog.

    • diagnostics.c_allocation_f_cloud_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation_f_cloud_prev) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.c_allocation_c_allocation_f_cloud: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation_c_allocation_f_cloud) for information on how to add the variable to the catalog.

    • diagnostics.c_allocation_f_cloud_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation_f_cloud_prev) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for cAllocationRadiation_GSI.jl. Check the Extended help for user-defined information.


Extended help

References

  • Forkel M, Carvalhais N, Schaphoff S, von Bloh W, Migliavacca M, Thurner M, Thonicke K [2014] Identifying environmental controls on vegetation greenness phenology through model–data integration. Biogeosciences, 11, 7025–7050.

  • Forkel, M., Migliavacca, M., Thonicke, K., Reichstein, M., Schaphoff, S., Weber, U., Carvalhais, N. (2015). Codominant water control on global interannual variability and trends in land surface phenology & greenness.

  • Jolly, William M., Ramakrishna Nemani, & Steven W. Running. "A generalized, bioclimatic index to predict foliar phenology in response to climate." Global Change Biology 11.4 [2005]: 619-632.

Versions

  • 1.0 on 12.01.2020 [skoirala | @dr-ko]

Created by

  • ncarvalhais, sbesnard, skoirala

Calculated using:

julia
Inputs: :forcing => :f_PAR, :diagnostics => :c_allocation_f_cloud_prev, :constants => :z_zero, :constants => :o_one
Outputs: :diagnostics => :c_allocation_c_allocation_f_cloud, :diagnostics => :c_allocation_f_cloud_prev

View Source


cAllocationSoilT

SindbadTEM.Processes.cAllocationSoilT Type
julia
Effect of soil temperature on carbon allocation.

Approaches

  • 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).

cAllocationSoilT approaches
SindbadTEM.Processes.cAllocationSoilT_Friedlingstein1999 Type

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

Parameters

  • Fields
    • min_f_soilT: 0.5 ∈ [0.0, 1.0] => minimum allocation coefficient from temperature stress (unitless @ all timescales)

    • max_f_soilT: 1.0 ∈ [0.0, 1.0] => maximum allocation coefficient from temperature stress (unitless @ all timescales)

Methods:

compute:

  • Inputs

    • diagnostics.c_allocation_f_soilT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation_f_soilT) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.c_allocation_f_soilT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation_f_soilT) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for cAllocationSoilT_Friedlingstein1999.jl. Check the Extended help for user-defined information.


Extended help

References

  • Friedlingstein; P.; G. Joel; C.B. Field; & I.Y. Fung; 1999: Toward an allocation scheme for global terrestrial carbon models. Glob. Change Biol.; 5; 755-770; doi:10.1046/j.1365-2486.1999.00269.x.

Versions

  • 1.0 on 12.01.2020 [sbesnard]

Created by

  • ncarvalhais

Calculated using:

julia
Inputs: :diagnostics => :c_allocation_f_soilT
Outputs: :diagnostics => :c_allocation_f_soilT

View Source


cAllocationSoilW

SindbadTEM.Processes.cAllocationSoilW Type
julia
Effect of soil moisture on carbon allocation.

Approaches

  • 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).

cAllocationSoilW approaches
SindbadTEM.Processes.cAllocationSoilW_Friedlingstein1999 Type

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

Parameters

  • Fields
    • min_f_soilW: 0.5 ∈ [0.0, 1.0] => minimum value for moisture stressor (unitless @ all timescales)

    • max_f_soilW: 0.8 ∈ [0.0, 1.0] => maximum value for moisture stressor (unitless @ all timescales)

Methods:

compute:

  • Inputs

    • diagnostics.c_eco_k_f_soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_soilW) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.c_allocation_f_soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation_f_soilW) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for cAllocationSoilW_Friedlingstein1999.jl. Check the Extended help for user-defined information.


Extended help

References

  • Friedlingstein; P.; G. Joel; C.B. Field; & I.Y. Fung; 1999: Toward an allocation scheme for global terrestrial carbon models. Glob. Change Biol.; 5; 755-770; doi:10.1046/j.1365-2486.1999.00269.x.

Versions

  • 1.0 on 12.01.2020 [sbesnard]

Created by

  • ncarvalhais

Calculated using:

julia
Inputs: :diagnostics => :c_eco_k_f_soilW
Outputs: :diagnostics => :c_allocation_f_soilW

View Source


cAllocationTreeFraction

SindbadTEM.Processes.cAllocationTreeFraction Type
julia
Adjusts carbon allocation according to tree cover.

Approaches

  • cAllocationTreeFraction_Friedlingstein1999: Adjusts allocation coefficients according to the fraction of trees to herbaceous plants and fine to coarse root partitioning.
cAllocationTreeFraction approaches
SindbadTEM.Processes.cAllocationTreeFraction_Friedlingstein1999 Type

Adjusts allocation coefficients according to the fraction of trees to herbaceous plants and fine to coarse root partitioning.

Parameters

  • Fields
    • frac_fine_to_coarse: 1.0 ∈ [0.0, 1.0] => carbon fraction allocated to fine roots (units: fraction @ all timescales)

Methods:

define:

  • Inputs

    • None
  • Outputs

    • cAllocationTreeFraction.cVeg_names_for_c_allocation_frac_tree: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cAllocationTreeFraction, :cVeg_names_for_c_allocation_frac_tree) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • states.frac_tree: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :frac_tree) for information on how to add the variable to the catalog.

    • diagnostics.c_allocation: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation) for information on how to add the variable to the catalog.

    • cAllocationTreeFraction.cVeg_names_for_c_allocation_frac_tree: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cAllocationTreeFraction, :cVeg_names_for_c_allocation_frac_tree) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.c_allocation: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for cAllocationTreeFraction_Friedlingstein1999.jl. Check the Extended help for user-defined information.


Extended help

References

  • Friedlingstein; P.; G. Joel; C.B. Field; & I.Y. Fung; 1999: Toward an allocation scheme for global terrestrial carbon models. Glob. Change Biol.; 5; 755-770; doi:10.1046/j.1365-2486.1999.00269.x.

Versions

  • 1.0 on 12.01.2020 [sbesnard]

Created by

  • ncarvalhais

Calculated using:

julia
Inputs: :states => :frac_tree, :diagnostics => :c_allocation, :cAllocationTreeFraction => :cVeg_names_for_c_allocation_frac_tree, :constants => :z_zero, :constants => :o_one
Outputs: :diagnostics => :c_allocation

View Source


cBiomass

SindbadTEM.Processes.cBiomass Type
julia
Computes aboveground biomass (AGB).

Approaches

  • 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.

cBiomass approaches
SindbadTEM.Processes.cBiomass_simple Type

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

Parameters

  • None

Methods:

compute:

  • Inputs

    • pools.cVegWood: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cVegWood) for information on how to add the variable to the catalog.

    • pools.cVegLeaf: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cVegLeaf) for information on how to add the variable to the catalog.

  • Outputs

    • states.aboveground_biomass: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :aboveground_biomass) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for cBiomass_simple.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

Created by

Calculated using:

julia
Inputs: :pools => :cVegWood, :pools => :cVegLeaf
Outputs: :states => :aboveground_biomass

View Source


cCycle

SindbadTEM.Processes.cCycle Type
julia
Compute fluxes and changes (cycling) of carbon pools.

Approaches

  • 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.

cCycle approaches
SindbadTEM.Processes.cCycle_CASA Type

Carbon cycle wtih components based on the CASA approach.

Parameters

  • None

Methods:

define:

  • Inputs

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.
  • Outputs

    • cCycle.c_eco_efflux: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cCycle, :c_eco_efflux) for information on how to add the variable to the catalog.

    • cCycle.c_eco_influx: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cCycle, :c_eco_influx) for information on how to add the variable to the catalog.

    • cCycle.c_eco_flow: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cCycle, :c_eco_flow) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • cCycle.c_eco_efflux: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cCycle, :c_eco_efflux) for information on how to add the variable to the catalog.

    • cCycle.c_eco_influx: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cCycle, :c_eco_influx) for information on how to add the variable to the catalog.

    • cCycle.c_eco_flow: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cCycle, :c_eco_flow) for information on how to add the variable to the catalog.

    • fluxes.c_eco_efflux: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :c_eco_efflux) for information on how to add the variable to the catalog.

    • fluxes.c_eco_flow: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :c_eco_flow) for information on how to add the variable to the catalog.

    • fluxes.c_eco_influx: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :c_eco_influx) for information on how to add the variable to the catalog.

    • fluxes.c_eco_out: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :c_eco_out) for information on how to add the variable to the catalog.

    • fluxes.c_eco_npp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :c_eco_npp) for information on how to add the variable to the catalog.

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.

    • pools.cVeg: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cVeg) for information on how to add the variable to the catalog.

    • fluxes.gpp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :gpp) for information on how to add the variable to the catalog.

    • diagnostics.c_eco_k: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k) for information on how to add the variable to the catalog.

    • diagnostics.c_allocation: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_allocation) for information on how to add the variable to the catalog.

    • cFlow.p_E_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cFlow, :p_E_vec) for information on how to add the variable to the catalog.

    • cFlow.p_F_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cFlow, :p_F_vec) for information on how to add the variable to the catalog.

    • cFlow.p_giver: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cFlow, :p_giver) for information on how to add the variable to the catalog.

    • cFlow.p_taker: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cFlow, :p_taker) for information on how to add the variable to the catalog.

    • constants.c_flow_order: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :c_flow_order) for information on how to add the variable to the catalog.

    • diagnostics.c_eco_τ: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_τ) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.nee: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :nee) for information on how to add the variable to the catalog.

    • fluxes.c_eco_npp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :c_eco_npp) for information on how to add the variable to the catalog.

    • fluxes.auto_respiration: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :auto_respiration) for information on how to add the variable to the catalog.

    • fluxes.eco_respiration: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :eco_respiration) for information on how to add the variable to the catalog.

    • fluxes.hetero_respiration: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :hetero_respiration) for information on how to add the variable to the catalog.

    • states.c_eco_efflux: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :c_eco_efflux) for information on how to add the variable to the catalog.

    • states.c_eco_flow: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :c_eco_flow) for information on how to add the variable to the catalog.

    • states.c_eco_influx: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :c_eco_influx) for information on how to add the variable to the catalog.

    • states.c_eco_out: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :c_eco_out) for information on how to add the variable to the catalog.

    • states.c_eco_npp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :c_eco_npp) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for cCycle_CASA.jl. Check the Extended help for user-defined information.


Extended help

References

  • Carvalhais; N.; Reichstein; M.; Seixas; J.; Collatz; G. J.; Pereira; J. S.; Berbigier; P. & Rambal, S. (2008). Implications of the carbon cycle steady state assumption for biogeochemical modeling performance & inverse parameter retrieval. Global Biogeochemical Cycles, 22[2].

  • Potter, C., Klooster, S., Myneni, R., Genovese, V., Tan, P. N., & Kumar, V. (2003). Continental-scale comparisons of terrestrial carbon sinks estimated from satellite data & ecosystem modeling 1982–1998. Global & Planetary Change, 39[3-4], 201-213.

  • Potter; C. S.; Randerson; J. T.; Field; C. B.; Matson; P. A.; Vitousek; P. M.; Mooney; H. A. & Klooster, S. A. (1993). Terrestrial ecosystem production: a process model based on global satellite & surface data. Global Biogeochemical Cycles, 7[4], 811-841.

Versions

  • 1.0 on 28.02.2020 [sbesnard]

Created by

  • ncarvalhais

Calculated using:

julia
Inputs: :cCycle => :c_eco_efflux, :cCycle => :c_eco_influx, :cCycle => :c_eco_flow, :fluxes => :c_eco_efflux, :fluxes => :c_eco_flow, :fluxes => :c_eco_influx, :fluxes => :c_eco_out, :fluxes => :c_eco_npp, :pools => :cEco, :pools => :cVeg, :fluxes => :gpp, :diagnostics => :c_eco_k, :diagnostics => :c_allocation, :cFlow => :p_E_vec, :cFlow => :p_F_vec, :cFlow => :p_giver, :cFlow => :p_taker, :constants => :c_flow_order, :diagnostics => :c_eco_τ
Outputs: :fluxes => :nee, :fluxes => :c_eco_npp, :fluxes => :auto_respiration, :fluxes => :eco_respiration, :fluxes => :hetero_respiration, :states => :c_eco_efflux, :states => :c_eco_flow, :states => :c_eco_influx, :states => :c_eco_out, :states => :c_eco_npp

View Source


cCycleBase

SindbadTEM.Processes.cCycleBase Type
julia
Defines the base properties of the carbon cycle components. For example, components of carbon pools, their turnover rates, and flow matrix.

Approaches

  • 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.

cCycleBase approaches
SindbadTEM.Processes.cCycleBase_CASA Type

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

Parameters

  • Fields
    • annk: [1.0, 0.03, 0.03, 1.0, 14.8, 3.9, 18.5, 4.8, 0.2424, 0.2424, 6.0, 7.3, 0.2, 0.0045] ∈ [[0.05, 0.002, 0.002, 0.05, 1.48, 0.39, 1.85, 0.48, 0.02424, 0.02424, 0.6, 0.73, 0.02, 0.0045], [3.3, 0.5, 0.5, 3.3, 148.0, 39.0, 185.0, 48.0, 2.424, 2.424, 60.0, 73.0, 2.0, 0.045]] => turnover rate of ecosystem carbon pools (units: year-1 @ all timescales)

    • c_flow_E_array: [-1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0; 0.0 -1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 -1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 -1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 -1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0 -1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0 0.0 -1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.0 0.0 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.0 0.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 -1.0 0.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.4 0.4 0.0 0.0 0.4 0.0 -1.0 0.0 0.0 0.0; 0.0 0.0 0.0 0.0 0.0 0.0 0.45 0.45 0.0 0.4 0.0 -1.0 0.45 0.45; 0.0 0.0 0.0 0.0 0.0 0.6 0.0 0.55 0.6 0.6 0.4 0.0 -1.0 0.0; 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.45 -1.0] ∈ [-Inf, Inf] => Transfer matrix for carbon at ecosystem level (unitless @ all timescales)

    • cVegRootF_age_per_PFT: [1.8, 1.2, 1.2, 5.0, 1.8, 1.0, 1.0, 0.0, 1.0, 2.8, 1.0, 1.0] ∈ [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0]] => mean age of fine roots (units: yr @ all timescales)

    • cVegRootC_age_per_PFT: [41.0, 58.0, 58.0, 42.0, 27.0, 25.0, 25.0, 0.0, 5.5, 40.0, 1.0, 40.0] ∈ [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0]] => mean age of coarse roots (units: yr @ all timescales)

    • cVegWood_age_per_PFT: [41.0, 58.0, 58.0, 42.0, 27.0, 25.0, 25.0, 0.0, 5.5, 40.0, 1.0, 40.0] ∈ [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0]] => mean age of wood (units: yr @ all timescales)

    • cVegLeaf_age_per_PFT: [1.8, 1.2, 1.2, 5.0, 1.8, 1.0, 1.0, 0.0, 1.0, 2.8, 1.0, 1.0] ∈ [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0, 20.0]] => mean age of leafs (units: yr @ all timescales)

    • p_C_to_N_cVeg: [25.0, 260.0, 260.0, 25.0] ∈ [-Inf, Inf] => carbon to nitrogen ratio in vegetation pools (units: gC/gN @ all timescales)

Methods:

define:

  • Inputs

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.C_to_N_cVeg: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :C_to_N_cVeg) for information on how to add the variable to the catalog.

    • diagnostics.c_flow_A_array: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_flow_A_array) for information on how to add the variable to the catalog.

    • diagnostics.c_flow_E_array: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_flow_E_array) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • diagnostics.C_to_N_cVeg: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :C_to_N_cVeg) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.c_eco_k_base: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_base) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for cCycleBase_CASA.jl. Check the Extended help for user-defined information.


Extended help

References

  • Carvalhais; N.; Reichstein; M.; Seixas; J.; Collatz; G. J.; Pereira; J. S.; Berbigier; P. & Rambal, S. (2008). Implications of the carbon cycle steady state assumption for biogeochemical modeling performance & inverse parameter retrieval. Global Biogeochemical Cycles, 22[2].

  • Potter, C., Klooster, S., Myneni, R., Genovese, V., Tan, P. N., & Kumar, V. (2003). Continental-scale comparisons of terrestrial carbon sinks estimated from satellite data & ecosystem modeling 1982–1998. Global & Planetary Change, 39[3-4], 201-213.

  • Potter; C. S.; Randerson; J. T.; Field; C. B.; Matson; P. A.; Vitousek; P. M.; Mooney; H. A. & Klooster, S. A. (1993). Terrestrial ecosystem production: a process model based on global satellite & surface data. Global Biogeochemical Cycles, 7[4], 811-841.

Versions

  • 1.0 on 28.05.2022 [skoirala | @dr-ko]: migrate to julia

Created by

  • ncarvalhais

Calculated using:

julia
Inputs: :diagnostics => :C_to_N_cVeg, :constants => :o_one
Outputs: :diagnostics => :c_eco_k_base

View Source


cCycleConsistency

SindbadTEM.Processes.cCycleConsistency Type
julia
Consistency and sanity checks in carbon allocation and transfers.

Approaches

  • cCycleConsistency_simple: Checks consistency in the cCycle vector, including c_allocation and cFlow.
cCycleConsistency approaches
SindbadTEM.Processes.cCycleConsistency_simple Type

Checks consistency in the cCycle vector, including c_allocation and cFlow.

Parameters

  • None

Methods:

define:

  • Inputs

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.

    • diagnostics.c_flow_A_array: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_flow_A_array) for information on how to add the variable to the catalog.

    • constants.c_giver: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :c_giver) for information on how to add the variable to the catalog.

  • Outputs

    • cCycleConsistency.giver_lower_unique: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cCycleConsistency, :giver_lower_unique) for information on how to add the variable to the catalog.

    • cCycleConsistency.giver_lower_indices: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cCycleConsistency, :giver_lower_indices) for information on how to add the variable to the catalog.

    • cCycleConsistency.giver_upper_unique: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cCycleConsistency, :giver_upper_unique) for information on how to add the variable to the catalog.

    • cCycleConsistency.giver_upper_indices: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cCycleConsistency, :giver_upper_indices) for information on how to add the variable to the catalog.

precompute, compute, update methods are not defined

End of getModelDocString-generated docstring for cCycleConsistency_simple.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 12.05.2022: skoirala: julia implementation

Created by

  • sbesnard

View Source


cCycleDisturbance

SindbadTEM.Processes.cCycleDisturbance Type
julia
Disturbance of the carbon cycle pools.

Approaches

  • 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.

cCycleDisturbance approaches
SindbadTEM.Processes.cCycleDisturbance_WROASTED Type

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.

Parameters

  • None

Methods:

define:

  • Inputs

    • constants.c_giver: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :c_giver) for information on how to add the variable to the catalog.

    • constants.c_taker: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :c_taker) for information on how to add the variable to the catalog.

    • pools.cVeg: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cVeg) for information on how to add the variable to the catalog.

  • Outputs

    • cCycleDisturbance.zix_veg_all: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cCycleDisturbance, :zix_veg_all) for information on how to add the variable to the catalog.

    • cCycleDisturbance.c_lose_to_zix_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cCycleDisturbance, :c_lose_to_zix_vec) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • forcing.f_dist_intensity: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_dist_intensity) for information on how to add the variable to the catalog.

    • cCycleDisturbance.zix_veg_all: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cCycleDisturbance, :zix_veg_all) for information on how to add the variable to the catalog.

    • cCycleDisturbance.c_lose_to_zix_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cCycleDisturbance, :c_lose_to_zix_vec) for information on how to add the variable to the catalog.

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.

    • constants.c_giver: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :c_giver) for information on how to add the variable to the catalog.

    • constants.c_taker: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :c_taker) for information on how to add the variable to the catalog.

    • states.c_remain: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :c_remain) for information on how to add the variable to the catalog.

    • models.c_model: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:models, :c_model) for information on how to add the variable to the catalog.

  • Outputs

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for cCycleDisturbance_WROASTED.jl. Check the Extended help for user-defined information.


Extended help

References

  • Carvalhais; N.; Reichstein; M.; Seixas; J.; Collatz; G. J.; Pereira; J. S.; Berbigier; P. & Rambal, S. (2008). Implications of the carbon cycle steady state assumption for biogeochemical modeling performance & inverse parameter retrieval. Global Biogeochemical Cycles, 22[2].

Versions

  • 1.0 on 23.04.2021 [skoirala | @dr-ko]

  • 1.0 on 23.04.2021 [skoirala | @dr-ko]

  • 1.1 on 29.11.2021 [skoirala | @dr-ko]: moved the scaling parameters to ccyclebase_gsi [land.diagnostics.ηA & land.diagnostics.ηH]

Created by

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :forcing => :f_dist_intensity, :cCycleDisturbance => :zix_veg_all, :cCycleDisturbance => :c_lose_to_zix_vec, :pools => :cEco, :constants => :c_giver, :constants => :c_taker, :states => :c_remain, :models => :c_model
Outputs: :pools => :cEco

View Source


cFlow

SindbadTEM.Processes.cFlow Type
julia
Transfer rates for carbon flow between different pools.

Approaches

  • 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.

cFlow approaches
SindbadTEM.Processes.cFlow_CASA Type

Carbon transfer rates between pools as modeled in CASA.

Parameters

  • None

Methods:

compute:

  • Inputs

    • cFlowVegProperties.p_E_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cFlowVegProperties, :p_E_vec) for information on how to add the variable to the catalog.

    • cFlowVegProperties.p_F_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cFlowVegProperties, :p_F_vec) for information on how to add the variable to the catalog.

    • diagnostics.p_E_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :p_E_vec) for information on how to add the variable to the catalog.

    • diagnostics.p_F_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :p_F_vec) for information on how to add the variable to the catalog.

    • diagnostics.c_flow_E_array: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_flow_E_array) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • constants.c_flow_order: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :c_flow_order) for information on how to add the variable to the catalog.

    • cFlow.c_flow_A_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cFlow, :c_flow_A_vec) for information on how to add the variable to the catalog.

    • cFlow.p_E_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cFlow, :p_E_vec) for information on how to add the variable to the catalog.

    • cFlow.p_F_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cFlow, :p_F_vec) for information on how to add the variable to the catalog.

    • cFlow.p_giver: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cFlow, :p_giver) for information on how to add the variable to the catalog.

    • cFlow.p_taker: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cFlow, :p_taker) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for cFlow_CASA.jl. Check the Extended help for user-defined information.


Extended help

References

  • Carvalhais; N.; Reichstein; M.; Seixas; J.; Collatz; G. J.; Pereira; J. S.; Berbigier; P. & Rambal, S. (2008). Implications of the carbon cycle steady state assumption for biogeochemical modeling performance & inverse parameter retrieval. Global Biogeochemical Cycles, 22[2].

  • Potter, C., Klooster, S., Myneni, R., Genovese, V., Tan, P. N., & Kumar, V. (2003). Continental-scale comparisons of terrestrial carbon sinks estimated from satellite data & ecosystem modeling 1982–1998. Global & Planetary Change, 39[3-4], 201-213.

  • Potter; C. S.; Randerson; J. T.; Field; C. B.; Matson; P. A.; Vitousek; P. M.; Mooney; H. A. & Klooster, S. A. (1993). Terrestrial ecosystem production: a process model based on global satellite & surface data. Global Biogeochemical Cycles, 7[4], 811-841.

Versions

  • 1.0 on 13.01.2020 [sbesnard]

Created by

  • ncarvalhais

Calculated using:

julia
Inputs: :cFlowVegProperties => :p_E_vec, :cFlowVegProperties => :p_F_vec, :diagnostics => :p_E_vec, :diagnostics => :p_F_vec, :diagnostics => :c_flow_E_array, :constants => :z_zero, :constants => :o_one
Outputs: :constants => :c_flow_order, :cFlow => :c_flow_A_vec, :cFlow => :p_E_vec, :cFlow => :p_F_vec, :cFlow => :p_giver, :cFlow => :p_taker

View Source


cFlowSoilProperties

SindbadTEM.Processes.cFlowSoilProperties Type
julia
Effect of soil properties on carbon transfers between pools.

Approaches

  • 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).

cFlowSoilProperties approaches
SindbadTEM.Processes.cFlowSoilProperties_CASA Type

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

Parameters

  • Fields
    • effA: 0.85 ∈ [-Inf, Inf] => (unitless @ all timescales)

    • effB: 0.68 ∈ [-Inf, Inf] => (unitless @ all timescales)

    • effclay_cMicSoil_A: 0.003 ∈ [-Inf, Inf] => (unitless @ all timescales)

    • effclay_cMicSoil_B: 0.032 ∈ [-Inf, Inf] => (unitless @ all timescales)

    • effclay_cSoilSlow_A: 0.003 ∈ [-Inf, Inf] => (unitless @ all timescales)

    • effclay_cSoilSlow_B: 0.009 ∈ [-Inf, Inf] => (unitless @ all timescales)

Methods:

define:

  • Inputs

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.p_E_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :p_E_vec) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • diagnostics.p_E_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :p_E_vec) for information on how to add the variable to the catalog.

    • properties.st_clay: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :st_clay) for information on how to add the variable to the catalog.

    • properties.st_silt: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :st_silt) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.p_E_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :p_E_vec) for information on how to add the variable to the catalog.

    • diagnostics.p_F_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :p_F_vec) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for cFlowSoilProperties_CASA.jl. Check the Extended help for user-defined information.


Extended help

References

  • Carvalhais; N.; Reichstein; M.; Seixas; J.; Collatz; G. J.; Pereira; J. S.; Berbigier; P. & Rambal, S. (2008). Implications of the carbon cycle steady state assumption for biogeochemical modeling performance & inverse parameter retrieval. Global Biogeochemical Cycles, 22[2].

  • Potter, C., Klooster, S., Myneni, R., Genovese, V., Tan, P. N., & Kumar, V. (2003). Continental-scale comparisons of terrestrial carbon sinks estimated from satellite data & ecosystem modeling 1982–1998. Global & Planetary Change, 39[3-4], 201-213.

  • Potter; C. S.; Randerson; J. T.; Field; C. B.; Matson; P. A.; Vitousek; P. M.; Mooney; H. A. & Klooster, S. A. (1993). Terrestrial ecosystem production: a process model based on global satellite & surface data. Global Biogeochemical Cycles, 7[4], 811-841.

Versions

  • 1.0 on 13.01.2020 [sbesnard]

Created by

  • ncarvalhais

Calculated using:

julia
Inputs: :diagnostics => :p_E_vec, :properties => :st_clay, :properties => :st_silt
Outputs: :diagnostics => :p_E_vec, :diagnostics => :p_F_vec

View Source


cFlowVegProperties

SindbadTEM.Processes.cFlowVegProperties Type
julia
Effect of vegetation properties on carbon transfers between pools.

Approaches

  • 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).

cFlowVegProperties approaches
SindbadTEM.Processes.cFlowVegProperties_CASA Type

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

Parameters

  • Fields
    • frac_lignin_wood: 0.4 ∈ [-Inf, Inf] => fraction of wood that is lignin (unitless @ all timescales)

Methods:

define:

  • Inputs

    • constants.c_taker: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :c_taker) for information on how to add the variable to the catalog.

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.

  • Outputs

    • cFlowVegProperties.p_F_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cFlowVegProperties, :p_F_vec) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • cFlowVegProperties.p_F_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cFlowVegProperties, :p_F_vec) for information on how to add the variable to the catalog.

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.

  • Outputs

    • cFlowVegProperties.p_E_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cFlowVegProperties, :p_E_vec) for information on how to add the variable to the catalog.

    • cFlowVegProperties.p_F_vec: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:cFlowVegProperties, :p_F_vec) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for cFlowVegProperties_CASA.jl. Check the Extended help for user-defined information.


Extended help

References

  • Carvalhais; N.; Reichstein; M.; Seixas; J.; Collatz; G. J.; Pereira; J. S.; Berbigier; P. & Rambal, S. (2008). Implications of the carbon cycle steady state assumption for biogeochemical modeling performance & inverse parameter retrieval. Global Biogeochemical Cycles, 22[2].

  • Potter, C., Klooster, S., Myneni, R., Genovese, V., Tan, P. N., & Kumar, V. (2003). Continental-scale comparisons of terrestrial carbon sinks estimated from satellite data & ecosystem modeling 1982–1998. Global & Planetary Change, 39[3-4], 201-213.

  • Potter; C. S.; Randerson; J. T.; Field; C. B.; Matson; P. A.; Vitousek; P. M.; Mooney; H. A. & Klooster, S. A. (1993). Terrestrial ecosystem production: a process model based on global satellite & surface data. Global Biogeochemical Cycles, 7[4], 811-841.

Versions

  • 1.0 on 13.01.2020 [sbesnard]

Created by

  • ncarvalhais

Calculated using:

julia
Inputs: :cFlowVegProperties => :p_F_vec, :pools => :cEco
Outputs: :cFlowVegProperties => :p_E_vec, :cFlowVegProperties => :p_F_vec

View Source


cTau

SindbadTEM.Processes.cTau Type
julia
Actual decomposition/turnover rates of all carbon pools considering the effect of stressors.

Approaches

  • 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.

cTau approaches
SindbadTEM.Processes.cTau_mult Type

Combines all effects that change the turnover rates by multiplication.

Parameters

  • None

Methods:

define:

  • Inputs

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.c_eco_k: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • diagnostics.c_eco_k_f_veg_props: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_veg_props) for information on how to add the variable to the catalog.

    • diagnostics.c_eco_k_f_soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_soilW) for information on how to add the variable to the catalog.

    • diagnostics.c_eco_k_f_soilT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_soilT) for information on how to add the variable to the catalog.

    • diagnostics.c_eco_k_f_soil_props: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_soil_props) for information on how to add the variable to the catalog.

    • diagnostics.c_eco_k_f_LAI: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_LAI) for information on how to add the variable to the catalog.

    • diagnostics.c_eco_k_base: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_base) for information on how to add the variable to the catalog.

    • diagnostics.c_eco_k: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.c_eco_k: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for cTau_mult.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 12.01.2020 [sbesnard]

Created by

  • ncarvalhais

Notes:

Calculated using:

julia
Inputs: :diagnostics => :c_eco_k_f_veg_props, :diagnostics => :c_eco_k_f_soilW, :diagnostics => :c_eco_k_f_soilT, :diagnostics => :c_eco_k_f_soil_props, :diagnostics => :c_eco_k_f_LAI, :diagnostics => :c_eco_k_base, :diagnostics => :c_eco_k
Outputs: :diagnostics => :c_eco_k

View Source


cTauLAI

SindbadTEM.Processes.cTauLAI Type
julia
Effect of LAI on turnover rates of carbon pools.

Approaches

  • 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).

cTauLAI approaches
SindbadTEM.Processes.cTauLAI_CASA Type

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

Parameters

  • Fields
    • max_min_LAI: 12.0 ∈ [11.0, 13.0] => maximum value for the minimum LAI for litter scalars (units: m2/m2 @ all timescales)

    • k_root_LAI: 0.3 ∈ [0.0, 1.0] => constant fraction of root litter inputs (unitless @ all timescales)

Methods:

define:

  • Inputs

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.c_eco_k_f_LAI: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_LAI) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • diagnostics.c_eco_k_f_LAI: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_LAI) for information on how to add the variable to the catalog.

    • states.LAI: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :LAI) for information on how to add the variable to the catalog.

    • diagnostics.c_eco_τ: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_τ) for information on how to add the variable to the catalog.

    • diagnostics.c_eco_k: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.p_LAI13: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :p_LAI13) for information on how to add the variable to the catalog.

    • diagnostics.p_cVegLeafZix: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :p_cVegLeafZix) for information on how to add the variable to the catalog.

    • diagnostics.p_cVegRootZix: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :p_cVegRootZix) for information on how to add the variable to the catalog.

    • diagnostics.c_eco_k_f_LAI: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_LAI) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for cTauLAI_CASA.jl. Check the Extended help for user-defined information.


Extended help

References

  • Carvalhais; N.; Reichstein; M.; Seixas; J.; Collatz; G. J.; Pereira; J. S.; Berbigier; P. & Rambal, S. (2008). Implications of the carbon cycle steady state assumption for biogeochemical modeling performance & inverse parameter retrieval. Global Biogeochemical Cycles, 22[2].

  • Potter, C., Klooster, S., Myneni, R., Genovese, V., Tan, P. N., & Kumar, V. (2003). Continental-scale comparisons of terrestrial carbon sinks estimated from satellite data & ecosystem modeling 1982–1998. Global & Planetary Change, 39[3-4], 201-213.

  • Potter; C. S.; J. T. Randerson; C. B. Field; P. A. Matson; P. M. Vitousek; H. A. Mooney; & S. A. Klooster. 1993. Terrestrial ecosystem production: A process model based on global satellite & surface data. Global Biogeochemical Cycles. 7: 811-841.

  • Potter; C. S.; Randerson; J. T.; Field; C. B.; Matson; P. A.; Vitousek; P. M.; Mooney; H. A. & Klooster, S. A. (1993). Terrestrial ecosystem production: a process model based on global satellite & surface data. Global Biogeochemical Cycles, 7[4], 811-841.

Versions

  • 1.0 on 12.01.2020 [sbesnard]

  • 1.0 on 12.01.2020 [sbesnard]

  • 1.1 on 05.11.2020 [skoirala | @dr-ko]: speedup

Created by

  • ncarvalhais

Calculated using:

julia
Inputs: :diagnostics => :c_eco_k_f_LAI, :states => :LAI, :diagnostics => :c_eco_τ, :diagnostics => :c_eco_k
Outputs: :diagnostics => :p_LAI13, :diagnostics => :p_cVegLeafZix, :diagnostics => :p_cVegRootZix, :diagnostics => :c_eco_k_f_LAI

View Source


cTauSoilProperties

SindbadTEM.Processes.cTauSoilProperties Type
julia
Effect of soil texture on soil decomposition rates

Approaches

  • 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)

cTauSoilProperties approaches
SindbadTEM.Processes.cTauSoilProperties_CASA Type

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

Parameters

  • Fields
    • TEXTEFFA: 0.75 ∈ [0.0, 1.0] => effect of soil texture on turnove times (unitless @ all timescales)

Methods:

define:

  • Inputs

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.c_eco_k_f_soil_props: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_soil_props) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • diagnostics.c_eco_k_f_soil_props: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_soil_props) for information on how to add the variable to the catalog.

    • properties.st_clay: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :st_clay) for information on how to add the variable to the catalog.

    • properties.st_silt: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :st_silt) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.c_eco_k_f_soil_props: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_soil_props) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for cTauSoilProperties_CASA.jl. Check the Extended help for user-defined information.


Extended help

References

  • Carvalhais; N.; Reichstein; M.; Seixas; J.; Collatz; G. J.; Pereira; J. S.; Berbigier; P. & Rambal, S. (2008). Implications of the carbon cycle steady state assumption for biogeochemical modeling performance & inverse parameter retrieval. Global Biogeochemical Cycles, 22[2].

  • Potter, C., Klooster, S., Myneni, R., Genovese, V., Tan, P. N., & Kumar, V. (2003). Continental-scale comparisons of terrestrial carbon sinks estimated from satellite data & ecosystem modeling 1982–1998. Global & Planetary Change, 39[3-4], 201-213.

  • Potter; C. S.; Randerson; J. T.; Field; C. B.; Matson; P. A.; Vitousek; P. M.; Mooney; H. A. & Klooster, S. A. (1993). Terrestrial ecosystem production: a process model based on global satellite & surface data. Global Biogeochemical Cycles, 7[4], 811-841.

Versions

  • 1.0 on 12.01.2020 [sbesnard]

Created by

  • ncarvalhais

Calculated using:

julia
Inputs: :diagnostics => :c_eco_k_f_soil_props, :properties => :st_clay, :properties => :st_silt
Outputs: :diagnostics => :c_eco_k_f_soil_props

View Source


cTauSoilT

SindbadTEM.Processes.cTauSoilT Type
julia
Effect of soil temperature on decomposition rates.

Approaches

  • 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).

cTauSoilT approaches
SindbadTEM.Processes.cTauSoilT_Q10 Type

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

Parameters

  • Fields
    • Q10: 1.4 ∈ [1.05, 3.0] => (unitless @ all timescales)

    • ref_airT: 30.0 ∈ [0.01, 40.0] => (units: °C @ all timescales)

    • Q10_base: 10.0 ∈ [-Inf, Inf] => base temperature difference (units: °C @ all timescales)

Methods:

compute:

  • Inputs

    • forcing.f_airT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_airT) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.c_eco_k_f_soilT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_soilT) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for cTauSoilT_Q10.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 12.01.2020 [sbesnard]

Created by

  • ncarvalhais

Notes

Calculated using:

julia
Inputs: :forcing => :f_airT
Outputs: :diagnostics => :c_eco_k_f_soilT

View Source


cTauSoilW

SindbadTEM.Processes.cTauSoilW Type
julia
Effect of soil moisture on decomposition rates.

Approaches

  • 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).

cTauSoilW approaches
SindbadTEM.Processes.cTauSoilW_CASA Type

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

Parameters

  • Fields
    • Aws: 1.0 ∈ [0.001, 1000.0] => curve (expansion/contraction) controlling parameter (unitless @ all timescales)

Methods:

define:

  • Inputs

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.c_eco_k_f_soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_soilW) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • diagnostics.c_eco_k_f_soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_soilW) for information on how to add the variable to the catalog.

    • fluxes.rain: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :rain) for information on how to add the variable to the catalog.

    • pools.soilW_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW_prev) for information on how to add the variable to the catalog.

    • diagnostics.fsoilW_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :fsoilW_prev) for information on how to add the variable to the catalog.

    • fluxes.PET: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :PET) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.fsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :fsoilW) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for cTauSoilW_CASA.jl. Check the Extended help for user-defined information.


Extended help

References

  • Carvalhais; N.; Reichstein; M.; Seixas; J.; Collatz; G. J.; Pereira; J. S.; Berbigier; P. & Rambal, S. (2008). Implications of the carbon cycle steady state assumption for biogeochemical modeling performance & inverse parameter retrieval. Global Biogeochemical Cycles, 22[2].

  • Potter, C., Klooster, S., Myneni, R., Genovese, V., Tan, P. N., & Kumar, V. (2003). Continental-scale comparisons of terrestrial carbon sinks estimated from satellite data & ecosystem modeling 1982–1998. Global & Planetary Change, 39[3-4], 201-213.

  • Potter; C. S.; Randerson; J. T.; Field; C. B.; Matson; P. A.; Vitousek; P. M.; Mooney; H. A. & Klooster, S. A. (1993). Terrestrial ecosystem production: a process model based on global satellite & surface data. Global Biogeochemical Cycles, 7[4], 811-841.

Versions

  • 1.0 on 12.01.2020 [sbesnard]

Created by

  • ncarvalhais

Notesthe BGME is used as a scalar dependent on soil moisture; as the sum of soil moisture for all layers. This can be partitioned into different soil layers in the soil & affect independently the decomposition processes of pools that are at the surface & deeper in the soils.

Calculated using:

julia
Inputs: :diagnostics => :c_eco_k_f_soilW, :fluxes => :rain, :pools => :soilW_prev, :diagnostics => :fsoilW_prev, :fluxes => :PET, :constants => :z_zero, :constants => :o_one
Outputs: :diagnostics => :fsoilW

View Source


cTauVegProperties

SindbadTEM.Processes.cTauVegProperties Type
julia
Effect of vegetation properties on soil decomposition rates.

Approaches

  • 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).

cTauVegProperties approaches
SindbadTEM.Processes.cTauVegProperties_CASA Type

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

Parameters

  • Fields
    • LIGNIN_per_PFT: [0.2, 0.2, 0.22, 0.25, 0.2, 0.15, 0.1, 0.0, 0.2, 0.15, 0.15, 0.1] ∈ [-Inf, Inf] => fraction of litter that is lignin (unitless @ all timescales)

    • NONSOL2SOLLIGNIN: 2.22 ∈ [-Inf, Inf] => (unitless @ all timescales)

    • MTFA: 0.85 ∈ [-Inf, Inf] => (unitless @ all timescales)

    • MTFB: 0.018 ∈ [-Inf, Inf] => (unitless @ all timescales)

    • C2LIGNIN: 0.65 ∈ [-Inf, Inf] => (unitless @ all timescales)

    • LIGEFFA: 3.0 ∈ [-Inf, Inf] => (unitless @ all timescales)

    • LITC2N_per_PFT: [40.0, 50.0, 65.0, 80.0, 50.0, 50.0, 50.0, 0.0, 65.0, 50.0, 50.0, 40.0] ∈ [-Inf, Inf] => carbon-to-nitrogen ratio in litter (unitless @ all timescales)

Methods:

define:

  • Inputs

    • pools.cEco: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :cEco) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.c_eco_k_f_veg_props: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_veg_props) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • properties.PFT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :PFT) for information on how to add the variable to the catalog.

    • diagnostics.c_eco_k_f_veg_props: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_veg_props) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.c_eco_τ: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_τ) for information on how to add the variable to the catalog.

    • properties.C2LIGNIN: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :C2LIGNIN) for information on how to add the variable to the catalog.

    • properties.LIGEFF: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :LIGEFF) for information on how to add the variable to the catalog.

    • properties.LIGNIN: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :LIGNIN) for information on how to add the variable to the catalog.

    • properties.LITC2N: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :LITC2N) for information on how to add the variable to the catalog.

    • properties.MTF: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :MTF) for information on how to add the variable to the catalog.

    • properties.SCLIGNIN: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :SCLIGNIN) for information on how to add the variable to the catalog.

    • diagnostics.c_eco_k_f_veg_props: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_eco_k_f_veg_props) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for cTauVegProperties_CASA.jl. Check the Extended help for user-defined information.


Extended help

References

  • Carvalhais; N.; Reichstein; M.; Seixas; J.; Collatz; G. J.; Pereira; J. S.; Berbigier; P. & Rambal, S. (2008). Implications of the carbon cycle steady state assumption for biogeochemical modeling performance & inverse parameter retrieval. Global Biogeochemical Cycles, 22[2].

  • Potter, C., Klooster, S., Myneni, R., Genovese, V., Tan, P. N., & Kumar, V. (2003). Continental-scale comparisons of terrestrial carbon sinks estimated from satellite data & ecosystem modeling 1982–1998. Global & Planetary Change, 39[3-4], 201-213.

  • Potter; C. S.; Randerson; J. T.; Field; C. B.; Matson; P. A.; Vitousek; P. M.; Mooney; H. A. & Klooster, S. A. (1993). Terrestrial ecosystem production: a process model based on global satellite & surface data. Global Biogeochemical Cycles, 7[4], 811-841.

Versions

  • 1.0 on 12.01.2020 [sbesnard]

Created by

  • ncarvalhais

Calculated using:

julia
Inputs: :properties => :PFT, :diagnostics => :c_eco_k_f_veg_props, :constants => :z_zero, :constants => :o_one
Outputs: :diagnostics => :c_eco_τ, :properties => :C2LIGNIN, :properties => :LIGEFF, :properties => :LIGNIN, :properties => :LITC2N, :properties => :MTF, :properties => :SCLIGNIN, :diagnostics => :c_eco_k_f_veg_props

View Source


cVegetationDieOff

SindbadTEM.Processes.cVegetationDieOff Type
julia
Fraction of vegetation pools that die off.

Approaches

  • cVegetationDieOff_forcing: Get the fraction of vegetation that die off from forcing data.
cVegetationDieOff approaches
SindbadTEM.Processes.cVegetationDieOff_forcing Type

Get the fraction of vegetation that die off from forcing data.

Parameters

  • None

Methods:

define:

  • Inputs

    • forcing.f_dist_intensity: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_dist_intensity) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.c_fVegDieOff: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_fVegDieOff) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • forcing.f_dist_intensity: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_dist_intensity) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.c_fVegDieOff: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :c_fVegDieOff) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for cVegetationDieOff_forcing.jl. Check the Extended help for user-defined information.


Extended help

References

  • Carvalhais; N.; Reichstein; M.; Seixas; J.; Collatz; G. J.; Pereira; J. S.; Berbigier; P. & Rambal, S. (2008). Implications of the carbon cycle steady state assumption for biogeochemical modeling performance & inverse parameter retrieval. Global Biogeochemical Cycles, 22[2].

Versions

  • 1.0 on summer 2024

Created by:

  • Nuno

Calculated using:

julia
Inputs: :forcing => :f_dist_intensity
Outputs: :diagnostics => :c_fVegDieOff

View Source


capillaryFlow

SindbadTEM.Processes.capillaryFlow Type
julia
Capillary flux of water from lower to upper soil layers (upward soil moisture movement).

Approaches

  • capillaryFlow_VanDijk2010: Computes the upward capillary flux of water through soil layers using the Van Dijk (2010) method.
capillaryFlow approaches
SindbadTEM.Processes.capillaryFlow_VanDijk2010 Type

Computes the upward capillary flux of water through soil layers using the Van Dijk (2010) method.

Parameters

  • Fields
    • max_frac: 0.95 ∈ [0.02, 0.98] => max fraction of soil moisture that can be lost as capillary flux (unitless @ all timescales)

Methods:

define:

  • Inputs

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.
  • Outputs

    • fluxes.soil_capillary_flux: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :soil_capillary_flux) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • properties.k_fc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :k_fc) for information on how to add the variable to the catalog.

    • properties.w_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_sat) for information on how to add the variable to the catalog.

    • fluxes.soil_capillary_flux: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :soil_capillary_flux) for information on how to add the variable to the catalog.

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.soil_capillary_flux: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :soil_capillary_flux) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for capillaryFlow_VanDijk2010.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 18.11.2019 [skoirala | @dr-ko]

Created by

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :properties => :k_fc, :properties => :w_sat, :fluxes => :soil_capillary_flux, :pools => :soilW, :pools => :ΔsoilW, :constants => :z_zero, :constants => :o_one
Outputs: :fluxes => :soil_capillary_flux, :pools => :ΔsoilW

View Source


constants

SindbadTEM.Processes.constants Type
julia
Defines constants and variables that are independent of model structure.

Approaches

  • constants_numbers: Includes constants for numbers such as 1 to 10.
constants approaches
SindbadTEM.Processes.constants_numbers Type

Includes constants for numbers such as 1 to 10.

Parameters

  • None

Methods:

define:

  • Inputs

    • None
  • Outputs

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

    • constants.t_two: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :t_two) for information on how to add the variable to the catalog.

    • constants.t_three: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :t_three) for information on how to add the variable to the catalog.

precompute, compute, update methods are not defined

End of getModelDocString-generated docstring for constants_numbers.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 14.05.2025 [skoirala]

Created by

  • skoirala

View Source


deriveVariables

SindbadTEM.Processes.deriveVariables Type
julia
Derives additional variables based on other SINDBAD models and saves them into land.deriveVariables.

Approaches

  • deriveVariables_simple: Incudes derivation of few variables that may be commonly needed for optimization against some datasets.
deriveVariables approaches
SindbadTEM.Processes.deriveVariables_simple Type

Incudes derivation of few variables that may be commonly needed for optimization against some datasets.

Parameters

  • None

Methods:

define, precompute, compute, update methods are not defined

End of getModelDocString-generated docstring for deriveVariables_simple.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 19.07.2023 [skoirala | @dr-ko]:

Created by

  • skoirala | @dr-ko

View Source


drainage

SindbadTEM.Processes.drainage Type
julia
Drainage flux of water from upper to lower soil layers.

Approaches

  • 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.

drainage approaches
SindbadTEM.Processes.drainage_dos Type

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

Parameters

  • Fields
    • dos_exp: 1.5 ∈ [0.1, 3.0] => exponent of non-linearity for dos influence on drainage in soil (unitless @ all timescales)

Methods:

define:

  • Inputs

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.
  • Outputs

    • fluxes.drainage: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :drainage) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • fluxes.drainage: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :drainage) for information on how to add the variable to the catalog.

    • properties.w_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_sat) for information on how to add the variable to the catalog.

    • properties.soil_β: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :soil_β) for information on how to add the variable to the catalog.

    • properties.w_fc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_fc) for information on how to add the variable to the catalog.

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.drainage: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :drainage) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for drainage_dos.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 18.11.2019 [skoirala | @dr-ko]

Created by

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :fluxes => :drainage, :properties => :w_sat, :properties => :soil_β, :properties => :w_fc, :pools => :soilW, :pools => :ΔsoilW, :constants => :z_zero, :constants => :o_one
Outputs: :fluxes => :drainage, :pools => :ΔsoilW

View Source


evaporation

SindbadTEM.Processes.evaporation Type
julia
Bare soil evaporation.

Approaches

  • 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.

evaporation approaches
SindbadTEM.Processes.evaporation_Snyder2000 Type

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

Parameters

  • Fields
    • α: 1.0 ∈ [0.5, 1.5] => scaling factor for PET to account for maximum bare soil evaporation (unitless @ all timescales)

    • β: 3.0 ∈ [1.0, 5.0] => soil moisture resistance factor for soil evapotranspiration (units: mm^0.5 @ all timescales)

Methods:

define:

  • Inputs

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.
  • Outputs

    • fluxes.sPET_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :sPET_prev) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • states.fAPAR: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :fAPAR) for information on how to add the variable to the catalog.

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

    • fluxes.PET: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :PET) for information on how to add the variable to the catalog.

    • fluxes.sPET_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :sPET_prev) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.sET: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :sET) for information on how to add the variable to the catalog.

    • fluxes.sPET_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :sPET_prev) for information on how to add the variable to the catalog.

    • fluxes.evaporation: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :evaporation) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for evaporation_Snyder2000.jl. Check the Extended help for user-defined information.


Extended help

References

  • Snyder, R. L., Bali, K., Ventura, F., & Gomez-MacPherson, H. (2000). Estimating evaporation from bare - nearly bare soil. Journal of irrigation & drainage engineering, 126[6], 399-403.

Versions

  • 1.0 on 11.11.2019 [skoirala | @dr-ko]: transfer from to accommodate land.states.fAPAR

Created by

  • mjung

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :states => :fAPAR, :pools => :soilW, :pools => :ΔsoilW, :fluxes => :PET, :fluxes => :sPET_prev, :constants => :z_zero, :constants => :o_one
Outputs: :fluxes => :sET, :fluxes => :sPET_prev, :fluxes => :evaporation, :pools => :ΔsoilW

View Source


evapotranspiration

SindbadTEM.Processes.evapotranspiration Type
julia
Evapotranspiration.

Approaches

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

  • evapotranspiration_sum: Evapotranspiration as a sum of all potential components

evapotranspiration approaches
SindbadTEM.Processes.evapotranspiration_simple Type

calculates evapotranspiration as a simple linear function of soil moisture

Parameters

  • Fields
    • k_evapotranspiration: 0.001 ∈ [0.001, 0.1] => evapotranspiration supplyrate (units: day-1 @ day timescale)

    • d_evapotranspiration: 0.01 ∈ [0.001, 0.98] => evapotranspiration demand rate (units: - @ day timescale)

    • mj_to_mm: 2.45 ∈ [-Inf, Inf] => conversion factor from MJ to mm (units: MJ/mm @ all timescales)

Methods:

compute:

  • Inputs

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

    • forcing.f_rn: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_rn) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.evapotranspiration: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :evapotranspiration) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for evapotranspiration_simple.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 16.12.2025 [skoirala]

Created by

  • skoirala

Calculated using:

julia
Inputs: :pools => :soilW, :pools => :ΔsoilW, :forcing => :f_rn
Outputs: :fluxes => :evapotranspiration, :pools => :ΔsoilW

View Source


fAPAR

SindbadTEM.Processes.fAPAR Type
julia
Fraction of absorbed photosynthetically active radiation.

Approaches

  • 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.

fAPAR approaches
SindbadTEM.Processes.fAPAR_EVI Type

fAPAR as a linear function of EVI.

Parameters

  • Fields
    • EVI_to_fAPAR_c: 0.0 ∈ [-0.2, 0.3] => intercept of the linear function (unitless @ all timescales)

    • EVI_to_fAPAR_m: 1.0 ∈ [0.5, 5] => slope of the linear function (unitless @ all timescales)

Methods:

compute:

  • Inputs

    • states.EVI: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :EVI) for information on how to add the variable to the catalog.
  • Outputs

    • states.fAPAR: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :fAPAR) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for fAPAR_EVI.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 11.11.2019 [skoirala | @dr-ko]

Created by

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :states => :EVI
Outputs: :states => :fAPAR

View Source


getPools

SindbadTEM.Processes.getPools Type
julia
Retrieves the amount of water at the beginning of the time step.

Approaches

  • getPools_simple: Simply take throughfall as the maximum available water.
getPools approaches
SindbadTEM.Processes.getPools_simple Type

Simply take throughfall as the maximum available water.

Parameters

  • None

Methods:

define:

  • Inputs

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.
  • Outputs

    • states.WBP: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :WBP) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • fluxes.rain: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :rain) for information on how to add the variable to the catalog.

    • states.WBP: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :WBP) for information on how to add the variable to the catalog.

  • Outputs

    • states.WBP: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :WBP) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for getPools_simple.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 19.11.2019 [skoirala | @dr-ko]: added the documentation & cleaned the code, added json with development stage

Created by

  • mjung

  • ncarvalhais

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :fluxes => :rain, :states => :WBP
Outputs: :states => :WBP

View Source


gpp

SindbadTEM.Processes.gpp Type
julia
Gross Primary Productivity (GPP).

Approaches

  • 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.

gpp approaches
SindbadTEM.Processes.gpp_coupled Type

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

Parameters

  • None

Methods:

compute:

  • Inputs

    • diagnostics.transpiration_supply: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :transpiration_supply) for information on how to add the variable to the catalog.

    • diagnostics.gpp_f_soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_soilW) for information on how to add the variable to the catalog.

    • diagnostics.gpp_demand: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_demand) for information on how to add the variable to the catalog.

    • diagnostics.WUE: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :WUE) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.gpp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :gpp) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for gpp_coupled.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 22.11.2019 [skoirala | @dr-ko]

Created by

  • mjung

  • skoirala | @dr-ko

Notes

Calculated using:

julia
Inputs: :diagnostics => :transpiration_supply, :diagnostics => :gpp_f_soilW, :diagnostics => :gpp_demand, :diagnostics => :WUE
Outputs: :fluxes => :gpp

View Source


gppAirT

SindbadTEM.Processes.gppAirT Type
julia
Effect of temperature on GPP: 1 indicates no temperature stress, 0 indicates complete stress.

Approaches

  • 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).

gppAirT approaches
SindbadTEM.Processes.gppAirT_CASA Type

Temperature effect on GPP based as implemented in CASA.

Parameters

  • Fields
    • opt_airT: 25.0 ∈ [5.0, 35.0] => check in CASA code (units: °C @ all timescales)

    • opt_airT_A: 0.2 ∈ [0.01, 0.3] => increasing slope of sensitivity (unitless @ all timescales)

    • opt_airT_B: 0.3 ∈ [0.01, 0.5] => decreasing slope of sensitivity (unitless @ all timescales)

    • exp_airT: 10.0 ∈ [9.0, 11.0] => reference for exponent of sensitivity (unitless @ all timescales)

Methods:

compute:

  • Inputs

    • forcing.f_airT_day: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_airT_day) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.gpp_f_airT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_airT) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for gppAirT_CASA.jl. Check the Extended help for user-defined information.


Extended help

References

  • Carvalhais; N.; Reichstein; M.; Seixas; J.; Collatz; G. J.; Pereira; J. S.; Berbigier; P. & Rambal, S. (2008). Implications of the carbon cycle steady state assumption for biogeochemical modeling performance & inverse parameter retrieval. Global Biogeochemical Cycles, 22[2].

  • Potter, C., Klooster, S., Myneni, R., Genovese, V., Tan, P. N., & Kumar, V. (2003). Continental-scale comparisons of terrestrial carbon sinks estimated from satellite data & ecosystem modeling 1982–1998. Global & Planetary Change, 39[3-4], 201-213.

  • Potter; C. S.; Randerson; J. T.; Field; C. B.; Matson; P. A.; Vitousek; P. M.; Mooney; H. A. & Klooster, S. A. (1993). Terrestrial ecosystem production: a process model based on global satellite & surface data. Global Biogeochemical Cycles, 7[4], 811-841.

Versions

  • 1.0 on 22.11.2019 [skoirala | @dr-ko]: documentation & clean up

Created by

  • ncarvalhais

Notes

Calculated using:

julia
Inputs: :forcing => :f_airT_day, :constants => :o_one
Outputs: :diagnostics => :gpp_f_airT

View Source


gppDemand

SindbadTEM.Processes.gppDemand Type
julia
Combined effect of environmental demand on GPP.

Approaches

  • 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.

gppDemand approaches
SindbadTEM.Processes.gppDemand_min Type

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

Parameters

  • None

Methods:

define:

  • Inputs

    • land.land_pools = pools: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:land, :land_pools = pools) for information on how to add the variable to the catalog.

    • diagnostics.gpp_potential: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_potential) for information on how to add the variable to the catalog.

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.gpp_climate_stressors: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_climate_stressors) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • states.fAPAR: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :fAPAR) for information on how to add the variable to the catalog.

    • diagnostics.gpp_f_cloud: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_cloud) for information on how to add the variable to the catalog.

    • diagnostics.gpp_potential: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_potential) for information on how to add the variable to the catalog.

    • diagnostics.gpp_f_light: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_light) for information on how to add the variable to the catalog.

    • diagnostics.gpp_climate_stressors: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_climate_stressors) for information on how to add the variable to the catalog.

    • diagnostics.gpp_f_airT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_airT) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.gpp_f_climate: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_climate) for information on how to add the variable to the catalog.

    • diagnostics.gpp_demand: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_demand) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for gppDemand_min.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 22.11.2019 [skoirala | @dr-ko]: documentation & clean up

Created by

  • ncarvalhais

Notes

Calculated using:

julia
Inputs: :states => :fAPAR, :diagnostics => :gpp_f_cloud, :diagnostics => :gpp_potential, :diagnostics => :gpp_f_light, :diagnostics => :gpp_climate_stressors, :diagnostics => :gpp_f_airT
Outputs: :diagnostics => :gpp_f_climate, :diagnostics => :gpp_demand

View Source


gppDiffRadiation

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

Approaches

  • 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.

gppDiffRadiation approaches
SindbadTEM.Processes.gppDiffRadiation_GSI Type

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

Parameters

  • Fields
    • fR_τ: 0.2 ∈ [0.01, 1.0] => contribution factor for current stressor (units: fraction @ all timescales)

    • fR_slope: 58.0 ∈ [1.0, 100.0] => slope of sigmoid (units: fraction @ all timescales)

    • fR_base: 59.78 ∈ [1.0, 120.0] => base of sigmoid (units: fraction @ all timescales)

Methods:

define:

  • Inputs

    • forcing.f_rg: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_rg) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.gpp_f_cloud: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_cloud) for information on how to add the variable to the catalog.

    • diagnostics.gpp_f_cloud_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_cloud_prev) for information on how to add the variable to the catalog.

    • diagnostics.MJ_to_W: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :MJ_to_W) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • forcing.f_rg: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_rg) for information on how to add the variable to the catalog.

    • diagnostics.gpp_f_cloud_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_cloud_prev) for information on how to add the variable to the catalog.

    • diagnostics.MJ_to_W: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :MJ_to_W) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.gpp_f_cloud: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_cloud) for information on how to add the variable to the catalog.

    • diagnostics.gpp_f_cloud_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_cloud_prev) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for gppDiffRadiation_GSI.jl. Check the Extended help for user-defined information.


Extended help

References

  • Forkel; M.; Carvalhais; N.; Schaphoff; S.; v. Bloh; W.; Migliavacca; M. Thurner; M.; & Thonicke; K.: Identifying environmental controls on vegetation greenness phenology through model–data integration Biogeosciences; 11; 7025–7050; https://doi.org/10.5194/bg-11-7025-2014;2014.

Versions

  • 1.1 on 22.01.2021 (skoirala

Created by

  • skoirala | @dr-ko

Notes

Calculated using:

julia
Inputs: :forcing => :f_rg, :diagnostics => :gpp_f_cloud_prev, :diagnostics => :MJ_to_W, :constants => :z_zero, :constants => :o_one
Outputs: :diagnostics => :gpp_f_cloud, :diagnostics => :gpp_f_cloud_prev

View Source


gppDirRadiation

SindbadTEM.Processes.gppDirRadiation Type
julia
Effect of direct radiation (light effect) on GPP: 1 indicates no direct radiation effect, 0 indicates complete effect.

Approaches

  • 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.

gppDirRadiation approaches
SindbadTEM.Processes.gppDirRadiation_Maekelae2008 Type

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

Parameters

  • Fields
    • γ: 0.04 ∈ [0.001, 0.1] => empirical light response parameter (unitless @ all timescales)

Methods:

compute:

  • Inputs

    • forcing.f_PAR: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_PAR) for information on how to add the variable to the catalog.

    • states.fAPAR: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :fAPAR) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.gpp_f_light: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_light) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for gppDirRadiation_Maekelae2008.jl. Check the Extended help for user-defined information.


Extended help

References

  • Mäkelä, A., Pulkkinen, M., Kolari, P., et al. (2008). Developing an empirical model of stand GPP with the LUE approachanalysis of eddy covariance data at five contrasting conifer sites in Europe. Global change biology, 14[1], 92-108.

Versions

  • 1.0 on 22.11.2019 [skoirala | @dr-ko]: documentation & clean up

Created by

  • mjung

  • ncarvalhais

Notes

  • γ is between [0.007 0.05], median !0.04 [m2/mol] in Maekelae et al 2008.

Calculated using:

julia
Inputs: :forcing => :f_PAR, :states => :fAPAR
Outputs: :diagnostics => :gpp_f_light

View Source


gppPotential

SindbadTEM.Processes.gppPotential Type
julia
Potential GPP based on maximum instantaneous radiation use efficiency.

Approaches

  • gppPotential_Monteith: Potential GPP based on radiation use efficiency model/concept of Monteith.
gppPotential approaches
SindbadTEM.Processes.gppPotential_Monteith Type

Potential GPP based on radiation use efficiency model/concept of Monteith.

Parameters

  • Fields
    • εmax: 2.0 ∈ [0.1, 5.0] => Maximum Radiation Use Efficiency (units: gC/MJ @ all timescales)

Methods:

compute:

  • Inputs

    • forcing.f_PAR: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_PAR) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.gpp_potential: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_potential) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for gppPotential_Monteith.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 22.11.2019 [skoirala | @dr-ko]: documentation & clean up

Created by

  • mjung

  • ncarvalhais

Notes

  • no crontrols for fPAR | meteo factors

  • set the potential GPP as maxRUE * f_PAR [gC/m2/dat]

  • usually GPP = e_max x f[clim] x FAPAR x f_PAR here GPP = GPPpot x f[clim] x FAPAR GPPpot = e_max x f_PAR f[clim] & FAPAR are [maybe] calculated dynamically

Calculated using:

julia
Inputs: :forcing => :f_PAR
Outputs: :diagnostics => :gpp_potential

View Source


gppSoilW

SindbadTEM.Processes.gppSoilW Type
julia
Effect of soil moisture on GPP: 1 indicates no soil water stress, 0 indicates complete stress.

Approaches

  • 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).

gppSoilW approaches
SindbadTEM.Processes.gppSoilW_CASA Type

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

Parameters

  • Fields
    • base_f_soilW: 0.2 ∈ [0, 1] => base water stress (unitless @ all timescales)

Methods:

define:

  • Inputs

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.gpp_f_soilW_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_soilW_prev) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • forcing.f_airT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_airT) for information on how to add the variable to the catalog.

    • diagnostics.gpp_f_soilW_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_soilW_prev) for information on how to add the variable to the catalog.

    • states.PAW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :PAW) for information on how to add the variable to the catalog.

    • fluxes.PET: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :PET) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.OmBweOPET: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :OmBweOPET) for information on how to add the variable to the catalog.

    • diagnostics.gpp_f_soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_soilW) for information on how to add the variable to the catalog.

    • diagnostics.gpp_f_soilW_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_soilW_prev) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for gppSoilW_CASA.jl. Check the Extended help for user-defined information.


Extended help

References

  • Forkel; M.; Carvalhais; N.; Schaphoff; S.; v. Bloh; W.; Migliavacca; M. Thurner; M.; & Thonicke; K.: Identifying environmental controls on vegetation greenness phenology through model–data integration Biogeosciences; 11; 7025–7050; https://doi.org/10.5194/bg-11-7025-2014;2014.

Versions

  • 1.1 on 22.01.2021 [skoirala | @dr-ko]

Created by

  • skoirala | @dr-ko

Notes

Calculated using:

julia
Inputs: :forcing => :f_airT, :diagnostics => :gpp_f_soilW_prev, :states => :PAW, :fluxes => :PET, :constants => :z_zero, :constants => :o_one
Outputs: :diagnostics => :OmBweOPET, :diagnostics => :gpp_f_soilW, :diagnostics => :gpp_f_soilW_prev

View Source


gppVPD

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

Approaches

  • 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).

gppVPD approaches
SindbadTEM.Processes.gppVPD_MOD17 Type

VPD stress on GPP potential based on the MOD17 model.

Parameters

  • Fields
    • VPD_max: 4.0 ∈ [2.0, 8.0] => Max VPD with GPP > 0 (units: kPa @ all timescales)

    • VPD_min: 0.65 ∈ [0.0, 1.0] => Min VPD with GPP > 0 (units: kPa @ all timescales)

Methods:

compute:

  • Inputs

    • forcing.f_VPD_day: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_VPD_day) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.gpp_f_vpd: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :gpp_f_vpd) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for gppVPD_MOD17.jl. Check the Extended help for user-defined information.


Extended help

References

  • MOD17 User guide: https://lpdaac.usgs.gov/documents/495/MOD17_User_Guide_V6.pdf

  • Running; S. W.; Nemani; R. R.; Heinsch; F. A.; Zhao; M.; Reeves; M. & Hashimoto, H. (2004). A continuous satellite-derived measure of global terrestrial primary production. Bioscience, 54[6], 547-560.

  • Zhao, M., Heinsch, F. A., Nemani, R. R., & Running, S. W. (2005) Improvements of the MODIS terrestrial gross & net primary production global data set. Remote sensing of Environment, 95[2], 164-176.

Versions

  • 1.0 on 22.11.2019 [skoirala | @dr-ko]: documentation & clean up

Created by

  • ncarvalhais

Notes

Calculated using:

julia
Inputs: :forcing => :f_VPD_day, :constants => :z_zero, :constants => :o_one
Outputs: :diagnostics => :gpp_f_vpd

View Source


groundWRecharge

SindbadTEM.Processes.groundWRecharge Type
julia
Groundwater recharge.

Approaches

  • 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.

groundWRecharge approaches
SindbadTEM.Processes.groundWRecharge_dos Type

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

Parameters

  • Fields
    • dos_exp: 1.5 ∈ [1.0, 3.0] => exponent of non-linearity for dos influence on drainage to groundwater (unitless @ all timescales)

Methods:

define:

  • Inputs

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.
  • Outputs

    • fluxes.gw_recharge: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :gw_recharge) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • properties.w_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_sat) for information on how to add the variable to the catalog.

    • properties.soil_β: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :soil_β) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.

    • pools.ΔgroundW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔgroundW) for information on how to add the variable to the catalog.

    • pools.groundW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :groundW) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.gw_recharge: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :gw_recharge) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

    • pools.ΔgroundW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔgroundW) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for groundWRecharge_dos.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 11.11.2019 [skoirala | @dr-ko]: clean up

Created by

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :properties => :w_sat, :properties => :soil_β, :pools => :ΔsoilW, :pools => :soilW, :pools => :ΔgroundW, :pools => :groundW, :constants => :z_zero, :constants => :o_one
Outputs: :fluxes => :gw_recharge, :pools => :ΔsoilW, :pools => :ΔgroundW

View Source


groundWSoilWInteraction

SindbadTEM.Processes.groundWSoilWInteraction Type
julia
Groundwater-soil moisture interactions (e.g., capillary flux, water exchange).

Approaches

  • 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.

groundWSoilWInteraction approaches
SindbadTEM.Processes.groundWSoilWInteraction_VanDijk2010 Type

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

Parameters

  • Fields
    • max_fraction: 0.5 ∈ [0.001, 0.98] => fraction of groundwater that can be lost to capillary flux (unitless @ all timescales)

Methods:

define:

  • Inputs

    • None
  • Outputs

    • fluxes.gw_recharge: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :gw_recharge) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • properties.k_fc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :k_fc) for information on how to add the variable to the catalog.

    • properties.k_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :k_sat) for information on how to add the variable to the catalog.

    • properties.w_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_sat) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

    • pools.ΔgroundW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔgroundW) for information on how to add the variable to the catalog.

    • pools.groundW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :groundW) for information on how to add the variable to the catalog.

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.

    • models.unsat_k_model: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:models, :unsat_k_model) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

    • fluxes.gw_recharge: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :gw_recharge) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.gw_capillary_flux: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :gw_capillary_flux) for information on how to add the variable to the catalog.

    • fluxes.gw_recharge: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :gw_recharge) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

    • pools.ΔgroundW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔgroundW) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for groundWSoilWInteraction_VanDijk2010.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 18.11.2019 [skoirala | @dr-ko]

Created by

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :properties => :k_fc, :properties => :k_sat, :properties => :w_sat, :pools => :ΔsoilW, :pools => :ΔgroundW, :pools => :groundW, :pools => :soilW, :models => :unsat_k_model, :constants => :z_zero, :constants => :o_one, :fluxes => :gw_recharge
Outputs: :fluxes => :gw_capillary_flux, :fluxes => :gw_recharge, :pools => :ΔsoilW, :pools => :ΔgroundW

View Source


groundWSurfaceWInteraction

SindbadTEM.Processes.groundWSurfaceWInteraction Type
julia
Water exchange between surface and groundwater.

Approaches

  • 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.

groundWSurfaceWInteraction approaches
SindbadTEM.Processes.groundWSurfaceWInteraction_fracGradient Type

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

Parameters

  • Fields
    • k_gw_to_suw: 0.001 ∈ [0.0001, 0.01] => maximum transfer rate between GW and surface water (units: /d @ all timescales)

Methods:

compute:

  • Inputs

    • pools.ΔsurfaceW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsurfaceW) for information on how to add the variable to the catalog.

    • pools.ΔgroundW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔgroundW) for information on how to add the variable to the catalog.

    • pools.groundW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :groundW) for information on how to add the variable to the catalog.

    • pools.surfaceW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :surfaceW) for information on how to add the variable to the catalog.

    • constants.n_surfaceW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :n_surfaceW) for information on how to add the variable to the catalog.

    • constants.n_groundW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :n_groundW) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.gw_to_suw_flux: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :gw_to_suw_flux) for information on how to add the variable to the catalog.

    • pools.ΔsurfaceW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsurfaceW) for information on how to add the variable to the catalog.

    • pools.ΔgroundW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔgroundW) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for groundWSurfaceWInteraction_fracGradient.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 18.11.2019 [skoirala | @dr-ko]

Created by

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :pools => :ΔsurfaceW, :pools => :ΔgroundW, :pools => :groundW, :pools => :surfaceW, :constants => :n_surfaceW, :constants => :n_groundW
Outputs: :fluxes => :gw_to_suw_flux, :pools => :ΔsurfaceW, :pools => :ΔgroundW

View Source


interception

SindbadTEM.Processes.interception Type
julia
Interception loss.

Approaches

  • 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.

interception approaches
SindbadTEM.Processes.interception_Miralles2010 Type

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

Parameters

  • Fields
    • canopy_storage: 1.2 ∈ [0.4, 2.0] => Canopy storage (units: mm @ all timescales)

    • fte: 0.02 ∈ [0.02, 0.02] => fraction of trunk evaporation (unitless @ all timescales)

    • evap_rate: 0.3 ∈ [0.1, 0.5] => mean evaporation rate (units: mm/hr @ all timescales)

    • trunk_capacity: 0.02 ∈ [0.02, 0.02] => trunk capacity (units: mm @ all timescales)

    • pd: 0.02 ∈ [0.02, 0.02] => fraction rain to trunks (unitless @ all timescales)

Methods:

compute:

  • Inputs

    • states.WBP: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :WBP) for information on how to add the variable to the catalog.

    • states.fAPAR: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :fAPAR) for information on how to add the variable to the catalog.

    • fluxes.rain: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :rain) for information on how to add the variable to the catalog.

    • states.rainInt: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :rainInt) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.interception: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :interception) for information on how to add the variable to the catalog.

    • states.WBP: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :WBP) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for interception_Miralles2010.jl. Check the Extended help for user-defined information.


Extended help

References

  • Miralles, D. G., Gash, J. H., Holmes, T. R., de Jeu, R. A., & Dolman, A. J. (2010). Global canopy interception from satellite observations. Journal of Geophysical ResearchAtmospheres, 115[D16].

Versions

  • 1.0 on 18.11.2019 [ttraut]: cleaned up the code

  • 1.1 on 22.11.2019 [skoirala | @dr-ko]: handle land.states.fAPAR, rainfall intensity & rainfall

Created by

  • mjung

Notes

Calculated using:

julia
Inputs: :states => :WBP, :states => :fAPAR, :fluxes => :rain, :states => :rainInt
Outputs: :fluxes => :interception, :states => :WBP

View Source


percolation

SindbadTEM.Processes.percolation Type
julia
Percolation through the top of soil

Approaches

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

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

percolation approaches
SindbadTEM.Processes.percolation_WBP Type

Percolation as a difference of throughfall and surface runoff loss.

Parameters

  • None

Methods:

compute:

  • Inputs

    • pools.ΔgroundW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔgroundW) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.

    • pools.groundW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :groundW) for information on how to add the variable to the catalog.

    • states.WBP: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :WBP) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

    • properties.w_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_sat) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.percolation: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :percolation) for information on how to add the variable to the catalog.

    • states.WBP: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :WBP) for information on how to add the variable to the catalog.

    • pools.ΔgroundW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔgroundW) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for percolation_WBP.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 18.11.2019 [skoirala | @dr-ko]

Created by

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :pools => :ΔgroundW, :pools => :ΔsoilW, :pools => :soilW, :pools => :groundW, :states => :WBP, :constants => :o_one, :properties => :w_sat
Outputs: :fluxes => :percolation, :states => :WBP, :pools => :ΔgroundW, :pools => :ΔsoilW

View Source


plantForm

SindbadTEM.Processes.plantForm Type
julia
Plant form of the ecosystem.

Approaches

  • 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.

plantForm approaches
SindbadTEM.Processes.plantForm_PFT Type

Differentiate plant form based on PFT.

Parameters

  • None

Methods:

define:

  • Inputs

    • None
  • Outputs

    • plantForm.plant_form_pft: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:plantForm, :plant_form_pft) for information on how to add the variable to the catalog.

    • plantForm.defined_forms_pft: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:plantForm, :defined_forms_pft) for information on how to add the variable to the catalog.

precompute:

  • Inputs

    • forcing.f_pft: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_pft) for information on how to add the variable to the catalog.

    • plantForm.plant_form_pft: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:plantForm, :plant_form_pft) for information on how to add the variable to the catalog.

    • plantForm.defined_forms_pft: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:plantForm, :defined_forms_pft) for information on how to add the variable to the catalog.

  • Outputs

    • states.plant_form: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :plant_form) for information on how to add the variable to the catalog.

compute, update methods are not defined

End of getModelDocString-generated docstring for plantForm_PFT.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 24.04.2025 [skoirala]

Created by

  • skoirala

View Source


rainIntensity

SindbadTEM.Processes.rainIntensity Type
julia
Rainfall intensity.

Approaches

  • rainIntensity_forcing: Gets rainfall intensity from forcing data.

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

rainIntensity approaches
SindbadTEM.Processes.rainIntensity_forcing Type

Gets rainfall intensity from forcing data.

Parameters

  • None

Methods:

compute:

  • Inputs

    • forcing.f_rain_int: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_rain_int) for information on how to add the variable to the catalog.
  • Outputs

    • states.rain_int: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :rain_int) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for rainIntensity_forcing.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 11.11.2019 [skoirala | @dr-ko]: creation of approach

Created by

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :forcing => :f_rain_int
Outputs: :states => :rain_int

View Source


rainSnow

SindbadTEM.Processes.rainSnow Type
julia
Rain and snow partitioning.

Approaches

  • 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.

rainSnow approaches
SindbadTEM.Processes.rainSnow_Tair Type

Rain and snow partitioning based on a temperature threshold.

Parameters

  • Fields
    • airT_thres: 0.0 ∈ [-5.0, 5.0] => threshold for separating rain and snow (units: °C @ all timescales)

Methods:

compute:

  • Inputs

    • forcing.f_rain: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_rain) for information on how to add the variable to the catalog.

    • forcing.f_airT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_airT) for information on how to add the variable to the catalog.

    • pools.snowW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :snowW) for information on how to add the variable to the catalog.

    • pools.ΔsnowW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsnowW) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.precip: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :precip) for information on how to add the variable to the catalog.

    • fluxes.rain: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :rain) for information on how to add the variable to the catalog.

    • fluxes.snow: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :snow) for information on how to add the variable to the catalog.

    • pools.ΔsnowW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsnowW) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for rainSnow_Tair.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 11.11.2019 [skoirala | @dr-ko]: creation of approach

Created by

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :forcing => :f_rain, :forcing => :f_airT, :pools => :snowW, :pools => :ΔsnowW
Outputs: :fluxes => :precip, :fluxes => :rain, :fluxes => :snow, :pools => :ΔsnowW

View Source


rootMaximumDepth

SindbadTEM.Processes.rootMaximumDepth Type
julia
Maximum rooting depth.

Approaches

  • rootMaximumDepth_fracSoilD: Maximum rooting depth as a fraction of total soil depth.
rootMaximumDepth approaches
SindbadTEM.Processes.rootMaximumDepth_fracSoilD Type

Maximum rooting depth as a fraction of total soil depth.

Parameters

  • Fields
    • constant_frac_max_root_depth: 0.5 ∈ [0.1, 0.8] => root depth as a fraction of soil depth (unitless @ all timescales)

Methods:

define:

  • Inputs

    • properties.soil_layer_thickness: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :soil_layer_thickness) for information on how to add the variable to the catalog.
  • Outputs

    • properties.∑soil_depth: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :∑soil_depth) for information on how to add the variable to the catalog.

precompute:

  • Inputs

    • properties.∑soil_depth: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :∑soil_depth) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.max_root_depth: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :max_root_depth) for information on how to add the variable to the catalog.

compute, update methods are not defined

End of getModelDocString-generated docstring for rootMaximumDepth_fracSoilD.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 21.11.2019

Created by

  • skoirala | @dr-ko

View Source


rootWaterEfficiency

SindbadTEM.Processes.rootWaterEfficiency Type
julia
Water uptake efficiency by roots for each soil layer.

Approaches

  • 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.

rootWaterEfficiency approaches
SindbadTEM.Processes.rootWaterEfficiency_constant Type

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

Parameters

  • Fields
    • constant_root_water_efficiency: 0.99 ∈ [0.001, 0.999] => root fraction (unitless @ all timescales)

Methods:

define:

  • Inputs

    • properties.soil_layer_thickness: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :soil_layer_thickness) for information on how to add the variable to the catalog.

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.root_water_efficiency: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :root_water_efficiency) for information on how to add the variable to the catalog.

    • properties.cumulative_soil_depths: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :cumulative_soil_depths) for information on how to add the variable to the catalog.

precompute:

  • Inputs

    • properties.cumulative_soil_depths: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :cumulative_soil_depths) for information on how to add the variable to the catalog.

    • diagnostics.root_water_efficiency: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :root_water_efficiency) for information on how to add the variable to the catalog.

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • diagnostics.max_root_depth: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :max_root_depth) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.root_water_efficiency: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :root_water_efficiency) for information on how to add the variable to the catalog.

compute, update methods are not defined

End of getModelDocString-generated docstring for rootWaterEfficiency_constant.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 21.11.2019

Created by

  • skoirala | @dr-ko

View Source


rootWaterUptake

SindbadTEM.Processes.rootWaterUptake Type
julia
Root water uptake from soil.

Approaches

  • 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.

rootWaterUptake approaches
SindbadTEM.Processes.rootWaterUptake_proportion Type

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

Parameters

  • None

Methods:

define:

  • Inputs

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.
  • Outputs

    • fluxes.root_water_uptake: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :root_water_uptake) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • states.PAW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :PAW) for information on how to add the variable to the catalog.

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

    • fluxes.transpiration: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :transpiration) for information on how to add the variable to the catalog.

    • fluxes.root_water_uptake: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :root_water_uptake) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.root_water_uptake: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :root_water_uptake) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for rootWaterUptake_proportion.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 13.03.2020 [ttraut]

Created by

  • ttraut

Notes

  • assumes that the uptake from each layer remains proportional to the root fraction

Calculated using:

julia
Inputs: :states => :PAW, :pools => :soilW, :pools => :ΔsoilW, :fluxes => :transpiration, :fluxes => :root_water_uptake, :constants => :z_zero, :constants => :o_one
Outputs: :fluxes => :root_water_uptake, :pools => :ΔsoilW

View Source


runoff

SindbadTEM.Processes.runoff Type
julia
Total runoff.

Approaches

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

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

runoff approaches
SindbadTEM.Processes.runoff_simple Type

calculates runoff as a simple linear function of soil moisture

Parameters

  • Fields
    • k_runoff: 0.001 ∈ [0.001, 0.1] => runoff rate (units: day-1 @ day timescale)

Methods:

compute:

  • Inputs

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.runoff: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :runoff) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for runoff_simple.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 16.12.2025 [skoirala]

Created by

  • skoirala

Calculated using:

julia
Inputs: :pools => :soilW, :pools => :ΔsoilW
Outputs: :fluxes => :runoff, :pools => :ΔsoilW

View Source


runoffBase

SindbadTEM.Processes.runoffBase Type
julia
Baseflow.

Approaches

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

  • runoffBase_none: Sets base runoff to 0.

runoffBase approaches
SindbadTEM.Processes.runoffBase_Zhang2008 Type

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

Parameters

  • Fields
    • k_baseflow: 0.001 ∈ [1.0e-5, 0.02] => base flow coefficient (units: day-1 @ day timescale)

Methods:

compute:

  • Inputs

    • pools.groundW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :groundW) for information on how to add the variable to the catalog.

    • pools.ΔgroundW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔgroundW) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.base_runoff: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :base_runoff) for information on how to add the variable to the catalog.

    • pools.ΔgroundW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔgroundW) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for runoffBase_Zhang2008.jl. Check the Extended help for user-defined information.


Extended help

References

  • Zhang, Y. Q., Chiew, F. H. S., Zhang, L., Leuning, R., & Cleugh, H. A. (2008). Estimating catchment evaporation and runoff using MODIS leaf area index & the Penman‐Monteith equation. Water Resources Research, 44[10].

Versions

  • 1.0 on 18.11.2019 [ttraut]: cleaned up the code

Created by

  • mjung

Calculated using:

julia
Inputs: :pools => :groundW, :pools => :ΔgroundW
Outputs: :fluxes => :base_runoff, :pools => :ΔgroundW

View Source


runoffInfiltrationExcess

SindbadTEM.Processes.runoffInfiltrationExcess Type
julia
Infiltration excess runoff.

Approaches

  • 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.

runoffInfiltrationExcess approaches
SindbadTEM.Processes.runoffInfiltrationExcess_Jung Type

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

Parameters

  • None

Methods:

compute:

  • Inputs

    • states.WBP: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :WBP) for information on how to add the variable to the catalog.

    • states.fAPAR: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :fAPAR) for information on how to add the variable to the catalog.

    • properties.k_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :k_sat) for information on how to add the variable to the catalog.

    • fluxes.rain: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :rain) for information on how to add the variable to the catalog.

    • states.rainInt: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :rainInt) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.inf_excess_runoff: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :inf_excess_runoff) for information on how to add the variable to the catalog.

    • states.WBP: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :WBP) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for runoffInfiltrationExcess_Jung.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 18.11.2019 [ttraut]: cleaned up the code

  • 1.1 on 22.11.2019 [skoirala | @dr-ko]: moved from prec to dyna to handle land.states.fAPAR which is nPix, 1

Created by

  • mjung

Calculated using:

julia
Inputs: :states => :WBP, :states => :fAPAR, :properties => :k_sat, :fluxes => :rain, :states => :rainInt, :constants => :z_zero, :constants => :o_one
Outputs: :fluxes => :inf_excess_runoff, :states => :WBP

View Source


runoffInterflow

SindbadTEM.Processes.runoffInterflow Type
julia
Interflow runoff.

Approaches

  • runoffInterflow_none: Sets interflow runoff to 0.

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

runoffInterflow approaches
SindbadTEM.Processes.runoffInterflow_none Type

Sets interflow runoff to 0.

Parameters

  • None

Methods:

define:

  • Inputs

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.
  • Outputs

    • fluxes.interflow_runoff: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :interflow_runoff) for information on how to add the variable to the catalog.

precompute, compute, update methods are not defined

End of getModelDocString-generated docstring for runoffInterflow_none.jl. Check the Extended help for user-defined information.


Extended help

View Source


runoffOverland

SindbadTEM.Processes.runoffOverland Type
julia
Total overland runoff that passes to surface storage.

Approaches

  • 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.

runoffOverland approaches
SindbadTEM.Processes.runoffOverland_Inf Type

Overland flow due to infiltration excess runoff.

Parameters

  • None

Methods:

compute:

  • Inputs

    • fluxes.inf_excess_runoff: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :inf_excess_runoff) for information on how to add the variable to the catalog.
  • Outputs

    • fluxes.overland_runoff: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :overland_runoff) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for runoffOverland_Inf.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 18.11.2019 [skoirala | @dr-ko]

Created by

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :fluxes => :inf_excess_runoff
Outputs: :fluxes => :overland_runoff

View Source


runoffSaturationExcess

SindbadTEM.Processes.runoffSaturationExcess Type
julia
Saturation excess runoff.

Approaches

  • 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.

runoffSaturationExcess approaches
SindbadTEM.Processes.runoffSaturationExcess_Bergstroem1992 Type

Saturation excess runoff using the original Bergström method.

Parameters

  • Fields
    • β: 1.1 ∈ [0.1, 5.0] => berg exponential parameter (unitless @ all timescales)

Methods:

compute:

  • Inputs

    • states.WBP: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :WBP) for information on how to add the variable to the catalog.

    • properties.w_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_sat) for information on how to add the variable to the catalog.

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.sat_excess_runoff: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :sat_excess_runoff) for information on how to add the variable to the catalog.

    • states.WBP: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :WBP) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for runoffSaturationExcess_Bergstroem1992.jl. Check the Extended help for user-defined information.


Extended help

References

  • Bergström, S. (1992). The HBV model–its structure & applications. SMHI.

Versions

  • 1.0 on 18.11.2019 [ttraut]: cleaned up the code

  • 1.1 on 27.11.2019 [skoirala | @dr-ko]: changed to handle any number of soil layers

  • 1.2 on 10.02.2020 [ttraut]: modyfying variable name to match the new SINDBAD version

Created by

  • ttraut

Calculated using:

julia
Inputs: :states => :WBP, :properties => :w_sat, :pools => :soilW, :pools => :ΔsoilW
Outputs: :fluxes => :sat_excess_runoff, :states => :WBP

View Source


runoffSurface

SindbadTEM.Processes.runoffSurface Type
julia
Surface runoff generation.

Approaches

  • 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.

runoffSurface approaches
SindbadTEM.Processes.runoffSurface_Orth2013 Type

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

Parameters

  • Fields
    • qt: 2.0 ∈ [0.5, 100.0] => delay parameter for land runoff (units: time @ all timescales)

Methods:

define:

  • Inputs

    • None
  • Outputs

    • surface_runoff.z: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:surface_runoff, :z) for information on how to add the variable to the catalog.

    • surface_runoff.Rdelay: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:surface_runoff, :Rdelay) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • surface_runoff.z: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:surface_runoff, :z) for information on how to add the variable to the catalog.

    • surface_runoff.Rdelay: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:surface_runoff, :Rdelay) for information on how to add the variable to the catalog.

    • pools.surfaceW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :surfaceW) for information on how to add the variable to the catalog.

    • fluxes.overland_runoff: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :overland_runoff) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.surface_runoff: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :surface_runoff) for information on how to add the variable to the catalog.

    • surface_runoff.Rdelay: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:surface_runoff, :Rdelay) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for runoffSurface_Orth2013.jl. Check the Extended help for user-defined information.


Extended help

References

  • Orth, R., Koster, R. D., & Seneviratne, S. I. (2013). Inferring soil moisture memory from streamflow observations using a simple water balance model. Journal of Hydrometeorology, 14[6], 1773-1790.

  • used in Trautmann et al. 2018

Versions

  • 1.0 on 18.11.2019 [ttraut]

Created by

  • ttraut

Notes

  • how to handle 60days?!?!

Calculated using:

julia
Inputs: :surface_runoff => :z, :surface_runoff => :Rdelay, :pools => :surfaceW, :fluxes => :overland_runoff
Outputs: :fluxes => :surface_runoff, :surface_runoff => :Rdelay

View Source


saturatedFraction

SindbadTEM.Processes.saturatedFraction Type
julia
Saturated fraction of a grid-cell.

Approaches

  • saturatedFraction_none: Sets the saturated soil fraction to 0.
saturatedFraction approaches
SindbadTEM.Processes.saturatedFraction_none Type

Sets the saturated soil fraction to 0.

Parameters

  • None

Methods:

define:

  • Inputs

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.
  • Outputs

    • states.satFrac: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :satFrac) for information on how to add the variable to the catalog.

precompute, compute, update methods are not defined

End of getModelDocString-generated docstring for saturatedFraction_none.jl. Check the Extended help for user-defined information.


Extended help

View Source


snowFraction

SindbadTEM.Processes.snowFraction Type
julia
Snow cover fraction.

Approaches

  • 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.

snowFraction approaches
SindbadTEM.Processes.snowFraction_HTESSEL Type

Snow cover fraction following the HTESSEL approach.

Parameters

  • Fields
    • snow_cover_param: 15.0 ∈ [1.0, 100.0] => Snow Cover Parameter (units: mm @ all timescales)

Methods:

compute:

  • Inputs

    • pools.snowW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :snowW) for information on how to add the variable to the catalog.

    • pools.ΔsnowW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsnowW) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • states.frac_snow: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :frac_snow) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for snowFraction_HTESSEL.jl. Check the Extended help for user-defined information.


Extended help

References

  • H-TESSEL = land surface scheme of the European Centre for Medium- Range Weather Forecasts" operational weather forecast system Balsamo et al.; 2009

Versions

  • 1.0 on 18.11.2019 [ttraut]: cleaned up the code

Created by

  • mjung

Calculated using:

julia
Inputs: :pools => :snowW, :pools => :ΔsnowW, :constants => :o_one
Outputs: :states => :frac_snow

View Source


snowMelt

SindbadTEM.Processes.snowMelt Type
julia
Snowmelt.

Approaches

  • snowMelt_Tair: Snowmelt as a function of air temperature.

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

snowMelt approaches
SindbadTEM.Processes.snowMelt_Tair Type

Snowmelt as a function of air temperature.

Parameters

  • Fields
    • rate: 1.0 ∈ [0.1, 10.0] => snow melt rate (units: mm/°C @ day timescale)

Methods:

compute:

  • Inputs

    • forcing.f_airT: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_airT) for information on how to add the variable to the catalog.

    • states.WBP: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :WBP) for information on how to add the variable to the catalog.

    • states.frac_snow: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :frac_snow) for information on how to add the variable to the catalog.

    • pools.snowW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :snowW) for information on how to add the variable to the catalog.

    • pools.ΔsnowW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsnowW) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.snow_melt: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :snow_melt) for information on how to add the variable to the catalog.

    • fluxes.Tterm: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :Tterm) for information on how to add the variable to the catalog.

    • states.WBP: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :WBP) for information on how to add the variable to the catalog.

    • pools.ΔsnowW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsnowW) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for snowMelt_Tair.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 18.11.2019 [ttraut]: cleaned up the code

  • 1.0 on 18.11.2019 [ttraut]: cleaned up the code

Created by

  • mjung

Notes

  • may not be working well for longer time scales (like for weekly | longer time scales). Warnings needs to be set accordingly.

  • may not be working well for longer time scales (like for weekly | longer time scales). Warnings needs to be set accordingly.

Calculated using:

julia
Inputs: :forcing => :f_airT, :states => :WBP, :states => :frac_snow, :pools => :snowW, :pools => :ΔsnowW, :constants => :z_zero
Outputs: :fluxes => :snow_melt, :fluxes => :Tterm, :states => :WBP, :pools => :ΔsnowW

View Source


soilProperties

SindbadTEM.Processes.soilProperties Type
julia
Soil hydraulic properties.

Approaches

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

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

soilProperties approaches
SindbadTEM.Processes.soilProperties_Saxton1986 Type

Soil hydraulic properties based on Saxton (1986).

Parameters

  • Fields
    • ψ_fc: 33.0 ∈ [30.0, 35.0] => matric potential at field capacity (units: kPa @ all timescales)

    • ψ_wp: 1500.0 ∈ [1000.0, 1800.0] => matric potential at wilting point (units: kPa @ all timescales)

    • ψ_sat: 0.0 ∈ [0.0, 5.0] => matric potential at saturation (units: kPa @ all timescales)

    • a1: -4.396 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • a2: -0.0715 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • a3: -0.000488 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • a4: -4.285e-5 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • b1: -3.14 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • b2: -0.00222 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • b3: -3.484e-5 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • c1: 0.332 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • c2: -0.0007251 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • c3: 0.1276 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • d1: -0.108 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • d2: 0.341 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • e1: 2.778e-6 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • e2: 12.012 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • e3: -0.0755 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • e4: -3.895 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • e5: 0.03671 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • e6: -0.1103 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • e7: 0.00087546 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • f1: 2.302 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • n2: 2.0 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • n24: 24.0 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • n10: 10.0 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • n100: 100.0 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • n1000: 1000.0 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • n1500: 1000.0 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

    • n3600: 3600.0 ∈ [-Inf, Inf] => Saxton Parameters (unitless @ all timescales)

Methods:

define:

  • Inputs

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.
  • Outputs

    • properties.sp_k_fc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_k_fc) for information on how to add the variable to the catalog.

    • properties.sp_k_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_k_sat) for information on how to add the variable to the catalog.

    • properties.sp_k_wp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_k_wp) for information on how to add the variable to the catalog.

    • properties.sp_α: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_α) for information on how to add the variable to the catalog.

    • properties.sp_β: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_β) for information on how to add the variable to the catalog.

    • properties.sp_θ_fc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_θ_fc) for information on how to add the variable to the catalog.

    • properties.sp_θ_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_θ_sat) for information on how to add the variable to the catalog.

    • properties.sp_θ_wp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_θ_wp) for information on how to add the variable to the catalog.

    • properties.sp_ψ_fc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_ψ_fc) for information on how to add the variable to the catalog.

    • properties.sp_ψ_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_ψ_sat) for information on how to add the variable to the catalog.

    • properties.sp_ψ_wp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_ψ_wp) for information on how to add the variable to the catalog.

    • soilProperties.n100: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:soilProperties, :n100) for information on how to add the variable to the catalog.

    • soilProperties.n1000: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:soilProperties, :n1000) for information on how to add the variable to the catalog.

    • soilProperties.n2: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:soilProperties, :n2) for information on how to add the variable to the catalog.

    • soilProperties.n24: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:soilProperties, :n24) for information on how to add the variable to the catalog.

    • soilProperties.n3600: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:soilProperties, :n3600) for information on how to add the variable to the catalog.

    • soilProperties.e1: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:soilProperties, :e1) for information on how to add the variable to the catalog.

    • soilProperties.e2: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:soilProperties, :e2) for information on how to add the variable to the catalog.

    • soilProperties.e3: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:soilProperties, :e3) for information on how to add the variable to the catalog.

    • soilProperties.e4: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:soilProperties, :e4) for information on how to add the variable to the catalog.

    • soilProperties.e5: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:soilProperties, :e5) for information on how to add the variable to the catalog.

    • soilProperties.e6: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:soilProperties, :e6) for information on how to add the variable to the catalog.

    • soilProperties.e7: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:soilProperties, :e7) for information on how to add the variable to the catalog.

    • models.unsat_k_model: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:models, :unsat_k_model) for information on how to add the variable to the catalog.

precompute:

  • Inputs

    • properties.sp_α: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_α) for information on how to add the variable to the catalog.

    • properties.sp_β: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_β) for information on how to add the variable to the catalog.

    • properties.sp_k_fc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_k_fc) for information on how to add the variable to the catalog.

    • properties.sp_θ_fc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_θ_fc) for information on how to add the variable to the catalog.

    • properties.sp_ψ_fc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_ψ_fc) for information on how to add the variable to the catalog.

    • properties.sp_k_wp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_k_wp) for information on how to add the variable to the catalog.

    • properties.sp_θ_wp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_θ_wp) for information on how to add the variable to the catalog.

    • properties.sp_ψ_wp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_ψ_wp) for information on how to add the variable to the catalog.

    • properties.sp_k_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_k_sat) for information on how to add the variable to the catalog.

    • properties.sp_θ_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_θ_sat) for information on how to add the variable to the catalog.

    • properties.sp_ψ_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_ψ_sat) for information on how to add the variable to the catalog.

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.

  • Outputs

    • properties.sp_k_fc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_k_fc) for information on how to add the variable to the catalog.

    • properties.sp_k_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_k_sat) for information on how to add the variable to the catalog.

    • properties.sp_k_wp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_k_wp) for information on how to add the variable to the catalog.

    • properties.sp_α: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_α) for information on how to add the variable to the catalog.

    • properties.sp_β: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_β) for information on how to add the variable to the catalog.

    • properties.sp_θ_fc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_θ_fc) for information on how to add the variable to the catalog.

    • properties.sp_θ_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_θ_sat) for information on how to add the variable to the catalog.

    • properties.sp_θ_wp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_θ_wp) for information on how to add the variable to the catalog.

    • properties.sp_ψ_fc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_ψ_fc) for information on how to add the variable to the catalog.

    • properties.sp_ψ_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_ψ_sat) for information on how to add the variable to the catalog.

    • properties.sp_ψ_wp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :sp_ψ_wp) for information on how to add the variable to the catalog.

compute, update methods are not defined

End of getModelDocString-generated docstring for soilProperties_Saxton1986.jl. Check the Extended help for user-defined information.


Extended help

References

  • Saxton, K. E., Rawls, W., Romberger, J. S., & Papendick, R. I. (1986). Estimating generalized soil‐water characteristics from texture. Soil science society of America Journal, 50(4), 1031-1036.

Versions

  • 1.0 on 21.11.2019

  • 1.1 on 03.12.2019 [skoirala | @dr-ko]: handling potentail vertical distribution of soil texture

Created by

  • skoirala | @dr-ko

View Source


soilTexture

SindbadTEM.Processes.soilTexture Type
julia
Soil texture (sand, silt, clay, and organic matter fraction).

Approaches

  • soilTexture_constant: Sets soil texture properties as constant values.

  • soilTexture_forcing: Gets Soil texture properties from forcing data.

soilTexture approaches
SindbadTEM.Processes.soilTexture_constant Type

Sets soil texture properties as constant values.

Parameters

  • Fields
    • clay: 0.2 ∈ [0.0, 1.0] => Clay content (unitless @ all timescales)

    • silt: 0.3 ∈ [0.0, 1.0] => Silt content (unitless @ all timescales)

    • sand: 0.5 ∈ [0.0, 1.0] => Sand content (unitless @ all timescales)

    • orgm: 0.0 ∈ [0.0, 1.0] => Organic matter content (unitless @ all timescales)

Methods:

define:

  • Inputs

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.
  • Outputs

    • properties.st_clay: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :st_clay) for information on how to add the variable to the catalog.

    • properties.st_sand: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :st_sand) for information on how to add the variable to the catalog.

    • properties.st_silt: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :st_silt) for information on how to add the variable to the catalog.

    • properties.st_orgm: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :st_orgm) for information on how to add the variable to the catalog.

precompute:

  • Inputs

    • properties.st_clay: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :st_clay) for information on how to add the variable to the catalog.

    • properties.st_sand: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :st_sand) for information on how to add the variable to the catalog.

    • properties.st_silt: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :st_silt) for information on how to add the variable to the catalog.

    • properties.st_orgm: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :st_orgm) for information on how to add the variable to the catalog.

  • Outputs

    • properties.st_clay: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :st_clay) for information on how to add the variable to the catalog.

    • properties.st_sand: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :st_sand) for information on how to add the variable to the catalog.

    • properties.st_silt: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :st_silt) for information on how to add the variable to the catalog.

    • properties.st_orgm: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :st_orgm) for information on how to add the variable to the catalog.

compute, update methods are not defined

End of getModelDocString-generated docstring for soilTexture_constant.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 21.11.2019

Created by

  • skoirala | @dr-ko

Notes

  • texture does not change with space & depth

View Source


soilWBase

SindbadTEM.Processes.soilWBase Type
julia
Base soil hydraulic properties over soil layers.

Approaches

  • 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.

soilWBase approaches
SindbadTEM.Processes.soilWBase_smax1Layer Type

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

Parameters

  • Fields
    • smax: 1.0 ∈ [0.001, 10.0] => maximum soil water holding capacity of 1st soil layer, as % of defined soil depth (unitless @ all timescales)

Methods:

define:

  • Inputs

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.
  • Outputs

    • properties.soil_layer_thickness: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :soil_layer_thickness) for information on how to add the variable to the catalog.

    • properties.w_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_sat) for information on how to add the variable to the catalog.

    • properties.w_fc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_fc) for information on how to add the variable to the catalog.

    • properties.w_wp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_wp) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • properties.soil_layer_thickness: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :soil_layer_thickness) for information on how to add the variable to the catalog.

    • properties.w_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_sat) for information on how to add the variable to the catalog.

    • properties.w_fc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_fc) for information on how to add the variable to the catalog.

    • properties.w_wp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_wp) for information on how to add the variable to the catalog.

  • Outputs

    • properties.w_awc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_awc) for information on how to add the variable to the catalog.

    • properties.w_fc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_fc) for information on how to add the variable to the catalog.

    • properties.w_sat: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_sat) for information on how to add the variable to the catalog.

    • properties.w_wp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_wp) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for soilWBase_smax1Layer.jl. Check the Extended help for user-defined information.


Extended help

References

  • Trautmann et al. 2018

Versions

  • 1.0 on 09.01.2020 [ttraut]: clean up & consistency

Created by

  • ttraut

Calculated using:

julia
Inputs: :properties => :soil_layer_thickness, :properties => :w_sat, :properties => :w_fc, :properties => :w_wp
Outputs: :properties => :w_awc, :properties => :w_fc, :properties => :w_sat, :properties => :w_wp

View Source


sublimation

SindbadTEM.Processes.sublimation Type
julia
Snow sublimation.

Approaches

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

  • sublimation_none: Sets snow sublimation to 0.

sublimation approaches
SindbadTEM.Processes.sublimation_GLEAM Type

Sublimation using the Priestley-Taylor term following the GLEAM approach.

Parameters

  • Fields
    • α: 0.95 ∈ [0.0, 3.0] => Priestley Taylor Coefficient for Sublimation (units: none @ all timescales)

    • deg_to_k: 273.15 ∈ [-Inf, Inf] => degree to Kelvin conversion (units: none @ all timescales)

    • Δ_1: 5723.265 ∈ [-Inf, Inf] => first parameter of Δ from Murphy & Koop [2005] (units: none @ all timescales)

    • Δ_2: 3.53068 ∈ [-Inf, Inf] => second parameter of Δ from Murphy & Koop [2005] (units: none @ all timescales)

    • Δ_3: 0.00728332 ∈ [-Inf, Inf] => third parameter of Δ from Murphy & Koop [2005] (units: none @ all timescales)

    • Δ_4: 9.550426 ∈ [-Inf, Inf] => fourth parameter of Δ from Murphy & Koop [2005] (units: none @ all timescales)

    • pa_to_kpa: 0.001 ∈ [-Inf, Inf] => pascal to kilopascal conversion (units: none @ all timescales)

    • λ_1: 46782.5 ∈ [-Inf, Inf] => first parameter of λ from Murphy & Koop [2005] (units: none @ all timescales)

    • λ_2: 35.8925 ∈ [-Inf, Inf] => second parameter of λ from Murphy & Koop [2005] (units: none @ all timescales)

    • λ_3: 0.07414 ∈ [-Inf, Inf] => third parameter of λ from Murphy & Koop [2005] (units: none @ all timescales)

    • λ_4: 541.5 ∈ [-Inf, Inf] => fourth parameter of λ from Murphy & Koop [2005] (units: none @ all timescales)

    • λ_5: 123.75 ∈ [-Inf, Inf] => fifth parameter of λ from Murphy & Koop [2005] (units: none @ all timescales)

    • j_to_mj: 1.0e-6 ∈ [-Inf, Inf] => joule to megajoule conversion (units: none @ all timescales)

    • g_to_kg: 0.001 ∈ [-Inf, Inf] => joule to megajoule conversion (units: none @ all timescales)

    • mol_mass_water: 18.01528 ∈ [-Inf, Inf] => molecular mass of water (units: gram @ all timescales)

    • sp_heat_air: 0.001 ∈ [-Inf, Inf] => specific heat of air (units: MJ/kg/K @ all timescales)

    • γ_1: 0.001 ∈ [-Inf, Inf] => first parameter of γ from Brunt [1952] (units: none @ all timescales)

    • γ_2: 0.622 ∈ [-Inf, Inf] => second parameter of γ from Brunt [1952] (units: none @ all timescales)

Methods:

compute:

  • Inputs

    • forcing.f_psurf_day: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_psurf_day) for information on how to add the variable to the catalog.

    • forcing.f_rn: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_rn) for information on how to add the variable to the catalog.

    • forcing.f_airT_day: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:forcing, :f_airT_day) for information on how to add the variable to the catalog.

    • states.frac_snow: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :frac_snow) for information on how to add the variable to the catalog.

    • pools.snowW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :snowW) for information on how to add the variable to the catalog.

    • pools.ΔsnowW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsnowW) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

    • constants.t_two: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :t_two) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.sublimation: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :sublimation) for information on how to add the variable to the catalog.

    • sublimation.PTtermSub: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:sublimation, :PTtermSub) for information on how to add the variable to the catalog.

    • pools.ΔsnowW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsnowW) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for sublimation_GLEAM.jl. Check the Extended help for user-defined information.


Extended help

References

  • Miralles; D. G.; De Jeu; R. A. M.; Gash; J. H.; Holmes; T. R. H. & Dolman, A. J. (2011). An application of GLEAM to estimating global evaporation. Hydrology & Earth System Sciences Discussions, 8[1].

  • Murphy, D. M., & Koop, T. (2005). Review of the vapour pressures of ice and supercooled water for atmospheric applications. Quarterly Journal of the Royal Meteorological Society: A journal of the atmospheric sciences, applied meteorology and physical oceanography, 131(608), 1539-1565. https://patarnott.com/atms360/pdf_atms360/class2017/VaporPressureIce_SupercooledH20_Murphy.pdf

Versions

  • 1.0 on 18.11.2019 [ttraut]: cleaned up the code

Created by

  • mjung

Calculated using:

julia
Inputs: :forcing => :f_psurf_day, :forcing => :f_rn, :forcing => :f_airT_day, :states => :frac_snow, :pools => :snowW, :pools => :ΔsnowW, :constants => :z_zero, :constants => :o_one, :constants => :t_two
Outputs: :fluxes => :sublimation, :sublimation => :PTtermSub, :pools => :ΔsnowW

View Source


transpiration

SindbadTEM.Processes.transpiration Type
julia
Transpiration.

Approaches

  • 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.

transpiration approaches
SindbadTEM.Processes.transpiration_coupled Type

Transpiration as a function of GPP and WUE.

Parameters

  • None

Methods:

compute:

  • Inputs

    • fluxes.gpp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :gpp) for information on how to add the variable to the catalog.

    • diagnostics.WUE: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :WUE) for information on how to add the variable to the catalog.

  • Outputs

    • fluxes.transpiration: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :transpiration) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for transpiration_coupled.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 22.11.2019 [skoirala | @dr-ko]

Created by

  • mjung

  • skoirala | @dr-ko

Notes

Calculated using:

julia
Inputs: :fluxes => :gpp, :diagnostics => :WUE
Outputs: :fluxes => :transpiration

View Source


transpirationDemand

SindbadTEM.Processes.transpirationDemand Type
julia
Demand-limited transpiration.

Approaches

  • 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.

transpirationDemand approaches
SindbadTEM.Processes.transpirationDemand_CASA Type

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

Parameters

  • None

Methods:

compute:

  • Inputs

    • states.PAW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :PAW) for information on how to add the variable to the catalog.

    • properties.w_awc: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_awc) for information on how to add the variable to the catalog.

    • properties.soil_α: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :soil_α) for information on how to add the variable to the catalog.

    • properties.soil_β: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :soil_β) for information on how to add the variable to the catalog.

    • fluxes.percolation: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :percolation) for information on how to add the variable to the catalog.

    • fluxes.PET: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :PET) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.transpiration_demand: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :transpiration_demand) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for transpirationDemand_CASA.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 22.11.2019 [skoirala | @dr-ko]: split the original transpiration_supply of CASA into demand supply: actual [minimum] is now just demandSupply approach of transpiration

Created by

  • ncarvalhais

  • skoirala | @dr-ko

Notes

  • The supply limit has non-linear relationship with moisture state over the root zone

Calculated using:

julia
Inputs: :states => :PAW, :properties => :w_awc, :properties => :soil_α, :properties => :soil_β, :fluxes => :percolation, :fluxes => :PET
Outputs: :diagnostics => :transpiration_demand

View Source


transpirationSupply

SindbadTEM.Processes.transpirationSupply Type
julia
Supply-limited transpiration.

Approaches

  • 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.

transpirationSupply approaches
SindbadTEM.Processes.transpirationSupply_CASA Type

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

Parameters

  • None

Methods:

compute:

  • Inputs

    • states.PAW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :PAW) for information on how to add the variable to the catalog.
  • Outputs

    • diagnostics.transpiration_supply: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :transpiration_supply) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for transpirationSupply_CASA.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 22.11.2019 [skoirala | @dr-ko]: split the original transpiration_supply of CASA into demand supply: actual [minimum] is now just demSup approach of transpiration

Created by

  • ncarvalhais

  • skoirala | @dr-ko

Notes

  • The supply limit has non-linear relationship with moisture state over the root zone

Calculated using:

julia
Inputs: :states => :PAW
Outputs: :diagnostics => :transpiration_supply

View Source


treeFraction

SindbadTEM.Processes.treeFraction Type
julia
Tree cover fraction.

Approaches

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

  • treeFraction_forcing: Gets tree cover fraction from forcing data.

treeFraction approaches
SindbadTEM.Processes.treeFraction_constant Type

Sets tree cover fraction as a constant value.

Parameters

  • Fields
    • constant_frac_tree: 1.0 ∈ [0.3, 1.0] => Tree fraction (unitless @ all timescales)

Methods:

precompute:

  • Inputs

    • None
  • Outputs

    • states.frac_tree: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :frac_tree) for information on how to add the variable to the catalog.

define, compute, update methods are not defined

End of getModelDocString-generated docstring for treeFraction_constant.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 11.11.2019 [skoirala | @dr-ko]: cleaned up the code

Created by

  • skoirala | @dr-ko

View Source


vegAvailableWater

SindbadTEM.Processes.vegAvailableWater Type
julia
Plant available water (PAW), i.e., the amount of water available for transpiration.

Approaches

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

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

vegAvailableWater approaches
SindbadTEM.Processes.vegAvailableWater_rootWaterEfficiency Type

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

Parameters

  • None

Methods:

define:

  • Inputs

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.
  • Outputs

    • states.PAW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :PAW) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • properties.w_wp: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:properties, :w_wp) for information on how to add the variable to the catalog.

    • diagnostics.root_water_efficiency: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :root_water_efficiency) for information on how to add the variable to the catalog.

    • pools.soilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :soilW) for information on how to add the variable to the catalog.

    • pools.ΔsoilW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔsoilW) for information on how to add the variable to the catalog.

    • states.PAW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :PAW) for information on how to add the variable to the catalog.

  • Outputs

    • states.PAW: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :PAW) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for vegAvailableWater_rootWaterEfficiency.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 21.11.2019

Created by

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :properties => :w_wp, :diagnostics => :root_water_efficiency, :pools => :soilW, :pools => :ΔsoilW, :states => :PAW
Outputs: :states => :PAW

View Source


vegFraction

SindbadTEM.Processes.vegFraction Type
julia
Vegetation cover fraction.

Approaches

  • 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.

vegFraction approaches
SindbadTEM.Processes.vegFraction_constant Type

Sets vegetation fraction as a constant value.

Parameters

  • Fields
    • constant_frac_vegetation: 0.5 ∈ [0.3, 0.9] => Vegetation fraction (unitless @ all timescales)

Methods:

precompute:

  • Inputs

    • None
  • Outputs

    • states.frac_vegetation: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :frac_vegetation) for information on how to add the variable to the catalog.

define, compute, update methods are not defined

End of getModelDocString-generated docstring for vegFraction_constant.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 11.11.2019 [skoirala | @dr-ko]: cleaned up the code

Created by

  • skoirala | @dr-ko

View Source


wCycle

SindbadTEM.Processes.wCycle Type
julia
Apply the delta storage changes to storage variables

Approaches

  • 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

wCycle approaches
SindbadTEM.Processes.wCycle_combined Type

computes the algebraic sum of storage and delta storage

Parameters

  • None

Methods:

define:

  • Inputs

    • pools.ΔTWS: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔTWS) for information on how to add the variable to the catalog.
  • Outputs

    • pools.zeroΔTWS: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :zeroΔTWS) for information on how to add the variable to the catalog.

compute:

  • Inputs

    • pools.TWS: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :TWS) for information on how to add the variable to the catalog.

    • pools.ΔTWS: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔTWS) for information on how to add the variable to the catalog.

    • pools.zeroΔTWS: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :zeroΔTWS) for information on how to add the variable to the catalog.

    • constants.z_zero: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :z_zero) for information on how to add the variable to the catalog.

    • constants.o_one: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:constants, :o_one) for information on how to add the variable to the catalog.

  • Outputs

    • pools.ΔTWS: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :ΔTWS) for information on how to add the variable to the catalog.

    • pools.TWS: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:pools, :TWS) for information on how to add the variable to the catalog.

    • states.total_water: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :total_water) for information on how to add the variable to the catalog.

    • states.total_water_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :total_water_prev) for information on how to add the variable to the catalog.

precompute, update methods are not defined

End of getModelDocString-generated docstring for wCycle_combined.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 18.11.2019 [skoirala | @dr-ko]

Created by

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :pools => :TWS, :pools => :ΔTWS, :pools => :zeroΔTWS, :constants => :z_zero, :constants => :o_one
Outputs: :pools => :ΔTWS, :pools => :TWS, :states => :total_water, :states => :total_water_prev

View Source


wCycleBase

SindbadTEM.Processes.wCycleBase Type
julia
Sets the basic structure of the water cycle storages.

Approaches

  • wCycleBase_simple: Through wCycle.jl, adjust/update the variables for each storage separately and for TWS.
wCycleBase approaches
SindbadTEM.Processes.wCycleBase_simple Type

Through wCycle.jl, adjust/update the variables for each storage separately and for TWS.

Parameters

  • None

Methods:

define:

  • Inputs

    • None
  • Outputs

    • models.w_model: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:models, :w_model) for information on how to add the variable to the catalog.

precompute, compute, update methods are not defined

End of getModelDocString-generated docstring for wCycleBase_simple.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 18.07.2023 [skoirala | @dr-ko]

Created by

  • skoirala | @dr-ko

View Source


waterBalance

SindbadTEM.Processes.waterBalance Type
julia
Water balance

Approaches

  • waterBalance_simple: Simply checks the water balance as P-ET-R-ds/dt.
waterBalance approaches
SindbadTEM.Processes.waterBalance_simple Type

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

Parameters

  • None

Methods:

compute:

  • Inputs

    • fluxes.precip: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :precip) for information on how to add the variable to the catalog.

    • states.total_water_prev: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :total_water_prev) for information on how to add the variable to the catalog.

    • states.total_water: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :total_water) for information on how to add the variable to the catalog.

    • states.WBP: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:states, :WBP) for information on how to add the variable to the catalog.

    • fluxes.evapotranspiration: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :evapotranspiration) for information on how to add the variable to the catalog.

    • fluxes.runoff: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:fluxes, :runoff) for information on how to add the variable to the catalog.

  • Outputs

    • diagnostics.water_balance: No description available in src/sindbadVariableCatalog.jl catalog. Run whatIs(:diagnostics, :water_balance) for information on how to add the variable to the catalog.

define, precompute, update methods are not defined

End of getModelDocString-generated docstring for waterBalance_simple.jl. Check the Extended help for user-defined information.


Extended help

References

Versions

  • 1.0 on 11.11.2019

  • 1.1 on 20.11.2019 [skoirala | @dr-ko]:

Created by

  • skoirala | @dr-ko

Calculated using:

julia
Inputs: :fluxes => :precip, :states => :total_water_prev, :states => :total_water, :states => :WBP, :fluxes => :evapotranspiration, :fluxes => :runoff
Outputs: :diagnostics => :water_balance

View Source


Methods

SindbadTEM.Processes.addToEachElem Function
julia
addToEachElem(v::SVector, Δv::Real)
addToEachElem(v::AbstractVector, Δv::Real)

Add a value to each element of a vector.

Arguments

  • v: A StaticVector or AbstractVector

  • Δv::Real: The value to be added to each element

Returns

  • The modified vector with Δv added to all elements

Examples

julia
julia> using StaticArraysCore: SVector
julia> v = SVector(1.0, 2.0, 3.0)
julia> addToEachElem(v, 5.0)
3-element SVector{3, Float64} with indices SOneTo(3):
 6.0
 7.0
 8.0
SindbadTEM.Processes.addToElem Function
julia
addToElem(v::SVector, Δv, v_zero, ind::Int)
addToElem(v::AbstractVector, Δv, _, ind::Int)

Add a value to a specific element of a vector.

Arguments

  • v: A StaticVector or AbstractVector

  • Δv: The value to be added

  • v_zero: A StaticVector of zeros (used for SVector only)

  • ind::Int: The index of the element to modify

Returns

  • The modified vector with Δv added to element at index ind

Examples

julia
julia> using StaticArraysCore: SVector
julia> v = SVector(1.0, 2.0, 3.0)
julia> v_zero = SVector(0.0, 0.0, 0.0)
julia> addToElem(v, 5.0, v_zero, 2)
3-element SVector{3, Float64} with indices SOneTo(3):
 1.0
 7.0
 3.0
SindbadTEM.Processes.addVec Function
julia
addVec(v::SVector, Δv::SVector)
addVec(v::AbstractVector, Δv::AbstractVector)

Add one vector to another element-wise.

Arguments

  • v: A StaticVector or AbstractVector

  • Δv: A StaticVector or AbstractVector of the same length

Returns

  • The result of adding Δv to v element-wise

Examples

julia
julia> using StaticArraysCore: SVector
julia> v = SVector(1.0, 2.0, 3.0)
julia> Δv = SVector(0.5, 1.0, 1.5)
julia> addVec(v, Δv)
3-element SVector{3, Float64} with indices SOneTo(3):
 1.5
 3.0
 4.5
SindbadTEM.Processes.computeTEM Method
julia
computeTEM(tem_processes, forcing, land, model_helpers)

run the compute function of SINDBAD TEM processes

Arguments:

  • tem_processes: a list of SINDBAD TEM processes to run

  • forcing: a forcing NT that contains the forcing time series set for ALL locations

  • land: a core SINDBAD NT that contains all variables for a given time step that is overwritten at every timestep

  • model_helpers: helper NT with necessary objects for model run and type consistencies

SindbadTEM.Processes.computeTEM Method
julia
computeTEM(tem_processes, forcing, land, model_helpers, ::DoDebugModel)

debug the compute function of SINDBAD TEM processes

Arguments:

  • tem_processes: a list of SINDBAD TEM processes to run

  • forcing: a forcing NT that contains the forcing time series set for ALL locations

  • land: a core SINDBAD NT that contains all variables for a given time step that is overwritten at every timestep

  • model_helpers: helper NT with necessary objects for model run and type consistencies

  • ::DoDebugModel: a type dispatch to debug the compute functions of model

SindbadTEM.Processes.computeTEM Method
julia
computeTEM(tem_processes, forcing, land, model_helpers, ::DoNotDebugModel)

run the compute function of SINDBAD TEM processes

Arguments:

  • tem_processes: a list of SINDBAD TEM processes to run

  • forcing: a forcing NT that contains the forcing time series set for ALL locations

  • land: a core SINDBAD NT that contains all variables for a given time step that is overwritten at every timestep

  • model_helpers: helper NT with necessary objects for model run and type consistencies

  • ::DoNotDebugModel: a type dispatch to not debug but run the compute functions of model

SindbadTEM.Processes.computeTEM Method
julia
computeTEM(tem_processes, forcing, land, model_helpers)

run the compute function of SINDBAD TEM processes

Arguments:

  • tem_processes: a list of SINDBAD TEM processes to run

  • forcing: a forcing NT that contains the forcing time series set for ALL locations

  • land: a core SINDBAD NT that contains all variables for a given time step that is overwritten at every timestep

  • model_helpers: helper NT with necessary objects for model run and type consistencies

SindbadTEM.Processes.definePrecomputeTEM Method
julia
definePrecomputeTEM(tem_processes::LongTuple, forcing, land, model_helpers)

run the precompute function of SINDBAD TEM processes to instantiate all fields of land

Arguments:

  • tem_processes: a list of SINDBAD TEM processes to run

  • forcing: a forcing NT that contains the forcing time series set for ALL locations

  • land: a core SINDBAD NT that contains all variables for a given time step that is overwritten at every timestep

  • model_helpers: helper NT with necessary objects for model run and type consistencies

SindbadTEM.Processes.definePrecomputeTEM Method
julia
definePrecomputeTEM(tem_processes, forcing, land, model_helpers)

run the define and precompute functions of SINDBAD TEM processes to instantiate all fields of land

Arguments:

  • tem_processes: a list of SINDBAD TEM processes to run

  • forcing: a forcing NT that contains the forcing time series set for ALL locations

  • land: a core SINDBAD NT that contains all variables for a given time step that is overwritten at every timestep

  • model_helpers: helper NT with necessary objects for model run and type consistencies

SindbadTEM.Processes.getZix Function
julia
getZix(dat::SubArray)
getZix(dat::SubArray, zixhelpersPool)
getZix(dat::Array, zixhelpersPool)
getZix(dat::SVector, zixhelpersPool)

Return the indices of a view for a subarray or return the provided indices.

Arguments

  • dat: A SubArray, Array, or SVector

  • zixhelpersPool: (Optional) Helper indices to return if dat is not a SubArray

Returns

  • A tuple of indices for the array view

Examples

julia
julia> arr = [1, 2, 3, 4, 5]
julia> view_arr = view(arr, 2:4)
julia> getZix(view_arr)
(2:4,)
SindbadTEM.Processes.precomputeTEM Method
julia
precomputeTEM(tem_processes, forcing, land, model_helpers)

run the precompute function of SINDBAD TEM processes to instantiate all fields of land

Arguments:

  • tem_processes: a list of SINDBAD TEM processes to run

  • forcing: a forcing NT that contains the forcing time series set for ALL locations

  • land: a core SINDBAD NT that contains all variables for a given time step that is overwritten at every timestep

  • model_helpers: helper NT with necessary objects for model run and type consistencies

SindbadTEM.Processes.precomputeTEM Method
julia
precomputeTEM(tem_processes, forcing, land, model_helpers, ::DoDebugModel)

debug the precompute function of SINDBAD TEM processes

Arguments:

  • tem_processes: a list of SINDBAD TEM processes to run

  • forcing: a forcing NT that contains the forcing time series set for ALL locations

  • land: a core SINDBAD NT that contains all variables for a given time step that is overwritten at every timestep

  • model_helpers: helper NT with necessary objects for model run and type consistencies

  • ::DoDebugModel: a type dispatch to debug the compute functions of model

SindbadTEM.Processes.precomputeTEM Method
julia
precomputeTEM(tem_processes, forcing, land, model_helpers, ::DoNotDebugModel)

run the precompute function of SINDBAD TEM processes

Arguments:

  • tem_processes: a list of SINDBAD TEM processes to run

  • forcing: a forcing NT that contains the forcing time series set for ALL locations

  • land: a core SINDBAD NT that contains all variables for a given time step that is overwritten at every timestep

  • model_helpers: helper NT with necessary objects for model run and type consistencies

  • ::DoNotDebugModel: a type dispatch to not debug but run the compute functions of model

SindbadTEM.Processes.precomputeTEM Method
julia
precomputeTEM(tem_processes, forcing, land, model_helpers)

run the precompute function of SINDBAD TEM processes to instantiate all fields of land

Arguments:

  • tem_processes: a list of SINDBAD TEM processes to run

  • forcing: a forcing NT that contains the forcing time series set for ALL locations

  • land: a core SINDBAD NT that contains all variables for a given time step that is overwritten at every timestep

  • model_helpers: helper NT with necessary objects for model run and type consistencies

SindbadTEM.Processes.processPackNT Method
julia
processPackNT(ex)

Internal helper function to process pack named tuple expressions.

Arguments

  • ex: An expression to process

Returns

  • A processed expression for packing into a named tuple

Notes

  • This is an internal function used by the @pack_nt macro
SindbadTEM.Processes.processUnpackNT Method
julia
processUnpackNT(ex)

Internal helper function to process unpack named tuple expressions.

Arguments

  • ex: An expression to process

Returns

  • A processed expression for unpacking from a named tuple

Notes

  • This is an internal function used by the @unpack_nt macro
SindbadTEM.Processes.repElem Function
julia
repElem(v::AbstractVector, v_elem, _, _, ind::Int)
repElem(v::SVector, v_elem, v_zero, v_one, ind::Int)

Replace an element of a vector with a new value.

Arguments

  • v: A StaticVector or AbstractVector

  • v_elem: The new value to assign

  • v_zero: A StaticVector of zeros (used for SVector only)

  • v_one: A StaticVector of ones (used for SVector only)

  • ind::Int: The index of the element to replace

Returns

  • The modified vector with element at index ind replaced by v_elem

Examples

julia
julia> using StaticArraysCore: SVector
julia> v = SVector(1.0, 2.0, 3.0)
julia> v_zero = SVector(0.0, 0.0, 0.0)
julia> v_one = SVector(1.0, 1.0, 1.0)
julia> repElem(v, 5.0, v_zero, v_one, 2)
3-element SVector{3, Float64} with indices SOneTo(3):
 1.0
 5.0
 3.0
SindbadTEM.Processes.repVec Function
julia
repVec(v::AbstractVector, v_new)
repVec(v::SVector, v_new)

Replace the values of a vector with a new value or vector.

Arguments

  • v: An AbstractVector or StaticVector

  • v_new: A new value or vector to replace the old values

Returns

  • The modified vector with values replaced

Examples

julia
julia> using StaticArraysCore: SVector
julia> v = SVector(1.0, 2.0, 3.0)
julia> repVec(v, 5.0)
3-element SVector{3, Float64} with indices SOneTo(3):
 5.0
 5.0
 5.0
SindbadTEM.Processes.setComponentFromMainPool Method
julia
setComponentFromMainPool(land, helpers, Val{s_main}, Val{s_comps}, Val{zix})

Set component pool values using values from the main pool.

Arguments

  • land: A core SINDBAD NamedTuple containing all variables for a given time step

  • helpers: Helper NamedTuple with necessary objects for model run and type consistencies

  • ::Val{s_main}: A NamedTuple with names of the main pools

  • ::Val{s_comps}: A NamedTuple with names of the component pools

  • ::Val{zix}: A NamedTuple with zix (indices) of each pool

Returns

  • Generated code expression to set component pools from main pool

Notes

  • Names are generated using components in helpers so model formulations are not specific for pool names

  • This is a generated function that creates code at compile time

SindbadTEM.Processes.setComponents Method
julia
setComponents(land, helpers, Val{s_main}, Val{s_comps}, Val{zix})

Set component pools from main pool values.

Arguments

  • land: A core SINDBAD NamedTuple containing all variables for a given time step

  • helpers: Helper NamedTuple with necessary objects for model run and type consistencies

  • ::Val{s_main}: A NamedTuple with names of the main pools

  • ::Val{s_comps}: A NamedTuple with names of the component pools

  • ::Val{zix}: A NamedTuple with zix (indices) of each pool

Returns

  • Generated code expression to set components

Notes

  • This function generates code at runtime to set component pools
SindbadTEM.Processes.setMainFromComponentPool Method
julia
setMainFromComponentPool(land, helpers, Val{s_main}, Val{s_comps}, Val{zix})

Set main pool values from component pool values.

Arguments

  • land: A core SINDBAD NamedTuple containing all variables for a given time step

  • helpers: Helper NamedTuple with necessary objects for model run and type consistencies

  • ::Val{s_main}: A NamedTuple with names of the main pools

  • ::Val{s_comps}: A NamedTuple with names of the component pools

  • ::Val{zix}: A NamedTuple with zix (indices) of each pool

Returns

  • Generated code expression to set main pool from component pools

Notes

  • Names are generated using components in helpers so model formulations are not specific for pool names

  • This is a generated function that creates code at compile time

SindbadTEM.Processes.spin_cCycle_CASA Method

Solve the steady state of the cCycle for the CASA model based on recurrent. Returns the model C pools in equilibrium

Inputs:

  • land.cFlow.p_E_vec: effect of soil & vegetation on transfer efficiency between pools

  • land.cFlow.p_giver: c_giver pool array

  • land.cFlow.p_taker: c_taker pool array

  • land.fluxes.gpp: values for gross primary productivity

  • land.history.p_cTau_k: Turn over times carbon pools

Outputs:

  • land.pools.cEco: states of the different carbon pools

Modifies:

Extended help

References:

  • Not published but similar to: Lardy, R., Bellocchi, G., & Soussana, J. F. (2011). A new method to determine soil organic carbon equilibrium. Environmental modelling & software, 26[12], 1759-1763.

Versions:

  • 1.0 on 01.05.2018

  • 1.1 on 29.10.2019: fixed the wrong removal of a dimension by squeeze on Bt & At when nPix == 1 [single point simulation]

Created by

  • ncarvalhais

  • skoirala | @dr-ko

Notes:

  • for model structures that loop the carbon cycle between pools this is merely a rough approximation [the solution does not really work]

  • the input datasets [f, fe, fx, s, d] have to have a full year (or cycle of years) that will be used as the recycling dataset for the determination of C pools at equilibrium

SindbadTEM.Processes.totalS Method
julia
totalS(s, sΔ)
totalS(s)

Return the total storage amount given storage and delta storage without creating temporary arrays.

Arguments

  • s: Storage array

  • : (Optional) Delta storage array

Returns

  • Total storage amount (sum of s and if provided, or just s)

Examples

julia
julia> s = [1.0, 2.0, 3.0]
julia>= [0.1, 0.2, 0.3]
julia> totalS(s, sΔ)
6.6
julia> totalS(s)
6.0
SindbadTEM.Processes.unsatK Method

calculates the soil hydraulic conductivity for a given moisture based on Saxton; 2006

Inputs:

  • land.pools.soilW[sl]

  • land.properties.sp_[w_sat/β/k_sat]: hydraulic parameters for each soil layer

Outputs:

  • K: the hydraulic conductivity at unsaturated land.pools.soilW [in mm/day]

Modifies:

Extended help

References:

  • Saxton, K. E., & Rawls, W. J. (2006). Soil water characteristic estimates by texture & organic matter for hydrologic solutions. Soil science society of America Journal, 70[5], 1569-1578.

Versions:

  • 1.0 on 22.11.2019 [skoirala | @dr-ko]:

  • 1.1 on 03.12.2019 [skoirala | @dr-ko]: included the option to handle lookup table when set to true from model_run.json

Created by

  • skoirala | @dr-ko

Notes:

  • This function is a part of pSoil; but making the looking up table & setting the soil properties is handled by soilWBase [by calling this function]

  • is also used by all approaches depending on kUnsat within time loop of coreTEM

SindbadTEM.Processes.@add_to_elem Macro
julia
@add_to_elem

Macro to add a value to an element of a vector or static vector.

Arguments

  • outparams::Expr: Expression in the form value ⇒ (vector, index, pool_name)

Examples

julia
julia> using StaticArraysCore: SVector
julia> helpers = (; pools = (; zeros = (; cOther = SVector(0.0f0, 0.0f0),),))
julia> cOther = SVector(100.0f0, 1.0f0)
julia> @add_to_elem 1.0f0 (cOther, 1, :cOther)
julia> cOther
2-element SVector{2, Float32} with indices SOneTo(2):
 101.0f0
   1.0f0
SindbadTEM.Processes.@pack_nt Macro
julia
@pack_nt

Macro to pack variables into a named tuple.

Arguments

  • outparams: Expression or block of expressions in the form (vars...) ⇒ target or var ⇒ target

Examples

julia
julia> land = (; diagnostics = (; a = 1, b = 2), fluxes = (; c = 3, d = 4))
julia> a, b = 10, 20
julia> @pack_nt (a, b)  land.diagnostics
julia> land.diagnostics
(a = 10, b = 20)
SindbadTEM.Processes.@rep_elem Macro
julia
@rep_elem

Macro to replace an element of a vector or static vector.

Arguments

  • outparams::Expr: Expression in the form value ⇒ (vector, index, pool_name)

Examples

julia
julia> using StaticArraysCore: SVector
julia> helpers = (; pools = (; zeros = (; cOther = SVector(0.0f0, 0.0f0),), ones = (; cOther = SVector(1.0f0, 1.0f0),)))
julia> cOther = SVector(100.0f0, 1.0f0)
julia> @rep_elem 50.0f0 (cOther, 1, :cOther)
julia> cOther
2-element SVector{2, Float32} with indices SOneTo(2):
  50.0f0
   1.0f0
SindbadTEM.Processes.@rep_vec Macro
julia
@rep_vec

Macro to replace a vector or static vector with a new value.

Arguments

  • outparams::Expr: Expression in the form vector ⇒ new_value

Examples

julia
julia> _vec = [100.0f0, 2.0f0]
julia> @rep_vec _vec  1.0f0
julia> _vec
2-element Vector{Float32}:
 1.0f0
 1.0f0
SindbadTEM.Processes.@unpack_nt Macro
julia
@unpack_nt

Macro to unpack variables from a named tuple.

Arguments

  • inparams: Expression or block of expressions in the form (vars...) ⇐ source or var ⇐ source

Examples

julia
julia> forcing = (; f1 = 1.0, f2 = 2.0)
julia> @unpack_nt (f1, f2)  forcing
julia> f1, f2
(1.0, 2.0)

Internal

SindbadTEM.Processes.calcPropsSaxton1986 Method

calculates the soil hydraulic properties based on Saxton 1986

Extended help

SindbadTEM.Processes.calcPropsSaxton2006 Method

calculates the soil hydraulic properties based on Saxton 2006

Inputs:

  • : texture-based parameters

  • info

  • land.properties.sp_[clay/sand]: in fraction

  • sl: soil layer to calculate property for

Outputs:

  • hydraulic conductivity [k], matric potention [ψ] & porosity (θ) at saturation [Sat], field capacity [_fc], & wilting point ( w_wp)

  • properties of moisture-retention curves: (α & β)

Modifies:

Extended help

References:

  • Saxton, K. E., & Rawls, W. J. (2006). Soil water characteristic estimates by texture & organic matter for hydrologic solutions. Soil science society of America Journal, 70[5], 1569-1578.

Versions:

  • 1.0 on 22.11.2019 [skoirala | @dr-ko]:

Created by

  • skoirala | @dr-ko

Notes:

  • _fc: Field Capacity moisture [33 kPa], #v

  • PAW: Plant Avail. moisture [33-1500 kPa, matric soil], #v

  • PAWB: Plant Avail. moisture [33-1500 kPa, bulk soil], #v

  • SAT: Saturation moisture [0 kPa], #v

  • w_wp: Wilting point moisture [1500 kPa], #v

SindbadTEM.Processes.compute Method
julia
compute(params<:LandEcosystem, forcing, land, helpers)

Update the model state and variables in time using defined and precomputed objects.

Description

The compute function is responsible for advancing the state of a SINDBAD model or approach in time. It uses previously defined and precomputed variables, along with updated forcing data, to calculate the time-dependent changes in the land model state. This function ensures that the model evolves dynamically based on the latest inputs and precomputed states.

Arguments

  • params: The parameter structure for the specific SINDBAD process or approach.

  • forcing: External forcing data required for the process or approach.

  • land: The land model state, which includes pools, diagnostics, and properties.

  • helpers: Additional helper functions or data required for computations.

Returns

  • The updated land model state with time-dependent changes applied.

Behavior

  • For each SINDBAD process or approach, the compute function updates the land model state based on the specific requirements of the process or approach.

  • It may include operations like updating pools, recalculating fluxes, or modifying diagnostics based on time-dependent forcing and precomputed variables.

  • This function is typically called iteratively to simulate the temporal evolution of the process.

Example

julia
# Example usage for a specific model
land = compute(params::ambientCO2_constant, forcing, land, helpers)

Notes:

The compute function is essential for SINDBAD models and approaches that require dynamic updates to the land model state over time. It ensures that the model evolves consistently with the defined and precomputed variables, as well as the latest forcing data. This function is a core component of the SINDBAD framework's time-stepping process

SindbadTEM.Processes.define Method
julia
define(params<:LandEcosystem, forcing, land, helpers)

Define and initialize arrays and variables for a SINDBAD model or approach.

Description

The define function is responsible for defining and initializing arrays for variables of pools or states that are required for a SINDBAD model or approach. It is typically called once to set up memory-allocating variables whose values can be overwritten during model computations.

Arguments

  • params: The parameter structure for the specific SINDBAD model or approach.

  • forcing: External forcing data required for the model or approach.

  • land: The land model state, which includes pools, diagnostics, and properties.

  • helpers: Additional helper functions or data required for initialization.

Returns

  • The updated land model state with defined arrays and variables.

Behavior

  • For each SINDBAD model or approach, the define function initializes arrays and variables based on the specific requirements of the model or approach.

  • It may include operations like unpacking parameters, defining arrays, or setting default values for variables.

  • This function is typically used to prepare the land model state for subsequent computations.

  • It is called once at the beginning of the simulation to set up the necessary variables. So, any variable whole values are changing based on model parameters so actually be overwritten in the precompute or compute function.

SindbadTEM.Processes.defineTEM Method
julia
defineTEM(tem_processes::LongTuple, forcing, land, model_helpers)

run the precompute function of SINDBAD TEM processes to instantiate all fields of land

Arguments:

  • tem_processes: a list of SINDBAD TEM processes to run

  • forcing: a forcing NT that contains the forcing time series set for ALL locations

  • land: a core SINDBAD NT that contains all variables for a given time step that is overwritten at every timestep

  • model_helpers: helper NT with necessary objects for model run and type consistencies

SindbadTEM.Processes.defineTEM Method
julia
defineTEM(tem_processes, forcing, land, model_helpers)

run the define and precompute functions of SINDBAD TEM processes to instantiate all fields of land

Arguments:

  • tem_processes: a list of SINDBAD TEM processes to run

  • forcing: a forcing NT that contains the forcing time series set for ALL locations

  • land: a core SINDBAD NT that contains all variables for a given time step that is overwritten at every timestep

  • model_helpers: helper NT with necessary objects for model run and type consistencies

SindbadTEM.Processes.getModelDocString Function
julia
getModelDocString()

Generate a base docstring for a SINDBAD process or approach.

Description

This function dynamically generates a base docstring for a SINDBAD process or approach by inspecting its purpose, parameters, methods, and input/output variables. It uses the stack trace to determine the calling context and retrieves the appropriate information for the process or approach.

Arguments

  • None (uses the stack trace to determine the calling context).

Returns

  • A string containing the generated docstring for the process or approach.

Behavior

  • If the caller is a process, it generates a docstring with the process's purpose and its subtypes (approaches).

  • If the caller is an approach, it generates a docstring with the approach's purpose, parameters, and methods (define, precompute, compute, update), including their inputs and outputs.

Methods

  • getModelDocString(): Determines the calling context using the stack trace and generates the appropriate docstring.

  • getModelDocString(modl_appr): Generates a docstring for a specific process or approach.

  • getModelDocStringForModel(modl): Generates a docstring for a SINDBAD process, including its purpose and subtypes.

  • getApproachDocString(appr): Generates a docstring for a SINDBAD approach, including its purpose, parameters, and methods.

  • getModelDocStringForIO(doc_string, io_list): Appends input/output details to the docstring for a given list of variables.

SindbadTEM.Processes.getSindbadModelOrder Method
julia
getSindbadModelOrder(model_name; all_models=standard_sindbad_model)

Return the default order of a SINDBAD model in the model list.

Arguments

  • model_name: Name of the model

  • all_models: The list of all models (default: standard_sindbad_model)

Examples

julia
julia> # Get the order of a model
julia> # getSindbadModelOrder(:gpp)
SindbadTEM.Processes.getSindbadModels Method
julia
getSindbadModels(; all_models=standard_sindbad_model)

Return a dictionary of SINDBAD models and their approaches.

Arguments

  • all_models: The list of all models (default: standard_sindbad_model)

Returns

  • An OrderedDict mapping model names to lists of approach names

Examples

julia
julia> # Get all models and approaches
julia> # models_dict = getSindbadModels()
SindbadTEM.Processes.includeApproaches Method
julia
includeApproaches(modl, dir)

Include all approach files for a given SINDBAD process.

Description

This function dynamically includes all approach files associated with a specific SINDBAD process. It searches the specified directory for files matching the naming convention <model_name>_*.jl and includes them into the current module.

Arguments

  • modl: The SINDBAD process for which approaches are to be included.

  • dir: The directory where the approach files are located.

Behavior

  • The function filters files in the specified directory to find those that match the naming convention <model_name>_*.jl.

  • Each matching file is included using Julia's include function.

Example

julia
# Include approaches for the `ambientCO2` process
includeApproaches(ambientCO2, "/path/to/approaches")
SindbadTEM.Processes.precompute Method
julia
precompute(params<:LandEcosystem, forcing, land, helpers)

Update defined variables and arrays with new realizations of a SINDBAD model or approach.

Description

The precompute function is responsible for updating previously defined arrays, variables, or states with new realizations of a SINDBAD model or approach. It uses updated parameters, forcing data, and helper functions to modify the land model state. This function ensures that the model is prepared for subsequent computations with the latest parameter values and external inputs.

Arguments

  • params: The parameter structure for the specific SINDBAD model or approach.

  • forcing: External forcing data required for the model or approach.

  • land: The land model state, which includes pools, diagnostics, and properties.

  • helpers: Additional helper functions or data required for updating variables.

Returns

  • The updated land model state with modified arrays and variables.

Behavior

  • For each SINDBAD model or approach, the precompute function updates variables and arrays based on the specific requirements of the model or approach.

  • It may include operations like recalculating variables, applying parameter changes, or modifying arrays to reflect new realizations of the model.

  • This function is typically used to prepare the land model state for time-dependent computations.

Example

julia
# Example usage for a specific model
land = precompute(params::ambientCO2_constant, forcing, land, helpers)

Extended help

The precompute function is essential for SINDBAD models and approaches that require dynamic updates to variables and arrays based on new parameter values or forcing data. It ensures that the land model state is properly updated and ready for further computations, such as compute or update.

SindbadTEM.Processes.throwError Method

throwError(land, msg) display and error msg and stop when there is inconsistency

SindbadTEM.Processes.update Method
julia
update(params<:LandEcosystem, forcing, land, helpers)

Update the model pools and variables within a single time step when activated via inline_update in experiment_json.

Description

The update function is responsible for modifying the pools of a SINDBAD model or approach within a single time step. It uses the latest forcing data, precomputed variables, and defined parameters to update the pools. This means that the model pools, typically of the water cycle, are updated before the next processes are called.

Arguments

  • params: The parameter structure for the specific SINDBAD model or approach.

  • forcing: External forcing data required for the model or approach.

  • land: The land model state, which includes pools, diagnostics, and properties.

  • helpers: Additional helper functions or data required for computations.

Returns

  • The updated land model pool with changes applied for the current time step.

Behavior

  • For each SINDBAD model or approach, the update function modifies the pools and state variables based on the specific requirements of the model or approach.

  • It may include operations like adjusting carbon or water pools, recalculating fluxes, or updating diagnostics based on the current time step's inputs and conditions.

  • This function is typically called iteratively during the simulation to reflect time-dependent changes.

Example

julia
# Example usage for a specific model
land = update(params::ambientCO2_constant, forcing, land, helpers)

Notes:

The update function is essential for SINDBAD models and approaches that require dynamic updates to the land model state within a single time step. It ensures that the model accurately reflects the changes occurring during the current time step, based on the latest forcing data and precomputed variables. This function is a core component of the SINDBAD framework's time-stepping process.