selyear {cmsafops} | R Documentation |
Extract a list of years.
Description
This function selects a given list of years from a time series.
Usage
selyear(
var,
year = c(2000),
infile,
outfile,
nc34 = 4,
overwrite = FALSE,
verbose = FALSE,
nc = NULL
)
Arguments
var |
Name of NetCDF variable (character). |
year |
Year in form of a comma separated vector of integer values (e.g. c(2000,2015)) (integer). |
infile |
Filename of input NetCDF file. This may include the directory (character). |
outfile |
Filename of output NetCDF file. This may include the directory (character). |
nc34 |
NetCDF version of output file. If |
overwrite |
logical; should existing output file be overwritten? |
verbose |
logical; if TRUE, progress messages are shown |
nc |
Alternatively to |
Value
A NetCDF file including a time series of the selected years is written.
See Also
Other selection and removal functions:
extract.level()
,
extract.period()
,
sellonlatbox()
,
selmon()
,
selperiod()
,
selpoint()
,
selpoint.multi()
,
seltime()
Examples
## Create an example NetCDF file with a similar structure
## as used by CM SAF. The file is created with the ncdf4 package.
## Alternatively example data can be freely downloaded here:
## <https://wui.cmsaf.eu/>
library(ncdf4)
## create some (non-realistic) example data
lon <- seq(5,15,0.5)
lat <- seq(45,55,0.5)
time <- seq(as.Date('2000-01-01'), as.Date('2010-12-31'), 'month')
origin <- as.Date('1983-01-01 00:00:00')
time <- as.numeric(difftime(time,origin,units='hour'))
data <- array(250:350,dim=c(21,21,132))
## create example NetCDF
x <- ncdim_def(name='lon',units='degrees_east',vals=lon)
y <- ncdim_def(name='lat',units='degrees_north',vals=lat)
t <- ncdim_def(name='time',units='hours since 1983-01-01 00:00:00',
vals=time,unlim=TRUE)
var1 <- ncvar_def('SIS','W m-2',list(x,y,t),-1,prec='short')
vars <- list(var1)
ncnew <- nc_create(file.path(tempdir(),'CMSAF_example_file.nc'),vars)
ncvar_put(ncnew,var1,data)
ncatt_put(ncnew,'lon','standard_name','longitude',prec='text')
ncatt_put(ncnew,'lat','standard_name','latitude',prec='text')
nc_close(ncnew)
## Select all values of the year 2003 and 2006 of the example CM SAF
## NetCDF file and write the output to a new file.
selyear(var = "SIS", year = c(2003,2006), infile = file.path(tempdir(),
'CMSAF_example_file.nc'), outfile = file.path(tempdir(),
'CMSAF_example_file_selyear.nc'))
unlink(c(file.path(tempdir(),"CMSAF_example_file.nc"),
file.path(tempdir(),"CMSAF_example_file_selyear.nc")))