USGS Home Page

USGS Open-File Report 02-362


Changes from the original module are written in bold text

NAME

snowcomp_prms.gmelt.f

NAME-OLD

snowcomp_prms.f

SPECIAL FEATURES

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

MODULE PROCESS (TYPE)

Snow

DEFINITION

Initiates development of a snowpack and simulates snow accumulation and depletion processes using an energy-budget approach.

KEYWORDS

CREATION DATE

March 2001

PARAMETERS DECLARED

albset_rna

Proportion of rain in a rain-snow precipitation event above which the snow albedo is not reset. Applied during the snowpack accumulation stage.

albset_rnm

Proportion of rain in a rain-snow precipitation event above which the snow albedo is not reset. Applied during the snowpack melt stage.

albset_sna

Minimum snowfall, in water equivalent, needed to reset snow albedo during the snowpack accumulation stage.

albset_snm

Minimum snowfall, in water equivalent, needed to reset snow albedo during the snowpack melt stage.

cecn_coef

Convection-condensation energy coefficient, varied monthly, in calories per ° C above 0.

den_init

Initial density of new-fallen snow, in gm/cm 3 .

den_max

Average maximum snowpack density, in gm/cm 3 .

emis_noppt

Average emissivity of air on days without precipitation.

freeh2o_cap

Free-water holding capacity of snowpack expressed as decimal percentage of total snowpack water equivalent.

hru_deplcrv

Index number for the snowpack areal depletion curve associated with an HRU.

groundmelt

Maximum amount of snowpack water equivalent that can melt at ground surface for each HRU, in inches per day.

melt_force

Julian date to force snowpack to spring snowmelt stage. Varies with region, depending on length of time that permanent snowpack exists.

melt_look

Julian date to start looking for spring snowmelt stage. Varies with region, depending on length of time that permanent snowpack exists.

potet_sublim

Proportion of potential evapotranspiration that is sublimated from the snow surface.

rad_trncf

Transmission coefficient for short-wave radiation through the winter vegetation canopy, as a decimal.

settle_const

Snowpack settlement time constant.

snarea_curve

Snow area depletion curve values, 11 values for each curve (0 to 100 percent, in 10-percent increments).

snarea_thresh

The maximum threshold snowpack water equivalent below which the snow-covered-area depletion curve is applied, in inches. Varies with elevation.

snowinfil_max

Maximum infiltration rate for snowmelt, in inches per day.

basin_area

Total basin area, in acres. [basin]

covden_sum

Summer vegetation cover density for the major vegetation type on each HRU, in decimal percentage. [intcp]

covden_win

Winter vegetation cover density for the major vegetation type on each HRU, in decimal percentage. [intcp]

cov_type

Vegetation cover type designation for an HRU: 0 = bare soil, 1 = grasses, 2 = shrubs, 3 = trees. [intcp]

hru_area

HRU area, in acres [basin]

tmax_allsnow

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]

tstorm_mo

Monthly indicator for prevalent storm type; 0 indicates frontal storms prevalent, 1 indicates convective storms prevalent during month. [precip]

VARIABLES DECLARED

albedo

Snow surface albedo on an HRU.

basin_pweqv

Average snowpack water equivalent for total basin area, in inches.

basin_snowcov

Average snow-covered area, expressed as decimal fraction of the total basin area.

basin_snowevap

Average evaporation and sublimation for total basin area, in inches.

basin_snowmelt

Average snowmelt for total basin area, in inches

gmelt_to_soil

Amount of the snowpack for an HRU that melted as groundmelt, in inches.

pk_den

Density of the snowpack on an HRU.

pk_temp

Temperature of the snowpack on an HRU.

pkwater_equiv

Snowpack water equivalent on an HRU, in inches.

pptmix_nopack

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.

snowcov_area

Snow-covered area on an HRU.

snow_evap

Evaporation and sublimation from snowpack on an HRU, in inches.

snowmelt

