Write raster data to a NetCDF file
Write a SpatRaster or SpatRasterDataset to a NetCDF file.
When using a SpatRasterDataset, the varname, longname, and unit should be set in the object (see examples).
Always use the ".nc"
or ".cdf"
file extension to assure that the file can be properly read again by GDAL
## S4 method for signature 'SpatRaster' writeCDF(x, filename, varname, longname="", unit="", ...) ## S4 method for signature 'SpatRasterDataset' writeCDF(x, filename, overwrite=FALSE, zname="time", missval=-9999, prec="float", compression=NA, ...)
x |
SpatRaster or SpatRasterDataset |
filename |
character. Output filename |
varname |
character. Name of the dataset |
longname |
character. Long name of the dataset |
unit |
character. Unit of the data |
overwrite |
logical. If |
zname |
character. The name of the "time" dimension |
missval |
numeric, the number used to indicate missing values |
prec |
character. One of "double", "float", "integer", "short", "byte" or "char" |
compression |
Can be set to an integer between 1 (least compression) and 9 (most compression) |
... |
additional arguments passed on to |
SpatRaster or SpatDataSet
see writeRaster
for writing other file formats
f <- system.file("ex/elev.tif", package="terra") r <- rast(f) fname <- paste0(tempfile(), ".nc") rr <- writeCDF(r, fname, overwrite=TRUE, varname="alt", longname="elevation in m above sea level", unit="m") a <- rast(ncol=5, nrow=5, nl=50) values(a) <- 1:prod(dim(a)) time(a) <- as.Date("2020-12-31") + 1:nlyr(a) aa <- writeCDF(a, fname, overwrite=TRUE, varname="power", longname="my nice data", unit="U/Pa") b <- sqrt(a) s <- sds(a, b) names(s) <- c("temp", "prec") longnames(s) <- c("temperature (C)", "precicpiation (mm)") units(s) <- c("C", "mm") ss <- writeCDF(s, fname, overwrite=TRUE) # for CRAN file.remove(fname)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.