Skip to content
Sindbad.Models Module
julia
Sindbad.Models

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

Description

The Sindbad.Models module provides the infrastructure for defining and implementing terrestrial ecosystem models within the SINDBAD framework. It includes tools for model definition, parameter management, and method implementation.

Key Features

  • Model definition and inheritance from LandEcosystem

  • Parameter management with metadata (bounds, units, timescale)

  • Standardized method implementation (define, precompute, compute, update)

  • Model documentation and purpose tracking

  • Model approach management and validation

Required Methods

All models must implement at least one of the following methods:

  • define: Initialize arrays and variables

  • precompute: Prepare variables for computation

  • compute: Perform model calculations

  • update: Update model state

Metadata Macros

  • @bounds: Define parameter bounds

  • @describe: Add parameter descriptions

  • @units: Specify parameter units

  • @timescale: Define temporal scale of the parameter that is used to determine the units of the parameter and their conversion factors

  • @with_kw: Enable keyword argument construction

Usage

julia
using Sindbad.Models

# Define a new model
abstract type MyModel <: LandEcosystem end
purpose(::Type{MyModel}) = "Description of my model."

# Define an approach
@bounds @describe @units @timescale @with_kw struct MyModel_v1{T} <: MyModel
    param1::T = 1.0 | (0.0, 2.0) | "Description" | "units" | "timescale"
end

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

Notes

  • Models should follow the SINDBAD modeling conventions

  • All parameters should have appropriate metadata

  • Methods should be implemented efficiently for performance

  • Documentation should be comprehensive and clear

Available Models

EVI

Sindbad.Models.EVI Type
julia
Enhanced Vegetation Index

Approaches

  • EVI_constant: Sets EVI as a constant value.

  • EVI_forcing: Gets EVI from forcing data.

EVI approaches
Sindbad.Models.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

LAI

Sindbad.Models.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
Sindbad.Models.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: carbon content of cVegLeaf pool(s)
  • Outputs

    • states.LAI: leaf area index

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

NDVI

Sindbad.Models.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
Sindbad.Models.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

NDWI

Sindbad.Models.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
Sindbad.Models.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

NIRv

Sindbad.Models.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
Sindbad.Models.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

PET

Sindbad.Models.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
Sindbad.Models.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: potential evapotranspiration

    • states.Tair_prev: air temperature in the previous time step

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: air temperature in the previous time step

  • Outputs

    • fluxes.PET: potential evapotranspiration

    • states.Tair_prev: air temperature in the previous time step

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

PFT

Sindbad.Models.PFT Type
julia
Plant Functional Type (PFT) classification.

Approaches

  • PFT_constant: Sets a uniform PFT class.
PFT approaches
Sindbad.Models.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]

WUE

Sindbad.Models.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
Sindbad.Models.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: ambient co2 concentration

    • 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: water use efficiency of the ecosystem without CO2 effect

    • diagnostics.WUE: water use efficiency of the ecosystem

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


ambientCO2

Sindbad.Models.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
Sindbad.Models.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: ambient co2 concentration

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

autoRespiration

Sindbad.Models.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
Sindbad.Models.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: carbon content of cEco pool(s)
  • Outputs

    • diagnostics.k_respiration_maintain: metabolism rate for maintenance respiration

    • diagnostics.k_respiration_maintain_su: metabolism rate for maintenance respiration to be used in old analytical solution to steady state

    • fluxes.auto_respiration_growth: growth respiration per vegetation pool

    • fluxes.auto_respiration_maintain: maintenance respiration per vegetation pool

    • fluxes.c_eco_efflux: losss of carbon from (live) vegetation pools due to autotrophic respiration

compute:

  • Inputs

    • diagnostics.k_respiration_maintain: metabolism rate for maintenance respiration

    • diagnostics.k_respiration_maintain_su: metabolism rate for maintenance respiration to be used in old analytical solution to steady state

    • fluxes.c_eco_efflux: losss of carbon from (live) vegetation pools due to autotrophic respiration

    • fluxes.auto_respiration_growth: growth respiration per vegetation pool

    • fluxes.auto_respiration_maintain: maintenance respiration per vegetation pool

    • pools.cEco: carbon content of cEco pool(s)

    • pools.cVeg: carbon content of cVeg pool(s)

    • fluxes.gpp: gross primary prorDcutivity

    • diagnostics.C_to_N_cVeg: carbon to nitrogen ratio in the vegetation pools

    • diagnostics.c_allocation: fraction of gpp allocated to different (live) carbon pools

    • diagnostics.auto_respiration_f_airT: effect of air temperature on autotrophic respiration. 0: no decomposition, >1 increase in decomposition rate

  • Outputs

    • diagnostics.k_respiration_maintain: metabolism rate for maintenance respiration

    • diagnostics.k_respiration_maintain_su: metabolism rate for maintenance respiration to be used in old analytical solution to steady state

    • fluxes.auto_respiration_growth: growth respiration per vegetation pool

    • fluxes.auto_respiration_maintain: maintenance respiration per vegetation pool

    • fluxes.c_eco_efflux: losss of carbon from (live) vegetation pools due to autotrophic respiration

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?

autoRespirationAirT

Sindbad.Models.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
Sindbad.Models.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: effect of air temperature on autotrophic respiration. 0: no decomposition, >1 increase in decomposition rate

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


cAllocation

Sindbad.Models.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
Sindbad.Models.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: carbon content of cEco pool(s)
  • Outputs

    • diagnostics.c_allocation: fraction of gpp allocated to different (live) carbon pools

    • cAllocation.cVeg_names: name of vegetation carbon pools used for carbon allocation

    • cAllocation.cVeg_nzix: number of pools/layers in each vegetation carbon component

    • cAllocation.cVeg_zix: number of pools/layers in each vegetation carbon component

    • cAllocation.c_allocation_to_veg: carbon allocation to each vvegetation pool

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: name of vegetation carbon pools used for carbon allocation

    • cAllocation.cVeg_nzix: number of pools/layers in each vegetation carbon component

    • cAllocation.cVeg_zix: number of pools/layers in each vegetation carbon component

    • cAllocation.c_allocation_to_veg: carbon allocation to each vvegetation pool

    • diagnostics.c_allocation_f_W_N: effect of water and nutrient on carbon allocation. 1: no stress, 0: complete stress

    • diagnostics.c_allocation_f_LAI: effect of LAI on carbon allocation. 1: no stress, 0: complete stress

    • constants.z_zero: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

  • Outputs

    • diagnostics.c_allocation: fraction of gpp allocated to different (live) carbon pools

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

