User Tools

Site Tools


Nitrogen and phosphorus in land routines

HYPE simulate nitrogen and phosphorus in soil both as immobile soil pools and as fractions dissolved in soil water. The pools are changed by outside sources and internal soil processes. The following fractions are simulated:

  • fastN - immobile pool of organic nitrogen in the soil with rapid turnover (kg/km2 = mg/m2)
  • fastP - immobile pool of organic phosphorus in the soil with rapid turnover (kg/km2 = mg/m2)
  • humusN - immobile pool of organic nitrogen in the soil with slow turnover (kg/km2 = mg/m2)
  • humusP - immobile pool of organic phosphorus in the soil with slow turnover (kg/km2 = mg/m2)
  • IN - concentration of inorganic nitrogen in soil water (mg/L)
  • ON - the concentration of (dissolved) organic nitrogen in soil water (mg/L)
  • partP - immobile pool of inorganic phosphorus adsorded to soil particles (kg/km2 = mg/m2)
  • PP - concentration of particulate phosphorus (of organic origin) in soil water (mg/L)
  • SP - concentration of soluble (reactive) phosphorus in the soil water (mg/L)

The figure below give an overview of the nitrogen and phosphorus in soil in HYPE. The internal processes are shown with broad arrows and described in the section Nutrient soil processes below. Sources and sinks are shown with arrows and text, and are further described in sections Nutrient sources and Vegetation and soil surface processes

Figure 1: Sources and sinks of nitrogen and phosphorus in the soil. The humusN and humusP pools are called slowN and slowP in this figure.

Nutrient Sources


Fertilization can be specified to be applied up to two times per year for each of the two fertilization forms, (commercial) fertilizer (fert) and manure (man). For each fertilization event the application date is specified, the amount of N and P (fert(inut,ife), man(inut,ife), where inut=N,P and ife=1,2 the fertilization event) to be added, and a management indicator (fdown(ife), mdown(ife)). The last information indicates how much of the fertiliser is to be added to the second soil layer (the rest is added to the first soil layer). These parameters are given in CropData.txt and are crop and region dependent. For manure 50% of the nutrients are assumed to be in organic form (inorgpart = 0.5).

Fertilizer and the inorganic part of the manure are added to the IN and SP pools of the soil water. The total amount is spread out over a specified period (given by the general parameter fertdays) after the date of fertilization. An equal amount is applied each day for the specified period. The organic part of the manure is added to the fastN and fastP pools.

Each class can have two crops (icrop=1,2), the main crop and the secondary crop. The secondary crop do not have to cover (a) the whole class, e.g. if only 50% of the spring wheat (main crop) area have catch crop (second crop) (a(1)=1, a(2)=0.5). The total amount of added nutrients (common_{add}) is calculated as the sum of fertiliser additions from the main and secondary crops.

Inorganic nutrients to be added to IN and SP pools:

common_{add}(inut,layer=1)= sum {icrop=1} {2} {sum {ife=1} {2} {a(icrop) * ({fert(inut,ife,icrop) * (1 - fdown(ife,icrop))} / fertdays + {man(inut,if,icrop) * (1 - mdown(ife,icrop))*inorgpart} / fertdays)}}

common_{add}(inut,layer=2)= sum {icrop=1} {2} {sum {ife=1} {2} {a(icrop) * ({fert(inut,ife,icrop) * fdown(ife,icrop)} / fertdays + {man(inut,ife,icrop) * mdown(ife,icrop)*inorgpart} / fertdays)}}

Organic nutrients to be added to fastN and fastP pools:

common_{add}(inut,layer=1)= sum {icrop=1} {2} {sum {ife=1} {2} {a(icrop) * {{man(inut,ife,icrop) * (1 - mdown(ife,icrop))*(1-inorgpart)} / fertdays}}}

common_{add}(inut,layer=2)= sum {icrop=1} {2} {sum {ife=1} {2} {a(icrop) * {{man(inut,ife,icrop) * mdown(ife,icrop)*(1-inorgpart)} / fertdays}}}

Note that the terms for application of fertilizer and manure only are added during the active time, which is from the application date and for fertdays number of days thereafter.

Plant residues

Plant residues are added at a specified date each year. They are added to the immobile soil pools (fastN, fastP, humusN, and humusP) to get a delay of the leakage and an accumulation of humus in the soil. The amount of crop residues (resamount(inut), inut=N,P) and the date they are added on depends on crop and region and is given in the CropData.txt file. Part of the plant residues are added to the fast pool (resfast), and part to the humus pool. The plant residues are added to the upper two soil layers with a distribution (resdown) also specified in CropData. For each class the plant residues are weighted (common_{res}) for main and secondary crop together every day with the help of share for each crop (a(icrop), where icrop=1,2).

common_{res}(fast-inut,layer=1)= sum {icrop=1} {2} {a(icrop) * resfast(icrop) * resamount(inut,icrop) * (1 - resdown(icrop))} common_{res}(fast-inut,layer=2)= sum {icrop=1} {2} {a(icrop) * resfast(icrop) * resamount(inut,icrop) * resdown(icrop)} common_{res}(humus-inut,layer=1)= sum {icrop=1} {2} {a(icrop) * (1-resfast(icrop)) * resamount(inut,icrop) * (1 - resdown(icrop))} common_{res}(humus-inut,layer=2)= sum {icrop=1} {2} {a(icrop) * (1-resfast(icrop)) * resamount(inut,icrop) * resdown(icrop)}

