Scientific Investigations Report 2006–5318

U.S. GEOLOGICAL SURVEY
Scientific Investigations Report 2006–5318

Back to Table of Contents

NAME

grid_met_dpm.f

MODULE PROCESS (TYPE)

Declares, initializes, and interpolates daily observed meteorological data.

DEFINITION

Declares, initializes, and then interpolates, for each day, the daily precipitation, maximum and minimum temperature, solar radiation, and throughfall from meteorological observation sites to each HRU (Bauer and Vaccaro, 1987; Bauer and Mastin, 1997).

KEYWORDS

CREATION DATE

July, 2004

PARAMETERS DECLARED

distp (calculated)

Inverse of square of distance between HRU and precipitation site, in square feet.

distt (calculated)

Inverse of square of distance between HRU and temperature site, in square feet.

distr (calculated)

Inverse of square of distance between HRU and solar radiation site, in square feet.

disttf (calculated)

Inverse of square of distance between HRU and throughfall collection site, in square feet.

elfac (calculated)

Elevation difference between HRU to each temperature site, divided by 1,000, no units.

cov_type

HRU cover type: land use type, from 1-31, no units. [basin]

hru_mon_ppt

Mean monthly precipitation for each HRU, in inches. [basin]

hru_ylat

HRU Y-location of centroid, (state plane or latitude decimal degrees), in feet. [basin]

hru_xlong

HRU X-location of centroid, (state plane or longitude decimal degrees), in feet. [basin]

hru_elev

Mean elevation for each HRU, in feet. [basin]

ratemn

Minimum monthly temperature lapse rate: for each month, in degrees/1000 ft. [weather]

ratemx

Maximum monthly temperature lapse rate: for each month, in degrees/1000 ft. [weather]

tsta_x

X for each temperature station (state plane or longitude decimal degrees), in feet. [weather]

tsta_y

Y for each temperature station (state plane or latitude decimal degrees), in feet. [weather]

tsta_elev

Temperature station elevation, in feet. [weather]

tnjulav

Average July minimum temperature for temperature station, in degrees Fahrenheit. [weather]

txjulav

Average July maximum temperature for temperature station, in degrees Fahrenheit. [weather]

psta_x

X for each precipitation station (state plane or longitude decimal degrees), in feet. [weather]

psta_y

Y for each precipitation station (state plane or latitude decimal degrees), in feet. [weather]

psta_mon_ppt

Average monthly precipitation at each station, in inches. [weather]

thrusta_x

X for each throughfall station (state plane or longitude decimal degrees), in feet. [weather]

thrusta_y

Y for each throughfall station (state plane or latitude decimal degrees), in feet. [weather]

covthru

Land use/cover for each throughfall station, no units. [weather]

solsta_x

X for each solar radiation station (state plane or longitude decimal degrees, in feet. [weather]

solsta_y

Y for each solar radiation station (state plane or latitude decimal degrees), in feet. [weather]

VARIABLES DECLARED

hru_solrad

Daily incoming solar radiation for each of the HRUs.

hru_ppt

Daily precipitation for each of the HRUs, in inches.

tmaxf

Daily maximum temperature for each of the HRUs, in degrees Fahrenheit.

tminf

Daily minimum temperature for each of the HRUs, in degrees Fahrenheit.

tavf

Daily average temperature for each of the HRUs, in degrees Fahrenheit.

tmxyst

Yesterdays daily maximum temperature for each HRU, in degrees Fahrenheit.

tffrc

Throughfall for a HRU interpolated from throughfall site, in fraction.

hru_tmxjuly

HRU mean maximum July temperature used for PET calculations, in degrees Fahrenheit.

hru_tmnjuly

HRU mean minimum July temperature used for PET calculations, in degrees Fahrenheit.

EXTERNAL VARIABLES USED

coefs

Daily crop coefficients for 6 parameters of the crop-type, units vary.  [crop]

obs_tmax    (declared as tmax in [obs] and called obs_tmax in this module)

Observed maximum temperature, in units. [obs]

obs_tmin    (declared as tmin in [obs] and called obs_tmin in this module)

Observed minimum temperature, in units. [obs]

obs_precip    (declared as precip in [obs] and called obs_precip in this module)

Observed precipitation at each rain gage, in inches.  [obs]

obs_solrad    (declared as solrad in [obs] and called obs_solrad in this module

Observed solar radiation, in langleys. [obs]

obs_thru    (declared as thrufall in [obs] and called obs_thru in this module)

Fraction of total precipitation at gage that is throughfall, in decimal fraction.  [obs]

DESCRIPTION

In the initialization part of the module several calculations are completed.  The variable tffrc, the interpolated percent of precipitation on a HRU that is throughfall, is set to -1.0.  This value is for case of either: no observed throughfall data or if there is data, the land use/cover for the throughfall site is not the same as a HRU’s land use/cover. 

The distance weighting functions for interpolation between each type of meteorlogical site and each HRU are then calculated (presented below).  Next, the elevation factor (elfac, elevation difference divided by 1,000 feet) for the later lapse rate computations is calculated as the difference between the elevation of a temperature site (tsta_elev) and the mean elevation of each HRU (hru_elev) divided by 1,000,

elfac(i) = (tsta_elev(iws) – hru_elev(i) ) / 1000

where

nhru is the number of HRUs,

ntemp is the number of temperature stations,

i is the index for the HRU, with i from 1 to nhru,

iws is the index of temperature stations, with iws from 1 through (ntemp-1),

hru_elev is the mean elevation for each HRU, in feet, and

tsta_elev is the elevation of each temperature measurement station.

In the last part of the initialization, the average July minimum (hru_tmnjuly) and maximum (hru_tmxjuly) temperature are interpolated to each HRU using the average July minimum and maximum temperatures (tnjulav and txjulav, respectively) for each temperature site and weighted by the inverse of the square of the distance between each site and each HRU (distt).

For each day of the simulation, the module first saves the maximum temperature for each HRU as yesterday’s maximum temperature (tmxyst).  Tmxyst is used in the snowpack module (snowpck_dpm.f).

Total daily precipitation depth (hru_ppt) received on an HRU is computed by (only if there is observed data for this site for this day: obs_precip is negative in data input if missing data)

hru_ppt(i) =  ((obs_precip(nsite) *fact) * distp(i,nsite))  /   distp(i,nsite)

where

nrain is the number of precipitation stations,

nhru is the number of HRUs,

nsite, i are indexes of precipitation stations and HRUs, with nsite from 1 through nrain and i from 1 through nhru,

fact = hru_mon_ppt(i) / psta_mon_ppt(nsite),

psta_mon_ppt is the mean monthly precipitation at a precipitation station,

hru_mon_ppt is the mean monthly precipitation for each HRU,

obs_precip is the observed precipitation at a measurement station corresponding to the HRU,

hru_ppt is the daily precipitation for a HRU, and

distp is the inverse of the square of the distance between the precipitation station and the centroid of the HRU.  Distp was calculated in the initialization part of the module as

(1. / sqrt((hru_xlong(j)- psta_x(i))**2 + (hru_ylat(j)- psta_y(i) )**2), where each HRU (j) distp is computed for each precipitation station (i).

The above method of interpolating precipitation from a weather site to a HRU using the inverse of the square of the distance between the site and an HRU is from Dean and Snyder (1977). The correction factor (fact) is based on the method of Bauer and Vaccaro (1987), which used mean annual values, and has been modified to use mean monthly values.

Measured daily maximum (obs_tmax) and minimum (obs_tmin) air temperatures are adjusted (interpolated) to account for differences in elevation between the climate stations and each HRU. Air temperature data and the adjustment parameters must be in the same units, degrees Farheneit.

The monthly basin average lapse rates for maximum (ratemx) and minimum (ratemn) temperature, in degrees Farheniet per 1,000 feet elevation change, are first multiplied by the calculated parameter elfac to create the equation parameters tmxdif and tmndif:

tmxdif = ratemx(imo) * elfac(i,nsite)

tmndif = ratemn(imo) * elfac(i,nsite)

where

ntemp is the number of temperature stations,

nhru is the number of HRUs,

nsite is an index for a temperature station, from 1 to ntemp,

i is the index for the HRU, from 1 to nhru,

elfac is the elevation factor defined above,

ratemx is the monthly (imo) basin-averge maximum air temperature lapse rate,

ratemn is the monthly (imo) basin-averge minimum air temperature lapse rate, and

tmxdif, tmndif are the lapse rate adjustments between weather site nsite and HRU i.

 The daily maximum and minimum temperature for an HRU are then interpolated from the weather sites using the lapse rate adjustments between a temperature site and the HRU and an inverse distance squared weighting of Dean and Snyder (1977) and Bauer and Vaccaro (1987).

The daily maximum and minimum temperature (shown below in units of F) for an HRU are thus calculated as (when observed data for a site)

tmaxf(i)  =  ((obs_tmax(nsite) + tmxdif) * distt(i,nsite))  /   distt(i,nsite), and

tminf(i)  = ((obs_tmin(nsite) + tmndif) * distt(i,nsite))  /   distt(i,nsite)

where

nsite is an index for a temperature station, from 1 to ntemp,

i is the index for the HRU, from 1 to nhru,

obs_tmax is the observed maximum temperature for station nsite,

obs_tmin is the observed minimum temperature for station nsite,

tmxdif is the HRU maximum temperature adjustment,

tmndif is the HRU minimum temperature adjustment,

tmaxf is the HRU daily maximum temperature (degrees Fareheit),

tminf is the HRU daily minimum temperature (degrees Fareheit), and

distt is the inverse of the square of the distance between a HRU and each weather station. Distt was calculated in the initialization part of the module as

(1. / sqrt((hru_xlong(j)- tsta_x(i))**2 + (hru_ylat(j)- tsta_y(i) )**2), where each HRU (j) distt is computed for each temperature station (i).

Next, the module computes an average maximum and minimum temperature (tavf) for each HRU based on the average of the cacluated values of tmaxf and tminf.

If there are daily values of observed solar radiation (obs_solrad), the daily value for each HRU (hru_solrad) is calculated as,

hru_solrad(i)   = (obs_solrad(nsite) * distr(i,nsite))  /   distr(i,nsite)

where

nsol is the number of solar radiation stations,

nsite is an index for a solar radiation station, from 1 to nsol,

i is the index for the HRU, from 1 to nhru,

hru_solar is the interpolated value of solar radiation for a HRU (note, if no observed data it is calculated in another module—extrad_dpm.f),

obs_solrad is the observed solar radiation at a measurement station, and

distr = is the inverse of the square of the distance between a HRU and each solar radiation site. Distr was calculated in the initialization part of the module  as

(1.   / sqrt((hru_xlong(j)- solsta_x(i))**2 + (hru_ylat(j)- solsta_y(i) )**2), where each HRU (j) distr is computed for each solar radiation station (i).

If there are daily values of observed throughfall (obs_thru), the daily value for each HRU (tffrc) that has the same land use as the throughfall site is calculated as (Bauer and Mastin, 1997),

tffrc(i)   =  (obs_thru(nsite)  * disttf(i,nsite))  /   disttf(i,nsite)

where

nthru is the number of throughfall stations,

nsite is an index for a solar radiation station, from 1 to nthru,

i is the index for the HRU, from 1 to nhru,

tffrc is the daily throughfall at a HRU as a fraction of the precipitation at the HRU,

obs_thru is the observed throughfall at a measurement station, and

disttf  is the inverse of the square of the distance between a HRU and each solar radiation site.  Disttf was calculated in the initialization part of the module  as

(1. / sqrt((hru_xlong(j)- thrusta_x(i))**2 + (hru_ylat(i)- thrusta_y(j) )**2), where each HRU (j) disttf is computed for each throughfall station (i).

The value of tffrc is set to -1.0 for HRUs that do not have the same land use/cover as the throughfall measuring location.  For this case, interception will need to be calculated to obtain values of throughfall.  These calculations are done as part of module intercept_dpm.f.

REFERENCES

Bauer, H.H., and Mastin, M.C., 1997, Recharge from precipitation in three small glacial-till mantled catchments in the Puget Sound Lowlands: U. S. Geological Survey Water-Resources Investigations Report 96-4219, 119 p.

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.

Dean, J.D., and Snyder, W.M., 1977, Temporally and areally distributed rainfall: Journal of Irrigation Division, American Society of Civil Engineers, TA 103, No. IR2, p. 221-224.

Leavesley, G.H., Lichty, R.W., Troutman, B.M., and Saindon, L.G., 1983, Precipitation-runoff modeling system--User's manual: U. S. Geological Survey Water-Resources Investigations Report 83-4238, 207 p.

DEVELOPER NAME AND ADDRESS

John J. Vaccaro and Henry H. Bauer

U.S. Geological Survey, WRD

1201 Pacific Ave., Suite 600

Tacoma, WA 98402

Modified by:

John J. Vaccaro

1201 Pacific Ave., Suite 600

Tacoma, WA 98402

Telephone: 253-428-3600 x2620

Fax: 253-428-3614

Email: jvaccaro@usgs.gov

Back to Table of Contents

AccessibilityFOIAPrivacyPolicies and Notices

Take Pride in America home page.FirstGov buttonU.S. Department of the Interior | U.S. Geological Survey
Persistent URL: https://pubs.water.usgs.gov/sir20065318
Page Contact Information: Publications Team
Page Last Modified: Thursday, 01-Dec-2016 19:32:03 EST