R: Get a NetCDF Attribute

att.get.nc {RNetCDF} | R Documentation

## Get a NetCDF Attribute

### Description

Get an attribute from a NetCDF dataset.

### Usage

    att.get.nc(ncfile, variable, attribute, rawchar=FALSE, fitnum=FALSE)

### Arguments

`ncfile` | Object of class "`NetCDF`" which points to the NetCDF dataset (as returned from `open.nc`).
`variable` | ID or name of the variable from which the attribute will be read, or `"NC_GLOBAL"` for a global attribute.
`attribute` | Attribute name or ID.
`rawchar` | This option only relates to NetCDF attributes of type `NC_CHAR`. When `rawchar` is `FALSE` (default), a NetCDF attribute of type `NC_CHAR` is converted to a `character` string in R. If `rawchar` is `TRUE`, the bytes of `NC_CHAR` data are read into an R `raw` vector.
`fitnum` | By default, all numeric variables are read into R as double precision values. When `fitnum==TRUE`, the smallest R numeric type that can exactly represent each external type is used, as follows:
`NC_BYTE` | `integer`
`NC_UBYTE` | `integer`
`NC_SHORT` | `integer`
`NC_USHORT` | `integer`
`NC_INT` | `integer`
`NC_UINT` | `double`
`NC_FLOAT` | `double`
`NC_DOUBLE` | `double`
`NC_INT64` | `integer64`
`NC_UINT64` | `integer64`

### Details

This function returns the value of the attribute.

### Value

Vector with a data type that depends on the NetCDF variable. For NetCDF variables of type `NC_CHAR`, the R type is either `character` or `raw`, as specified by argument `rawchar`. For `NC_STRING`, the R type is `character`. Numeric variables are read as double precision by default, but the smallest R type that exactly represents each external type is used if `fitnum` is `TRUE`.

### Note

`NC_BYTE` is always interpreted as signed.

### Author(s)

Pavel Michna, Milton Woods

### References

https://www.unidata.ucar.edu/software/netcdf/

### Examples

    ##  Create a new NetCDF dataset and define two dimensions
    file1 <- tempfile("att.get_", fileext=".nc")
    nc <- create.nc(file1)

    dim.def.nc(nc, "station", 5)
    dim.def.nc(nc, "time", unlim=TRUE)

    ##  Create two variables, one as coordinate variable
    var.def.nc(nc, "time", "NC_INT", "time")
    var.def.nc(nc, "temperature", "NC_DOUBLE", c(0,1))

    ##  Put some attributes
    att.put.nc(nc, "temperature", "_FillValue", "NC_DOUBLE", -99999.9)
    att.put.nc(nc, "temperature", "long_name", "NC_CHAR", "air temperature")
    att.put.nc(nc, "NC_GLOBAL", "title", "NC_CHAR", "Data from Foo")
    att.put.nc(nc, "NC_GLOBAL", "history", "NC_CHAR", paste("Created on", date()))

    ##  Get these attributes
    att.get.nc(nc, "temperature", "_FillValue")
    att.get.nc(nc, "temperature", "long_name")
    att.get.nc(nc, "NC_GLOBAL", "title")
    att.get.nc(nc, "NC_GLOBAL", "history")

    close.nc(nc)
    unlink(file1)

[Package RNetCDF version 2.4-2 Index]