All crop residues are transferred into the soil at a given date as determined by the user in CropData.txt. Note that the terms for application of residues only are added that day.

Rural household diffuse source

Information on rural household diffuse source (private sewers) is given per subbasin. The source is defined by flow and concentrations of total nitrogen and phosphorus and fraction of IN and SP. The diffuse source may be divided into two parts with separate application point. One part is added directly to the local river, while the other part is added to the soil. The division between the two parts is determined by a general parameter (locsoil) or separately for each subbasin (loc_soil in GeoData.txt). The default is to add all diffuse source to the local river. The soil part is added to soil water (for IN, ON, and SP) or solid pool (PP to fastP) in the bottom soil layers of all land classes in the subbasin with a distribution proportional to the classes’ area. Additional substance concentration can be used for the diffuse source.

An alternative method (model option) for adding a local diffuse source may be used. In this case the source is defined as a load to be added to the third layer of the soil of the land classes that have three soillayers (not including wetlands). Classes simulated with the traveltime soil model are also excluded. The load is dissolved in the soil water of the third layer of the remaining classes. In addition concentration and flow may be given, and is then added to the local river (locsoil parameter is not used).

Section Symbol Parameter/Data File
Fertilizerfertfn1, fp1, fn2, fp2CropData.txt
manmn1, mp1, mn2, mp2
fdownmdown1, fdown2
mdownmdown1, mdown2
reg, cropid, fday1, fday2, mday1, mday2
cropid, cropid2GeoClass.txt
src_nn, slc_nnGeoData.txt
Plant residuesresamountresn, respCropData.txt
resday, resfast, resdown
Rural household diffuse source modeloption diffusesourceinfo.txt
loc_tp, loc_tn, loc_ts, loc_t1, loc_t2, loc_vol, loc_sp, loc_in, loc_ss, loc_si, loc_ds, loc_oc, loc_soilGeoData.txt
locltp, locltn, loclts, loclt1, loclt2, loclsi, locloc, loclsp, loclin, loclss, loclds
Modules (file) Procedures Sections
npc_soil_processes (npc_soil_proc.f90)crop_sourcesfertilizer
plant residues
local_diffuse_sourcerural household diffuse source
npc_surfacewater_processes (npc_sw_proc.f90)add_diffuse_source_to_local_riverrural household diffuse source

Vegetation and soil surface processes

The CropData.txt file contains information on the various crops that are simulated. Each soil type-land use class (SLC-class) can have a main crop and a secondary crop. To reduce the number of SLC-classes in a simulation the individual crops with similar properties are brought together in a grouped crop (e.g. row crops). In CropData.txt there is information such as the amount of fertilizer, manure and crop residues introduced into the soil for different crops in different regions. The file also provides coefficients for nutrient uptake capabilities.

Potential vegetation uptake of nitrogen

The potential uptake is used to calculate the absorption of IN and SP from the soil water (see section Vegetation nutrient uptake). The actual uptake will be limited by the nutrients available. Potential uptake of nitrogen by plants is based on a three-parameter equation (logistic growth) from SOILN (Eckersten et al., 1994). Nitrogen uptake (uptake) is calculated for the main and secondary crop and added to the common potential absorption function (common_uptake, mg/m2/d) using the percentage of the area of the main crop (part = 1.0) and secondary crop (part<1). The potential uptake is divided between the upper soillayer and second soillayer by a crop dependent input variable for the fraction of the upper soil layer. If the crop is growing in a class of only one soil layer, only the upper soil layer fraction of the potential uptake will be used in the calculations. The growing period with simulated nutrient uptake is determined by the sowing date (bd2) and continues until harvest (bd3). Potential uptake depends on three parameters (up1, up2 and up3) and the number of days after sowing date. The uptake for a specific crop is calculated with the parameter values for that crop as

help = (up1-up2)*e^{-up3*(dayno-bd2)}

uptake = up1*up2*up3*help/((up2+help)*(up2+help))

for the growing period. Outside the growing period the uptake is assumed to be zero.

Figure 2 Uptake function over a year with growing period bd2=100 to bd3=230. Effect of changing parameters up1-up3.

Autumn-sown crops may take up IN and SP for a while after sowing in autumn. The same potential uptake of nitrogen as the main growing season are used, but uptake is limited by a temperature function. This uptake will run from the autumn sowing date (bd5) to the mid winter (31 December or 30 June depending on the autumn sawing date).

help = (up1-up2)*e^{-up3*(dayno-(bd5+25))}

uptake = tmpfcn * up1*up2*up3*help/(up2+help)/(up2+help)

where the temperature function (tmpfcn) is calculated as

tmpfcn = delim{lbrace}
 {matrix{2}{2}{{MIN[1,(T-5)/20]} {T>5} 0 {T<5}}}

with T the air temperature. The growing period will then continue next season from bd2 as described above.

The start of the growing season/sowing date (bd2) may be given as a constant, or calculated dynamically depending on temperature. This is set by a model option. If the growth start is dynamically determined it is set to the first day of the year which has a degreeday sum (GDD) above a threshold (gddsow). The degreeday sum (GDD) is calculated as


