# \donttest{
## 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:
library(ncdf4)
lon <- seq(5, 8, 0.5)
lat <- seq(45, 48, 0.5)
time <- seq(ISOdate(2000, 3, 1), ISOdate(2000, 5, 31), "hours")
origin <- format("1983-01-01 00:00:00")
time <- as.numeric(difftime(time, origin, units = "hour"))
data <- array(250:272, dim = c(7, 7, 2185))
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), -999, prec = "short",
longname = "Surface Incoming Shortwave Radiation")
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")
ncatt_put(ncnew, "SIS", "standard_name", "SIS_standard", prec = "text")
nc_close(ncnew)
## Determine the mean monthly daily variations of the example CM SAF NetCDF file and
## write the output to a new file.
mondaymean(var = "SIS", infile = file.path(tempdir(), "CMSAF_example_file.nc"),
outfile = file.path(tempdir(), "CMSAF_example_file_mondaymean.nc"))
unlink(c(file.path(tempdir(),"CMSAF_example_file.nc"),
file.path(tempdir(),"CMSAF_example_file_mondaymean.nc")))
# }
Run the code above in your browser using DataLab