cAllocationLAI

Sindbad.Models.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
Sindbad.Models.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: leaf area index
  • Outputs

    • diagnostics.c_allocation_f_LAI: effect of LAI on carbon allocation. 1: no stress, 0: complete stress

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

cAllocationNutrients

Sindbad.Models.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
Sindbad.Models.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: amount of water available for transpiration per soil layer

    • properties.∑w_awc: total amount of water available for vegetation/transpiration

    • diagnostics.c_allocation_f_soilW: effect of soil moisture on carbon allocation. 1: no stress, 0: complete stress

    • diagnostics.c_allocation_f_soilT: effect of soil temperature on carbon allocation. 1: no stress, 0: complete stress

    • fluxes.PET: potential evapotranspiration

    • constants.z_zero: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

  • 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

cAllocationRadiation

Sindbad.Models.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
Sindbad.Models.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: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

  • 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

cAllocationSoilT

Sindbad.Models.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
Sindbad.Models.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: effect of soil temperature on carbon allocation. 1: no stress, 0: complete stress
  • Outputs

    • diagnostics.c_allocation_f_soilT: effect of soil temperature on carbon allocation. 1: no stress, 0: complete stress

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

cAllocationSoilW

Sindbad.Models.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
Sindbad.Models.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: effect of soil moisture on carbon decomposition rate. 1: no stress, 0: complete stress
  • Outputs

    • diagnostics.c_allocation_f_soilW: effect of soil moisture on carbon allocation. 1: no stress, 0: complete stress

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

cAllocationTreeFraction

Sindbad.Models.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
Sindbad.Models.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: name of vegetation carbon pools used in tree fraction correction for carbon allocation

compute:

  • Inputs

    • states.frac_tree: fractional coverage of grid with trees

    • diagnostics.c_allocation: fraction of gpp allocated to different (live) carbon pools

    • cAllocationTreeFraction.cVeg_names_for_c_allocation_frac_tree: name of vegetation carbon pools used in tree fraction correction for carbon allocation

    • constants.z_zero: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

  • Outputs

    • diagnostics.c_allocation: fraction of gpp allocated to different (live) carbon pools

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

cBiomass

Sindbad.Models.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
Sindbad.Models.cBiomass_simple Type

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

Parameters

  • None

Methods:

compute:

  • Inputs

    • pools.cVegWood: carbon content of cVegWood pool(s)

    • pools.cVegLeaf: carbon content of cVegLeaf pool(s)

  • Outputs

    • states.aboveground_biomass: carbon content on the cVegWood component

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


cCycle

Sindbad.Models.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
Sindbad.Models.cCycle_CASA Type

Carbon cycle wtih components based on the CASA approach.

Parameters

  • None

Methods:

define:

  • Inputs

    • pools.cEco: carbon content of cEco pool(s)
  • 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: losss of carbon from (live) vegetation pools due to autotrophic respiration

    • fluxes.c_eco_flow: flow of carbon to a given carbon pool from other carbon pools

    • fluxes.c_eco_influx: net influx from allocation and efflux (npp) to each (live) carbon pool

    • fluxes.c_eco_out: outflux of carbon from each carbol pool

    • fluxes.c_eco_npp: npp of each carbon pool

    • pools.cEco: carbon content of cEco pool(s)

    • pools.cVeg: carbon content of cVeg pool(s)

    • fluxes.gpp: gross primary prorDcutivity

    • diagnostics.c_eco_k: decomposition rate of carbon per pool

    • diagnostics.c_allocation: fraction of gpp allocated to different (live) carbon pools

    • 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: order of pooling while calculating the carbon flow

    • diagnostics.c_eco_τ: number of years needed for carbon turnover per carbon pool

  • Outputs

    • fluxes.nee: net ecosystem carbon exchange for the ecosystem. negative value indicates carbon sink.

    • fluxes.c_eco_npp: npp of each carbon pool

    • fluxes.auto_respiration: carbon loss due to autotrophic respiration

    • fluxes.eco_respiration: carbon loss due to ecosystem respiration

    • fluxes.hetero_respiration: carbon loss due to heterotrophic respiration

    • 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

cCycleBase

Sindbad.Models.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
Sindbad.Models.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: carbon content of cEco pool(s)
  • Outputs

    • diagnostics.C_to_N_cVeg: carbon to nitrogen ratio in the vegetation pools

    • diagnostics.c_flow_A_array: an array indicating the flow direction and connections across different pools, with elements larger than 0 indicating flow from column pool to row pool

    • diagnostics.c_flow_E_array: an array containing the efficiency of each flow in the c_flow_A_array

compute:

  • Inputs

    • diagnostics.C_to_N_cVeg: carbon to nitrogen ratio in the vegetation pools

    • constants.o_one: a helper type stable 1 to be used across all models

  • Outputs

    • diagnostics.c_eco_k_base: base carbon decomposition rate of the carbon pools

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

cCycleConsistency

Sindbad.Models.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
Sindbad.Models.cCycleConsistency_simple Type

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

Parameters

  • None

Methods:

define:

  • Inputs

    • pools.cEco: carbon content of cEco pool(s)

    • diagnostics.c_flow_A_array: an array indicating the flow direction and connections across different pools, with elements larger than 0 indicating flow from column pool to row pool

    • constants.c_giver: index of the source carbon pool for a given flow

  • Outputs

    • cCycleConsistency.giver_lower_unique: unique indices of carbon pools whose flow is >0 below the diagonal in carbon flow matrix

    • cCycleConsistency.giver_lower_indices: indices of carbon pools whose flow is >0 below the diagonal in carbon flow matrix

    • cCycleConsistency.giver_upper_unique: unique indices of carbon pools whose flow is >0 above the diagonal in carbon flow matrix

    • cCycleConsistency.giver_upper_indices: indices of carbon pools whose flow is >0 above the diagonal in carbon flow matrix

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

cCycleDisturbance

