User Tools

Site Tools


start:hype_model_description:hype_np_soil

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
start:hype_model_description:hype_np_soil [2018/08/09 09:15]
cpers [Soil pools – initial values]
start:hype_model_description:hype_np_soil [2018/11/13 17:54]
cpers [Soil erosion]
Line 15: Line 15:
 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 [[start:​hype_model_description:​hype_np_soil#​nutrient_soil_processes|Nutrient soil processes]] below. Sources and sinks are shown with arrows and text, and are further described in sections [[start:​hype_model_description:​hype_np_soil#​nutrient_sources|Nutrient sources]] and [[start:​hype_model_description:​hype_np_soil#​vegetation_and_soil_surface_processes|Vegetation and soil surface processes]] 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 [[start:​hype_model_description:​hype_np_soil#​nutrient_soil_processes|Nutrient soil processes]] below. Sources and sinks are shown with arrows and text, and are further described in sections [[start:​hype_model_description:​hype_np_soil#​nutrient_sources|Nutrient sources]] and [[start:​hype_model_description:​hype_np_soil#​vegetation_and_soil_surface_processes|Vegetation and soil surface processes]]
  
-|{{:​start:​hype_model_description:​notrogensourcesandsinks.png?​400}}| +| {{:​start:​hype_model_description:​notrogensourcesandsinks.png?​400}} ​                                                                          ​
-|{{:​start:​hype_model_description:​phosphoroussourcesandsinks.png?​400}}| +| {{:​start:​hype_model_description:​phosphoroussourcesandsinks.png?​400}} ​                                                                       
-|Figure 1: Sources and sinks of nitrogen and phosphorus in the soil.+| 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 ===== ===== Nutrient Sources =====
  
Line 29: Line 26:
 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. ​ 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. ​+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 (<​m>​common_{add}<​/m>) is calculated as the sum of fertiliser additions from the main and secondary crops. ​
  
 Inorganic nutrients to be added to IN and SP pools: Inorganic nutrients to be added to IN and SP pools:
  
-<​m> ​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)}} </m>+<​m> ​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)}} </m>
  
-<​m> ​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)}} </m>+<​m> ​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)}} </m>
  
 Organic nutrients to be added to fastN and fastP pools: Organic nutrients to be added to fastN and fastP pools:
  
-<​m> ​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}}} </m>+<​m> ​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}}} </m>
  
