writeCDF | R Documentation |
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="", split=FALSE, ...)
## S4 method for signature 'SpatRasterDataset'
writeCDF(x, filename, overwrite=FALSE, zname="time", atts="",
gridmap="", prec="float", compression=NA, missval, ...)
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 |
split |
logical. If |
atts |
character. A vector of additional global attributes to write. The must be formatted like c("x=a value", "y=abc") |
gridmap |
character. The crs is always writting to the file in standard formats. With this argument you can also write the format commonly used in netcdf files. Something like |
overwrite |
logical. If |
zname |
character. The name of the "time" dimension |
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) |
missval |
numeric, the number used to indicate missing values |
... |
additional arguments passed on to the SpatRasterDataset method, and from there possibly 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(ncols=5, nrows=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)", "precipitation (mm)")
units(s) <- c("°C", "mm")
ss <- writeCDF(s, fname, overwrite=TRUE)
# for CRAN
file.remove(fname)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.