Sindbad.Models.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
Sindbad.Models.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: index of the source carbon pool for a given flow

    • constants.c_taker: index of the source carbon pool for a given flow

    • pools.cVeg: carbon content of cVeg pool(s)

  • Outputs

    • cCycleDisturbance.zix_veg_all: zix_veg_all_cCycleDisturbance

    • cCycleDisturbance.c_lose_to_zix_vec: c_lose_to_zix_vec_cCycleDisturbance

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: zix_veg_all_cCycleDisturbance

    • cCycleDisturbance.c_lose_to_zix_vec: c_lose_to_zix_vec_cCycleDisturbance

    • pools.cEco: carbon content of cEco pool(s)

    • constants.c_giver: index of the source carbon pool for a given flow

    • constants.c_taker: index of the source carbon pool for a given flow

    • states.c_remain: amount of carbon to keep in the ecosystem vegetation pools in case of disturbances

    • models.c_model: a base carbon cycle model to loop through the pools and fill the main or component pools needed for using static arrays. A mandatory field for every carbon model realization

  • Outputs

    • pools.cEco: carbon content of cEco pool(s)

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

cFlow

Sindbad.Models.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
Sindbad.Models.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: carbon flow efficiency

    • diagnostics.p_F_vec: carbon flow efficiency fraction

    • diagnostics.c_flow_E_array: an array containing the efficiency of each flow in the c_flow_A_array

    • constants.z_zero: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

  • Outputs

    • constants.c_flow_order: order of pooling while calculating the carbon flow

    • 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

cFlowSoilProperties

Sindbad.Models.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
Sindbad.Models.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: carbon content of cEco pool(s)
  • Outputs

    • diagnostics.p_E_vec: carbon flow efficiency

compute:

  • Inputs

    • diagnostics.p_E_vec: carbon flow efficiency

    • properties.st_clay: fraction of clay content in the soil

    • properties.st_silt: fraction of silt content in the soil per layer

  • Outputs

    • diagnostics.p_E_vec: carbon flow efficiency

    • diagnostics.p_F_vec: carbon flow efficiency fraction

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

cFlowVegProperties

Sindbad.Models.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
Sindbad.Models.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: index of the source carbon pool for a given flow

    • pools.cEco: carbon content of cEco pool(s)

  • 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: carbon content of cEco pool(s)

  • 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

cTau

Sindbad.Models.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
Sindbad.Models.cTau_mult Type

Combines all effects that change the turnover rates by multiplication.

Parameters

  • None

Methods:

define:

  • Inputs

    • pools.cEco: carbon content of cEco pool(s)
  • Outputs

    • diagnostics.c_eco_k: decomposition rate of carbon per pool

compute:

  • Inputs

    • diagnostics.c_eco_k_f_veg_props: effect of veg_props on carbon decomposition rate. 1: no stress, 0: complete stress

    • diagnostics.c_eco_k_f_soilW: effect of soil moisture on carbon decomposition rate. 1: no stress, 0: complete stress

    • diagnostics.c_eco_k_f_soilT: effect of soil temperature on heterotrophic respiration respiration. 0: no decomposition, >1 increase in decomposition

    • diagnostics.c_eco_k_f_soil_props: effect of soil_props on carbon decomposition rate. 1: no stress, 0: complete stress

    • diagnostics.c_eco_k_f_LAI: effect of LAI on carbon decomposition rate. 1: no stress, 0: complete stress

    • diagnostics.c_eco_k_base: base carbon decomposition rate of the carbon pools

    • diagnostics.c_eco_k: decomposition rate of carbon per pool

  • Outputs

    • diagnostics.c_eco_k: decomposition rate of carbon per pool

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:


cTauLAI

Sindbad.Models.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
Sindbad.Models.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: carbon content of cEco pool(s)
  • Outputs

    • diagnostics.c_eco_k_f_LAI: effect of LAI on carbon decomposition rate. 1: no stress, 0: complete stress

compute:

  • Inputs

    • diagnostics.c_eco_k_f_LAI: effect of LAI on carbon decomposition rate. 1: no stress, 0: complete stress

    • states.LAI: leaf area index

    • diagnostics.c_eco_τ: number of years needed for carbon turnover per carbon pool

    • diagnostics.c_eco_k: decomposition rate of carbon per pool

  • 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: effect of LAI on carbon decomposition rate. 1: no stress, 0: complete stress

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

cTauSoilProperties

Sindbad.Models.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
Sindbad.Models.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: carbon content of cEco pool(s)
  • Outputs

    • diagnostics.c_eco_k_f_soil_props: effect of soil_props on carbon decomposition rate. 1: no stress, 0: complete stress

compute:

  • Inputs

    • diagnostics.c_eco_k_f_soil_props: effect of soil_props on carbon decomposition rate. 1: no stress, 0: complete stress

    • properties.st_clay: fraction of clay content in the soil

    • properties.st_silt: fraction of silt content in the soil per layer

  • Outputs

    • diagnostics.c_eco_k_f_soil_props: effect of soil_props on carbon decomposition rate. 1: no stress, 0: complete stress

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

cTauSoilT

Sindbad.Models.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
Sindbad.Models.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: effect of soil temperature on heterotrophic respiration respiration. 0: no decomposition, >1 increase in decomposition

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


cTauSoilW

Sindbad.Models.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
Sindbad.Models.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: carbon content of cEco pool(s)
  • Outputs

    • diagnostics.c_eco_k_f_soilW: effect of soil moisture on carbon decomposition rate. 1: no stress, 0: complete stress

compute:

  • Inputs

    • diagnostics.c_eco_k_f_soilW: effect of soil moisture on carbon decomposition rate. 1: no stress, 0: complete stress

    • fluxes.rain: amount of precipitation in liquid form

    • 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: potential evapotranspiration

    • constants.z_zero: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

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


cTauVegProperties

Sindbad.Models.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
Sindbad.Models.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: carbon content of cEco pool(s)
  • Outputs

    • diagnostics.c_eco_k_f_veg_props: effect of veg_props on carbon decomposition rate. 1: no stress, 0: complete stress

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: effect of veg_props on carbon decomposition rate. 1: no stress, 0: complete stress

    • constants.z_zero: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

  • Outputs

    • diagnostics.c_eco_τ: number of years needed for carbon turnover per carbon pool

    • 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: LIGEFF_properties

    • properties.LIGNIN: LIGNIN_properties

    • properties.LITC2N: LITC2N_properties

    • properties.MTF: MTF_properties

    • properties.SCLIGNIN: SCLIGNIN_properties

    • diagnostics.c_eco_k_f_veg_props: effect of veg_props on carbon decomposition rate. 1: no stress, 0: complete stress

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

cVegetationDieOff

Sindbad.Models.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
Sindbad.Models.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

capillaryFlow

Sindbad.Models.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
Sindbad.Models.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: water storage in soilW pool(s)
  • Outputs

    • fluxes.soil_capillary_flux: soil capillary flux per layer

compute:

  • Inputs

    • properties.k_fc: hydraulic conductivity of soil at field capacity per layer

    • properties.w_sat: amount of water in the soil at saturation per layer

    • fluxes.soil_capillary_flux: soil capillary flux per layer

    • pools.soilW: water storage in soilW pool(s)

    • pools.ΔsoilW: change in water storage in soilW pool(s)

    • constants.z_zero: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

  • Outputs

    • fluxes.soil_capillary_flux: soil capillary flux per layer

    • pools.ΔsoilW: change in water storage in soilW pool(s)

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

constants

Sindbad.Models.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
Sindbad.Models.constants_numbers Type

Includes constants for numbers such as 1 to 10.

Parameters

  • None

Methods:

define:

  • Inputs

    • None
  • Outputs

    • constants.z_zero: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

    • constants.t_two: a type stable 2

    • constants.t_three: a type stable 3

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

deriveVariables

Sindbad.Models.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
Sindbad.Models.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

drainage

Sindbad.Models.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
Sindbad.Models.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: change in water storage in soilW pool(s)
  • Outputs

    • fluxes.drainage: soil moisture drainage per soil layer

compute:

  • Inputs

    • fluxes.drainage: soil moisture drainage per soil layer

    • properties.w_sat: amount of water in the soil at saturation per layer

    • properties.soil_β: beta parameter of soil per layer

    • properties.w_fc: amount of water in the soil at field capacity per layer

    • pools.soilW: water storage in soilW pool(s)

    • pools.ΔsoilW: change in water storage in soilW pool(s)

    • constants.z_zero: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

  • Outputs

    • fluxes.drainage: soil moisture drainage per soil layer

    • pools.ΔsoilW: change in water storage in soilW pool(s)

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

evaporation

Sindbad.Models.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
Sindbad.Models.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: a helper type stable 0 to be used across all models
  • 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: fraction of absorbed photosynthetically active radiation

    • pools.soilW: water storage in soilW pool(s)

    • pools.ΔsoilW: change in water storage in soilW pool(s)

    • fluxes.PET: potential evapotranspiration

    • 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: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

  • 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: evaporation from the first soil layer

    • pools.ΔsoilW: change in water storage in soilW pool(s)

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


evapotranspiration

Sindbad.Models.evapotranspiration Type
julia
Evapotranspiration.

Approaches

  • evapotranspiration_sum: Evapotranspiration as a sum of all potential components
evapotranspiration approaches
Sindbad.Models.evapotranspiration_sum Type

Evapotranspiration as a sum of all potential components

Parameters

  • None

Methods:

define:

  • Inputs

    • constants.z_zero: a helper type stable 0 to be used across all models
  • Outputs

    • fluxes.evaporation: evaporation from the first soil layer

    • fluxes.evapotranspiration: total land evaporation including soil evaporation, vegetation transpiration, snow sublimation, and interception loss

    • fluxes.interception: interception evaporation loss

    • fluxes.sublimation: sublimation of the snow

    • fluxes.transpiration: transpiration

compute:

  • Inputs

    • fluxes.evaporation: evaporation from the first soil layer

    • fluxes.interception: interception evaporation loss

    • fluxes.sublimation: sublimation of the snow

    • fluxes.transpiration: transpiration

  • Outputs

    • fluxes.evapotranspiration: total land evaporation including soil evaporation, vegetation transpiration, snow sublimation, and interception loss

precompute, update methods are not defined

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


Extended help

References

Versions

  • 1.0 on 01.04.2022

Created by

  • skoirala | @dr-ko

fAPAR

Sindbad.Models.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
Sindbad.Models.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: fraction of absorbed photosynthetically active radiation

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

getPools

Sindbad.Models.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
Sindbad.Models.getPools_simple Type

Simply take throughfall as the maximum available water.

Parameters

  • None

Methods:

define:

  • Inputs

    • constants.z_zero: a helper type stable 0 to be used across all models
  • Outputs

    • states.WBP: water balance tracker pool that starts with rain and ends up with 0 after allocating to soil percolation

compute:

  • Inputs

    • fluxes.rain: amount of precipitation in liquid form

    • states.WBP: water balance tracker pool that starts with rain and ends up with 0 after allocating to soil percolation

  • Outputs

    • states.WBP: water balance tracker pool that starts with rain and ends up with 0 after allocating to soil percolation

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


gpp

Sindbad.Models.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
Sindbad.Models.gpp_coupled Type

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

Parameters

  • None

Methods:

compute:

  • Inputs

    • diagnostics.transpiration_supply: total amount of water available in soil for transpiration

    • diagnostics.gpp_f_soilW: effect of soil moisture on gpp. 1: no stress, 0: complete stress

    • diagnostics.gpp_demand: demand driven gross primary prorDuctivity

    • diagnostics.WUE: water use efficiency of the ecosystem

  • Outputs

    • fluxes.gpp: gross primary prorDcutivity

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


gppAirT

Sindbad.Models.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
Sindbad.Models.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: a helper type stable 1 to be used across all models

  • Outputs

    • diagnostics.gpp_f_airT: effect of air temperature on gpp. 1: no stress, 0: complete stress

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


gppDemand

Sindbad.Models.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
Sindbad.Models.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: potential gross primary prorDcutivity

    • pools.soilW: water storage in soilW pool(s)

  • Outputs

    • diagnostics.gpp_climate_stressors: a collection of all gpp climate stressors including light, temperature, radiation, and vpd

compute:

  • Inputs

    • states.fAPAR: fraction of absorbed photosynthetically active radiation

    • diagnostics.gpp_f_cloud: effect of cloud on gpp. 1: no stress, 0: complete stress

    • diagnostics.gpp_potential: potential gross primary prorDcutivity

    • diagnostics.gpp_f_light: effect of light on gpp. 1: no stress, 0: complete stress

    • diagnostics.gpp_climate_stressors: a collection of all gpp climate stressors including light, temperature, radiation, and vpd

    • diagnostics.gpp_f_airT: effect of air temperature on gpp. 1: no stress, 0: complete stress

  • Outputs

    • diagnostics.gpp_f_climate: effect of climate on gpp. 1: no stress, 0: complete stress

    • diagnostics.gpp_demand: demand driven gross primary prorDuctivity

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


