SWAT - soil.layer.nutrients.nitrogen¶
mef_agri.models.soil.layer.nutrients.nitrogen.model_swat.py
Nitrate and Ammonia¶
- class mef_agri.models.soil.layer.nutrients.nitrogen.model_swat.N_NO3_NH4_V2009(**kwargs)¶
Soil layer model for mineral nitrogen which contains the \(NO_3^-\) and the \(NH_4^+\)-pool. Nitrification is the only process considered herein - no losses such as nitrate leaching, denitrification or ammonia volatilization.
kwargs \(\rightarrow\)
mef_agri.models.base.Model
- NH4()¶
MQ - State
\(s_{\textrm{NH}_{4}^+,i,k}\ [\frac{kg}{ha}]\)
- Returns:
amount of ammonium in the soil layer
- Return type:
numpy.ndarray
- NH4_uptake()¶
MQ - Random Output
\(s_{\textrm{NH}_{4}^{+}-u,i,k}\ [\frac{kg}{ha}]\)
- Returns:
amount of ammonium removed from soil layer by the crop
- Return type:
numpy.ndarray
- NO3()¶
MQ - State
\(s_{\textrm{NO}_{3}^-,i,k}\ [\frac{kg}{ha}]\)
- Returns:
amount of nitrate in the soil layer
- Return type:
numpy.ndarray
- NO3_uptake()¶
MQ - Random Output
\(s_{\textrm{NO}_{3}^{-}-u,i,k}\ [\frac{kg}{ha}]\)
- Returns:
amount of nitrate removed from soil layer by the crop
- Return type:
numpy.ndarray
- fc()¶
RQ - from model with id
'zone.soil'
\(s_{\textrm{W-fc},0}\ [\ ]\)
- Returns:
soil moisture at field capacity
- Return type:
- initialize(epoch)¶
Only the super-call is done here.
- Parameters:
epoch (datetime.date) – initialization epoch
- lt()¶
RQ - from model with id
'.__parent__.__parent__'
(parent soil layer)\(s_{\textrm{lt},i,0}\ [mm]\)
- Returns:
layer thickness
- Return type:
- ltemp()¶
RQ - from model with id
'.__parent__.__parent__.temperature'
(temperature model of parent soil layer)\(s_{\textrm{T-t},i,k}\ [^\circ C]\)
- Returns:
soil layer temperature
- Return type:
- lwa()¶
RQ - from model with id
'.__parent__.__parent__.water'
(water model of parent soil layer)\(s_{\textrm{W-a},i,k}\ [mm]\)
- Returns:
water amount of soil layer
- Return type:
- nitrification()¶
MQ - Random Output
\(s_{\textrm{N-nit},i,k}\ [\frac{kg}{ha}]\)
- Returns:
amount of ammonium which is removed from the pool at current day (i.e. added to the NO3-pool)
- Return type:
numpy.ndarray
- update(epoch)¶
The following computations are performed
nitrification temperature factor - [R1] (equ. 3:1.3.1)
nitrification soil water factor - [R1] (equ. 3:1.3.2, 3:1.3.3)
nitrification factor - [R1] (equ. 3:1.3.6)
nitrification rate - [R1] (equ. 3:1.3.11 with setting volatilization factor to zero \(\Rightarrow\) equ. 3:1.3.11 is equal to equ. 3:1.3.8)
update N-pools
- Parameters:
epoch (datetime.date) – current evaluation epoch
- wp()¶
RQ - from model with id
'zone.soil'
\(s_{\textrm{W-wp},0}\ [\ ]\)
- Returns:
soil moisture at wilting point
- Return type:
Nitrate, Ammonia and organic N¶
- class mef_agri.models.soil.layer.nutrients.nitrogen.model_swat.N_NO3_NH4_Norg_V2009(**kwargs)¶
Contrary to
N_NO3_NH4_V2009
, this model additionally considers the organic N-pool and mineralization. Again no losses such as nitrate leaching, denitrification or ammonia volatilization.Inherits from
N_NO3_NH4_V2009
kwargs \(\rightarrow\)
mef_agri.models.base.Model
- N_org()¶
MQ - State
\(s_{\textrm{N-org},i,k}\ [\frac{kg}{ha}]\) - [R1] (section 3:5.1)
- Returns:
organic N-pool
- Return type:
numpy.ndarray
- N_org_add()¶
MQ - Random Output
\(s_{\textrm{N-}\Delta\textrm{o},i,k}\ [\frac{kg}{ha\cdot day}]\) - [R1] (equ. 3:5.1.2b)
- Returns:
input from decomposed crop residuals to the organic N-pool
- Return type:
numpy.ndarray
- chum_res()¶
RQ - from model with id
'.__parent__.carbon'
(carbon model from parent nutrient model)\(s_{\textrm{C-rdh},i,k}\ [\frac{kg}{ha\cdot day}]\)
- Returns:
amount of decomposed C from crop residuals which is added to the organic C-pool (humus)
- Return type:
- cnorg()¶
RQ - from model with id
'.__parent__'
(parent nutrient model)\(s_{\textrm{CN-o},i,k}\ [\ ]\)
- Returns:
C/N ratio of organic matter in the soil layer
- Return type:
- fmin()¶
RQ - from model with id
'.__parent__.carbon'
(carbon model from parent nutrient model)\(s_{\textrm{min},i,k}\ [\frac{1}{day}]\)
- Returns:
mineralization rate
- Return type:
- initialize(epoch)¶
N_org_add()
is initialized with a zero array.- Parameters:
epoch (datetime.date) – initialization epoch
- mineralized_N()¶
MQ - Random Output
\(s_{\textrm{N-mo},i,k}\ [\frac{kg}{ha\cdot day}]\)
- Returns:
mineralized N from organic N-pool
- Return type:
numpy.ndarray
- update(epoch)¶
Additionally to
N_NO3_NH4_V2009.update()
, the following computations are performedincrease of organic N-pool (proportional to humified C) - [R1] (equ. 3:5.1.2b)
mineralization of organic N which feeds the \(\textrm{NH}_4^+\)-pool - [R1] (equ. 3:5.1.2b)
- Parameters:
epoch (datetime.date) – current evaluation epoch