where d is day of year, T is air temperature (degree Celcius), basetemp is a temperature threshold. The GDD is accumulated for each day after firstday with day length larger than daylength. The GDD is zeroed at firstday.

Soil erosion

The erosion of soil particles is calculated by HYPE for transport of particulate phosphorus (PP) or for the simulation of sediment material (SS). For transport of PP an erosion model depending on mobilization of particles by rain and by surface runoff is often used. This formulation is the default model for sediment transport, but another erosion model based on catchment erosion index can also be used.

In the first model PP can leave the land by two means, by surface runoff transport and by macropore flow through drainage pipes. The calculation of PP transport is done in three steps: first the erosion (mobilization) of soil particles from the land surface is calculated, secondly how much of the mobilized particles that are leaving the field is calculated, finally the amount of soil particles is converted to phosphorus.

Step 1: Mobilization of particles from soil

Mobilization (MobilisedRain and MobilisedSR) occurs due to energy from falling raindrops (Rainfall_{energy}) and/or from surface runoff. The kinetic energy in rainfall is calculated as a function of rainfall and day of the year (dayno). If the precipitation falls as snow, or if it falls on snow-covered ground or if it is smaller than 5 mm/day no mobilization occurs in the model. Some of the rain drop's energy can be absorbed by vegetation. Cropcover is defined as the portion of land that is sheltered from raindrops; for a description of how this is calculated, see next chapter. The factor common_{cropcover} is the total fraction of cover that the main and secondary crop give together. It varies over the year due to crop growth and management. The mobilization is also influenced by soil erodibility (soil dependent parameter soilerod (g/J)).

Rainfall_{energy} = prec * ( 8.95+8.44*LOG10 (prec*2* ( 0.257+ 0.09*sin ( 2 pi* ( dayno-70 ) {/}365 ))))

MobilisedRain = Rainfall_{energy}* (1. - common_{cropcover}) * soilerod

When surface runoff occurs, soil particles are eroded and carried away as the soil surface is exposed to shear forces. The mobilization is calculated from the surface runoff (sflow), land slope, a parameter for soil cohesion (soilcoh (kPa) soil type dependent), and a general parameter (sreroexp). This type of erosion can be mitigated by protective vegetation or vegetation residues that are in contact with the ground. The calculation of this factor (groundcover) is described in next chapter. The variable common_{groundcover} is the total fraction of cover that the main and secondary crop give.

MobilisedSR = {{(sflow*365)^{sreroexp}} * (1-common_{groundcover}) * {1/{0.5*soilcoh}} * sin(slope/100)} / 365

All mobilised particles is not removed from the field, because sometimes the transport capacity of the particle-bearing water (eflow) will not suffice for the task. A transportfactor will reduce the particle amount:

transportfactor = MIN(1.0,(eflow {/} 4)^{1.3})

Mobilised sediment (kg/km2) is calculated as:

mobilSed = 1000 * (MobilisedRain + MobilisedSR) * transportfactor

The alternative erosion model calculates mobilised sediment (mobilSed (kg/km2)) based on rainfall (rain) and a number of model parameters and subbasin input data.

mobilSed = 1000. * ({slope / 5})^{erodslope} * erodluse * erodsoil * {EI/erodindex} * rain^{erodexp}

The parameters erodslope, erodexp and erodindex are general. The parameters erodluse and erodsoil are land-use and soil type dependent. Subbasin input is needed on slope, the subbasins average slope, and an erosion index, EI. In addition an adjustment can be made with a monthly model parameter erodmon to help match seasonality of erosion.

modilSed = mobilSed * erodmon(month)

where month is the current month.

A selective process is affecting the soil erosion of phosphorus. Smaller and lighter particles are eroded easier than larger ones. The tiny particles contain more P per unit weight than the average particle of the soil. Therefore an enrichment factor (enrichment) is used. The enrichment factor is calculated from three parameters (ppenrmax, ppenrstab, ppenrflow), one of which is soil type dependent (ppenrmax), and the particle bearing flow. Typical values of the parameters, here called max, stab and flowstab, are given in the example in Figure 3.

Figure 3 The enrichment factor for particulate phosphorus during soil erosion.

Eventually the mobilised PP (kg/km2) is calculated as:

mobilP = 0.000001 * mobilSed * {{PartP + HumusP}/ {thickness * bulkdensity}} * enrichment

The calculated mobilised phosphorus (mobilP) is now available to add to the particulate phosphorus (PP) of surface runoff.

Step 2: Transport of eroded phosphorus off the field

A portion of PP in surface runoff (sflow) is filtered out (for example by buffer zones). Filtering (srfilt) is determined by land use dependent parameters (bufferfilt, innerfilt, otherfilt), percentage of agricultural land close to a watercourse (alfa), and proportion of agricultural land near the rivers which have a protective buffer zone (bufferpart).

srfilt = otherfilt + alfa * (1. + bufferpart * (bufferfilt - 1.)) + innerfilt * (1. - alfa)

Similarly, part of the PP which is transported by macropore flow (mflow) is filtered away between the soil surface and drainage pipes. The parameter that determines this effect (macrofilt) is soil dependent. The PP transported (erodedP) by surface runoff and macropore flow is collected in a temporary storage pool (relpool (kg/km2)) together with PP in tile runoff (tilep).

erodedP = (srfilt*sflow+macrofilt*mflow)*mobilP/eflow


relpool = relpool + erodedP + tilep

