SWAT - soil.layer.nutrients

mef_agri.models.soil.layer.nutrients.model_swat.py

Nitrogen

class mef_agri.models.soil.layer.nutrients.model_swat.Nutrients_N_V2009(**kwargs)

Nutrient model which contains a nitrogen model with a \(NO_3^-\), a \(NH_4^+\) pool and nitrification process.

kwargs \(\rightarrow\) mef_agri.models.base.Model

initialize(epoch)

Initialization of the nitrogen model.

Parameters:

epoch (datetime.date) – intialization epoch

nitrogen()

Child Model

Returns:

nitrogen model which considers NO3, NH4 and nitrification

Return type:

N_NO3_NH4_V2009

update(epoch)

Update of the nitrogen model

Parameters:

epoch (datetime.date) – current evaluation epoch

Nitrogen and Carbon

class mef_agri.models.soil.layer.nutrients.model_swat.Nutrients_C_N_V2009(**kwargs)
CN_org()

MQ - Random Output

\(s_{\textrm{CN-o},i,k}\ [\ ]\) - [R1] (equ. 3:5.1.5)

Returns:

C/N ratio of organic matter in the soil layer

Return type:

numpy.ndarray

CN_res()

MQ - State

\(s_{\textrm{CN-r},i,k}\ [\ ]\)

Returns:

C/N ratio of crop residues in the soil layer

Return type:

numpy.ndarray

bd()

RQ - from model with id 'zone.soil'

\(s_{\textrm{bd},0}\ [\frac{g}{cm^3}]\)

Returns:

bulk density of the soil

Return type:

Requirement

carbon()

Child Model

Returns:

carbon model containing C-pools for humus and crop residuals

Return type:

C_Corg_Cres_V2009

fc()

RQ - from model with id 'zone.soil'

\(s_{\textrm{W-fc},0}\ [\ ]\)

Returns:

soil moisture at field capacity

Return type:

Requirement

initialize(epoch)

Initialization of nitrogen and carbon model.

Parameters:

epoch (datetime.date) – initialization epoch

lt()

RQ - from model with id '.__parent__' (parent soil layer)

\(s_{\textrm{lt},i,0}\ [mm]\)

Returns:

layer thickness

Return type:

Requirement

ltemp()

RQ - from model with id '.__parent__.temperature' (temperature model of parent soil layer)

\(s_{\textrm{T-t},i,k}\ [^\circ C]\)

Returns:

soil layer temperature

Return type:

Requirement

lwa()

RQ - from model with id '.__parent__.water' (water model of parent soil layer)

\(s_{\textrm{W-a},i,k}\ [mm]\)

Returns:

water amount of soil layer

Return type:

Requirement

nh4()

RQ - from model with id '.nitrogen' (child nitrogen model)

\(s_{\textrm{NH}_{4}^{+},i,k}\ [\frac{kg}{ha}]\)

Returns:

amount of ammonium in the soil layer

Return type:

Requirement

nitrogen()

Child Model

Returns:

nitrogen model which considers NO3, NH4 and nitrification as well as organic N-pool, mineralization and residue decomposition

Return type:

N_NO3_NH4_Norg_V2009

no3()

RQ - from model with id '.nitrogen' (child nitrogen model)

\(s_{\textrm{NO}_{3}^{-},i,k}\ [\frac{kg}{ha}]\)

Returns:

amount of nitrate in the soil layer

Return type:

Requirement

nutrient_cycling_factor()

MQ - Random Output

\(s_{\textrm{ncf},i,k}\ [\ ]\) - [R1] (equ. 3:1.2.1, 3:1.2.2)

Returns:

factor combining soil temperatur and water influence on nutrient cycle

Return type:

numpy.ndarray

update(epoch)

The carbon and nitrogen models are updated and the following computations are performed

  • nutrient cycling temp. factor - [R1] (equ. 3:1.2.1)

  • nutrient cycling water factor - [R1] (equ. 3:1.2.2)

  • combined effect ncf = np.sqrt(ncf_t * ncf_w)

  • CN-ratio of organic matter - [R1] (equ. 3:5.1.5)

Parameters:

epoch (datetime.date) – current evaluation epoch