gppDiffRadiation

Sindbad.Models.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
Sindbad.Models.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: a helper type stable 1 to be used across all models

  • Outputs

    • diagnostics.gpp_f_cloud: effect of cloud on gpp. 1: no stress, 0: complete stress

    • 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: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

  • Outputs

    • diagnostics.gpp_f_cloud: effect of cloud on gpp. 1: no stress, 0: complete stress

    • 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


gppDirRadiation

Sindbad.Models.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
Sindbad.Models.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: fraction of absorbed photosynthetically active radiation

  • Outputs

    • diagnostics.gpp_f_light: effect of light on gpp. 1: no stress, 0: complete stress

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.

gppPotential

Sindbad.Models.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
Sindbad.Models.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: potential gross primary prorDcutivity

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


gppSoilW

Sindbad.Models.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
Sindbad.Models.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: a helper type stable 0 to be used across all models
  • 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: amount of water available for transpiration per soil layer

    • fluxes.PET: potential evapotranspiration

    • constants.z_zero: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

  • 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: effect of soil moisture on gpp. 1: no stress, 0: complete stress

    • 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


gppVPD

Sindbad.Models.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
Sindbad.Models.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: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

  • Outputs

    • diagnostics.gpp_f_vpd: effect of vpd on gpp. 1: no stress, 0: complete stress

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


groundWRecharge

Sindbad.Models.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
Sindbad.Models.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: a helper type stable 0 to be used across all models
  • Outputs

    • fluxes.gw_recharge: net groundwater recharge from the lowermost soil layer, positive => soil to groundwater

compute:

  • Inputs

    • properties.w_sat: amount of water in the soil at saturation per layer

    • properties.soil_β: beta parameter of soil per layer

    • pools.ΔsoilW: change in water storage in soilW pool(s)

    • pools.soilW: water storage in soilW pool(s)

    • pools.ΔgroundW: change in water storage in groundW pool(s)

    • pools.groundW: water storage in groundW pool(s)

    • constants.z_zero: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

  • Outputs

    • fluxes.gw_recharge: net groundwater recharge from the lowermost soil layer, positive => soil to groundwater

    • pools.ΔsoilW: change in water storage in soilW pool(s)

    • pools.ΔgroundW: change in water storage in groundW pool(s)

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

groundWSoilWInteraction

Sindbad.Models.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
Sindbad.Models.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: net groundwater recharge from the lowermost soil layer, positive => soil to groundwater

compute:

  • Inputs

    • properties.k_fc: hydraulic conductivity of soil at field capacity per layer

    • properties.k_sat: hydraulic conductivity of soil at saturation per layer

    • properties.w_sat: amount of water in the soil at saturation per layer

    • pools.ΔsoilW: change in water storage in soilW pool(s)

    • pools.ΔgroundW: change in water storage in groundW pool(s)

    • pools.groundW: water storage in groundW pool(s)

    • pools.soilW: water storage in soilW pool(s)

    • models.unsat_k_model: name of the model used to calculate unsaturated hydraulic conductivity

    • constants.z_zero: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

    • fluxes.gw_recharge: net groundwater recharge from the lowermost soil layer, positive => soil to groundwater

  • Outputs

    • fluxes.gw_capillary_flux: capillary flux from top groundwater layer to the lowermost soil layer

    • fluxes.gw_recharge: net groundwater recharge from the lowermost soil layer, positive => soil to groundwater

    • pools.ΔsoilW: change in water storage in soilW pool(s)

    • pools.ΔgroundW: change in water storage in groundW pool(s)

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

groundWSurfaceWInteraction

Sindbad.Models.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
Sindbad.Models.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: change in water storage in surfaceW pool(s)

    • pools.ΔgroundW: change in water storage in groundW pool(s)

    • pools.groundW: water storage in groundW pool(s)

    • pools.surfaceW: water storage in surfaceW pool(s)

    • constants.n_surfaceW: total number of layers in surface water pool

    • constants.n_groundW: total number of layers in groundwater pool

  • 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: change in water storage in surfaceW pool(s)

    • pools.ΔgroundW: change in water storage in groundW pool(s)

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

interception

Sindbad.Models.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
Sindbad.Models.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: water balance tracker pool that starts with rain and ends up with 0 after allocating to soil percolation

    • states.fAPAR: fraction of absorbed photosynthetically active radiation

    • fluxes.rain: amount of precipitation in liquid form

    • 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: interception evaporation loss

    • states.WBP: water balance tracker pool that starts with rain and ends up with 0 after allocating to soil percolation

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


percolation

Sindbad.Models.percolation Type
julia
Percolation through the top of soil

Approaches

  • percolation_WBP: Percolation as a difference of throughfall and surface runoff loss.
percolation approaches
Sindbad.Models.percolation_WBP Type

Percolation as a difference of throughfall and surface runoff loss.

Parameters

  • None

Methods:

compute:

  • Inputs

    • pools.ΔgroundW: change in water storage in groundW pool(s)

    • pools.ΔsoilW: change in water storage in soilW pool(s)

    • pools.soilW: water storage in soilW pool(s)

    • pools.groundW: water storage in groundW pool(s)

    • states.WBP: water balance tracker pool that starts with rain and ends up with 0 after allocating to soil percolation

    • constants.o_one: a helper type stable 1 to be used across all models

    • properties.w_sat: amount of water in the soil at saturation per layer

  • Outputs

    • fluxes.percolation: amount of moisture percolating to the top soil layer

    • states.WBP: water balance tracker pool that starts with rain and ends up with 0 after allocating to soil percolation

    • pools.ΔgroundW: change in water storage in groundW pool(s)

    • pools.ΔsoilW: change in water storage in soilW pool(s)

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

plantForm

Sindbad.Models.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
Sindbad.Models.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

rainIntensity

Sindbad.Models.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
Sindbad.Models.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

rainSnow

Sindbad.Models.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
Sindbad.Models.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: water storage in snowW pool(s)

    • pools.ΔsnowW: change in water storage in snowW pool(s)

  • Outputs

    • fluxes.precip: total land precipitation including snow and rain

    • fluxes.rain: amount of precipitation in liquid form

    • fluxes.snow: amount of precipitation in solid form

    • pools.ΔsnowW: change in water storage in snowW pool(s)

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

