Advances in the NetCDF Data Model, Format, and Software - Unidata
Advances in the NetCDF Data Model, Format, and Software - Unidata Advances in the NetCDF Data Model, Format, and Software - Unidata
The netCDF-4 enhanced data model A file has a top-level unnamed group. Each group may contain one or more named subgroups, user-defined types, variables, dimensions, and attributes. Variables also have attributes. Variables may share dimensions, indicating a common grid. One or more dimensions may be of unlimited length. 0..* Attribute name: String type: DataType value: type[ ] 0..* Group name: String 0..* File 1..* Variable 0..* name: String shape: Dimension[ ] type: DataType values: type[ … ] 0..* Dimension name: String length: int 0..* 0..* UserDefinedType typename: String Enum Opaque Compound VariableLength DataType PrimitiveType char byte short int float double unsigned byte unsigned short unsigned int int64 unsigned int64 string Variables and attributes have one of twelve primitive data types or one of four user-defined types.
NetCDF enhanced data model Strengths On the other hand Simpler than HDF5, with similar representational power Adds shared dimensions to HDF5 data model Continues support for existing data, software, and conventions Eliminates netCDF classic model limitations Provides nested structures: hierarchical groups, recursive data types Independent features permit incremental adaptation, adoption More complex than classic data model More effort required to develop general tools and applications Not yet widely adopted Hence, no comprehensive best practices and conventions yet
- Page 1 and 2: Advances in the NetCDF Data Model,
- Page 3 and 4: NetCDF: more than a format • Data
- Page 5 and 6: The netCDF “classic” data model
- Page 7: NetCDF classic format Strengths Lim
- Page 11 and 12: Recent advances Standards Refactori
- Page 13 and 14: NetCDF-Java/Common Data Model archi
- Page 15 and 16: Performance improvements • Refact
- Page 17 and 18: Experience developing nccopy utilit
- Page 19 and 20: Last year: game of “chicken”; w
- Page 21 and 22: Concluding Remarks • Data provide
- Page 23 and 24: Extra Slides
- Page 25 and 26: Groups • Like directories in a fi
- Page 27 and 28: Compound types Uses include: • Re
- Page 29 and 30: Guidance for developers • Add sup
The netCDF-4 enhanced data model<br />
A file has a top-level unnamed group. Each group may conta<strong>in</strong> one or more named<br />
subgroups, user-def<strong>in</strong>ed types, variables, dimensions, <strong>and</strong> attributes. Variables also<br />
have attributes. Variables may share dimensions, <strong>in</strong>dicat<strong>in</strong>g a common grid. One<br />
or more dimensions may be of unlimited length.<br />
0..*<br />
Attribute<br />
name: Str<strong>in</strong>g<br />
type: <strong>Data</strong>Type<br />
value: type[ ]<br />
0..*<br />
Group<br />
name: Str<strong>in</strong>g<br />
0..*<br />
File<br />
1..*<br />
Variable<br />
0..*<br />
name: Str<strong>in</strong>g<br />
shape: Dimension[ ]<br />
type: <strong>Data</strong>Type<br />
values: type[ … ]<br />
0..*<br />
Dimension<br />
name: Str<strong>in</strong>g<br />
length: <strong>in</strong>t<br />
0..*<br />
0..*<br />
UserDef<strong>in</strong>edType<br />
typename: Str<strong>in</strong>g<br />
Enum<br />
Opaque<br />
Compound<br />
VariableLength<br />
<strong>Data</strong>Type<br />
PrimitiveType<br />
char<br />
byte<br />
short<br />
<strong>in</strong>t<br />
float<br />
double<br />
unsigned byte<br />
unsigned short<br />
unsigned <strong>in</strong>t<br />
<strong>in</strong>t64<br />
unsigned <strong>in</strong>t64<br />
str<strong>in</strong>g<br />
Variables <strong>and</strong> attributes have one of twelve primitive<br />
data types or one of four user-def<strong>in</strong>ed types.