-<​m> ​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}}} </m>+<​m> ​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}}} </m>
  
  
Line 47: Line 44:
 ==== Plant residues ==== ==== 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 [[start:​hype_file_reference:​cropdata.txt|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).+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 [[start:​hype_file_reference:​cropdata.txt|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 (<​m>​common_{res}<​/m>) for main and secondary crop together every day with the help of share for each crop (//​a(icrop)//,​ where icrop=1,2).
  
-<​m> ​common{_}res(fast-inut,​layer=1)= sum {icrop=1} {2} {a(icrop) * resfast(icrop) * resamount(inut,​icrop) * (1 - resdown(icrop))} </​m>​ +<​m> ​common_{res}(fast-inut,​layer=1)= sum {icrop=1} {2} {a(icrop) * resfast(icrop) * resamount(inut,​icrop) * (1 - resdown(icrop))} </​m>​ 
-<​m> ​common{_}res(fast-inut,​layer=2)= sum {icrop=1} {2} {a(icrop) * resfast(icrop) * resamount(inut,​icrop) * resdown(icrop)} </​m>​ +<​m> ​common_{res}(fast-inut,​layer=2)= sum {icrop=1} {2} {a(icrop) * resfast(icrop) * resamount(inut,​icrop) * resdown(icrop)} </​m>​ 
-<​m> ​common{_}res(humus-inut,​layer=1)= sum {icrop=1} {2} {a(icrop) * (1-resfast(icrop)) * resamount(inut,​icrop) * (1 - resdown(icrop))} </​m>​ +<​m> ​common_{res}(humus-inut,​layer=1)= sum {icrop=1} {2} {a(icrop) * (1-resfast(icrop)) * resamount(inut,​icrop) * (1 - resdown(icrop))} </​m>​ 
-<​m> ​common{_}res(humus-inut,​layer=2)= sum {icrop=1} {2} {a(icrop) * (1-resfast(icrop)) * resamount(inut,​icrop) * resdown(icrop)} </m>+<​m> ​common_{res}(humus-inut,​layer=2)= sum {icrop=1} {2} {a(icrop) * (1-resfast(icrop)) * resamount(inut,​icrop) * resdown(icrop)} </m>
  
  
Line 60: Line 57:
  
 Information on rural household diffuse source (private sewers) is located in the file GeoData.txt. The source has a flow and concentrations of total nitrogen and phosphorus and fraction of IN and SP. The diffuse source is divided into two parts, where the distribution is determined by a general parameter (//​locsoil//​). One part is added directly to the local river. The other part is added to soil water in the bottom soil layers in the catchment area of all land classes with a distribution proportional to the classes’ area. Information on rural household diffuse source (private sewers) is located in the file GeoData.txt. The source has a flow and concentrations of total nitrogen and phosphorus and fraction of IN and SP. The diffuse source is divided into two parts, where the distribution is determined by a general parameter (//​locsoil//​). One part is added directly to the local river. The other part is added to soil water in the bottom soil layers in the catchment area of all land classes with a distribution proportional to the classes’ area.
 +
 +
 +==== Links to file reference ====
 +
 +^Section ^Symbol ^Parameter/​Data ^File ^
 +|Fertilizer|//​fert//​|//​fn1,​ fp1, fn2, fp2//​|[[start:​hype_file_reference:​cropdata.txt|CropData.txt]]|
 +|:::​|//​man//​|//​mn1,​ mp1, mn2, mp2//|:::|
 +|:::​|//​fdown//​|//​mdown1,​ fdown2//​|:::​|
 +|:::​|//​mdown//​|//​mdown1,​ mdown2//​|:::​|
 +|:::| |//reg, cropid, fday1, fday2, mday1, mday2//​|:::​|
 +|:::| |//​fertdays//​|[[start:​hype_file_reference:​par.txt|par.txt]]|
 +|:::| |//cropid, cropid2//​|[[start:​hype_file_reference:​geoclass.txt|GeoClass.txt]]|
 +|:::| |//src_nn, slc_nn//​|[[start:​hype_file_reference:​geodata.txt|GeoData.txt]]|
 +|Plant residues|//​resamount//​|//​resn,​ resp//​|[[start:​hype_file_reference:​cropdata.txt|CropData.txt]]|
 +|:::| |//resday, resfast, resdown//​|:::​|
 +|Rural household diffuse source| |//loc_tp, loc_tn, loc_vol, loc_sp, loc_in//​|[[start:​hype_file_reference:​geodata.txt|GeoData.txt]]|
 +|:::| |//​locsoil//​|[[start:​hype_file_reference:​par.txt|par.txt]]|
  
 ==== Links to relevant procedures in the code ==== ==== Links to relevant procedures in the code ====
Line 75: Line 89:
 ==== Potential vegetation uptake of nitrogen ==== ==== 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//,​ //g/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 parameter ​for the fraction of the upper soil layer. 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+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
  
 <m> help = (up1-up2)*e^{-up3*(dayno-bd2)} </m> <m> help = (up1-up2)*e^{-up3*(dayno-bd2)} </m>
Line 92: Line 106:
  
 <​m> ​   tmpfcn = delim{lbrace} <​m> ​   tmpfcn = delim{lbrace}
- ​{matrix{2}{2}{{MIN[1,​(temp-5)/20]} {temp>5} 0 {temp<5}}} </m>+ ​{matrix{2}{2}{{MIN[1,​(T-5)/20]} {T>5} 0 {T<5}}} </m>
  
 The growing period will then continue next season from //bd2// as described above. The growing period will then continue next season from //bd2// as described above.
Line 99: Line 113:
 The degreeday sum (//GDD//) is calculated as The degreeday sum (//GDD//) is calculated as
  
-<m> GDD(d+1)=GDD(d)+MAX(0,​temp-basetemp) </m>+<m> GDD(d+1)=GDD(d)+MAX(0,​T-basetemp) </m>
  
-where //d// is day of year, //temp// 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 mid winter (new year in northern hemisphere).+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 mid winter (new year in northern hemisphere).
  
 ==== Soil erosion ==== ==== Soil erosion ====
  
-The erosion of soil particles is calculated by HYPE for transport of particulate phosphorus (PP) or for the simulation of sediment material. 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. +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. ​ 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. ​
  
-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 [[start:​hype_model_description:​hype_np_soil#​crop_cover_and_ground_cover|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)). ​+Mobilization (//​MobilisedRain//​ and //​MobilisedSR//​) occurs due to energy from falling raindrops (<​m>​Rainfall_{energy}<​/m>) 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 [[start:​hype_model_description:​hype_np_soil#​crop_cover_and_ground_cover|next chapter]]. The factor ​<​m>​common_{cropcover}<​/m> 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)). ​
  
-<​m> ​Rainfall{_}energy ​= prec * </m>**(**<​m> ​8.95+8.44*LOG10 ​</​m>​**(**<​m> ​prec*2* </m>**(**<​m> ​0.257+ 0.09*sin ​</​m>​**(**<​m> ​2 pi* </m>**(**<​m> ​dayno-70 ​</​m>​**)**<​m> ​{/​}365 ​</​m>​**))))** \\ +<​m> ​Rainfall_{energy} = prec * ( 8.95+8.44*LOG10 (prec*2* ( 0.257+ 0.09*sin ( 2 pi* ( dayno-70 ) {/}365 )))) </​m> ​
-<m> MobilisedRain = Rainfall{_}energy* (1. - common{_}cropcover) * soilerod ​</​m> ​+
  
-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 [[start:​hype_model_description:​hype_np_soil#​crop_cover_and_ground_cover|next chapter]]. The variable ​//​common_groundcover//​ is the total fraction of cover that the main and secondary crop give. +<m> MobilisedRain = Rainfall_{energy}* ​(1- common_{cropcover}* soilerod </m> 
  
-<m> MobilisedSR = {{( sflow * 365)^{sreroexp}} * (1 - common{_}groundcover) * {1/{0.5 * soilcoh}} * sin(slope/​100)} / 365 </m>+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 [[start:​hype_model_description:​hype_np_soil#​crop_cover_and_ground_cover|next chapter]]. The variable <​m>​common_{groundcover}</​m>​ is the total fraction of cover that the main and secondary crop give.  
 + 
 +<m> MobilisedSR = {{(sflow*365)^{sreroexp}} * (1-common_{groundcover}) * {1/​{0.5*soilcoh}} * sin(slope/​100)} / 365 </m>
  
 All mobilized 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: All mobilized 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:
Line 142: Line 157:
  
 <m> erodedP = 0.000001 * erodedSed * {{PartP + HumusP}/ {thickness * bulkdensity}} * enrichment </m> <m> erodedP = 0.000001 * erodedSed * {{PartP + HumusP}/ {thickness * bulkdensity}} * enrichment </m>
-  ​ + 
-certain proportion ​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//​).+The calculated eroded sediment (//​erodedSed//​) and eroded phosphorus (//​erodedP//​) are now available to add to the suspended sediment (SS) or particulate phosphorus (PP) of surface runoff. 
 +  
 +portion ​of SS and 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//​).
  
 <m> srfilt = otherfilt + alfa * (1. + bufferpart * (bufferfilt - 1.)) + innerfilt * (1. - alfa) </m> <m> srfilt = otherfilt + alfa * (1. + bufferpart * (bufferfilt - 1.)) + innerfilt * (1. - alfa) </m>
  
-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 (//transPP//) by surface runoff and macropore flow is collected in a temporary storage pool (//PPrelpool// (kg/km2)) together with PP in tile runoff (//tilePP//).+Similarly, part of the SS and 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 SS or PP transported (//transp//) by surface runoff and macropore flow is collected in a temporary storage pool (//relpool// (kg/km2)) together with SS and PP in tile runoff (//tilep//).
  
-<​m> ​transPP ​= (srfilt*sflow+macrofilt*mflow)*erodedP/​eflow </m>+<​m> ​transp = (srfilt*sflow+macrofilt*mflow)*erodedSed/​eflow </m> or 
 +<m> transp ​= (srfilt*sflow+macrofilt*mflow)*erodedP/​eflow </m>
  
 <m> eflow=sflow+mflow </m> <m> eflow=sflow+mflow </m>
  
-<​m> ​PPrelpool ​PPrelpool ​transPP ​tilePP ​</m> \\+<​m> ​relpool ​relpool ​transp ​tilep </m> \\
  
-From the temporary pool phosphorus is released (//PPrel// (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.+From the temporary pool sediment and 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.
  
-<​m> ​PPrel = MIN(PPrelpoolPPrelpool ​*(runoff {/} pprelmax)^{pprelexp}) </m>+<​m> ​release ​= MIN(relpoolrelpool ​*(runoff {/} pprelmax)^{pprelexp}) </m>
  
 ==== Crop cover and ground cover ==== ==== Crop cover and ground cover ====
Line 168: Line 186:
  
 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. 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.
 +
 +
 +==== Links to file reference ====
 +
 +^Section ^Symbol ^Parameter/​Data ^File ^
 +|Potential vegetation uptake of nitrogen|//​part//​|//​scr_nn//​|[[start:​hype_file_reference:​geodata.txt|GeoData.txt]]|
 +|:::| |//upupper, pnupr, bd2, bd3, bd5, up1, up2, up3 gddsow, basetemp, firstday, daylength//​|[[start:​hype_file_reference:​cropdata.txt|CropData.txt]]|
 +|:::​|//​T//​|calculated from|[[start:​hype_file_reference:​tobs.txt|Tobs.txt]]|
 +|Soil erosion| |//​soilerod,​ soilcoh, seroexp, erodslope, erodluse, erodsoil, erodindex, erodexp, bufferfilt, innerfilt, otherfilt, macrofilt, pprelmax, pprelexp//​|[[start:​hype_file_reference:​par.txt|par.txt]]|
 +|:::​|//​slope//​|//​slope_mean//​|[[start:​hype_file_reference:​geodata.txt|GeoData.txt]]|
 +|:::​|//​EI//​|//​eroindex//​|:::​|
 +|:::​|//​alfa//​|//​close_w//​|:::​|
 +|:::​|//​bufferpart//​|//​buffer//​|:::​|
 +|Crop cover and ground cover| |//ccmax1, ccmax2, gcmax1, gcmax2, bd1, bd4//​|[[start:​hype_file_reference:​cropdata.txt|CropData.txt]]|
 +|:::​|//​maxday1,​ maxday2// |calculated from //bd2, bd3, bd5//|:::|
 +|Transformation of nitrogen from atmospheric deposition| |//​ponatm//​|[[start:​hype_file_reference:​par.txt|par.txt]]|
  
 ==== Links to relevant procedures in the code ==== ==== Links to relevant procedures in the code ====
Line 186: Line 220:
 ==== Soil pools – initial values ==== ==== 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/​m<​sup>​3</​sup>//​. The initial humusN, humusP and partP-pools decreases with depth, with half depth determined by land use dependent parameters (//hnhalf, hphalf// and //​pphalf//​). ​
  
-The initial pool is dependent ​on land use and is determined by the user in the file par.txt. The parameters (//humusn0, humusp0, partp0, fastn0, fastp0//) are representative only for the uppermost ​soil layer; the unit for these parameters ​is //mg/m3//. The humusN, 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:
  
-The equation for soil nutrient concentration is also depth decreasing:​ +<​m> ​nut(d)=nut0*e^{-par*d} </m>
- +
-<​m> ​nutrient(d)=nutrient0*e^{-par*d} </m>+
    
-where //d// is depth from zero-level, //nutrient0// is concentration ​at zero-level (i.e. model parameter for uppermost soil layer) and //par// is calculated from respective nutrient half depth model parameter (//​NNhalf//​) as:+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:
  
 <m> par={log 2}/NNhalf </m> <m> par={log 2}/NNhalf </m>
  
-The model parameters ​for uppermost soil layer (//humus0// etc.) represent zero-level nutrient (//nutrient0//) and zero-level is thus middle of uppermost soillayer. The following depths represent the soillayers: ​+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)
  
  
Line 206: Line 239:
 <m> d(3)={soilthick(1)}/​{2}+soilthick(2)+{soilthick(3)}/​{2} </m> <m> d(3)={soilthick(1)}/​{2}+soilthick(2)+{soilthick(3)}/​{2} </m>
    
-The concentration ​is transformed into model soil nutrient pools with unit //kg/km2// by taking into account the thickness of the layers. ​+The nutrient ​is transformed into model soil nutrient pools (unit //kg/km<​sup>​2<​/sup>//) by taking into account the thickness of the soil layers. ​
  
-<m> pool(k)=nutrient(d(k))*soilthick(k),​ ~~ k=1..3 </m>+<m> pool(k)=nut(d(k))*soilthick(k),​ ~~ k=1..3 </m>
  
 Pools with rapid turnover (//fastN, fastP//) have initial values independent of depth. ​ Pools with rapid turnover (//fastN, fastP//) have initial values independent of depth. ​
  
  
-<​m>​pool(k)=nutrient0*soilthick(k),​ ~~ k=1..3 </m> \\+<​m>​pool(k)=nut0*soilthick(k),​ ~~ k=1..3 </m> \\
  
-The initial IN and SP values ​are set to zero. The initial ON and PP values is determined by land use dependent parameters (//​onconc0//​ and //​ppconc0//,​ //mg/L//) – valid for all three soil layers.+The nutrients dissolved in soil water is initialized independent of depth. ​The initial IN and SP concentrations ​are zero. The initial ON and PP concentration are determined by land use dependent parameters (//​onconc0//​ and //​ppconc0//,​ //mg/L//) – valid for all three soil layers.
  
 ==== Common functions ==== ==== Common functions ====
  
-Many soil processes depend on temperature and soil moisture. The following equations are used in these cases. The temperature function (figure 3) depends on the estimated soil layer temperature (//​soiltemp//​).+Many soil processes depend on temperature and soil moisture. The following equations are used in these cases. The temperature function (figure 3) depends on the estimated soil layer temperature (//​soiltemp//​). The soil temperature requires some parameters to be simulated, see Section [[start:​hype_model_description:​hype_land#​soil_temperature_and_snow_depth|Soil temperature and snow depth]].
  
   tmpfcn = 2**((soiltemp - 20.0) / 10.0)   tmpfcn = 2**((soiltemp - 20.0) / 10.0)
Line 225: Line 258:
   IF(temp < 0.0) tmpfcn = 0.0   IF(temp < 0.0) tmpfcn = 0.0
  
-The humidity function (figure 4) depends on soil moisture (//soil//) in the soil layer and the parameters of wilting limit (//wp//), field capacity (//fc//) and effective porosity (//ep//). 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:+The humidity function (figure 4) 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   IF(soil >= wp + fc + ep) THEN
Line 236: Line 269:
   ENDIF   ENDIF
  
-The humidity function (figure ​3) is always less than or equal to one while the temperature function may be greater than one when the temperature exceeds 20 degrees.+The humidity function (figure ​4) is always less than or equal to one while the temperature function may be greater than one when the temperature exceeds 20 degrees.
  
 |{{:​start:​hype_model_description:​commonfunctionstemperature.png?​300}}| |{{:​start:​hype_model_description:​commonfunctionstemperature.png?​300}}|
Line 246: Line 279:
 ==== Vegetation nutrient uptake ==== ==== Vegetation nutrient uptake ====
  
-Vegetation nutrient uptake is a sink of the IN and SP in the two upper soil layers. The uptake (//uptake / uptakeP//, //​mg/​m2/​d//​) depends on the potential uptake of nitrogen (//​common_uptake//,​ g/m2), 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 (//inorgNpool//) and SP (//SRPpool//) and for phosphorus by P / N ratio (//​pnratio//​). The main and secondary crop of a class is specified in GeoClass.txt.+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 (<​m>​common_{uptake}<​/m>), 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.
  
-<m> uptakeN(1) = MIN(uptsoil1 * common{_}uptake, ​maxpooluptake*inorgNpool(1)) </m> \\ +<m> uptakeN(1) = MIN(uptsoil1 * common_{uptake}a*INpool(1)) </m> \\ 
-<m> uptakeN(2) = MIN((1-uptsoil1) * common{_}uptake, ​maxpooluptakeinorgNpool(2)) </m> \\ +<m> uptakeN(2) = MIN((1-uptsoil1) * common_{uptake}aINpool(2)) </m> \\ 
-<m> uptakeP(1) = MIN(pnratio * uptsoil1 * common{_}uptake, ​maxpooluptakeSRPpool(1)) </m> \\ +<m> uptakeP(1) = MIN(pnratio * uptsoil1 * common_{uptake}aSPpool(1)) </m> \\ 
-<m> uptakeP(2) = MIN(pnratiopar ​* (1-uptsoil1) * common{_}uptake, ​maxpooluptake*SRPpool(2)) </m> \\ +<m> uptakeP(2) = MIN(pnratio ​* (1-uptsoil1) * common_{uptake}a*SPpool(2)) </m> \\ 
-<​m> ​maxpooluptake ​= (soil - wp) / soil </m>+<​m> ​= (soil - wp) / soil </m>
  
-The plants can take up a maximum factor //maxpooluptake// 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.+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 (<​m>​common_{uptake}<​/m>) 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 ==== ==== Denitrification ====
  
-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 (//inorgNpool//) in each soil layer (//k// = 1.3). The denitrification rate depends on a rate coefficient (//​drate//​),​ soil temperature,​ IN concentration and soil moisture.+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.
  
-<m> denitr(k) = drate * inorgNpool(k) * tmpfcn(k) * smfcn(k) * concfcn(k) ​ </m>+<m> denitr(k) = drate * INpool(k) * tmpfcn(k) * smfcn(k) * concfcn(k) ​ </m>
  
 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 5) is exponential and thus different from the general soil moisture function. 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 5) is exponential and thus different from the general soil moisture function.
Line 266: Line 299:
 <m> smfcn= delim{lbrace} <m> smfcn= delim{lbrace}
  ​{matrix{2}{2}{  ​{matrix{2}{2}{
-   0 {soil<pw×lim ​+   0 {soil<pw*lim ​
-   ​({soil}/​{pw}-{{dlim}{(1-dlim)}})^{exp} else+   ​({soil}/​{pw}-{{dlim}/{(1-dlim)}})^{exp} else
    }}{} </m>    }}{} </m>
  
Line 317: Line 350:
 ==== Percolation ==== ==== Percolation ====
  
-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. ​+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//)
  
 <​m>​conc = conc*(1. - par)</​m>​ <​m>​conc = conc*(1. - par)</​m>​
Line 333: Line 366:
   ENDDO   ENDDO
  
-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 (<​m> ​PPequi{_}conc</​m>​). +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 <m>xn_1</m> is the concentration of the next iteration. The resulting SP equilibrium concentration (<m>xn=xn_1</m>) is used to calculate the PP eqiuilibrium concentration (<m>PPequi_{conc}</​m>​). 
-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.+A new SP concentration (<m>SP_conc</m>) is calculated from the previous concentration (<m>SP_conc_old</m>) and the equilibrium concentration,​ taking into account the balance is not reached during the time step.
  
-<​m> ​PPequi{_}conc = Kfr * ({xn{_}1}^{Nfr}) </m>+<​m> ​PPequi_{conc} = Kfr * ({xn_1}^{Nfr}) </m>
  
-<m> Adsdes = (PPequi{_}conc - concsolid)*(1-e^{-Kadsdes}) </m>+<m> Adsdes = (PPequi_{conc- concsolid)*(1-e^{-Kadsdes}) </m>
  
-<​m> ​SP{_}conc ​SP{_}conc{_}old ​- {(Adsdes * bulkdensity * LayerThick)/ vol} </m>+<​m> ​SP_conc ​SP_conc_old ​- {(Adsdes * bulkdensity * soilthick)/ vol} </m>
  
 //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. //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.
Line 347: Line 380:
  
 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. 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.
 +
 +
 +==== Links to file reference ====
 +
 +^Section ^Symbol ^Parameter/​Data ^File ^
 +|Soil pools - initial values|//​nut0//​|//​humusn0,​ humusp0, partp0, fastn0, fastp0//​|[[start:​hype_file_reference:​par.txt|par.txt]]|
 +|:::​|//​NNhalf//​|//​hnhalf,​hphalf,​ pphalf//​|:::​|
 +|:::| |//onconc0, ppconc0//​|:::​|
 +|:::​|//​soilthick//​|calculated from //​soillayerdepth//​|[[start:​hype_file_reference:​geoclass.txt|GeoClass.txt]]|
 +|Common functions|//​wp,​ fc, ep//​|calculated from //wcwp, wcwp1-3, wcfc, wcfc1-3, wcep, wcep1-3//​|[[start:​hype_file_reference:​par.txt|par.txt]]|
 +|Vegetation nutrient uptake| |//cropid, cropid2//​|[[start:​hype_file_reference:​geoclass.txt|GeoClass.txt]]|
 +|:::​|//​uptsoil1//​|//​upupper//​|[[start:​hype_file_reference:​cropdata.txt|CropData.txt]]|
 +|:::​|//​pnratio//​|//​pnupr//​|:::​|
 +|Denitrification| |//​denitrlu,​ denitrlu3, hsatINs//​|[[start:​hype_file_reference:​par.txt|par.txt]]|
 +|Immobile soil nutrient pool transformations| |//minerfn, minerfp, degradhn, degradhp//​|[[start:​hype_file_reference:​par.txt|par.txt]]|
 +|Dissolution of soil organic pools|//​dispar//​|//​dissolfp,​ dissolfn, dissolhp, dissolhn//​|[[start:​hype_file_reference:​par.txt|par.txt]]|
 +|Percolation|//​par//​|//​onpercred,​ pppercred//​|[[start:​hype_file_reference:​par.txt|par.txt]]|
 +|Balance SP - PartP|//​Kfr//​|//​freuc//​|[[start:​hype_file_reference:​par.txt|par.txt]]|
 +|:::​|//​Nfr//​|//​freuexp//​|:::​|
 +|:::​|//​Kadsdes//​|//​freurate//​|:::​|
 +|Crop rotation effect on soil pools| |//crop rotation//​|[[start:​hype_file_reference:​geoclass.txt|GeoClass.txt]]|
  
 ==== Links to relevant procedures in the code ==== ==== Links to relevant procedures in the code ====
Line 386: Line 440:
 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. 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 soil loads ====
  
 Gross load to soil layer one and two (root zone). ​ Gross load to soil layer one and two (root zone). ​
Line 398: Line 452:
 HYPE variable IDs: sl25=IN, sl27=ON, sl29=sl25+sl27=TN,​ sl31=SP, sl33=PP, sl35=sl31+sl33=TP HYPE variable IDs: sl25=IN, sl27=ON, sl29=sl25+sl27=TN,​ sl31=SP, sl33=PP, sl35=sl31+sl33=TP
  
-=== Net soil loads ===+==== 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. 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.
Line 414: Line 468:
 |{{:​start:​hype_model_description:​soilload2.png?​200|}}|{{:​start:​hype_model_description:​soilload3.png?​200|}}| |{{:​start:​hype_model_description:​soilload2.png?​200|}}|{{:​start:​hype_model_description:​soilload3.png?​200|}}|
 |Figure 7: Components of calculated gross (brown) and net (green) loads of soil.|| |Figure 7: Components of calculated gross (brown) and net (green) loads of soil.||
-  ​+ 
 + 
 + 
 +==== Links to relevant procedures in the code ==== 
 + 
 + 
 +^Modules (file) ^Procedures ^ 
 +|[[http://​hype.sourceforge.net/​doxy-html/​namespacemodelmodule.html|modelmodule (model_hype.f90)]]|model| 
 +|:::​|define_output_variables| 
 + 
 + 
 + 
 + 
 + 
 + 
  
  
Line 432: Line 501:
 The default is to use HYPE calculated runoff concentrations with the processes described above (''​modeloption soilleakage 0''​). The default is to use HYPE calculated runoff concentrations with the processes described above (''​modeloption soilleakage 0''​).
  
- + 
 +==== Links to file reference ==== 
 +^Parameter/​Data ^File ^ 
 +|//​ALL//​|[[start:​hype_file_reference:​leakagedata.txt|LeakageData.txt]]| 
 + 
 +==== Links to relevant procedures in the code ==== 
 + 
 + 
 +^Modules (file) ^Procedures ^ 
 +|[[http://​hype.sourceforge.net/​doxy-html/​namespacemodelmodule.html|modelmodule (model_hype.f90)]]|model| 
 +|[[http://​hype.sourceforge.net/​doxy-html/​namespacedatamodule.html|datamodule (data.f90)]]|load_soilleakage_concentrations| 
 +|[[http://​hype.sourceforge.net/​doxy-html/​namespacemodvar.html|modvar (modvar.f90)]]|get_current_soil_leakage| 
  
 ===== References ===== ===== References =====
start/hype_model_description/hype_np_soil.txt · Last modified: 2024/02/20 17:21 by cpers