USGS Open-File Report 02-362
Changes from the original module are written in bold text
The snowpack groundmelt component is calculated as a variable for each HRU that is then passed to smbal_prms_wtrgmelt.f. This module was modified to accept this new variable as an additional supply of water to the soil zone. This module would replace the PRMS module smbal_prms.f
Initiates development of a snowpack and simulates snow accumulation and depletion processes using an energy-budget approach.
Proportion of rain in a rain-snow precipitation event above which the snow albedo is not reset. Applied during the snowpack accumulation stage.
Proportion of rain in a rain-snow precipitation event above which the snow albedo is not reset. Applied during the snowpack melt stage.
Minimum snowfall, in water equivalent, needed to reset snow albedo during the snowpack accumulation stage.
Minimum snowfall, in water equivalent, needed to reset snow albedo during the snowpack melt stage.
Convection-condensation energy coefficient, varied monthly, in calories per ° C above 0.
Initial density of new-fallen snow, in gm/cm 3 .
Average maximum snowpack density, in gm/cm 3 .
Average emissivity of air on days without precipitation.
Free-water holding capacity of snowpack expressed as decimal percentage of total snowpack water equivalent.
Index number for the snowpack areal depletion curve associated with an HRU.
Maximum amount of snowpack water equivalent that can melt at ground surface for each HRU, in inches per day.
Julian date to force snowpack to spring snowmelt stage. Varies with region, depending on length of time that permanent snowpack exists.
Julian date to start looking for spring snowmelt stage. Varies with region, depending on length of time that permanent snowpack exists.
Proportion of potential evapotranspiration that is sublimated from the snow surface.
Transmission coefficient for short-wave radiation through the winter vegetation canopy, as a decimal.
Snowpack settlement time constant.
Snow area depletion curve values, 11 values for each curve (0 to 100 percent, in 10-percent increments).
The maximum threshold snowpack water equivalent below which the snow-covered-area depletion curve is applied, in inches. Varies with elevation.
Maximum infiltration rate for snowmelt, in inches per day.
Total basin area, in acres. [basin]
Summer vegetation cover density for the major vegetation type on each HRU, in decimal percentage. [intcp]
Winter vegetation cover density for the major vegetation type on each HRU, in decimal percentage. [intcp]
Vegetation cover type designation for an HRU: 0 = bare soil, 1 = grasses, 2 = shrubs, 3 = trees. [intcp]
If HRU maximum temperature is less than or equal to this value, precipitation is assumed to be snow, by month, in ° C or ° F, depending on units of data. [precip]
Monthly indicator for prevalent storm type; 0 indicates frontal storms prevalent, 1 indicates convective storms prevalent during month. [precip]
Snow surface albedo on an HRU.
Average snowpack water equivalent for total basin area, in inches.
Average snow-covered area, expressed as decimal fraction of the total basin area.
Average evaporation and sublimation for total basin area, in inches.
Average snowmelt for total basin area, in inches
Amount of the snowpack for an HRU that melted as groundmelt, in inches.
Density of the snowpack on an HRU.
Temperature of the snowpack on an HRU.
Snowpack water equivalent on an HRU, in inches.
Indicator that a rain-snow mix event has occurred with no snowpack present on an HRU: 0 = no mixed rain and snow, 1 = mixed rain and snow.
Evaporation and sublimation from snowpack on an HRU, in inches.
Average basin precipitation, in inches. [precip]
Precipitation on HRU, rain and snow, in inches. [precip]
Evaporation and sublimation loss from interception storage on an HRU, in inches. [intcp]
HRU net precipitation, the sum of net_rain and net_snow, in inches. [intcp]
Rain on an HRU (hru_rain) minus interception, in inches. [intcp]
Snow on an HRU (hru_snow) minus interception, in inches. [intcp]
Indicator for new snow during time step. [precip]
Potential evapotranspiration for each HRU, in inches. [potet]
Indicator for mixed rain and snow during time step. [precip]
The proportion of rain in a mixture of rain and snow. [precip]
Potential solar radiation on the radiation plane. [solrad]
Measured solar radiation. [obs]
The computed solar radiation for each HRU. [solrad].
Average HRU temperature, in ° C. [temp]
Maximum HRU temperature, in ° F. [temp]
Minimum HRU temperature, in ° F. [temp]
Indicator for whether transpiration is occurring, 0=no, 1=yes. [potet]
The snow module simulates the initiation, accumulation, and depletion of a snowpack on each HRU. A snowpack is maintained and modified both on a water-equivalent basis and as a dynamic heat reservoir. A snowpack water balance is computed daily, and an energy balance is computed twice each day for two 12-hour periods (designated day and night).
The conceptual model for the snowpack system and its energy relationships is described by Obled and Rosse (1977). The snowpack is assumed to be a two-layered system. The surface layer consists of the upper 3 to 5 centimeters of the snowpack, and the lower layer is the remaining snowpack. Heat transfer between the surface layer and the lower layer occurs by conduction when the temperature of the surface layer ( ts ) is less than 0 ° C (Celsius). When ts equals 0 ° C, heat transfer occurs as conduction when the net energy balance at the air-snow interface is negative, and as mass transfer by surface melting when the net energy balance is positive. Heat transfer from precipitation occurs as a mass-transfer process. Conduction of heat across the soil-snow interface is assumed to be zero, since it is negligible compared to the energy exchange at the air-snow interface.
The snow accumulation and melt processes are simulated using one main routine and a set of seven subroutines. Each subroutine addresses one or more snow related processes and is described below.
The groundmelt component is calculated in the main routine, directly after the subroutine ppt_to_pack (see below). If an HRU has the groundmelt parameter (groundmelt) set as greater than 0.0, the current snowpack water equivalent for the HRU is reduced by the groundmelt amount or by a lesser amount, depending on the current snowpack water equivalent value. The calculated groundmelt is then stored in a new variable (gmelt_to_soil), and checks are made to determine if the pack ice and free-water-holding capacity also need to be adjusted for the snowpack loss to groundmelt.
This subroutine initiates the development of a new snowpack if one does not exist during a time step that receives precipitation input in the form of snow. If a snowpack already exists, the precipitation received during that time step is added to the snowpack.
If precipitation is in the form of rain, it is added to the snowpack and the heat content of the rain is used to modify the temperature and free-water content of the snowpack. If the snowpack temperature is less than 0 ° C, the heat content of the rain is used to warm the snowpack. If the heat content is not sufficient to warm the snowpack to 0 ° C, part or all of the rain is frozen, releasing 80 calories per gram of water frozen, to further warm the snowpack. If the snowpack reaches 0 ° C, then any remaining liquid water is used to satisfy the free-water-holding capacity of the snowpack. Liquid water available in excess of the free-water-holding capacity leaves the bottom of the snowpack as snowmelt.
If the precipitation is in the form of snow, it is added to the snowpack, and its heat content is used to recompute the snowpack temperature and cold content. If free water is available, part or all is frozen using the cold content of the new snow.
If the precipitation occurs as a mixture of rain and snow, rain is assumed to occur first. If no snowpack existed prior to the storm, the rain amount is input to the soil module, and the snow amount is used to initiate a new snowpack. If a snowpack existed, rain and snow are added to the snowpack in sequential order, and snowpack conditions are computed as described above.
This subroutine computes the albedo of the snowpack surface. For computational purposes, the snowpack is considered to be in either an accumulation phase or a melt phase. A new snowpack begins in the accumulation phase and continues in this phase until the temperature of the lower layer is 0 ° C for 5 consecutive days or the Julian date exceeds a forcing date (melt_force). At this point, the snowpack shifts to the melt phase. The date to begin checking for the start of the melt phase (melt_look) and melt_force are user-specified.
Snow surface albedo (albedo) is computed as a function of the snowpack phase and the number of days since the last snowfall (slst). A separate albedo-slst relationship (U.S. Army, 1956) is used for each phase. The albedo of new snow decays daily according to the albedo-slst relationship in effect at the time of the snowfall. slst is reset to zero when new snow water equivalent equals or exceeds the parameter albset_sna during the accumulation phase, or albset_snm during the melt phase. For precipitation that is a mixture of rain and snow, slst is not reset if the percentage of rain in the mixture (prmx) is greater than or equal to the parameter albset_rna for the accumulation phase or albset_rnm for the melt phase.
This subroutine computes the energy balance for a snowpack for a 12 hour period. It is called twice from the run function using the variable niteda to define the day and night periods.
The temperature of the surface layer (ts) for the daylight period is computed as the mean of the maximum and mean-daily air temperature for an HRU. For the night period, it is computed as the mean of the minimum and mean-daily air temperature for a HRU. Snow surface temperature equals 0 ° C when these means exceed 0 ° C. When ts is less than 0 ° C, the mean air temperature for that 12-hour period is assumed to integrate the effects of the radiation, latent heat, sensible heat, and diffusion processes expressed in the complete equation for the surface temperature. See Anderson (1968) for a complete discussion of the equation.
The conduction of heat between the snow surface and the lower layer of the snowpack (qcond) is computed by
pk_den is snowpack density (g/cm3),
cs is the specific heat of ice in calories per gram per ° C (cal/g/ ° C),
keff is the effective thermal conductivity of the snowpack (cal/s/cm/ ° C),
pk_temp is the temperature of the lower layer of the snowpack ( ° C).
keff is assumed equal to 0.0077 x pk_den 2 (Anderson, 1968). pk_den is computed by
pkwater_equiv is snowpack water equivalent, in inches, and
pk_depth is snowpack depth, in inches.
pk_depth is computed using a finite difference scheme to solve the equation (Riley, and others, 1973):
settle_const is a settlement-time constant,
net_snow is net daily snowfall, in inches of water equivalent,
den_init is initial density of new-fallen snow,
den_max is the assumed average maximum snowpack density,
t is time in days (t=0 at date of snowpack initiation), and
pss is accumulated sum of net_snow from time of snowpack initiation, in inches of water equivalent.
The temperature of the lower layer of the snowpack, pk_temp, is recomputed each 12-hour period by:
pk_def is the number of calories of heat required to bring the lower layer to an isothermal state at 0 ° C, and
The constant 1.27 is the product of the specific heat of ice (0.5 calories/ gram/ ° C) and the conversion factor for inches to centimeters (2.54).
When the temperature of the surface layer equals 0 ° C, an energy balance at the air-snow interface is computed. For each 12-hour period the energy balance, cal, in calories is computed by
swn is net short-wave radiation, in calories,
lwn is net long-wave radiation, in calories, and
cecsub is an approximation of the convection-condensation energy terms, in calories.
An additional energy term for the heat content of precipitation (calpr) is computed in subroutine ppt_to_pack and is added to the snowpack before cal is computed.
swrad is the computed short-wave solar radiation received, in langleys,
albedo is the albedo of the snowpack surface, and
rad_trncf is the transmission coefficient for the vegetation canopy over
swrad for each HRU is obtained as an external variable. Albedo is computed in subroutine snalbedo. rad_trncf is estimated using a winter forest cover density (covden_win)-rad_trncf relationship for the vegetation canopy over the snowpack. Miller (1959) developed a covden_win-rad_trncf relationship for several species of pine, and Vézina and Péch (1964) developed a similar relationship for both jack pine and balsam fir. Both pine relationships are shown in figure 2, with an average of the two curves that has given reasonable results in model applications (Leavesley and Striffler, 1978).
Long-wave net radiation ( l wn) has two components: the long-wave exchange between the air and snowpack surface (sky) and the long-wave exchange between the vegetation canopy and the snowpack surface (can). lwn is computed by
covden_win is the winter cover density of the predominant vegetation above the snowpack,
emis is the emissivity of air,
air is the long-wave energy emitted from a perfect black body at the average air temperature for the 12-hour period, in calories, and
sno is the long-wave energy emitted from the snowpack surface at the surface temperature (ts) for the 12-hour period, in calories.
air and sno are computed using the Stefan-Boltzmann law. The temperature used for air is the average of the daily-minimum and daily-mean air temperatures for the night period, and the average of the daily-maximum and daily-mean air temperature for the daylight period. The snowpack and the vegetation canopy are assumed to radiate as perfect black bodies and, thus, have an emissivity of 1.0. Emissivity of the air (emis) is a function of its moisture content and ranges between 0.757 and 1.0 (U.S. Army, 1956). For days without precipitation, emis is user specified as emis_noppt. For days with precipitation, emis is computed separately for the day and night periods as a function of storm type and observed solar radiation. A period of months during which storms are predominantly convective in origin can be user specified by setting the tstorm_mo parameter to 1 for each month in the period. Storms occurring outside these months are assumed to be frontal in origin, with an associated emis of 1.0 for both day and night periods. During the convective storm period, days with precipitation are assumed to have an emis of 0.85 for the night period. For the associated day period, emis is assumed to vary between emis_noppt and 1.0 as a function of the ratio of observed to potential solar radiation received on a horizontal surface. If solar radiation is computed from temperature data, the day period emis is assumed to be 1.0.
The full equation for computing latent and sensible heat flux includes terms for temperature, vapor pressure, wind speed, and diffusivities of heat and vapor (U.S. Army, 1956). However, wind and vapor pressure or humidity data generally are not available. Therefore, the full equation is simplified to a temperature index form to estimate latent and sensible heat terms. It is computed by
cecsub is an estimate of latent and sensible heat,
cec is a parameter for month mo, and
temp is the mean air temperature for the 12-hour period, in ° C.
To provide a measure of the influence of wind in the full equation for cecsub, areas of forest cover are assumed to receive only one-half of cecsub computed by equation 10. Vapor pressure influences are considered by computing cecsub only on days of rainfall or when the ratio of observed to potential short-wave solar radiation is less than or equal to 0.33.
When the 12-hour energy balance (cal) is negative, heat flow occurs by conduction only. The amount and direction of heat flow is computed from equation 1. Snowpack water equivalent and energy conditions are recomputed by subroutine calin when the heat flow is from the surface to the pack, and by subroutine caloss when the heat flow is from the pack to the surface. When the 12-hour energy balance is positive, this energy is assumed to melt snow in the surface layer. Snowmelt transports heat into the snowpack by mass transfer. The amount of snowmelt and subsequent thermal and water equivalent changes in the snowpack are computed in subroutine calin.
This subroutine computes the change in snowpack thermal and water equivalent conditions resulting from a net gain of energy (cal is positive). If pk_temp is less than 0 ° C, (that is, pk_def is greater than zero), then cal is first used to satisfy pk_def. If cal is less than pk_def, pk_def is reduced by cal and a new pk_temp is computed using equation 4. When pk_def reaches zero, any remaining calories in cal are used to melt snow. Snowmelt (pmelt) is computed by:
203.2 is the number of calories required to melt 1 inch of water- equivalent ice at 0 ° C.
pkwater_equiv is the sum of two components, ice (pk_ice) and liquid water (freeh2o). When the temperature of the lower snowpack reaches 0 ° C, snowmelt is removed from pk_ice and is first used to satisfy the free-water-holding capacity (freeh2o_cap) of the snowpack. Freeh2o_cap ranges from 2 to 5 percent of the water equivalent of the snowpack existing in the ice phase (U.S. Army, 1956; Leaf, 1966) and is user specified. Once freeh2o_cap is satisfied, the remaining snowmelt moves out of the snowpack and becomes available for infiltration and surface runoff.
The volume of snowmelt is computed as a function of the snow-covered area of an HRU. pmelt is multiplied times a value of snow-covered area (snowcov_area) that is computed in subroutine snowcov.
This subroutine computes the change in snowpack thermal and water equivalent conditions resulting from a net loss of energy (cal is negative). When pk_temp is warmer than ts, heat is conducted from the lower snowpack to the snowpack surface. The amount of heat conducted to the surface is computed using equation 1. If pk_temp is 0 ∞C, the heat loss from the lower snowpack first causes any freeh2o held in the pack to freeze. The calorie loss (calnd) required to freeze the freeh2o is computed by
Evaporation and sublimation from the snow surface are assumed to occur only when there is no transpiration occurring from vegetation above the snowpack. The loss from the snow surface (snow_evap) is computed daily as a percentage of the computed potential evapotranspiration (potet). The equation used is
potet_sublim is a loss coefficient,
intcp_evap is the evaporation and sublimation loss from interception, in inches, and
cov is the vegetation cover density for the date of computation.
If snow_evap is less than zero, then snow_evap is assumed to be zero. The volume of snow_evap is also computed as a function of the snow-covered area of an HRU. snow_evap is multiplied times a value of snow-covered area (snowcov_area) that is computed in subroutine snowcov.
This subroutine computes the snow-covered area of an HRU using an approach developed by Anderson (1973). Snow-covered area is computed using a user-defined areal depletion curve that is a plot of the areal extent of snow cover and the ratio of pkwater_equiv to an index value, ai. ai is the smaller of either the maximum of pkwater_equiv since snow began to accumulate or the parameter snarea_thresh. snarea_thresh is the value of pkwater_equiv above which an HRU is 100-percent snow covered.
Up to 10 separate areal depletion curves may be defined. Each curve is input as a set of 11 areal coverage values, one for each ai value ranging from 0.0 to 1.0 in increments of 0.1. An ai value is computed daily, and a corresponding areal coverage value, snowcov_area, is computed by interpolation from the areal depletion curve defined for each HRU.
If new snow occurs during periods when ai is less than 1.0, snowcov_area is increased to 100 percent and remains at 100 percent until 25 percent of the new snow melts. When 25 percent has melted, snowcov_area is then decreased linearly in successive time steps as a function of the ratio of meltwater equivalent to 75 percent of the water equivalent in the new snow.
Anderson, E.A., 1968, Development and testing of snowpack energy balance equations: Water Resources Research, v. 4, no. 1, p. 19-38.
Anderson, E.A., 1973, National Weather Service River Forecast System - Snow accumulation and ablation model: U.S. Department of Commerce, NOAA Technical Memorandum NWS Hydro-17, 217 p.
Leaf, C.F., 1966, Free water content of snowpack in subalpine areas, in Western Snow Conference, Seattle, Wash., 1966, Proceedings: Seattle, Wash., v. 34, p.17-24.
Leavesley, G.H., and Striffler, W.D., 1978, A mountain watershed simulation model, in Colbeck, S.C., and Ray, M., eds., Modeling of snow cover runoff, Hanover, New Hampshire, 1978, Proceedings: U.S. Army Corps of Engineers, Cold Regions Engineering and Research Laboratory, p. 379-386.
Miller, D.H., 1959, Transmission of insolation through pine forest canopy as it effects the melting of snow: Mitteilungen der Schweizerischen Anstalt für das forstliche Versuchwesen, Versuchsw. Mitt., v. 35, p35-79.
Obled, Charles, and Rosse, B.B., 1977, Mathematical models of a melting snowpack at an index plot: Journal of Hydrology, no. 32, p. 139-163.
Riley, J.P., Israelsen, E.K., and Eggleston, K.O., 1973, Some approaches to snowmelt prediction, in The role of snow and ice in hydrology; Proceedings of Banff Symposium, September 1972: International Association of Hydrological Sciences Publication 107, p. 956-971.
U.S. Army, 1956, Snow hydrology: Portland, Oreg., U.S. Army Corps of Engineers, North Pacific Division, 437 p.
Vézina, P.E., and Péch, G.Y., 1964, Solar radiation beneath conifer canopies in relation to crown closure: Forest Science, v. 10, no. 4, p. 443-451.
Willen, D.W., Schumway, C.A., and Reid, J.E., 1971, Simulation of daily snow water equivalent and melt, in Western Snow Conference, Billings, Mont., 1971, Proceedings: Billings, Mont., v. 39, p. 1-8.
URL for this page is http://pubsdata.usgs.gov/pubs/of/2002/ofr02362/htdocs/snowcomp/snowcomp_prms_gmelt.htm
Page contact: Mark Mastin (mcmastin@usgs.gov),
253-428-3600, ext. 2609
Last modified: Friday, 11-Jan-2013 03:19:54 EST