Snowmelt from snowpack on an HRU, in inches.

tcal

Net snowpack energy balance on an HRU.

EXTERNAL VARIABLES USED

basin_ppt

Average basin precipitation, in inches. [precip]

hru_ppt

Precipitation on HRU, rain and snow, in inches. [precip]

intcp_evap

Evaporation and sublimation loss from interception storage on an HRU, in inches. [intcp]

net_ppt

HRU net precipitation, the sum of net_rain and net_snow, in inches. [intcp]

net_rain

Rain on an HRU (hru_rain) minus interception, in inches. [intcp]

net_snow

Snow on an HRU (hru_snow) minus interception, in inches. [intcp]

newsnow

Indicator for new snow during time step. [precip]

potet

Potential evapotranspiration for each HRU, in inches. [potet]

pptmix

Indicator for mixed rain and snow during time step. [precip]

prmx

The proportion of rain in a mixture of rain and snow. [precip]

radpl_potsw

Potential solar radiation on the radiation plane. [solrad]

solrad

Measured solar radiation. [obs]

swrad

The computed solar radiation for each HRU. [solrad].

tavgc

Average HRU temperature, in ° C. [temp]

tmaxf

Maximum HRU temperature, in ° F. [temp]

tminf

Minimum HRU temperature, in ° F. [temp]

transp_on

Indicator for whether transpiration is occurring, 0=no, 1=yes. [potet]

DESCRIPTION

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.

 

Subroutine ppt_to_pack

 

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.

 

Subroutine snalbedo

 

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.

 

Subroutine snowbal

 

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

qcond = 2 multiplied by pk_den multiplied by cs multiplied by [square root of (keff divided by (pk_den multiplied by cs)) multiplied by (delta-t divided by pi)] multiplied by (ts minus pk_temp) ,

 

where

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),

Dt is the time interval(s),

p is pi, and

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

 

 

pk_den = pkwater_equiv divided by pk_depth ,

 

where

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):

 

[differential of function pk_depth(t) with respect to t] + [settle_const multipled by function pk_depth(t)] = [net_snow divided by den_init] + [(settle_const divided by den_max) multipled by pss]  

where

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_temp = minus pk_def divided by (pkwater_equiv multipled by 1.27) ,

 

where

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

cal = swn + lwn + cecsub ,

 

where

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.

Net short-wave radiation swn is computed by

 

swn = swrad multiplied by (1.0 minus albedo) multiplied by rad_trncf ,

 

where

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

the snowpack.

 

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

 

lwn = sky + can ,

where

sky = (1.0 minus covden_win) multiplied by [(emis multiplied by air) minus sno] , and

 

can = covden_win multiplied by (air minus sno) ,

 

where

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 = cec(mo) multiplied by temp ,

 

where

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.

 

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:

 

pmelt = cal divided by 203.2 ,

 

where

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.

 

Subroutine caloss

 

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

 

calnd = freeh2o multiplied by 203.2 .

 

Any loss available after freeh2o is frozen is accumulated as a heat deficit in variable pk_def, and a new temperature for the lower snowpack is computed using equation 4.

 

Subroutine snowevap

 

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

 

snow_evap = (potet_sublim multiplied by potet) minus (intcp_evap multiplied by cov),

 

where

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.

 

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.

REFERENCES

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.

DEVELOPER NAME AND ADDRESS

 

George H. Leavesley

U.S. Geological Survey, WRD

Box 25046, MS 412, DFC

Denver, CO 80225

 

Telephone: 303-236-5026

Fax: 303-236-5034

Email: george@usgs.gov

 

Modified by:

John J. Vaccaro

U.S. Geological Survey, WRD

1201 Pacific Ave., Suite 600

Tacoma, WA 98402

 

Telephone: 253-428-3600 x2620

Fax: 253-428-3614

Email: jvaccaro@usgs.gov

 


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

Bobby Approved Valid HTML 4.01!