rootMaximumDepth

Sindbad.Models.rootMaximumDepth Type
julia
Maximum rooting depth.

Approaches

  • rootMaximumDepth_fracSoilD: Maximum rooting depth as a fraction of total soil depth.
rootMaximumDepth approaches
Sindbad.Models.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: thickness of each soil layer
  • Outputs

    • properties.∑soil_depth: total depth of soil

precompute:

  • Inputs

    • properties.∑soil_depth: total depth of soil
  • Outputs

    • diagnostics.max_root_depth: maximum depth of root

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

rootWaterEfficiency

Sindbad.Models.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
Sindbad.Models.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: thickness of each soil layer

    • pools.soilW: water storage in soilW pool(s)

  • Outputs

    • diagnostics.root_water_efficiency: a efficiency like number that indicates the ease/fraction of soil water that can extracted by the root per layer

    • properties.cumulative_soil_depths: the depth to the bottom of each soil layer

precompute:

  • Inputs

    • properties.cumulative_soil_depths: the depth to the bottom of each soil layer

    • diagnostics.root_water_efficiency: a efficiency like number that indicates the ease/fraction of soil water that can extracted by the root per layer

    • pools.soilW: water storage in soilW pool(s)

    • constants.z_zero: a helper type stable 0 to be used across all models

    • diagnostics.max_root_depth: maximum depth of root

  • Outputs

    • diagnostics.root_water_efficiency: a efficiency like number that indicates the ease/fraction of soil water that can extracted by the root per layer

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

rootWaterUptake

Sindbad.Models.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
Sindbad.Models.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: water storage in soilW pool(s)
  • Outputs

    • fluxes.root_water_uptake: amount of water uptaken for transpiration per soil layer

compute:

  • Inputs

    • states.PAW: amount of water available for transpiration per soil layer

    • pools.soilW: water storage in soilW pool(s)

    • pools.ΔsoilW: change in water storage in soilW pool(s)

    • fluxes.transpiration: transpiration

    • fluxes.root_water_uptake: amount of water uptaken for transpiration per soil layer

    • constants.z_zero: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

  • Outputs

    • fluxes.root_water_uptake: amount of water uptaken for transpiration per soil layer

    • pools.ΔsoilW: change in water storage in soilW pool(s)

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

runoff

Sindbad.Models.runoff Type
julia
Total runoff.

Approaches

  • runoff_sum: Runoff as a sum of all potential components.
runoff approaches
Sindbad.Models.runoff_sum Type

Runoff as a sum of all potential components.

Parameters

  • None

Methods:

define:

  • Inputs

    • constants.z_zero: a helper type stable 0 to be used across all models
  • Outputs

    • fluxes.runoff: total runoff

    • fluxes.base_runoff: base runoff

    • fluxes.surface_runoff: total surface runoff

compute:

  • Inputs

    • fluxes.base_runoff: base runoff

    • fluxes.surface_runoff: total surface runoff

  • Outputs

    • fluxes.runoff: total runoff

precompute, update methods are not defined

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


Extended help

References

Versions

  • 1.0 on 01.04.2022

Created by

  • skoirala | @dr-ko

runoffBase

Sindbad.Models.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
Sindbad.Models.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: water storage in groundW pool(s)

    • pools.ΔgroundW: change in water storage in groundW pool(s)

  • Outputs

    • fluxes.base_runoff: base runoff

    • pools.ΔgroundW: change in water storage in groundW pool(s)

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

runoffInfiltrationExcess

Sindbad.Models.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
Sindbad.Models.runoffInfiltrationExcess_Jung Type

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

Parameters

  • None

Methods:

compute:

  • Inputs

    • states.WBP: water balance tracker pool that starts with rain and ends up with 0 after allocating to soil percolation

    • states.fAPAR: fraction of absorbed photosynthetically active radiation

    • properties.k_sat: hydraulic conductivity of soil at saturation per layer

    • fluxes.rain: amount of precipitation in liquid form

    • 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: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

  • 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: water balance tracker pool that starts with rain and ends up with 0 after allocating to soil percolation

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

runoffInterflow

Sindbad.Models.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
Sindbad.Models.runoffInterflow_none Type

Sets interflow runoff to 0.

Parameters

  • None

Methods:

define:

  • Inputs

    • constants.z_zero: a helper type stable 0 to be used across all models
  • Outputs

    • fluxes.interflow_runoff: runoff loss from interflow in soil layers

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


runoffOverland

Sindbad.Models.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
Sindbad.Models.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: overland runoff as a fraction of incoming water

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

runoffSaturationExcess

Sindbad.Models.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
Sindbad.Models.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: water balance tracker pool that starts with rain and ends up with 0 after allocating to soil percolation

    • properties.w_sat: amount of water in the soil at saturation per layer

    • pools.soilW: water storage in soilW pool(s)

    • pools.ΔsoilW: change in water storage in soilW pool(s)

  • Outputs

    • fluxes.sat_excess_runoff: saturation excess runoff

    • states.WBP: water balance tracker pool that starts with rain and ends up with 0 after allocating to soil percolation

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

runoffSurface

Sindbad.Models.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
Sindbad.Models.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: water storage in surfaceW pool(s)

    • fluxes.overland_runoff: overland runoff as a fraction of incoming water

  • Outputs

    • fluxes.surface_runoff: total surface runoff

    • 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?!?!

saturatedFraction

Sindbad.Models.saturatedFraction Type
julia
Saturated fraction of a grid-cell.

Approaches

  • saturatedFraction_none: Sets the saturated soil fraction to 0.
saturatedFraction approaches
Sindbad.Models.saturatedFraction_none Type

Sets the saturated soil fraction to 0.

Parameters

  • None

Methods:

define:

  • Inputs

    • constants.z_zero: a helper type stable 0 to be used across all models
  • 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


snowFraction

Sindbad.Models.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
Sindbad.Models.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: water storage in snowW pool(s)

    • pools.ΔsnowW: change in water storage in snowW pool(s)

    • constants.o_one: a helper type stable 1 to be used across all models

  • Outputs

    • states.frac_snow: fractional coverage of grid with snow

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

snowMelt

