NETCDF METADATA OBJECT MODEL
Version 1 draft, last update: 2002/08/01


This document defines the Netcdf Metadata Object Model (NMOM) for generic data in netcdf format. NMOM includes only features which are common to all data in netcdf format, i.e. it was purposedly developed to be as simple and generic as possible. It is expected that NMOM for generic netcdf data will be extended by more specific object models for data in netcdf format following different conventions (COARDS, CF, etc). Note also that NMOM focuses on capturing the structure of the data more than the data itself, and leaves as optional the explicit inclusion of the physical data in the metadata.

Object
Properties (name: description)
Netcdf
(object representing a netcdf dataset, for example, a netcdf file, or an aggregate of netcdf files, or a subset of a netcdf file)

dimensions: reference to 0 or more Dimension objects
variables: reference to 0 or more Variable objects
globalAttributes: reference to 0 or more Attribute objects
id: unique identifier for the netcdf dataset (optional)
uri: identifier (URL or URN) of the physical netcdf file (if it exists) from which the data is to be extracted

Dimension
(object representing a netcdf dimension, i.e. a named index of specified length)
name: the dimension name
length: the dimension length
isUnlimited: flag indicating whether this dimension is flagged as unlimited in the netcdf dataset
Variable
(object  representing a netcdf variable, i.e. a multidimensional array of specified type indexed by 0 or more dimensions)
name: the variable name
shape: reference to the Dimension objects that the variable depends on, ordered with more rapidly varying dimension last, same as C multidimensional arrays
type: the data type of the variable
values: a listing of the values of the variable
attributes: reference to 0 or more Attribute objects
Attribute
(object representing a netcdf attribute, i.e. a name-value pair of specified type)

name: the attribute name
type: the data type of the attribute
value: the attribute value if only one, or a listing of the attribute values if more than one
separator: a token used to separate the listing of a multi-valued attribute



NOTES ON THE INTERPRETATION OF THE NETCDF METADATA OBJECT MODEL