CFObject {ncdfCF} | R Documentation |
CF base object
Description
This class is a basic ancestor to all classes that represent CF objects, specifically data variables and axes. More useful classes use this class as ancestor.
Public fields
NCvar
The NCVariable instance that this CF object represents.
Active bindings
friendlyClassName
(read-only) A nice description of the class.
id
(read-only) The identifier of the CF object.
name
(read-only) The name of the CF object.
fullname
(read-only) The fully-qualified name of the CF object.
group
Retrieve the NCGroup that this object is located in.
attributes
Set or retrieve a
data.frame
with the attributes of the CF object.
Methods
Public methods
Method new()
Create a new CF object instance from a variable in a netCDF resource. This method is called upon opening a netCDF resource. It is rarely, if ever, useful to call this constructor directly from the console. Instead, use the methods from higher-level classes such as CFVariable.
Usage
CFObject$new(nc_var)
Arguments
nc_var
The NCVariable instance upon which this CF object is based.
Returns
A CFobject
instance.
Method attribute()
Retrieve attributes of any CF object.
Usage
CFObject$attribute(att, field = "value")
Arguments
att
Vector of character strings of attributes to return.
field
The field of the attribute to return values from. This must be "value" (default) or "type".
Returns
If the field
argument is "type", a character string. If field
is "value", a single value of the type of the attribute, or a vector
when the attribute has multiple values. If no attribute is named with a
value of argument att
NA
is returned.
Method print_attributes()
Print the attributes of the CF object to the console.
Usage
CFObject$print_attributes(width = 50L)
Arguments
width
The maximum width of each column in the
data.frame
when printed to the console.
Method set_attribute()
Add an attribute. If an attribute name
already exists, it
will be overwritten.
Usage
CFObject$set_attribute(name, type, value)
Arguments
name
The name of the attribute. The name must begin with a letter and be composed of letters, digits, and underscores, with a maximum length of 255 characters. UTF-8 characters are not supported in attribute names.
type
The type of the attribute, as a string value of a netCDF data type.
value
The value of the attribute. This can be of any supported type, including a vector or list of values. Matrices, arrays and like compound data structures should be stored as a data variable, not as an attribute and they are thus not allowed. In general, an attribute should be a character value, a numeric value, a logical value, or a short vector or list of any of these. Values passed in a list will be coerced to their common mode.
Returns
Self, invisibly.
Method append_attribute()
Append the text value of an attribute. If an attribute
name
already exists, the value
will be appended to the existing
value of the attribute. If the attribute name
does not exist it will
be created. The attribute must be of "NC_CHAR" or "NC_STRING" type; in
the latter case having only a single string value.
Usage
CFObject$append_attribute(name, value, sep = "; ", prepend = FALSE)
Arguments
name
The name of the attribute. The name must begin with a letter and be composed of letters, digits, and underscores, with a maximum length of 255 characters. UTF-8 characters are not supported in attribute names.
value
The character value of the attribute to append. This must be a character string.
sep
The separator to use. Default is
"; "
.prepend
Logical to flag if the supplied
value
should be placed before the existing value. Default isFALSE
.
Returns
Self, invisibly.
Method delete_attribute()
Delete an attribute. If an attribute name
is not present
this method simply returns.
Usage
CFObject$delete_attribute(name)
Arguments
name
The name of the attribute to delete.
Returns
Self, invisibly.
Method write_attributes()
Write the attributes of this object to a netCDF file.
Usage
CFObject$write_attributes(nc, nm)
Arguments
nc
The handle to the netCDF file opened for writing.
nm
The NC variable name or "NC_GLOBAL" to write the attributes to.
Returns
Self, invisibly.
Method add_coordinates()
Add names of axes to the "coordinates" attribute, avoiding duplicates and retaining previous values.
Usage
CFObject$add_coordinates(crds)
Arguments
crds
Vector of axis names to add to the attribute.
Returns
Self, invisibly.
Method clone()
The objects of this class are cloneable with this method.
Usage
CFObject$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.