NetCDF has two main data models:
- The netCDF Classic Data Model, which represents a dataset with named variables, dimensions, and attributes.
- The netCDF Enhanced Data Model, which adds hierarchical structure, string and unsigned integer types, and user-defined types.
Further details are available on
- the netCDF Objects (variable, attributes, dimensions, and groups)
- the netCDF Data Types (including byte, int, float, and user-defined types)
- the rules for naming netCDF Objects
Some file formats and encodings support subsets of the Enhanced Data Model or minor extensions to the Classic Data Model. For example, CDF-5 extends the Classic Data Model with the addition of support for unsigned integer and 64-bit integer data types. Whereas ncZarr supports a subset of the Enhanced Data Model that does not include support for strings, user-defined types, or VLEN dimensions.
Further details on the various formats and encodings and the data model they support are available in the netCDF File Formats section.