This class is a basic ancestor to all classes that represent CF objects. More useful classes use this class as ancestor.
Active bindings
friendlyClassName(read-only) A nice description of the class.
id(read-only) Retrieve the identifier of the CF object.
nameSet or retrieve the name of the CF object. The name must be a valid netCDF name: start with a character, use only characters, numbers and the underscore, and be at most 255 characters long.
fullname(read-only) The fully-qualified name of the CF object.
groupSet or retrieve the CFGroup that this object is located in, possibly
NULL.attributes(read-only) Retrieve a
data.framewith the attributes of the CF object.has_resource(read-only) Flag that indicates if this object has an underlying netCDF resource.
NC(read-only) The NC object that links to an underlying netCDF resource, or
NULLif not linked.is_dirtyFlag to indicate if the object has any unsaved changes.
Methods
Method new()
Create a new CFobject instance in memory or from an object
in a netCDF resource when this method is called upon opening a netCDF
resource. It is rarely, if ever, useful to call this constructor
directly. Instead, use the methods from higher-level classes such as
CFVariable.
Usage
CFObject$new(obj, attributes = data.frame(), group = NULL)Arguments
objThe NCObject instance upon which this CF object is based when read from a netCDF resource, or the name for the new CF object to be created.
attributesOptional. A
data.framewith the attributes of the object. When argumentobjis anNCGroupinstance and this argument is an emptydata.frame(default), arguments will be read from the resource.groupThe CFGroup instance that this object will live in. The default is
NULLbut this is only useful forCFGroupinstance.
Method attach_to_group()
Attach this CF object to a group. If there is another object with the same name in this group an error is thrown. This is the basic method that may be overridden by descendant classes.
Usage
CFObject$attach_to_group(grp, locations = list())Arguments
grpAn instance of CFGroup.
locationsOptional. A
listwhose named elements correspond to the names of objects, possibly including this object. Each list element has a single character string indicating the group in the hierarchy where the object should be stored. As an example, if a data variable has axes "lon" and "lat" and they should be stored in the parent group ofgrp, then specifylocations = list(lon = "..", lat = ".."). Locations can use absolute paths or relative paths from groupgrp. If the argumentlocationsis not provided or the name of the object is not in the list, the object will be stored in groupgrp.
Method detach()
Detach the current object from its underlying netCDF resource.
Method attribute()
Retrieve an attribute of a CF object.
Method set_attribute()
Add an attribute. If an attribute name already exists, it
will be overwritten.
Arguments
nameThe 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.
typeThe type of the attribute, as a string value of a netCDF data type.
valueThe 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.
Method attributes_identical()
Test if the supplied attributes are identical to the attributes of this instance. The order of the attributes may differ but the names, types and values must coincide.
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.
Arguments
nameThe 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.
valueThe character value of the attribute to append. This must be a character string.
sepThe separator to use. Default is
"; ".prependLogical to flag if the supplied
valueshould be placed before the existing value. Default isFALSE.
Method delete_attribute()
Delete attributes. If an attribute name is not present
this method simply returns.