Sindbad.Models.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
Sindbad.Models.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: water balance tracker pool that starts with rain and ends up with 0 after allocating to soil percolation

    • states.frac_snow: fractional coverage of grid with snow

    • pools.snowW: water storage in snowW pool(s)

    • pools.ΔsnowW: change in water storage in snowW pool(s)

    • constants.z_zero: a helper type stable 0 to be used across all models

  • Outputs

    • fluxes.snow_melt: snow melt

    • 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: water balance tracker pool that starts with rain and ends up with 0 after allocating to soil percolation

    • pools.ΔsnowW: change in water storage in snowW pool(s)

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.


soilProperties

Sindbad.Models.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
Sindbad.Models.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: water storage in soilW pool(s)
  • Outputs

    • properties.sp_k_fc: calculated/input hydraulic conductivity of soil at field capacity per layer

    • properties.sp_k_sat: calculated/input hydraulic conductivity of soil at saturation per layer

    • properties.sp_k_wp: calculated/input hydraulic conductivity of soil at wilting point per layer

    • properties.sp_α: calculated/input alpha parameter of soil per layer

    • properties.sp_β: calculated/input beta parameter of soil per layer

    • properties.sp_θ_fc: calculated/input moisture content of soil at field capacity per layer

    • properties.sp_θ_sat: calculated/input moisture content of soil at saturation (porosity) per layer

    • properties.sp_θ_wp: calculated/input moisture content of soil at wilting point per layer

    • properties.sp_ψ_fc: calculated/input matric potential of soil at field capacity per layer

    • properties.sp_ψ_sat: calculated/input matric potential of soil at saturation per layer

    • properties.sp_ψ_wp: calculated/input matric potential of soil at wiliting point per layer

    • 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: name of the model used to calculate unsaturated hydraulic conductivity

precompute:

  • Inputs

    • properties.sp_α: calculated/input alpha parameter of soil per layer

    • properties.sp_β: calculated/input beta parameter of soil per layer

    • properties.sp_k_fc: calculated/input hydraulic conductivity of soil at field capacity per layer

    • properties.sp_θ_fc: calculated/input moisture content of soil at field capacity per layer

    • properties.sp_ψ_fc: calculated/input matric potential of soil at field capacity per layer

    • properties.sp_k_wp: calculated/input hydraulic conductivity of soil at wilting point per layer

    • properties.sp_θ_wp: calculated/input moisture content of soil at wilting point per layer

    • properties.sp_ψ_wp: calculated/input matric potential of soil at wiliting point per layer

    • properties.sp_k_sat: calculated/input hydraulic conductivity of soil at saturation per layer

    • properties.sp_θ_sat: calculated/input moisture content of soil at saturation (porosity) per layer

    • properties.sp_ψ_sat: calculated/input matric potential of soil at saturation per layer

    • pools.soilW: water storage in soilW pool(s)

  • Outputs

    • properties.sp_k_fc: calculated/input hydraulic conductivity of soil at field capacity per layer

    • properties.sp_k_sat: calculated/input hydraulic conductivity of soil at saturation per layer

    • properties.sp_k_wp: calculated/input hydraulic conductivity of soil at wilting point per layer

    • properties.sp_α: calculated/input alpha parameter of soil per layer

    • properties.sp_β: calculated/input beta parameter of soil per layer

    • properties.sp_θ_fc: calculated/input moisture content of soil at field capacity per layer

    • properties.sp_θ_sat: calculated/input moisture content of soil at saturation (porosity) per layer

    • properties.sp_θ_wp: calculated/input moisture content of soil at wilting point per layer

    • properties.sp_ψ_fc: calculated/input matric potential of soil at field capacity per layer

    • properties.sp_ψ_sat: calculated/input matric potential of soil at saturation per layer

    • properties.sp_ψ_wp: calculated/input matric potential of soil at wiliting point per layer

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

soilTexture

Sindbad.Models.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
Sindbad.Models.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: water storage in soilW pool(s)
  • Outputs

    • properties.st_clay: fraction of clay content in the soil

    • properties.st_sand: fraction of sand content in the soil per layer

    • properties.st_silt: fraction of silt content in the soil per layer

    • properties.st_orgm: fraction of organic matter content in the soil per layer

precompute:

  • Inputs

    • properties.st_clay: fraction of clay content in the soil

    • properties.st_sand: fraction of sand content in the soil per layer

    • properties.st_silt: fraction of silt content in the soil per layer

    • properties.st_orgm: fraction of organic matter content in the soil per layer

  • Outputs

    • properties.st_clay: fraction of clay content in the soil

    • properties.st_sand: fraction of sand content in the soil per layer

    • properties.st_silt: fraction of silt content in the soil per layer

    • properties.st_orgm: fraction of organic matter content in the soil per layer

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

soilWBase

Sindbad.Models.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
Sindbad.Models.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: water storage in soilW pool(s)
  • Outputs

    • properties.soil_layer_thickness: thickness of each soil layer

    • properties.w_sat: amount of water in the soil at saturation per layer

    • properties.w_fc: amount of water in the soil at field capacity per layer

    • properties.w_wp: amount of water in the soil at wiliting point per layer

compute:

  • Inputs

    • properties.soil_layer_thickness: thickness of each soil layer

    • properties.w_sat: amount of water in the soil at saturation per layer

    • properties.w_fc: amount of water in the soil at field capacity per layer

    • properties.w_wp: amount of water in the soil at wiliting point per layer

  • Outputs

    • properties.w_awc: maximum amount of water available for vegetation/transpiration per soil layer (w_sat-_wp)

    • properties.w_fc: amount of water in the soil at field capacity per layer

    • properties.w_sat: amount of water in the soil at saturation per layer

    • properties.w_wp: amount of water in the soil at wiliting point per layer

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

sublimation

