Doug Nychka, National Center for Atmospheric Research
Overview
The frequency of large amounts of rainfall is important for planning for
floods and effects how land and roadways should be developed. Also the
frequency of precipitation is important for agriculture and
vegetation depending whether it comes in a limited series of intense events
or is more evenly distributed over many days. One active area of research
is under a changed climate due to global warming how will extreme
precipitation events change.
This case study is restricted to the Front Range (FR) area of Colorado.
This scope is only to keep the datasets small; the methods and questions
are appropriate for all of North America. The FR is a combination of
relative flat plains with a transition to high mountains. Because of this
diversity it is useful study area to test methods. Also the mountain
canyons channel runoff and are particularly prone to dramatic floods due
to extreme rain events. The variable of interest here is the total amount
of precipitation in a 24 hour period during the "summer" ( April -
October) and is measured in hundreths of an inch ( e.g. 50 = .5 inch
of rain).
See the talk (PDF) for more details about this
case study.
Some Scientific Questions to Investigate.
Some basic meteorological questions that can be addreesed by these concern
the distribution of precipitation over space and time.
Question 1 has been studied as part of Dan Cooley's Ph D research (CU-Boulder): Bayesian Modeling of Extreme Precipitation Return Levels D. Cooley, P Naveau and D.Nychka (2005) (PDF) 2.7M
The Datasets:
The data sets havethree main parts: daily weather observations, regional climate model output and a gridded set of climate estimates based on observations.
For some guides to the orignal source of these data see: Primary sources for Front Range project. (These orginal sources may be a useful exercise for students learing how to work a variety of data formats.) However, the easiest way to get started are to download the data and a map as preformated binary files for the R statistical envirnment. FRprecip.Rbin (7.7M) and Frontrange.Rbin (1.7M)
The R binary workspace FRprecip.Rbin can be added to an R session byattach( "FRprecip.Rbin")This workspace contains the objects FRobs, Prism, RegCm ech of these R datasets is a list that has several components in different formats. Recall that a component of a list is accessed by the $ symbol. (E.g. FRobs$loc will refer to the matrix of the the station locations). An additional workspace Frontrange.Rbin is a GIS style map image in the object Frontrange. See the example below how to add to a plot. The workspace FRprecip.Rbin contains:
FRobs: A list of daily precipitation data from a network of 56 stations from the Front Range
List components for FRobs:
Prism : A list containing a climate "data product" that gives the estimated mean total summer precipitation for a grid of locations (PRISM from Chris Daly Oregon State Univ. is part of the methodology used to construct these fields)
List components for Prism:
List components for RegCM:
The list Frontrange has components:
The fields package will be useful for some of the plotting and analysis if it is not already installed.
library( fields) attach( "FRprecip.Rbin") attach( "Frontrange.Rbin") # station locations with map outlines US(,xlim=c( -115,-90)) points( FRobs$loc) # or ... image( Frontrange, col=Frontrange$col, xlab="", ylab="", axes=FALSE) points( FRobs$loc, col="red") # Station locations, Prism grid centers, and RegCm grid centers. # with Prism elevations plot( Prism$loc, pch=".", col="green") points( FRobs$loc, pch="o", col="red", cex=2) points( RegCM$loc, pch="+", col="blue", cex=2) contour( Prism$lon, Prism$lat, Prism$elev,add=TRUE) #fancy elevations with the station locations. # see help file for drape.plot and persp for details. drape.plot( Prism$lon, Prism$lat, Prism$elev,expand=.15, col=grey(seq(.3,1,,128)),border=NA )-> out.pm trans3d( FRobs$lon, FRobs$lat, FRobs$elev,out.pm)-> uv1 trans3d( FRobs$lon, FRobs$lat, FRobs$elev+1500,out.pm)-> uv2 segments( uv1$x, uv1$y, uv2$x, uv2$y, col="red",lwd=2) # another idea #text( uv2$x, uv2$y, 1:56,cex=1.5,col="red") # The PRISM mean total precip fields image.plot( Prism$lon, Prism$lat, Prism$Stot) # time series plot of first station of observed data # "h"== "high density plot" vertical lines form axis to point plot( FRobs$time[[1]],FRobs$precip[[1]], type="h") # RegCM first grid cell plot( RegCM$time,RegCM$precip[[1]], type="h") #find 95 quantile of precip hold<- lapply( FRobs$precip, quantile, p=.95) hold<- unlist( hold) quilt.plot(FRobs$loc, hold) # fit a smooth surface to these data Tps( FRobs$loc, hold)-> out predict.surface( out)-> look image.plot( look) points( FRobs$loc)