User Tools

Site Tools


start:hype_model_description:hype_land

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
start:hype_model_description:hype_land [2019/03/19 14:19]
cpers [Diagnostic variables]
start:hype_model_description:hype_land [2020/08/04 08:43] (current)
cpers [Percolation]
Line 78: Line 78:
 |::: | calculate_soil_moisture_deficit | soil moisture deficit | |::: | calculate_soil_moisture_deficit | soil moisture deficit |
 |::: | calculate_frostdepth | frost depth | |::: | calculate_frostdepth | frost depth |
 +
 +===== Snow routines =====
 +
 +The basic simulation of snow is accumulation of snowfall to a snow pack and snow melt that releases the water to infiltration. Other processes may be included dependent on model options and parameters set. These include liquid fraction of snow simulating snow water holding capacity, evaporation and sublimation,​ snow heat content, refreezing of liquid water in snow. 
 +
 +==== Snow melt ====
 +For the simplest snow model, snow melt is calculated by temperature index. Snow melting occurs when the temperature is greater than a threshold temperature. The amount of snow (//snow// in mm) that melts (//melt//) depends on the snowmelt parameter //cmlt//, threshold temperature parameter //ttmp// and air temperature (//temp//). Additionally snow melt may be adjusted by the snow cover. The parameter //fsceff// determine how large effect the snow cover scaling should have, between zero and one.
 +
 +Alternative snowmelt models exist, but are not fully described here yet. 
 +
 +=== Model 0 (default) ===
 +Temperature index model, with or without snow cover scaling, described above.
 +
 +<m> effcover = 1-(1-fsceff)*snowcov </m>
 +
 +<m> melt = MIN(cmlt*(temp-ttmp),​snow)*effcover </m>
 +
 +The parameters //cmlt// and //ttmp// are related to land use, while //fsceff// is general.
 +
 +=== Model 2 ===
 +Temperature and radiation index model, with or without snow cover scaling. The temperature index snow melt is calculated the same way as the default model. In addition radiation snow melt is calculated from shortwave radiation and albedo of the snow. 
 +
 +<m> melt = cmrad * swrad * (1.-albedo_snow) </m>
 +
 +The parameter //cmrad// is related to land use. Snow albedo is calculated as decreasing with the age of snow (//​snowage//​),​ and depend on land use specific parameters (//albmax, albmin// and //​albkexp//​).
 +
 +<m> albedo_snow = albmin+(albmax-albmin)*EXP(-albkexp*snowage) </m>
 +
 +The two melting parts are added. Snow melt routine consider also that snow melt (and liquid content of snow) can refreeze for temperatures below the threshold (//ttmp//).
 +
 +=== Snow heat ===
 +A model option for snow heat delays the snow melt until the temperature of snow is zero. Snow temperature is calculated from snow heat and snow water equivalent. Snow heat model uses general parameters //sdnsnew// and //snkika//.
 +
 +
 +
 +==== Snow cover ====
 +
 +Normally snow is assumed to cover the whole class if present.
 +Alternatively if parameters are given, snow cover fraction (//fsc//) within a class is calculated based on snow water equivalent (//snow//). The formulation is based on Samuelsson et al. (2006). During snow build up the snow cover increase as a function of snow water equivalent until a maximum value (general parameter //fscmax//) is reached.
 +
 +<m> fsc=fscmax*tanh(0.1*snow) </m>
 +
 +It is also possible to specify a minimum snow cover (general parameter //​fscmin//​). ​
 +As soon as the fractional snow cover area reaches above a certain threshold (//​fscmax-fsclim//​),​ the snow cover area is determined by another relation that represents the redistribution of snow during winter. In this case snow cover is dependent on maximum snow pack during the winter (//​snowmax//​) and a snow cover redistribution factor that is dependent on variation in elevation (//​stdelev//,​ the standard deviation of elevation within the subbasin) and land use.
 +
 +<m> fsc= snow / {snowmax*fscdist} </m>
 +
 +<m> fscdist=fscdist0+fscdist1*stdelev </m>
 +
 +The snow distribution factor (//​fscdist//​) is determined by three land use dependent parameters; //​fscdist0//​ and //​fscdist1//​ in the linear equation and a maximum value (//​fscdistmax//​). Also in this case the snowcover is limited by the maximum and minimum value parameters. When the end of the snow season approaches (defined by general parameter //fsck1//) the //snowmax// variable is gradually decreased in order to be reset before next winter season:
 +
 +<m> snowmax=snowmax-(fsck1*snowmax-snow)*{1-e^{-fsckexp*ts}}/​{fsck1} </m>
 +
 +<m> {snow}/​{snowmax}<​fsck1 </m>
 +
 +The equation depends on two general parameters, //fsck1// and //​fsckexp//,​ where //fsckexp// depend on time (//ts// is seconds per timestep of simulation).
 +
 +For winters when the snow pack not reach the definition of large snow pack, the first equation is used during the whole season. ​
 +
 +==== Snow depth ====
 +
 +In the default snow depth model, snow density (//​snowdens//​) depends on the snow's age in days (//​snowage//​). Snow density for fresh snow (//​sdnsnew//​) and the increase of density with snow age (//​snowdensdt//​) are general parameters (~ 0.1 and ~0.002). The snow's age increases by one every time step, but are weighted with age (0) for any new snow.
 +
 +<​m> ​ snowage = (snowage + 1)*oldsnow/​(oldsnow+snowfall) </m>
 +
 +<​m> ​ snowdens = sdnsnew + snowdensdt * snowage </m>
 +
 +<​m> ​ snowdepth = 0.1 * snow/​snowdens </m>
 +
 +In the alternative snow depth model, snow density is calculated by a compacting factor. Snow density for fresh snow (//​sdnsnew//​),​ maximum snow density (//​sdnsmax//​),​ compactation rate for low temperatures (//​sdnsrate//​) and additional compactation for high temperature (//​sdnsradd//​) are all general parameters. The change in snowdensity (//​densdt//​) due to compactation each time step is calculated as:
 +
 +<​m> ​ densdt = sdnsrate*(sdnsmax-snowdens) </m>
 +
 +for cold days (temperature is below threshold temperature parameter //ttmp//), and 
 +
 +<​m> ​ densdt = (sdnsrate+sdnsradd)*(sdnsmax-snowdens) </m>
 +
 +for warm days.
 +
 +==== Links to file reference ====
 +
 +^Section ^Symbol ^Parameter/​Data ^File ^
 +|Snow| |//​whcsnow//​|[[start:​hype_file_reference:​par.txt|par.txt]]|
 +|Snow melt|//​cmlt,​ ttmp, fcseff//​|//​cmlt,​ ttmp, fcseff//​|[[start:​hype_file_reference:​par.txt|par.txt]]|
 +|:::​|//​albmin,​albmax,​albkexp,​cmrad//​|//​albmin,​albmax,​albkexp,​cmrad//​|:::​|
 +|:::| |//sdnsnew, snkika//​|:::​|
 +|:::​|//​T//​|calculated from|[[start:​hype_file_reference:​tobs.txt|Tobs.txt]]|
 +|Snow cover|//​stdelev//​|//​elev_std//​|[[start:​hype_file_reference:​geodata.txt|GeoData.txt]]|
 +|:::​|//​fscmax,​ fscdist0, fscdist1, fsck1, fsckexp//​|//​fscmax,​ fscdist0, fscdist1, fsck1, fsckexp//​|[[start:​hype_file_reference:​par.txt|par.txt]]|
 +|:::| |//​fscmin,​fsclim,​fscdistmax//​|:::​|
 +|Snow depth| |//sdnsnew, snowdensdt, sdnsmax, sdnsrate, sdnsradd, ttmp//​|[[start:​hype_file_reference:​par.txt|par.txt]]|
 +
 +
 +==== Links to relevant procedures in the code ====
 +
 +^ Modules (file) ^ Procedures ^ Section ^
 +| [[http://​hype.sourceforge.net/​doxy-html/​namespacesoil__processes.html|soil_processes (soil_proc.f90)]]| calculate_snow | snow melt |
 +| ::: | calculate_snowmelt | ::: |
 +| ::: | snowalbedo_function | ::: |
 +| ::: | calculate_snowheat_processes| ::: |
 +| ::: | snow_thermal_conductivityfunction| ::: |
 +| ::: | calculate_fractional_snowcover | snow cover |
 +| ::: | calculate_snowdepth | snow depth |
 +
  
 ===== Soil water ===== ===== Soil water =====
 +
 +==== Soil temperature and frozen soil ====
 +
 +Soil layer temperature (//​soiltemp//​) is calculated as a balance of three temperatures;​ previous time step soil layer temperature,​ soil temperature at deep depth (//​deeptemp//​) and air temperature (//T//). The model is based on Lindström et al. (2002). The weight of the deep soil is constant (0.001), while the weight of the air temperature (//​weightair//​) depends on snow depth (//​snowdepth//​) and parameters. The soil memory (//​soilmem//​) depends on depth and land use, with parameters //surfmem// and //​depthrel//​. The memory of deep soil temperature is a general parameter (//​deepmem//​).
 +
 +<m> soilmem = {lbrace}{
 + ​\matrix{2}{2}
 +    {deepmem {for\ deeptemp}
 +    surfmem*e^{-depthrel*depth(k)} {for\ soil\ layer\ k} }} </m>
 +
 +<m> weigth_{air}={1}/​{soilmem+10*snowdepth} </m>
 +
 +<m> deeptemp=weight_{air}*T+(1-weight_{air})*deeptemp </m>
 +
 +<m> soiltemp=weight_{air}*T+(1-weight_{air}-weight_{deep} )*soiltemp+weight_{deep}*deeptemp </m>
 +
 +Negative soil temperature will freeze part of the soil water and affect evaporation,​ percolation and runoff. This is a model option, and two variants can be selected for simulation.
 +
 +A fraction of the soil water is assumed in liquid phase for each soil layer (//​liqfrac//​). It is assumed equal in the different “pores”,​ i.e the same fraction frozen in water below wilting point, in water in field capacity and in water available for runoff. The fraction of liquid water for a soil layer is calculated from the temperature of the soil layer (//​soiltemp//,​ degree Celsius), soil water (//​water//​),​ porosity (//pw//) and two soil type dependent parameters (//​par<​sub>​logsatm</​sub>,​ par<​sub>​bcosby</​sub>//​): ​
 +
 +<m> liqfrac=1 , soiltemp>​0 </m>
 +
 +<m> liqfrac={pw/​water}*{({-334000*soiltemp}/​{9.81*(soiltemp+273.16)*10^{par_logsatm/​100}})^{-1/​par_bcosby}} , soiltemp<​0 </m>
 +
 +An alternative model for calculation of liquid fraction is available. In the alternate model each soillayer is divided into three equal thick temporary layers and a soil temperature for each of these are determined. Then the fraction of liquid phase is calculated for the temporary layers based on their soil temperatures. The average of the liqfrac for the temporary layers is then applied to the soil layer in the following calculations.
 +
 +Frozen soil affects evapotranspiration,​ percolation,​ soil layer runoff and tile runoff. Actual evapotranspiration is decreased by the fraction of frozen water in soil. Percolation is only acting on the liquid water of the soil. For runoff the frozen soil influences in two ways; one, the water available for runoff is reduced with the frozen fraction, and two the frozen water is assumed to expand.
 +
 +The expansion of ice decreases pore volume for liquid water. In HYPE this is assumed to affect soil layer runoff by increasing the pressure level in the soil layers. Since the ice is assumed equally divided between pores, this can actually force water to fill ep-pores and have some water available for runoff even though //​water<​wp+fc//​. Expansion is set with a general parameter, //​fzsexpand//,​ and could be up to 10% (i.e. parameter value 0.1).
  
 ==== Groundwater runoff ==== ==== Groundwater runoff ====
Line 104: Line 237:
            ​({soillayerdepth(k)} - streamdepth) </m>            ​({soillayerdepth(k)} - streamdepth) </m>
   ​   ​
 +If the frozen soil model is used, it influences in two ways; one, the water available for runoff is reduced to the liquid fraction, and two, the frozen water is assumed to expand possibly increasing the water level in the soil.
 +
 |{{:​start:​hype_model_description:​runofffromthird_layer.png?​400|}}| |{{:​start:​hype_model_description:​runofffromthird_layer.png?​400|}}|
 |Figure 6: Runoff from the third soil layer with a stream.| |Figure 6: Runoff from the third soil layer with a stream.|
Line 159: Line 294:
     runoffd = trrcs * deltah / soillayerthick(k) * ep(k)     runoffd = trrcs * deltah / soillayerthick(k) * ep(k)
     ​     ​
 +If the frozen soil model is used, it influences in two ways; one, the water available for runoff is reduced to the liquid fraction, and two, the frozen water is assumed to expand possibly increasing the water level in the soil. 
  
 |{{:​start:​hype_model_description:​runoffthorughdrainagepipes.png?​400|}}| |{{:​start:​hype_model_description:​runoffthorughdrainagepipes.png?​400|}}|
Line 168: Line 304:
 <m> infilt0 = rainfall + melt </​m> ​ <m> infilt0 = rainfall + melt </​m> ​
  
-If the sum is greater than the infiltration capacity, a part of the water will not infiltrate into the soil. The calculation of actual infiltration will consider effects of surface runoff, macropore flow and frozen soil. If the calculated infiltration is greater than zero, it is added to the upper layer soil water. This is done regardless of whether there is space in the soil pores there or not. If the water exceeds the water pore volume it is assumed to lie on the ground, but it still belongs to the upper soil layer, is totally mixed and thus has the same concentrations.+Part of the available ​water for infiltration (//​infilt0//​) may not infiltrate into the soil, due to limitations by the soil's infiltration capacity and other properties of the soil. The calculation of actual infiltration will consider effects of surface runoff, macropore flow and frozen soil. If the finally ​calculated infiltration is greater than zero, it is added to the upper layer soil water. This is done regardless of whether there is space in the soil pores there or not. If the water exceeds the water pore volume it is assumed to lie on the ground, but it still belongs to the upper soil layer, is totally mixed and thus has the same concentrations.
  
 HYPE has an option for alternative calculation order of soil processes during a timestep. As default it calculates and add infiltration (and let the soil water percolate) before runoff and evaporation is calculated and removed from the soil water. Alternatively runoff and evapotranspiration is calculated before infiltration and percolation to slow the response of soil runoff. These options is tested during development of the soil routine. HYPE has an option for alternative calculation order of soil processes during a timestep. As default it calculates and add infiltration (and let the soil water percolate) before runoff and evaporation is calculated and removed from the soil water. Alternatively runoff and evapotranspiration is calculated before infiltration and percolation to slow the response of soil runoff. These options is tested during development of the soil routine.
Line 175: Line 311:
    
  
-Surface runoff due to limitation in infiltration ​capacity ​and macropore flow are calculated from the sum of snow melt and rainfall, and are withdrawn from actual ​infiltration.+Surface runoff due to excess ​infiltration and macropore flow are calculated from the sum of snow melt and rainfall; the water available for infiltration ​(//​infilt0//​).
  
-If the sum is greater than the infiltration capacity (a threshold ​parameter, ​//​mactrinf//​)and the water in the upper soil layer is larger than another threshold (//mactrsm//) then macropore flow (//​macroflow//​) and surface runoff (//​infoverflow//​) may occur. ​These runoffs are caused by an inadequate infiltration capacity of the soil. Both these two flows are calculated as a percentage (//​macrate//​ respective //srrate//) of the infiltration above the infiltration capacity ​threshold;+If the current infiltration rate is greater than a threshold ​(//​mactrinf//, ​mm/timestep) then macropore flow (//​macroflow//​) and surface runoff (//​infoverflow//​) may occur. ​In addition, ​the water in the upper soil layer needs to be larger than another threshold (//​mactrsm//​) for surface runoff and macropore flow to occurThe two flows are calculated as a percentage (//​macrate//​ respective //srrate//) of the infiltration above the first threshold;
  
 <m> macroflow = macrate * (infilt0 - mactrinf) </m> <m> macroflow = macrate * (infilt0 - mactrinf) </m>
Line 195: Line 331:
 === Additional infiltration limitation by frozen soil === === Additional infiltration limitation by frozen soil ===
  
-An optional model for infiltration limitation and diversion of flow considers the effect of frozen soil. It is developed based on Zhao and Gray (1999). This model redirects all or part of the remaining infiltration,​ after calculating the diversion of surface runoff and macropore flow as described above. ​+An optional model for infiltration limitation and diversion of flow considers the effect of frozen soil. It is developed based on Zhao and Gray (1999). This model redirects all or part of the remaining infiltration,​ after calculating the diversion of surface runoff and macropore flow as described above. Note that this is not part of the frozen soil model option described above ([[:​start:​hype_model_description:​hype_land#​soil_temperature_and_frozen_soil|Soil temperature and frozen soil]]).
  
-If the minimum daily temperature is less than 10 degrees and the infiltration is larger than 5mm/d an icelens ​is created in the soil. In this case, and as long as the maximum daily temperature is below zero, the icelens ​redirect all infiltration to surface runoff and macropore flow.+If the minimum daily temperature is less than 10 degrees and the infiltration is larger than 5mm/d an ice lens is created in the soil. In this case, and as long as the maximum daily temperature is below zero, the ice lens redirect all infiltration to surface runoff and macropore flow.
  
 <m> redirect = infilt </m> <m> redirect = infilt </m>
  
-If there is no icelens, but the soil temperature of the upper soil layer (//​soiltemp//​) is below zero the infiltration is restricted but not blocked. The infiltration is restriced by a potential infiltration adapted from Zhao and Gray (1999). The potential infiltration (//​potinfilt//​) depends on a model parameter (//​bfroznsoil//​) that is soil type dependent. It also depend on the "​opportunity time" (//t0//), which is an estimate of the time with possible infiltration in hours;+If there is no ice lens, but the soil temperature of the upper soil layer (//​soiltemp//​) is below zero the infiltration is restricted but not blocked. The infiltration is restriced by a potential infiltration adapted from Zhao and Gray (1999). The potential infiltration (//​potinfilt//​) depends on a model parameter (//​bfroznsoil//​) that is soil type dependent. It also depend on the "​opportunity time" (//t0//), which is an estimate of the time with possible infiltration in hours;
  
  
Line 230: Line 366:
 ==== Percolation ==== ==== Percolation ====
  
-The flow of water downward through the soil layers is only done by water over field capacity (water in the effective porosity). A maximum percolation (mm/d) limits the flow between soil layers. For the upper soil layer it is //mperc1//, and for the second soil layer it is //mperc2//. These parameters are soil type dependent. Flow is also limited by how much water the lower layer can receive.+The flow of water downward through the soil layers is only possible for water over field capacity (water in the effective porosity ​part of the pore volume). For a frozen soil, percolation is only acting on the liquid water of the soil. A maximum percolation (mm/d) limits the flow between soil layers. For the upper soil layer it is //mperc1//, and for the second soil layer it is //mperc2//. These parameters are soil type dependent. Flow is also limited by how much water the lower layer can receive.
  
 Drainage from soil layer 1 to soil layer 2 is Drainage from soil layer 1 to soil layer 2 is
Line 279: Line 415:
 Thus water does not flow up into the layer above when macropore flow is larger than the empty space in the soil layer with the water table, as in the case of groundwater inflow. Instead the excess flow stays in the soil layer above before reaching the soil layer of the water table. This distinction is important for the substances following the macropore flow. Thus water does not flow up into the layer above when macropore flow is larger than the empty space in the soil layer with the water table, as in the case of groundwater inflow. Instead the excess flow stays in the soil layer above before reaching the soil layer of the water table. This distinction is important for the substances following the macropore flow.
  
-==== References ==== 
- 
-Zhao, L., and D.M. Gray 1999. Estimating snowmelt infiltration into frozen soils, Hydrological Processes, 13:​1827-1842. 
  
 ==== Links to file reference ==== ==== Links to file reference ====
  
 ^Section ^Symbol ^Parameter/​Data ^File ^ ^Section ^Symbol ^Parameter/​Data ^File ^
-|Groundwater runoff|//​wp,​ fc, ep//​|calculated from //​wcwp,​wcfc,​wcep,​wcwp1-3,​wcfc1-3,​wcep1-3//​|[[start:​hype_file_reference:​par.txt|par.txt]]|+|Soil temperature and frozen soil|//T//| |[[start:​hype_file_reference:​tobs.txt|Tobs.txt]]| 
 +|:::​|//​deeptemp//​|//​init2//​|[[start:​hype_file_reference:​par.txt|par.txt]]| 
 +|:::​|//​par<​sub>​logsatmp</​sub>,​ par<​sub>​bcosby</​sub>//​ |//​logsatmp,​ bcosby//​|:::​| 
 +|:::| |//deepmem, surfmem, depthrel, fzsexpand//​|:::​| 
 +|:::|//pw// | //​pw=wp+fc+ep//​ and calculated from //wcwp, wcfc, wcep, wcwp1-3, wcfc1-3, wcep1-3//​|:::​| 
 +|Groundwater runoff|//​wp,​ fc, ep//​|calculated from //wcwp, wcfc, wcep, wcwp1-3, wcfc1-3, wcep1-3//​|[[start:​hype_file_reference:​par.txt|par.txt]]|
 |:::| |//rrcs1, rrcs2, rrcs3, rrcscorr//​|:::​| |:::| |//rrcs1, rrcs2, rrcs3, rrcscorr//​|:::​|
 |:::| |//​soillayerdepth,​ streamdepth,​ tiledepth//​|[[start:​hype_file_reference:​geoclass.txt|GeoClass.txt]]| |:::| |//​soillayerdepth,​ streamdepth,​ tiledepth//​|[[start:​hype_file_reference:​geoclass.txt|GeoClass.txt]]|
Line 302: Line 440:
  
 ^ Modules (file) ^ Procedures ^ Section ^ ^ Modules (file) ^ Procedures ^ Section ^
-| [[http://​hype.sourceforge.net/​doxy-html/​namespacesoil__processes.html|soil_processes (soil_proc.f90)]] | initiate_soil_water | groundwater runoff |+| [[http://​hype.sourceforge.net/​doxy-html/​namespacesoil__processes.html|soil_processes (soil_proc.f90)]] ​| calculate_soiltemp | soil temperature and frozen soil | 
 +| ::: | calculate_weigthed_temperature | ::: | 
 +| ::: | calculate_unfrozen_soil_water| ::: | 
 +| ::: | calculate_three_soil_temperature| ::: | 
 +| ::: | calculate_liquid_water_fraction| ::: | 
 +| ::: | initiate_soil_water | groundwater runoff |
 | ::: |calculate_soil_runoff| ::: | | ::: |calculate_soil_runoff| ::: |
 | ::: |calculate_tile_drainage| runoff thorugh drainage pipes | | ::: |calculate_tile_drainage| runoff thorugh drainage pipes |
Line 309: Line 452:
 | ::: |add_macropore_flow | macropore flow | | ::: |add_macropore_flow | macropore flow |
 | [[http://​hype.sourceforge.net/​doxy-html/​namespacegeneral__water__concentration.html|general_water_concentration (general_wc.f90)]] | inflow_lowest_soillayer | upwelling | | [[http://​hype.sourceforge.net/​doxy-html/​namespacegeneral__water__concentration.html|general_water_concentration (general_wc.f90)]] | inflow_lowest_soillayer | upwelling |
- 
-===== Snow routines ===== 
- 
-==== Snow melt ==== 
-As default, snow melting occurs when the temperature is greater than the threshold temperature. The amount of snow (in mm) that melts (//melt//) depends on the snowmelt parameter //cmlt//, threshold temperature parameter //ttmp// and air temperature (//temp//). 
- 
-<m> melt = MIN(cmlt*(temp-ttmp),​snow) </m> 
- 
-The parameters //cmlt// and //ttmp// are related to land use.  ​ 
- 
-=== Snow melt models === 
-Alternative snowmelt models exist, but are not fully described here yet.  
- 
-== Model 0 (default) == 
-Temperature index model, without snow cover scaling 
- 
-<m> melt = MIN(cmlt*(temp-ttmp),​snow) </m> 
- 
-== Model 1 == 
-Temperature index model, with snow cover scaling 
- 
-<m> melt = MIN(cmlt*(temp-ttmp),​snow)*snowcover </m> 
- 
-== Model 2 == 
-Temperature and radiation index model, with snow cover scaling 
- 
- 
- 
- 
-==== Snow cover ==== 
- 
-Normally snow is assumed to cover the whole class if present. 
-Alternatively if parameters are given, snow cover fraction (//fsc//) within a class is calculated based on snow water equivalent (//snow//). The formulation is based on Samuelsson et al. (2006). During snow build up the snow cover increase as a function of snow water equivalent until a maximum value (general parameter //fscmax//) is reached. 
- 
-<m> fsc=fscmax*tanh(0.1*snow) </m> 
- 
-It is also possible to specify a minimum snow cover (general parameter //​fscmin//​). ​ 
-As soon as the fractional snow cover area reaches above a certain threshold (//​fscmax-fsclim//​),​ the snow cover area is determined by another relation that represents the redistribution of snow during winter. In this case snow cover is dependent on maximum snow pack during the winter (//​snowmax//​) and a snow cover redistribution factor that is dependent on variation in elevation (//​stdelev//,​ the standard deviation of elevation within the subbasin) and land use. 
- 
-<m> fsc= snow / {snowmax*fscdist} </m> 
- 
-<m> fscdist=fscdist0+fscdist1*stdelev </m> 
- 
-The snow distribution factor (//​fscdist//​) is determined by three land use dependent parameters; //​fscdist0//​ and //​fscdist1//​ in the linear equation and a maximum value (//​fscdistmax//​). Also in this case the snowcover is limited by the maximum and minimum value parameters. When the end of the snow season approaches (defined by general parameter //fsck1//) the //snowmax// variable is gradually decreased in order to be reset before next winter season: 
- 
-<m> snowmax=snowmax-(fsck1*snowmax-snow)*{1-e^{-fsckexp*ts}}/​{fsck1} </m> 
- 
-<m> {snow}/​{snowmax}<​fsck1 </m> 
- 
-The equation depends on two general parameters, //fsck1// and //​fsckexp//,​ where //fsckexp// depend on time (//ts// is seconds per timestep of simulation). 
- 
-For winters when the snow pack not reach the definition of large snow pack, the first equation is used during the whole season. ​ 
- 
-==== Soil temperature and snow depth ==== 
- 
-Soil layer temperature (//​soiltemp//​) is calculated as a balance of three temperatures;​ previous time step soil layer temperature,​ soil temperature at deep depth (//​deeptemp//​) and air temperature (//T//). The weight of the deep soil is constant (0.001), while the weight of the air temperature (//​weightair//​) depends on snow depth (//​snowdepth//​) and parameters. The soil memory (//​soilmem//​) depends on depth and land use, with parameters //surfmem// and //​depthrel//​. The memory of deep soil temperature is a general parameter (//​deepmem//​). 
- 
-<m> soilmem = {lbrace}{ 
- ​\matrix{2}{2} 
-    {deepmem {for\ deeptemp} 
-    surfmem*e^{-depthrel*depth(k)} {for\ soil\ layer\ k} }} </m> 
- 
-<m> weigth_{air}={1}/​{soilmem+10*snowdepth} </m> 
- 
-<m> deeptemp=weight_{air}*T+(1-weight_{air})*deeptemp </m> 
- 
-<m> soiltemp=weight_{air}*T+(1-weight_{air}-weight_{deep} )*soiltemp+weight_{deep}*deeptemp </m> 
- 
-In the default snow depth model, snow density (//​snowdens//​) depends on the snow's age in days (//​snowage//​). Snow density for fresh snow (//​sdnsnew//​) and the increase of density with snow age (//​snowdensdt//​) are general parameters (~ 0.1 and ~0.002). The snow's age increases by one every time step, but are weighted with age (0) for any new snow. 
- 
-<​m> ​ snowage = (snowage + 1)*oldsnow/​(oldsnow+snowfall) </m> 
- 
-<​m> ​ snowdens = sdnsnew + snowdensdt * snowage </m> 
- 
-<​m> ​ snowdepth = 0.1 * snow/​snowdens </m> 
- 
-In the alternative snow depth model, snow density is calculated by a compacting factor. Snow density for fresh snow (//​sdnsnew//​),​ maximum snow density (//​sdnsmax//​),​ compactation rate for low temperatures (//​sdnsrate//​) and additional compactation for high temperature (//​sdnsradd//​) are all general parameters. The change in snowdensity (//​densdt//​) due to compactation each time step is calculated as: 
- 
-<​m> ​ densdt = sdnsrate*(sdnsmax-snowdens) </m> 
- 
-for cold days (temperature is below threshold temperature parameter //ttmp//), and  
- 
-<​m> ​ densdt = (sdnsrate+sdnsradd)*(sdnsmax-snowdens) </m> 
- 
-for warm days. 
- 
-==== Links to file reference ==== 
- 
-^Section ^Symbol ^Parameter/​Data ^File ^ 
-|Snow melt|//​cmlt,​ ttmp//​|//​cmlt,​ ttmp//​|[[start:​hype_file_reference:​par.txt|par.txt]]| 
-|:::​|//​T//​|calculated from|[[start:​hype_file_reference:​tobs.txt|Tobs.txt]]| 
-|Snow cover|//​stdelev//​|//​elev_std//​|[[start:​hype_file_reference:​geodata.txt|GeoData.txt]]| 
-|:::​|//​fscmax,​ fscdist0, fscdist1, fsck1, fsckexp//​|//​fscmax,​ fscdist0, fscdist1, fsck1, fsckexp//​|[[start:​hype_file_reference:​par.txt|par.txt]]| 
-|:::| |//​fscmin,​fsclim,​fscdistmax//​|:::​| 
-|Soil temperature and snow depth|//​deeptemp//​|//​init2//​|[[start:​hype_file_reference:​par.txt|par.txt]]| 
-|:::| |//deepmem, surfmem, depthrel, sdnsnew, snowdensdt, sdnsmax, sdnsrate, sdnsradd, ttmp//|:::| 
- 
-==== Links to relevant procedures in the code ==== 
- 
-^ Modules (file) ^ Procedures ^ Section ^ 
-| [[http://​hype.sourceforge.net/​doxy-html/​namespacesoil__processes.html|soil_processes (soil_proc.f90)]]| calculate_snow | snow melt | 
-| ::: | calculate_snowmelt | ::: | 
-| ::: | snowalbedo_function | ::: | 
-| ::: | calculate_fractional_snowcover | snow cover | 
-| ::: | calculate_snowdepth | soil temperature and snow depth | 
-| ::: | calculate_soiltemp | ::: | 
-| ::: | calculate_weigthed_temperature | ::: | 
- 
  
  
Line 495: Line 530:
  
 ===== References ===== ===== References =====
 +
 +Lindström, G., K. Bishop, and M. Ottosson Löfvenius, 2002. Soil frost and runoff at Svartberget,​ northern Sweden - measurements and model analysis, Hydrological Processes, 16:​3379-3392.
  
 Samuelsson, P., S. Gollvik, and A. Ullerstig, 2006. The land-surface scheme of the Rossby Centre regional atmospheric climate model (RCA3), SMHI Report Meteorologi Nr 122, 25 pp.  Samuelsson, P., S. Gollvik, and A. Ullerstig, 2006. The land-surface scheme of the Rossby Centre regional atmospheric climate model (RCA3), SMHI Report Meteorologi Nr 122, 25 pp. 
  
 Radic, V. and Hock, R., 2010. Regional and global volumes of glaciers derived from statisti-cal upscaling of glacier inventory data, J. Geophys. Res., 115, F01010, doi:​10.1029/​2009JF001373. Radic, V. and Hock, R., 2010. Regional and global volumes of glaciers derived from statisti-cal upscaling of glacier inventory data, J. Geophys. Res., 115, F01010, doi:​10.1029/​2009JF001373.
 +
 +Zhao, L., and D.M. Gray 1999. Estimating snowmelt infiltration into frozen soils, Hydrological Processes, 13:​1827-1842.
 +
  
  
start/hype_model_description/hype_land.1553001593.txt.gz · Last modified: 2019/03/19 14:19 by cpers