CFDataset: CF data set

CFDatasetR Documentation

CF data set

Description

This class represents a CF data set, the object that encapsulates a netCDF resource. You should never have to instantiate this class directly; instead, call open_ncdf() which will return an instance that has all properties read from the netCDF resource. Class methods can then be called, or the base R functions called with this instance.

The CF data set instance provides access to all the objects in the netCDF resource, organized in groups.

Public fields

name

The name of the netCDF resource. This is extracted from the URI (file name or URL).

keep_open

Logical flag to indicate if the netCDF resource has to remain open after reading the metadata. This should be enabled typically only for programmatic access or when a remote resource has an expensive access protocol (i.e. 2FA). The resource has to be explicitly closed with close() after use. Note that when a data set is opened with keep_open = TRUE the resource may still be closed by the operating system or the remote server.

root

Root of the group hierarchy through which all elements of the netCDF resource are accessed. It is strongly discouraged to manipulate the objects in the group hierarchy directly. Use the provided access methods instead.

file_type

The type of data in the netCDF resource, if identifiable. In terms of the CF Metadata Conventions, this includes discrete sampling geometries (DSG). Other file types that can be identified include L3b files used by NASA and NOAA for satellite imagery (these data sets need special processing), and CMIP5, CMIP6 and CORDEX climate projection data.

Active bindings

friendlyClassName

(read-only) A nice description of the class.

resource

(read-only) The connection details of the netCDF resource. This is for internal use only.

uri

(read-only) The connection string to the netCDF resource.

conventions

(read-only) Returns the conventions that this netCDF resource conforms to.

var_names

(read-only) Vector of names of variables in this data set.

axis_names

(read-only) Vector of names of axes in this data set.

Methods

Public methods


Method new()

Create an instance of this class.

Usage
CFDataset$new(name, resource, keep_open, format)
Arguments
name

The name that describes this instance.

resource

An instance of CFResource that links to the netCDF resource.

keep_open

Logical. Should the netCDF resource be kept open for further access?

format

Character string with the format of the netCDF resource as reported by the call opening the resource.


Method print()

Summary of the data set printed to the console.

Usage
CFDataset$print(...)
Arguments
...

Arguments passed on to other functions. Of particular interest is ⁠width = ⁠ to indicate a maximum width of attribute columns.


Method hierarchy()

Print the group hierarchy to the console.

Usage
CFDataset$hierarchy()

Method objects_by_standard_name()

Get objects by standard_name. Several conventions define standard vocabularies for physical properties. The standard names from those vocabularies are usually stored as the "standard_name" attribute with variables or axes. This method retrieves all variables or axes that list the specified "standard_name" in its attributes.

Usage
CFDataset$objects_by_standard_name(standard_name)
Arguments
standard_name

Optional, a character string to search for a specific "standard_name" value in variables and axes.

Returns

If argument standard_name is provided, a character vector of variable or axis names. If argument standard_name is missing or an empty string, a named list with all "standard_name" attribute values in the the netCDF resource; each list item is named for the variable or axis.


Method has_subgroups()

Does the netCDF resource have subgroups? Newer versions of the netcdf library, specifically netcdf4, can organize dimensions and variables in groups. This method will report if the data set is indeed organized with subgroups.

Usage
CFDataset$has_subgroups()
Returns

Logical to indicate that the netCDF resource uses subgroups.


Method find_by_name()

Find an object by its name. Given the name of a CF data variable or axis, possibly preceded by an absolute group path, return the object to the caller.

Usage
CFDataset$find_by_name(name, scope = "CF")
Arguments
name

The name of a CF data variable or axis, with an optional absolute group path.

scope

The scope to look for the name. Either "CF" (default) to search for CF variables or axes, or "NC" to look for groups or NC variables.

Returns

The object with the provided name. If the object is not found, returns NULL.


Method variables()

This method lists the CF data variables located in this netCDF resource, including those in subgroups.

Usage
CFDataset$variables()
Returns

A list of CFVariable instances.


Method axes()

This method lists the axes located in this netCDF resource, including axes in subgroups.

Usage
CFDataset$axes()
Returns

A list of CFAxis descendants.


Method attributes()

List all the attributes of a group. This method returns a data.frame containing all the attributes of the indicated group.

Usage
CFDataset$attributes(group)
Arguments
group

The name of the group whose attributes to return. If the argument is missing, the global attributes will be returned.

Returns

A data.frame of attributes.


Method attribute()

Retrieve global attributes of the data set.

Usage
CFDataset$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 clone()

The objects of this class are cloneable with this method.

Usage
CFDataset$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.


ncdfCF documentation built on April 16, 2025, 9:08 a.m.