[R] netCDF to TIFF
Daniel Steinberg
d.c.steinberg at gmail.com
Wed Jul 9 14:34:16 CEST 2008
Greetings R users!
I am working with the ENSEMBLE climate data (10 min resolution daily
temperatures images for all of Europe 1950-2006). The data comes
packaged in a single netCDF file. I would like to read the data in and
export a subset (2002-2006) as geotiffs (one image per day). So far, I
can successfully read in the data and view the images within an R
display window. However, I have yet to figure out how to export the
images as tiffs or geotiffs. Does anyone out there have experience
converting netCDF grids to TIFFs?
After reading the data into R, I have it stored in a dataframe with
longitude values as the column names, latitude values as the row
names, and temperatures as the actual values. Below is my code thus
far that I adapted from an example on the UCAR website.
Thanks in advance!
-Dan
--------------------------------------------------------------------------------------------------
# Set working directory and load library
setwd('C:/Users/steinber/Documents/DATA/ENSEMBLES/')
library(ncdf)
library(rgdal)
library(chron)
library(fields)
# Read netCDF file
tg.ncdf = open.ncdf('tg_0.25deg_CRU_version1.0.nc')
tg.ncdf
lonmat = get.var.ncdf(nc=tg.ncdf,varid="longitude") # reads entire matrix
latmat = get.var.ncdf(nc=tg.ncdf,varid="latitude") # ditto
timearr = get.var.ncdf(nc=tg.ncdf,varid="time") # reads entire time array
targettime = julian(x=1, d=1, y=2002, origin=c(month = 1, day = 1,
year = 1950))
inds = (1:dim(timearr))
tind = inds[targettime == timearr]
ndims = tg.ncdf$var[['data']]$ndims
varsize = tg.ncdf$var[['data']]$varsize
start = c( 1, 1, tind)
count = c(varsize[1], varsize[2], 1)
# Read in data slice:
tg.data = get.var.ncdf(nc=tg.ncdf,varid="data",start,count)
tg.data[tg.data == -9999] = NA
tg.data = tg.data/100.0
x = 1:nrow(tg.data) # R plots rows along X axis!
y = 1:ncol(tg.data)
image.plot(x,y,tg.data,col=tim.colors())
test.data = data.frame(tg.data, row.names = lonmat)
colnames(test.data) = latmat
More information about the R-help
mailing list