Sindbad.Models.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
Sindbad.Models.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

    • Δ_2: 3.53068 ∈ [-Inf, Inf] => second parameter of Δ from Murphy & Koop 2005

    • Δ_3: 0.00728332 ∈ [-Inf, Inf] => third parameter of Δ from Murphy & Koop 2005

    • Δ_4: 9.550426 ∈ [-Inf, Inf] => fourth parameter of Δ from Murphy & Koop 2005

    • 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

    • λ_2: 35.8925 ∈ [-Inf, Inf] => second parameter of λ from Murphy & Koop 2005

    • λ_3: 0.07414 ∈ [-Inf, Inf] => third parameter of λ from Murphy & Koop 2005

    • λ_4: 541.5 ∈ [-Inf, Inf] => fourth parameter of λ from Murphy & Koop 2005

    • λ_5: 123.75 ∈ [-Inf, Inf] => fifth parameter of λ from Murphy & Koop 2005

    • 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

    • γ_2: 0.622 ∈ [-Inf, Inf] => second parameter of γ from Brunt 1952

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: fractional coverage of grid with snow

    • pools.snowW: water storage in snowW pool(s)

    • pools.ΔsnowW: change in water storage in snowW pool(s)

    • constants.z_zero: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

    • constants.t_two: a type stable 2

  • Outputs

    • fluxes.sublimation: sublimation of the snow

    • 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: change in water storage in snowW pool(s)

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

transpiration

Sindbad.Models.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
Sindbad.Models.transpiration_coupled Type

Transpiration as a function of GPP and WUE.

Parameters

  • None

Methods:

compute:

  • Inputs

    • fluxes.gpp: gross primary prorDcutivity

    • diagnostics.WUE: water use efficiency of the ecosystem

  • Outputs

    • fluxes.transpiration: transpiration

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


transpirationDemand

Sindbad.Models.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
Sindbad.Models.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: amount of water available for transpiration per soil layer

    • properties.w_awc: maximum amount of water available for vegetation/transpiration per soil layer (w_sat-_wp)

    • properties.soil_α: alpha parameter of soil per layer

    • properties.soil_β: beta parameter of soil per layer

    • fluxes.percolation: amount of moisture percolating to the top soil layer

    • fluxes.PET: potential evapotranspiration

  • 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

transpirationSupply

Sindbad.Models.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
Sindbad.Models.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: amount of water available for transpiration per soil layer
  • Outputs

    • diagnostics.transpiration_supply: total amount of water available in soil for transpiration

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

treeFraction

Sindbad.Models.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
Sindbad.Models.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: fractional coverage of grid with trees

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

vegAvailableWater

Sindbad.Models.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
Sindbad.Models.vegAvailableWater_rootWaterEfficiency Type

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

Parameters

  • None

Methods:

define:

  • Inputs

    • pools.soilW: water storage in soilW pool(s)
  • Outputs

    • states.PAW: amount of water available for transpiration per soil layer

compute:

  • Inputs

    • properties.w_wp: amount of water in the soil at wiliting point per layer

    • diagnostics.root_water_efficiency: a efficiency like number that indicates the ease/fraction of soil water that can extracted by the root per layer

    • pools.soilW: water storage in soilW pool(s)

    • pools.ΔsoilW: change in water storage in soilW pool(s)

    • states.PAW: amount of water available for transpiration per soil layer

  • Outputs

    • states.PAW: amount of water available for transpiration per soil layer

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

vegFraction

Sindbad.Models.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
Sindbad.Models.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: fractional coverage of grid with vegetation

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

wCycle

Sindbad.Models.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 approaches
Sindbad.Models.wCycle_combined Type

computes the algebraic sum of storage and delta storage

Parameters

  • None

Methods:

define:

  • Inputs

    • pools.ΔTWS: change in water storage in TWS pool(s)
  • Outputs

    • pools.zeroΔTWS: helper variable to reset ΔTWS to zero in every time step

compute:

  • Inputs

    • pools.TWS: terrestrial water storage including all water pools

    • pools.ΔTWS: change in water storage in TWS pool(s)

    • pools.zeroΔTWS: helper variable to reset ΔTWS to zero in every time step

    • constants.z_zero: a helper type stable 0 to be used across all models

    • constants.o_one: a helper type stable 1 to be used across all models

  • Outputs

    • pools.ΔTWS: change in water storage in TWS pool(s)

    • pools.TWS: terrestrial water storage including all water pools

    • states.total_water: sum of water storage across all components

    • states.total_water_prev: sum of water storage across all components in previous time step

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

wCycleBase

Sindbad.Models.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
Sindbad.Models.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: a base water cycle model to loop through the pools and fill the main or component pools needed for using static arrays. A mandatory field for every water model/pool realization

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

waterBalance

Sindbad.Models.waterBalance Type
julia
Water balance

Approaches

  • waterBalance_simple: Simply checks the water balance as P-ET-R-ds/dt.
waterBalance approaches
Sindbad.Models.waterBalance_simple Type

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

Parameters

  • None

Methods:

compute:

  • Inputs

    • fluxes.precip: total land precipitation including snow and rain

    • states.total_water_prev: sum of water storage across all components in previous time step

    • states.total_water: sum of water storage across all components

    • states.WBP: water balance tracker pool that starts with rain and ends up with 0 after allocating to soil percolation

    • fluxes.evapotranspiration: total land evaporation including soil evaporation, vegetation transpiration, snow sublimation, and interception loss

    • fluxes.runoff: total runoff

  • Outputs

    • diagnostics.water_balance: misbalance of the water for the given time step calculated as the differences between total input, output and change in storages

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

Internal

Sindbad.Models.calcPropsSaxton1986 Method

calculates the soil hydraulic properties based on Saxton 1986

Extended help

Sindbad.Models.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

Sindbad.Models.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 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 state with time-dependent changes applied.

Behavior

  • For each SINDBAD model or approach, the compute function updates the land model state based on the specific requirements of the model 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 model.

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

Sindbad.Models.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.

Sindbad.Models.getModelDocString Function
julia
getModelDocString()

Generate a base docstring for a SINDBAD model or approach.

Description

This function dynamically generates a base docstring for a SINDBAD model 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 model or approach.

Arguments

  • None (uses the stack trace to determine the calling context).

Returns

  • A string containing the generated docstring for the model or approach.

Behavior

  • If the caller is a model, it generates a docstring with the model'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 model or approach.

  • getModelDocStringForModel(modl): Generates a docstring for a SINDBAD model, 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.

Sindbad.Models.includeApproaches Method
julia
includeApproaches(modl, dir)

Include all approach files for a given SINDBAD model.

Description

This function dynamically includes all approach files associated with a specific SINDBAD model. 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 model 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` model
includeApproaches(ambientCO2, "/path/to/approaches")
Sindbad.Models.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.

Sindbad.Models.throwError Method

throwError(land, msg) display and error msg and stop when there is inconsistency

Sindbad.Models.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.