retrieve.nc {clim.pact} | R Documentation

## Retrieve data from a netCDF file

### Description

Reads a netCDF file and picks out vectors that look like lngitude, latitude and time. Returns the first 3-D field in the file. See also `cdfextract` (large data files).

This version uses `cdfcont` to obtain vital meta data for handling the data in the netCDF file and constructing a 'field' object.

This routine unfortunately only currently works on Linux platforms since the `ncdf`-package is only available for Linux systems.

### Usage

    retrieve.nc(filename=file.path("data","ncep_t2m.nc"),v.nam="AUTO",
                            l.scale=TRUE,greenwich=TRUE,
                            x.nam="lon",y.nam="lat",z.nam="lev",t.nam="tim",
                            x.rng=NULL,y.rng=NULL,t.rng=NULL,force.chron=TRUE)

### Arguments

`filename` | name of netCDF file.
`v.nam` | name of variable. "AUTO" -> smart search.
`l.scale` | 'TRUE' uses scaling.factor and add.offset.
`greenwich` | 'TRUE' centres maps on Greenwhich meridian (0 deg E).
`x.nam` | Name of x-dimension.
`y.nam` | Name of y-dimension.
`z.nam` | Name of z-dimension.
`t.nam` | Name of time-axis.
`x.rng` | Region to extract.
`y.rng` | Region to extract.
`t.rng` | Time interval to extract.
`force.chron` | Check for monotonic chronological order (no jumping back and forth in time).

### Value

A "field.object" list:

dat | a 3-D matrix with the data.
lon | a vector of longitudes.
lat | a vector of latitudes.
tim | a vector of times from time.0 (see attributes).
lev | a vector of vertical levels (NULL for single level).
v.name | variable name.
id.x | ID labels for the spatial grid (for mixed fields, see `mixFields`).
id.t | ID labels for the time axis (for combined fields).
yy | a vector of years corresponding to `tim`.
mm | a vector of months corresponding to `tim`.
dd | a vector of days corresponding to `tim`.
n.fld | number of fields (for mixed fields, see `mixFields`).
id.lon | ID labels along the longitudes (for mixed fields, see `mixFields`).
id.lat | ID labels along the latitudes (for mixed fields, see `mixFields`).

.

### Author(s)

R.E. Benestad

### Examples

    ## Not run:
    X.1 <- retrieve.nc("data/mpi-gsdio_t2m.nc",
                       x.rng=c(-60,40),y.rng=c(50,75))
    X.2 <- retrieve.nc("data/mpi-gsdio_slp.nc",
                       x.rng=c(-60,40),y.rng=c(50,75))

    # The definition of a 'field' object is:
    ny<-length(slp$lat); nx<-length(slp$lon)
    slp  <- list(dat=X.2$dat,lon=X.2$lon,lat=X.2$lat,tim=X.2$tim,lev=X.2$lev,
                 v.name=X.2$v.nam,id.x=X.2$id.x,id.t=X.2$id.t,
                 yy=X.2$yy,mm=X.2$mm,dd=X.2$dd,n.fld=1,
                 id.lon=rep(X.2$v.name,nx),id.lat=rep(X.2$v.name,ny),
                 attributes=dat.att)
     class(slp) <- c("field")

    ## End(Not run)

[Package Contents]