PRISM (Parameter-elevation Regressions on Independent Slopes Model) is an Oregon state website that provides users with datasets covering observed climate variables across the 48 conterminous United States. The recorded values are displayed as a 4km resolution grid across the previously mentioned map, with a value of the climate attribute for each 4km square.
The ADRIO requires a centroid to capture the climate data for a designated location. The centroid provides the ADRIO a precise reference point to extract the correct climate data from the PRISM raster grid, returning the value for those coordinates.
Data Collection
The data is collected by gathering climate observations from numerous monitoring networks and stations across the United States and utilize modeling techniques to create their spatial climate datasets with this data. The datasets are rasterized as a 4km resolution grid as daily, monthly, or yearly grids. For the purposes of this ADRIO, the daily granularity is used.
Geographic Coverage
PRISM covers the 48 contiguous United States, meaning it does not include Alaska or Hawaii within its typical datasets.
The provided data within the ADRIO covers from January 1st, 1981 up to the current day’s previous date. PRISM itself does have “Historical Past” data recorded, from 1895 through 1980 as yearly data, but these years are not supported for the ADRIO.
Attributes
For the climate variables, PRISM produces data on:
Precipitation (mm)
Minimum Temperature (°C)
Mean Temperature (°C)
Maximum Temperature (°C)
Minimum Vapor Pressure Deficit (hPa)
Maximum Vapor Pressure Deficit (hPa)
Mean Dew Point Temperature (°C)
On the PRISM website, users are able to generate raster, or pixelated, graphics of recorded observations on a daily, monthly, or annual basis for any of these climate attributes. PRISM provides readable datasets as zip files for the monthly and daily data, being one zip file per variable and for each whole month or day.
Additional Resources
For more information, visit the PRISM website homepage: https://prism.oregonstate.edu/
PRISM ADRIO
For a finer look at the raster data PRISM provides, the PRISM ADRIO template provides data within the daily granularity. For a basic example, a user may look at a single day with one climate variable. The “Precipitation” and the “Mean Dew Point Temperature” calls are quite simple as they exclude having a maximum or minimum, unlike the other calls. The below call uses the four provided counties and queries for June 1st, 2024.
Precipitation
from datetime import datefrom epymorph.kit import*from epymorph.adrio import acs5, us_tiger, prismfrom epymorph.data.ipm.no import No as NoIPMfrom epymorph.data.mm.no import No as NoMMcounty_scope = ( CountyScope .in_counties(["04013", "08041", "32003", "35001"], year=2020) )time_frame = TimeFrame.range(date(2024, 6, 1), date(2024, 6, 1))precip_adrio = prism.Precipitation()# a placeholder RUME so we can estimate the data requirementsrume = SingleStrataRUME.build( NoIPM(), NoMM(), init.NoInfection(), scope=county_scope, time_frame=time_frame, params={"population": acs5.Population(),"centroid": us_tiger.GeometricCentroid(),"precipitation": precip_adrio, },)rume.estimate_data()
ADRIO data usage estimation:
- epymorph.adrio.acs5.Population (no estimate available)
- epymorph.adrio.us_tiger.GeometricCentroid will be pulled from cache
- epymorph.adrio.prism.Precipitation will download 1.2 MB of new data
In total we will:
- Download 1.2 MB, taking a second (assuming 1.0 MB/s)
- Write 1.2 MB to disk cache (you have 17.9 GB free space)
The above query calls for a “date range” of June 1st, 2024 to that same day, simply calling for that single day. The ADRIO template here can call from the beginning of the month to the end of that same month (may test to see if it can cross months). Changing the second date called will grab the climate data in between each given date inclusively.
Minimum, Maximum, and Mean
All of the observed climate variables are recorded differently, with some attributes providing a mean, minimum, or maximum. Precipitation is the only variable that does not record any of these, with the measure only being provided as a total accumulation. Below is the list of calls that are available to a user, with “Precipitation” and “Dew Point Temperature” having a single call type, as there are no other options.
Precipitation
total accumulated
Dew Point Temperature
mean
Temperature
mean
minimum
maximum
Vapor Pressure Deficit
minimum
maximum
When calling “Temperature” or “Vapor Pressure Deficit”, specifying “Mean”, “Minimum”, or “Maximum” within the PRISM call will provide the desired information.
Temperature for 30 Days
In the below instance, it is specified to get the mean temperature for the whole month of April in 2021.
ADRIO data usage estimation:
- epymorph.adrio.prism.Temperature will download 51.0 MB of new data
- epymorph.adrio.acs5.Population (no estimate available)
- epymorph.adrio.us_tiger.GeometricCentroid will be pulled from cache
In total we will:
- Download 51.0 MB, taking 51 seconds (assuming 1.0 MB/s)
- Write 51.0 MB to disk cache (you have 17.9 GB free space)
with sim_messaging(live=False): temperature = mean_temp_adrio.with_context( scope=rume.scope, time_frame=rume.time_frame, params={"centroid": us_tiger.GeometricCentroid(), }, ).evaluate()