iLand
Public Member Functions | Friends | List of all members
Soil Class Reference

implementation of the ICBM/2N soil carbon and nitrogen dynamics model. More...

#include <soil.h>

Public Member Functions

 Soil (ResourceUnit *ru=0)
 
void setInitialState (const CNPool &young_labile_kg_ha, const CNPool &young_refractory_kg_ha, const CNPair &SOM_kg_ha, double young_labile_aboveground_frac, double young_refractory_aboveground_frac)
 set initial pool contents More...
 
void setSoilInput (const CNPool &labile_input_kg_ha, const CNPool &refractory_input_kg_ha, double labile_aboveground_C, double refractory_aboveground_C)
 provide values for input pools More...
 
void setClimateFactor (const double climate_factor_re)
 set the climate decomposition factor for the current year More...
 
void newYear ()
 reset of counters More...
 
void calculateYear ()
 main calculation function: calculates the update of state variables More...
 
void disturbance (double DWDfrac, double litterFrac, double soilFrac)
 remove part of the biomass (e.g. More...
 
void disturbanceBiomass (double DWD_kg_ha, double litter_kg_ha, double soil_kg_ha)
 remove biomass from the soil layer (e.g. More...
 
const CNPoolyoungLabile () const
 young labile matter (t/ha) More...
 
const CNPoolyoungRefractory () const
 young refractory matter (t/ha) More...
 
const CNPairoldOrganicMatter () const
 old matter (SOM) (t/ha) More...
 
double youngLabileAbovegroundFraction () const
 fraction (0..1) of aboveground biomass in litter layer (yL), source is foliage More...
 
double youngRefractoryAbovegroundFraction () const
 fraction (0..1) of aboveground biomass in woody litter layer (yR), source=branches, stems More...
 
double availableNitrogen () const
 return available Nitrogen (kg/ha*yr) More...
 
double totalCarbon () const
 total soil carbon t/ha (result is per ha, not the real area) More...
 
const CNPairfluxToAtmosphere () const
 total flux due to heterotrophic respiration kg/ha More...
 
const CNPairfluxToDisturbance () const
 total flux due to disturbance events (e.g. fire) kg/ha More...
 
QList< QVariant > debugList ()
 return a debug output More...
 

Friends

class Snapshot
 
class SoilInputOut
 

Detailed Description

implementation of the ICBM/2N soil carbon and nitrogen dynamics model.

The ICBM/2N model was developed by Kaetterer and Andren (2001) and used by others (e.g. Xenakis et al, 2008). See http://iland-model.org/soil+C+and+N+cycling for a model overview and the rationale of the model choice.

Constructor & Destructor Documentation

◆ Soil()

Soil::Soil ( ResourceUnit ru = 0)

Member Function Documentation

◆ availableNitrogen()

double Soil::availableNitrogen ( ) const
inline

return available Nitrogen (kg/ha*yr)

◆ calculateYear()

void Soil::calculateYear ( )

main calculation function: calculates the update of state variables

Main calculation function must be called after snag dyanmics (i.e.

to ensure input fluxes are available) See Appendix of Kaetterer et al 2001 for integrated equations

◆ debugList()

QList< QVariant > Soil::debugList ( )

return a debug output

◆ disturbance()

void Soil::disturbance ( double  DWDfrac,
double  litterFrac,
double  soilFrac 
)

remove part of the biomass (e.g.

: due to fire).

Parameters
DWDfracfraction of downed woody debris (yR) to remove (0: nothing, 1: remove 100% percent)
litterFracfraction of litter pools (yL) to remove (0: nothing, 1: remove 100% percent)
soilFracfraction of soil pool (SOM) to remove (0: nothing, 1: remove 100% percent)

◆ disturbanceBiomass()

void Soil::disturbanceBiomass ( double  DWD_kg_ha,
double  litter_kg_ha,
double  soil_kg_ha 
)

remove biomass from the soil layer (e.g.

: due to fire).

Parameters
DWD_kg_hadowned woody debris (yR) to remove kg/ha
litter_kg_habiomass in litter pools (yL) to remove kg/ha
soil_kg_habiomass in soil pool (SOM) to remove kg/ha

◆ fluxToAtmosphere()

const CNPair & Soil::fluxToAtmosphere ( ) const
inline

total flux due to heterotrophic respiration kg/ha

◆ fluxToDisturbance()

const CNPair & Soil::fluxToDisturbance ( ) const
inline

total flux due to disturbance events (e.g. fire) kg/ha

◆ newYear()

void Soil::newYear ( )

reset of counters

◆ oldOrganicMatter()

const CNPair & Soil::oldOrganicMatter ( ) const
inline

old matter (SOM) (t/ha)

◆ setClimateFactor()

void Soil::setClimateFactor ( const double  climate_factor_re)
inline

set the climate decomposition factor for the current year

◆ setInitialState()

void Soil::setInitialState ( const CNPool young_labile_kg_ha,
const CNPool young_refractory_kg_ha,
const CNPair SOM_kg_ha,
double  young_labile_aboveground_frac,
double  young_refractory_aboveground_frac 
)

set initial pool contents

setup initial content of the soil pool (call before model start)

◆ setSoilInput()

void Soil::setSoilInput ( const CNPool labile_input_kg_ha,
const CNPool refractory_input_kg_ha,
double  labile_aboveground_C,
double  refractory_aboveground_C 
)

provide values for input pools

set soil inputs of current year (litter and deadwood)

Parameters
labile_input_kg_haThe input to the labile pool (kg/ha); this comprises of leaves, fine roots
refractory_input_kg_haThe input to the refr. pool (kg/ha); branches, stems, coarse roots
labile_aboveground_CCarbon in the labile input from aboveground sources (kg/ha)
refr_aboveground_CCarbon in the woody input from aboveground sources (kg/ha)

◆ totalCarbon()

double Soil::totalCarbon ( ) const

total soil carbon t/ha (result is per ha, not the real area)

◆ youngLabile()

const CNPool & Soil::youngLabile ( ) const
inline

young labile matter (t/ha)

◆ youngLabileAbovegroundFraction()

double Soil::youngLabileAbovegroundFraction ( ) const
inline

fraction (0..1) of aboveground biomass in litter layer (yL), source is foliage

◆ youngRefractory()

const CNPool & Soil::youngRefractory ( ) const
inline

young refractory matter (t/ha)

◆ youngRefractoryAbovegroundFraction()

double Soil::youngRefractoryAbovegroundFraction ( ) const
inline

fraction (0..1) of aboveground biomass in woody litter layer (yR), source=branches, stems

Friends And Related Function Documentation

◆ Snapshot

friend class Snapshot
friend

◆ SoilInputOut

friend class SoilInputOut
friend

The documentation for this class was generated from the following files: