ReEDS: Hourly average state temperatures
Description
This record provides hourly modeled surface air temperature in degrees Celsius for the 48 states in the contiguous United States (U.S.) from 1998–2024, retrieved from the National Solar Radiation Database (NSRDB) and originally generated using the NASA MERRA-2 model. These data are used in the Regional Energy Deployment System (ReEDS) model.
Temporal resolution
Data are at hourly resolution in Coordinated Universal Time (UTC) and represent instantaneous values on the hour [°C]. The profiles span the 27 weather years from 1998–2024.
Spatial resolution
48 profiles are provided, one for each of the 48 states in the contiguous United States. Data in the NSRDB are provided on a roughly 4 km grid and the original temperature data from MERRA-2 are on a roughly 50 km grid; here, we provide the simple unweighted average over all NSRDB grid sites in each of the 48 states.
File structure
Data are saved as Hierarchical Data Format (HDF5) files. The following Python function can be used to read the .h5 file into a pandas dataframe:
import h5py
import pandas as pd
def read_temperatures(filepath):
"""
Read temperatures from `filepath` and return a pandas dataframe.
Usage:
`df = read_profile('/path/to/temperature_state.h5')`
"""
encoding = 'utf-8'
_temperatures = {}
with h5py.File(filepath, 'r') as f:
years = [int(i) for i in list(f) if i.isdigit()]
for year in years:
timeindex = pd.to_datetime(
pd.Series(f[f"index_{year}"][:])
.str.decode(encoding)
)
_temperatures[year] = pd.DataFrame(
index=timeindex,
columns=pd.Series(f['columns']).str.decode(encoding),
data=f[str(year)],
)
temperatures = (
pd.concat(_temperatures, names=('y','datetime')).rename_axis(columns='state')
.reset_index('y', drop=True)
.tz_localize('UTC')
)
return temperatures
Files
Files
(47.6 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:43f69d6216f209082417b558e74bd349
|
47.6 MB | Download |