Step 3: Particles reaching the local stream

From the temporary pool phosphorus is released (release (kg/km2)) and then transported to the local river depending on the size of the total runoff (runoff (mm)). The parameters pprelmax and pprelexp are general.

release = MIN(relpool, relpool *(runoff {/} pprelmax)^{pprelexp})

The sediment may be removed from the temporary pool between the land surface and the local stream if no erosion occurs. A 1st order decay, with general parameter eroddecay, is used so that sediment doesn’t remain detached forever.

Crop cover and ground cover

Erosion can be mitigated by protective vegetation or vegetation residues that are in contact with the ground. Crop cover and ground cover reduce erosion by rain and surface runoff for particulate phosphorus (PP) and the default sediment transport model (SS). Each crop covers a fraction of the ground, thus for simultanous crops (1st and 2nd crop) their respective crop/ground cover is combined to a common crop/ground cover.

Harvested crops have seasonally varying ground and crop cover, while permanent vegetation (e.g. forest) has constant values for these parameters. The input data needed for calculations (ccmax1, ccmax2, gcmax1, gcmax2) are given in CropData.txt. Parameters ccmax1 and gcmax1 describe the maximum crop and ground cover during spring-summer growing season, parameters ccmax2 and gcmax2 are corresponding maxima for winter crop's growth. These maximum ratios are reached at maxday1 and maxday2, which are defined as halfway between planting and harvest, and halfway between autumn planting and midwinter (1 January or 30 June depending on autumn planting date), respectively. From sowing the coverage fractions increase linearly up to their maximum values. After these dates maximum coverage is maintained to the next ploughing, harvest, or until the growing season starts again in the spring (for winter crops) (Figure 4). During the period between harvesting and ploughing, crop cover is equal to ground cover (gcmax1). At ploughing, ground and crop cover are reduced to zero. Parameters bd1 and bd4 describe the dates of spring and autumn ploughing. In the case of spring sowing, when no winter crop is crowing, either one of the ploughing parameters can be set for ploughing date.

Figure 4: Crop cover and ground cover development for four different crop configurations.

Transformation of nitrogen from atmospheric deposition

The parameter ponatm indicates that some of the nitrogen deposition will be organic instead of only inorganic. For wet deposition and deposition on snow, this is adjusted when there is infiltration of rain and melted snow into the soil. A portion (ponatm) of IN in the infiltration are added to fastN in the top layer instead of following the water to the soil water.

Section Symbol Parameter/Data File
Potential vegetation uptake of nitrogenpartscr_nnGeoData.txt
upupper, pnupr, bd2, bd3, bd5, up1, up2, up3 gddsow, basetemp, firstday, daylengthCropData.txt
Tcalculated fromTobs.txt
Soil erosion soilerod, soilcoh, seroexp, erodslope, erodluse, erodsoil, erodindex, erodexp, erodmon, bufferfilt, innerfilt, otherfilt, macrofilt, pprelmax, pprelexp, eroddecaypar.txt
Crop cover and ground cover ccmax1, ccmax2, gcmax1, gcmax2, bd1, bd4CropData.txt
maxday1, maxday2 calculated from bd2, bd3, bd5
Transformation of nitrogen from atmospheric deposition ponatmpar.txt
Modules (file) Procedures Sections
npc_soil_processes (npc_soil_proc.f90)calculate_plant potential vegetation uptake of nutrients
particle_processes_for_runofferosion calculations
calculate_erosionerosion calculations
crop cover and ground cover
atmdep_in_losstransformation of nitrogen from atmospheric deposition

Nutrient soil processes

Soil pools – initial values

The initial pools of immobile soil nutrients are dependent on land use and is determined by the user and very important because they are changing slowly. The initial pools of the soil layers are calculated from a parameters. The parameters (humusn0, humusp0, partp0, fastn0, fastp0) are representative for the uppermost soil layer; the unit for these parameters is mg/m3. The initial fastN, humusN, fastP, humusP and partP-pools decreases with depth, with half depth determined by land use dependent parameters (hnhalf, hphalf and pphalf).

The equation for a depth dependent soil nutrient is:


where d is depth below zero-level, nut0 is nutrient at zero-level (i.e. model parameter for uppermost soil layer) and par is calculated from respective nutrient half depth model parameter (NNhalf) as:

par={log 2}/NNhalf

As the model parameters that represent zero-level nutrient (nut0) is defined for the uppermost soil layer, the zero-level is the middle of uppermost soillayer. The following depths (d) represent the soillayers (1-3):




The nutrient is transformed into model soil nutrient pools (unit kg/km2) by taking into account the thickness of the soil layers.

pool(k)=nut(d(k))*soilthick(k), ~~ k=1..3

The nutrients dissolved in soil water is initialized independent of depth. The initial IN, ON, SP and PP concentration are determined by land use dependent parameters (inconc0, onconc0, spconc0 and ppconc0, mg/L) – valid for all three soil layers.

Common functions

Many soil processes depend on temperature and soil moisture. The following equations are used in these cases. The temperature function (figure 5) depends on the estimated soil layer temperature (soiltemp). The soil temperature requires some parameters to be simulated, see Section Soil temperature and snow depth.

tmpfcn = 2**((soiltemp - 20.0) / 10.0)
IF(temp < 5.0) tmpfcn = tmpfcn * (soiltemp / 5.0)
IF(temp < 0.0) tmpfcn = 0.0

The humidity function (figure 6) depends on soil moisture (soil) in the soil layer and the parameters of wilting limit (wp), field capacity (fc) and effective porosity (ep) transformed to unit mm. All these humidities are specified as percentages. The function includes coefficients thetaupp = 0.12, thetalow = 0.08, thetapow = 1.0 and satact = 0.6. Note that another function is used in the calculation of denitrification. For soil layers k = 1..3 the equation is:

IF(soil >= wp + fc + ep) THEN
  smfcn = satact
  smfcn = min(1.,(1-satact)*((wp+fc+ep-soil) /(thetaupp*soilthick)) **thetapow + satact,((soil-wp)/(thetalow*soilthick) **thetapow)
IF(soil < wp) THEN

The humidity function (figure 6) is always less than or equal to one while the temperature function may be greater than one when the temperature exceeds 20 degrees.

Figure 5: Common temperature function for soil processes
Figure 6: Common humidity function for soil processes

Vegetation nutrient uptake

Vegetation nutrient uptake is a sink of the IN and SP concentrations in the two upper soil layers. The uptake (uptake / uptakeP, mg/m2/d) depends on the potential uptake of nitrogen (common_{uptake}), calculated for the combination of main crop and any secondary crop of the specified class. Vegetation nutrient uptake also depends on uptsoil1 which gives the distribution of uptake between the two layers for a crop, the pool of IN (INpool) and SP (SPpool) and for phosphorus by P / N ratio (pnratio). The pool of dissolved nutrients are calculated as the concentration multiplied by the water in the soil layer (in mm). The main and secondary crop of a class is specified in GeoClass.txt.

uptakeN(1) = MIN(uptsoil1 * common_{uptake}, a*INpool(1))
uptakeN(2) = MIN((1-uptsoil1) * common_{uptake}, a* INpool(2))
uptakeP(1) = MIN(pnratio * uptsoil1 * common_{uptake}, a* SPpool(1))
uptakeP(2) = MIN(pnratio * (1-uptsoil1) * common_{uptake}, a*SPpool(2))
a = (soil - wp) / soil

The plants can take up a maximum factor a of the pool. This factor is calculated as a percentage of soil water over the wilting point. The equations for the potential uptake of nitrogen (common_{uptake}) are described under that section above. The constants uptsoil1 (percentage of plant nutrients absorbed top layer) and pnratio (ratio of N and P uptake) are given for each crop.


Denitrification is a sink for IN in all three soil layers. Denitrification (denitr, mg/m2/d) depends on the denitrification rate and the pool of IN (INpool) in each soil layer (k = 1.3). The denitrification rate depends on a rate coefficient (drate), soil temperature, IN concentration and soil moisture.

denitr(k) = drate * INpool(k) * tmpfcn(k) * smfcn(k) * concfcn(k)

The coefficient drate is determined by land use dependent model parameters denitrlu and denitrlu3. The temperature dependence (tmpfcn) is described above. The soil moisture function (figure 7) is exponential and thus different from the general soil moisture function.

smfcn= delim{lbrace}
   0 {soil<pw*lim }
   ({{{soil}/{pw}-{dlim}}/{(1-dlim)}})^{exp} else

where pw=wp+fc+ep

The function depends on soil moisture (soil) and pore volume (pw). Is also depends on two constants; the limit where moisture is high enough to allow denitrification to occur (dlim= 0.7) and the exponent (exp= 2.5). These cannot currently be changed. The dependence of the denitrification rate on the IN concentration is described by a function with a half-saturation concentration (general parameter hsatINs was in earlier HYPE versions a constant equal to 1 mg/L) (Figure 8).

concfcn = conc / {conc + hsatINs}

Adds an ImageCaption tag
Figure 7: Soil moisture function in the denitrification process.
Figure 8: Concentration function in the denitrification process.

Immobile soil nutrient pool transformations

Turnover of fastN

Turnover of fastN is a sink for fastN and a source of IN in all three soil layers (k = 1..3). Turnover (transfN, mg/m2/d) depends on a general parameter (minerfn), temperature function (tmpfcn), humidity function (smfcn) and the pool of fastN (fastN).

transfN(k) = minerfn * tmpfcn(k) * smfcn(k) * fastN(k)

Turnover of fastP

Turnover of fastP is a sink for fastP and a source of SP in all three soil layers (k = 1..3). Turnover (transfP, mg/m2/d) depends on a general parameter (minerfp), temperature function (tmpfcn), humidity function (smfcn) and the pool of fastP (fastP).

transfP(k) = minerfp * tmpfcn(k) * smfcn(k) * fastP(k)

Turnover of humusN

Turnover of humusN is a sink for humusN and a source of fastN in all three soil layers (k = 1..3). It is supposed to be a very slow process. Turnover (degradhN, mg/m2/d) depends on a general parameter (degradhn), temperature function (tmpfcn), humidity function (smfcn) and the pool of humusN (humusN).

degradhN(k) = degradhn * tmpfcn(k) * smfcn(k) * humusN(k)

Turnover of humusP

Turnover of humusP is a sink for humusP and a source of fastP all three soil layers (k = 1..3). It is supposed to be a very slow process. Turnover (degradhP, mg/m2/d) depends on a general parameter (degradhp), temperature function (tmpfcn), humidity function (smfcn) and the pool of humusP (humusP).

degradhP(k) = degradhp * tmpfcn(k) * smfcn(k) * humusP(k)

Dissolution of soil organic pools

All organic soil pools of nutrient (humusN, fastN, humusP and fastP) contribute to dissolved organic nutrients in soil water (i.e. ON and PP). This process is a sink of the soil pools and a source of ON and PP in all three soil layers (k = 1..3). Dissolution (mg/m2/d) depends on a model parameter (one for each soil pool, dispar), temperature function (tmpfcn), humidity function (smfcn) and the size of the soil pool (soilpool).

dissolution(k) = dispar * tmpfcn(k) * smfcn(k) * soilpool(k)

The dissolution model parameters (dispar) is land use dependent and named dissolfp, dissolfn, dissolhp, and dissolhn for dissolution of nutrient pools fastN, fastP, humusN and humusP respectively.


ON and PP concentration are reduced as the water percolates down through the soil layers. The decrease in concentration depends on land use dependent model parameters (par).

conc = conc*(1. - par)

Balance SP – PartP

SP is in a dynamic equilibrium with P adsorbed to soil particles (partP). The equilibrium is described by the Freundlich equation. From the total amount of P (SP + partP) in the soil an equilibrium concentration of SP is calculated in the soil solution using the iterative Newton-Raphson method.

coeff = Kfr * bulkdensity * soilthick
  fxn = xn * vol + coeff * (xn ** Nfr) - totalP
  fprimxn = vol + Nfr * coeff * ( xn **(Nfr-1))
  xn_1 = xn - fxn / fprimxn
  xn = xn_1

The coefficients Kfr, and Nfr are soil dependent, bulkdensity is the dry density of soil (= 1300 kg/m3) and soilthick is the soil layer thickness. fxn is function value for the concentration xn, fprimx is the function value of the derivative of fxn, and xn_1 is the concentration of the next iteration. The resulting SP equilibrium concentration (xn=xn_1) is used to calculate the PP eqiuilibrium concentration (PPequi_{conc}). A new SP concentration (SP_conc) is calculated from the previous concentration (SP_conc_old) and the equilibrium concentration, taking into account the balance is not reached during the time step.

PPequi_{conc} = Kfr * ({xn_1}^{Nfr})

Adsdes = (PPequi_{conc} - concsolid)*(1-e^{-Kadsdes})

SP_conc = SP_conc_old - {(Adsdes * bulkdensity * soilthick)/ vol}

Adsdes is the amount of adsorbed/desorbed P, Kadsdes is a soil dependent rate constant, equi_concsolid is the solid phase equilibrium concentration, and concsolid is the initial concentration the solid phase.

Crop rotation effect on soil pools

The soil pools of nutrients are shared by crops on rotation on a field. This is modelled by averaging the soil pools once per year for the classes which are in the same crop rotation group.

Section Symbol Parameter/Data File
Soil pools - initial valuesnut0humusn0, humusp0, partp0, fastn0, fastp0par.txt
NNhalfhnhalf,hphalf, pphalf
onconc0, ppconc0
soilthickcalculated from soillayerdepthGeoClass.txt
Common functionswp, fc, epcalculated from wcwp, wcwp1-3, wcfc, wcfc1-3, wcep, wcep1-3par.txt
Vegetation nutrient uptake cropid, cropid2GeoClass.txt
Denitrification denitrlu, denitrlu3, hsatINspar.txt
Immobile soil nutrient pool transformations minerfn, minerfp, degradhn, degradhppar.txt
Dissolution of soil organic poolsdispardissolfp, dissolfn, dissolhp, dissolhnpar.txt
Percolationparonpercred, pppercredpar.txt
Balance SP - PartPKfrfreucpar.txt
Crop rotation effect on soil pools crop rotationGeoClass.txt
Modules (file) Procedures Sections
npc_soil_processes (npc_soil_proc.f90)soil_substance_processes
initiate_soil_npc_state soil pools - intial values
plant_uptakevegetation nutrient uptake
soil_denitrification denitrification
soil_pool_transformationsimmobile soil pool transformation
balance_spsoilbalance SP-partP
croprotation_soilpoolaveragecrop rotation
general_functions (general_func.f90)tempfactor common functions

Transport with soil water

IN, ON, SP and PP comes with water when it flows through the soil, but remain when water evaporates. Different flow paths contribute to the runoff of water and concentration of IN, ON, SP and PP from the corresponding soil layer. The flow paths possible today are: surface runoff (soil layer 1), runoff (soil layer 1, 2 and 3) and runoff through drainage pipe (soil layer 1, 2 or 3).

Diagnostic output variables of soil nutrients

Some additional output variables are calculated from the soil variables. Gross and net soil load is calculated for the “root zone”, e.g. soil layer one and two together, and for soil layer three separate. A third option for soil load is calculated not strictly based on the soil layers but as an approximation for “groundwater” based on third soil layer but manipulated with tile drainage.

Gross soil loads

Gross load to soil layer one and two (root zone). Components included: atmospheric deposition (wet and dry), fertilizers, crop residues, rural load if number of soil layers is less than three. Note that load from irrigation is not included. HYPE variable IDs: sl01=IN, sl03=ON, sl05=sl01+sl03=TN, sl07=SP, sl09=PP, sl11=sl07+sl09=TP

Gross load to soil layer three (lower soil). Components included: percolation from soil layer two to three, rural load if number of soil layers is three. HYPE variable IDs: sl13=IN, sl15=ON, sl17=sl13+sl15=TN, sl19=SP, sl21=PP, sl23=sl19+sl21=TP

Gross load to “groundwater” (modified soil layer three). Components included: percolation from soil layer two to three, rural load if number of soil layers is three, tile drain runoff if tile is in soil layer one or two. HYPE variable IDs: sl25=IN, sl27=ON, sl29=sl25+sl27=TN, sl31=SP, sl33=PP, sl35=sl31+sl33=TP

Net soil loads

Net load from soil layer one and two (root zone). Components included: percolation from soil layer two to three, runoff from soil layer one and two, tile drain runoff if tile is in soil layer one or two, surface runoff. HYPE variable IDs: sl02=IN, sl04=ON, sl06=sl02+sl04=TN, sl08=SP, sl10=PP, sl12=sl08+sl10=TP

Net load from soil layer three (lower soil). Components included: runoff from soil layer three, tile drain runoff if tile is in soil layer three. HYPE variable IDs: sl14=IN, sl16=ON, sl18=sl14+sl16=TN, sl20=SP, sl22=PP, sl24=sl20+sl22=TP

Net load from “groundwater” (modified soil layer three). Components included: runoff from soil layer three, tile drain runoff if tile is in any soil layer. HYPE variable IDs: sl26=IN, sl28=ON, sl30=sl26+sl28=TN, sl32=SP, sl34=PP, sl36=sl32+sl34=TP

soil layer one and two
soil layer threemodified soil layer three
Figure 9: Components of calculated gross (brown) and net (green) loads of soil.
Modules (file) Procedures
modelmodule (model_hype.f90)model

Nutrient soil leakage from outer source

There is a model option in HYPE to not calculate nutrients as described above and instead use nutrient soil leakage from an outer source. In this case the calculations described above is skipped, while soil water and runoff processes is calculated as usual. Instead two other soil nutrient models can be used. HYPE output variables related to soil nutrients are set to missing values.

The implemented soil leakage models are:

  • 1. monthly typical concentrations for each subbasin
  • 2. typical monthly load of excess nutrients for each class
  • 3. monthly load of excess nutrients for each class
  • 4. constant load and/or leakage for each class
  • 5. monthly load and/or leakage for each class

The default is to use HYPE calculated runoff concentrations with the processes described in the sections above (modeloption soilleakage 0).

The other implemented soil nutrient models are the special classmodels:

  • 5. The traveltime soilmodel
  • 6. The rootzone leakage soilmodel

1. Monthly typical concentrations for each subbasin

The soil leakage is introduced into the model as inorganic and organic nitrogen, and soluble reactive phosphorus and particulate phosphorus concentrations of the total runoff. Different possibilities exist on how to introduce these regarding time variations (monthly seasonal variation, daily), spatial variations (subbasin, regions) and land use dependence (class groups). So far the only implemented alternative is the monthly seasonal variation.

The nutrient concentration of total runoff (HYPE variable ID crun) is set, and then used for all further calculations in the streams and lakes.

2. Typical monthly load of excess nutrients for each class

Soil leakage can be applied as monthly load of the excess nutrients and other substances from the soil. This load is given for each land class as typical monthly values. The load added to the class are transformed with processes depending on travel time to concentrations of the water leaving the soil as soil runoff or surface runoff or through other pathway. Simulation of water temperature (substance T2) can be combined with monthly load, but will not require load as input. The runoff T2 will be calculated from soil temperature as usual.

The soil leakage as monthly load is not compatible with other soil models than the traveltime soilmodel, i.e. special class code 5. Lake and river classes can be used by the same model set-up, but not combined with floodplains. Special class code 3=glaciers can no be used.

3. Monthly load of excess nutrients for each class

Soil leakage can be applied as monthly load of the excess nutrients and other substances from the soil. This load is given for each land class as monthly time series. The load added to the class are transformed with processes depending on travel time to concentrations of the water leaving the soil as soil runoff or surface runoff or through other pathway. Simulation of water temperature (substance T2) can be combined with monthly load, but will not demand a monthly load. The runoff T2 will be calculated from soil temperature as usual.

The soil leakage as monthly load is not compatible with other soil models than the traveltime soilmodel, i.e. special class code 5. Lake and river classes can be used by the same model set-up, but not combined with floodplains. Special class code 3=glaciers can no be used.

4. Constant load and/or leakage for each class

Constant load and/or leakage can be used for individual classes together with ordinary soil model classes. Depending on classmodel defined for each class, load- or a leak-indata files checked for and read for that class. Special classmodel 5 and 6 can be used for this method. It is also possible to use the classmodel for only a selection of substances simulated. The classmodels' soil leakage input and processes will then be used for the substances files are given for, while the rest are calculated with the ordinary model.

5. Monthly load and/or leakage for each class

Monthly load and/or leakage can be used for individual classes together with ordinary soil model classes. It has the same construction as constant load and/or leakage for each class (soil leakage model 4). The only difference is the columns with monthly values in the input files.

The traveltime soilmodel

The travel time soilmodel is the specialclass model 5. The travel time soilmodel calculate the concentration of runoff from soil from input of montly load of substances to the land surface and a decay model. This soil model is used instead of the ordinary HYPE equations for substance processes in the soil.

The traveltime soilmodel (Hankin et al., 2019) will as default add the daily load to a pool on the surface of the land. The model will generate a release of dissolved substance from that pool.

release = pool *(1-e^{-par*flow})

where flow is the current precipitation/snow melt (mm/ts). The general parameter par is different for the substances, e.g. inrelease. The released substances will be added to the the surface runoff and to the soil water of the uppermost soil layer with a distribution based on the total surface runoff and infiltration flows.

Alternatively the daily load will be distributed among the surface pool, and the dissolved pools in the soil layers. This distribution is determined by parameters, e.g. inloadf1,inloadf2, etc. The parameters define the fraction for each soil layer and the rest is put in the surface pool. The load to the soil layers are directly put in the soil water.

The model can be combined with diffuse rural load to the soil, but not with atmospheric deposition load or wet concentration. Atmospheric deposition input will be zeroed.

Substances may be given a retention while in the soil. To simulate this an exponential decay equation is used. The process is goverened by a decay model parameter decay, which denote the half life of a substance having a certain travel time to the stream, that is the reference time of travel (totref). As default totref is one day. Exponential decay is applied to substances in soil water and in the soil surface pool (subst). The decay can be sped up or slowed down relative to the reference. The half life can be adjusted with other parameters relating to land use's time of travel (tot1), class dependent time of travel (tot2)), and soil layer/soil pool (exp, e.g. totexpsl1, totexp0). For instance could classes be divided according to distance from stream and the distance used to adjust the half life..

halflife = decay * (totref/tot)^exp

subst = subst *  2 ^ {-ts/halflife} where ts is length of time step in days. subst is IN=inorganic nitrogen, ON=organic nitrogen, SP=soluble phosphorus, PP=particulate phosphorus, OC=organic carbon, SS=suspended substances, AE=algae nitrogen, DS=dissolved silica, AS=algae silica or T1=tracer.

Rootzone leakage soilmodel

The rootzone leakage soilmodel is the specialclass model 6. The rootzone leakage soil model requires three layers of the soil. The upper two soil layers are defined as the rootzone for this model. The rootzone leakage soil model accept the rootzone leakage concentration from input and simulates substance processes only for in the third soil layer. For the upper two soil layers, water processes are calculated. The input rootzone concentration are added to the flow leaving the rootzone, i.e. surface runoff, soil layer one and two groundwater runoff, and percolation from soil layer two to soil layer three. In addition the concentration of the soil layer one and two is set to the root zone leakage concentration. In the third soil layer a simpler formulation of the soil substance processes is used than for the standard HYPE. Here an exponential decay of the dissolved substances are assumed, with different decay rates for the substances.

conc = conc * 2^{-ts/halflife}

where conc is the concentration in the third soil layer, halflife is a general parameter (days) and ts is the timestep length (days).

The rootzone leakage concentrations can be given as a constant for the class or as monthly varying values. The concentrations are given for each substance and class simulated with the model. No atmospheric deposition is added to this model, but a diffuse source as rural households are accepted. Irrigation can be used, but will not affect the substances.

Section Symbol Parameter/Data File
1. Monthly concentration -LeakageData.txt
2. and 3. Monthly load or 4. and 5. Constant of monthly load -LoadNN_SLCNNN.txt
par inrelease, onrelease, sprelease, pprelease, ocrelease, ssrelease, aerelease, dsrelease, asrelease, t1releasepar.txt
inload1f, inload2f, inload3f, onload1f, …, t1load3f
decay indecay, ondecay, spdecay, ppdecay, ocdecay, ssdecay, aedecay, dsdecay,asdecay, t1decay
totref totref
tot tot1 or tot2
tot1 intimeot, ontimeot, sptimeot, pptimeot, octimeot, sstimeot, aetimeot, dstimeot, astimeot, t1timeotpar.txt
tot2 traveltimeclassdata.txt
exp totexp0, totexpsl1, totexpsl2, totexpsl3par.txt
4. and 5. Constant or monthly concentration -LeakNN_SLCNNN.txt
halflife indec3l, ondec3l, spdec3l, ppdec3l, ocdec3l, ssdec3l, aedec3l, dsdec3l, asdec3l, t1dec3lpar.txt
Modules (file) Procedures
modelmodule (model_hype.f90)model
datamodule (data.f90)load_soilleakage_concentrations
modvar (modvar.f90)get_current_soilleakage
default_soilmodel (soilmodel0.f90)soilmodel_0
soilmodel5 (soilmodel5.f90)soilmodel_5
npc_soil_processes (npc_soil_proc.f90)soil_substance_processes_of_third_soillayer9


Eckersten, H., P.-E. Jansson, and H. Johnsson 1994. SOILN model – user’s manual 2nd edition, Division of Agricultural Hydrotechnics Communications 94:4, Department of Soil Sciences, Swedish University of AgriculturalSciences, 58pp, Uppsala.

Hankin, B., Strömqvist, J., Burgess, C., Pers, C., Bielby, S., Revilla-Romero, B., and L. Pope, 2019. A New National Water Quality Model to Evaluate the Effectiveness of Catchment Management Measures in England. Water 2019, 11, 1612. DOI: 10.3390/w11081612

start/hype_model_description/hype_np_soil.txt · Last modified: 2023/11/24 14:31 by cpers