Scientific Investigations Report 2006–5318
U.S. GEOLOGICAL SURVEY
Scientific Investigations Report 2006–5318
snowpck_dpm.f
Calculate snow accumulation and ablation.
Calculates snow accumulation, snowmelt, and sublimation. Calculates change in snowpack for the day for each HRU. Reduces available potential evapotranspiration by amount of energy used to sublimate snow. Module from Bauer and Vaccaro (1987) with updates based on Anderson (1973, 1978).
July, 2004
strtsno
Initial snow-water equivalent for all HRUs, in inches.
sblrate
Daily snow sublimation rate, generally 0.001-0.02, in inches.
snmcoef
Snowmelt coefficient for temperature index method, in inches water/degrees Celsius/day.
uadj
Average wind function during rain-on-snow event, generally 0.001-0.2 with default of 0.15, in kilometers at height of 1 meter.
hru_elev
Mean elevation for each HRU, in feet. [basin]
cov_type
HRU cover type: land us type, from 1-31, no units. [basin]
hru_snow
Amount of snow-water-equivalent for a HRU, in inches.
hru_rain
Amount of rain for a HRU for a day, in inches.
hru_chngsno
Change in snowpack for the day for HRU, in inches.
hru_snomelt
Snowmelt for the day for HRU, in inches.
hru_sublmton
Amount of sublimation loss from snowpack for HRU, in inches.
hru_adjustpet
Potential evapotranspiration for the HRU that is adjusted (decreased) as used, in inches. [intrcp]
hru_thrufall
HRU thrufall for day based on either thrufall data or calculated value, in inches. [intrcp]
hru_ppt
Daily precipitation for each of the HRUs, in inches. [grid]
tavf
Daily average temperature for each of the HRUs, in degrees. [grid]
tminf
Daily minimum temperature for each of the HRUs, in degrees. [grid]
tmaxf
Daily maximum temperature for each of the HRUs, in degrees. [grid]
tmxyst
Yesterday’s daily maximum temperature for each HRU, in degrees. [grid]
The initialization part of the module first sets the snowpack (hru_snow) for each HRU based on a constant input parameter value--strtsno. The input value of the daily snowmelt coefficient is then multiplied by 0.25 in order to obtain a 6-hour coefficient because the snowmelt and sublimation calculations are done for 6-hour periods.
Snowpack calculations are completed based on several criteria. The first is that the land use/cover (cov_type) for a HRU is not water; if it is water, then calculations are skipped for this HRU. If there is thrufall for a HRU (hru_thrufall) then the average daily temperature is checked to determine if it is less than or equal to freezing. For the latter case, thrufall is add to the snow (hru_snow) and for the case of above freezing temperature, the thrufall is added to rain (hru_rain).
Snow melt calculations are based on Anderson (1973, 1978) and are completed for 6-hour periods, where the daily minimum and maximum temperatures are used to disaggregate to a 6-hour average.
The 6-hour snowmelt coefficient is allowed to vary from March 15 to October 15 based on Male and Granger (1978). This method accounts for increased energy input and is defined as,
kmcof = 0.0014 * (iy-75) + snmcoef
where,
jday is the julian day, calendar year,
iy = jday or if jday greater than 185, iy = 367 - jday,
snmcoef is the input snowmelt coefficient multiplied by 0.25, in inches water/degrees Celsius/day, and
kmcof is the snowmelt coefficient used in the 6-hour calculations.
Snowmelt is allowed to occur over each of the 4 periods and sublimation only occurs over the 2 middle periods (6 am to 6 pm). Sublimation for each period is accumulated for each HRU as,
hru_sublmton(i) = hru_sublmton(i) + subtmp
where,
nhru is the number of HRUs,
i is the index for the HRU, from 1 to nhru,
hru_ sublmton is the sublimation loss from the snowpack for each HRU, in inches,
subtmp is the 6-hour sublimation value, in inches, that is equal to sblrate*0.5, and
sblrate is the input daily sublimation rate, in inches.
Snowmelt during each 6-hour period is calculated as (Anderson, 1973),
hru_snomelt(i) = hru_snomelt(i) + snmlt
where,
nhru is the number of HRUs,
i is the index for the HRU, from 1 to nhru,
hru_ snomelt is the snowmelt loss from the snowpack for each HRU, in inches, and
snmelt is the 6-hour snowmelt value, in inches, that is calculated as
snmelt = kmcof * coef * ( t(i6hr) - 34.0 )
where,
i6hr is the index for each of the 6-hour periods,
snmelt as defined above, in inches,
t is the average calculated temperature for each 6-hour period, in degrees Fahrenheit,
coef converts from Fahrenheit to Celsius,
kmcof is as previously defined, and
34.0 is the temperature above which snowmelt occurs.
If there was rain for the day on a HRU (hru_rain) that was greater than 0.01 inches, then snowmelt (hru_snomelt) from rain-on-snow is calculated based on Anderson (1978)—updated from U.S. Army Corps of Engineers (1956),
snmelt = qn + qe + qh + rainmelt
where,
snmelt as defined above, in inches,
qn is the net energy component, in centimeters,
qe is the latent heat of vaporization component, in centimeters,
qh is the advective heat component, in centimeters, and
rainmelt is melt due to the energy of rain, in centimeters.
For the above calculations, the air temperature for each 6-hour period (t(i6hr)) is converted to degrees Celsius as tair, the rain on each HRU (hru_rain) is converted to centimeters over 6-hour periods as rain, the elevation of the HRU (hru_elev) is converted to hundreds of meters as elev, and then the atmospheric pressure is then calculated as,
pa = 1012.4 – 11.34 * elev + 0.00745 * elev2.4
where,
pa is the atmospheric pressure, and
other parameters defined as above.
The saturation vapor pressure is next calculated as, assuming 90 percent relative humidity,
esat = (2.749*108 * e (-4278.6/tair + 242.792)) * 0.9
where,
esat is the saturation vapor pressure, in millibars, and
other parameters as defined.
Tair is then converted to degrees Kelvin and raised to the fourth power as tak, and the energy components are calculated as,
qn = 3.67*10-9 * tak –20.4
qe = 8.5 * (esat – 6.11) * uadj
qh = 0.004845 * pa * uadj * tair
where all variables and parameters as defined previously and rainmelt is caculated as,
rainmelt = 0.0125 * rain * tair.
The snowmelt from rain-on-snow (snmelt) is then converted to inches of water, added to hru_snomelt, and subtracted from hru_snow. Using the new value of hru_snow, the change in snowpack (hru_chngsno) is calculated. Last, because snow sublimation may have occurred, the amount of available potential evapotranspiration for each HRU (hru_adjustpet) prior to the snowpack computations is reduced by the amount of sublimation, hru_sublmton.
Anderson, E.A., 1973, National Weather Service river forcast system – snow accumulation and abalation model: NOAA Technical Memorandum NWS HYDRO-17, Nov. 1973, U.S. Department of Commerce, Silver Springs, Md, 217 p.
Anderson, E.A., 1978, National Weather Service river forcast system – snow accumulation and ablation model: NOAA Technical Memorandum NWS, March 1978, Chapter II, part 2, U.S. Department of Commerce, Silver Springs, Md, unpaginated.
Bauer, H.H., and Vaccaro, J.J., 1987, Documentation of a deep percolation model for estimating ground-water recharge: U. S. Geological Survey Open-File Report 86-536, 180 p.
Male, D.H., and Granger, R.J., 1978, Energy mass fluxes at the snow surface in a prairie environment: in, S.C. Colbeck and M. Roy, eds., Modeling of snow cover runoff: U.S. Army Cold Regions Research and Engingeering Laboratory, Hanover, New Hampshire, p. 101-124.
U.S. Army Corps of Engineers, 1956, Snow hydrology: North Pacific Division, Portland, Oregon, PB-15660, June 1956, 437 p.
John J. Vaccaro and Henry H. Bauer
U.S. Geological Survey
Washington Water Science Center
934 Broadway, Suite 300
Tacoma, WA 98402
Modified by:
John J. Vaccaro
U.S. Geological Survey
Washington Water Science Center
934 Broadway, Suite 300
Tacoma, WA 98402
Telephone: 253-552-1620
Fax: 253-552-1581
Email: jvaccaro@usgs.gov