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
Outline • Background • Recent advances – Refactoring for interoperability – Performance improvements – Experience adapting software to enhanced data model – Standards status • State of adoption of netCDF-4 • Summary
NetCDF: more than a format • Data model – netCDF-3 classic data model: Variables, Dimensions, Attributes – netCDF-4 enhanced data model: adds Groups, user-defined Types • File format – classic format, 64-bit variant – netCDF-4 (HDF5-based) format, classic model variant • Application programming interfaces (APIs) – C-based APIS: C, Fortran, C++, Python, Perl, Ruby, MATLAB, IDL, … – Java API: Java, MATLAB Together, the data model, file format, and APIs support the creation, access, and sharing of scientific data
- Page 1: Advances in the NetCDF Data Model,
- Page 5 and 6: The netCDF “classic” data model
- Page 7 and 8: NetCDF classic format Strengths Lim
- Page 9 and 10: NetCDF enhanced data model Strength
- 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
<strong>NetCDF</strong>: more than a format<br />
• <strong>Data</strong> model<br />
– netCDF-3 classic data model: Variables, Dimensions, Attributes<br />
– netCDF-4 enhanced data model: adds Groups, user-def<strong>in</strong>ed Types<br />
• File format<br />
– classic format, 64-bit variant<br />
– netCDF-4 (HDF5-based) format, classic model variant<br />
• Application programm<strong>in</strong>g <strong>in</strong>terfaces (APIs)<br />
– C-based APIS: C, Fortran, C++, Python, Perl, Ruby, MATLAB, IDL, …<br />
– Java API: Java, MATLAB<br />
Toge<strong>the</strong>r, <strong>the</strong> data model, file format, <strong>and</strong> APIs support<br />
<strong>the</strong> creation, access, <strong>and</strong> shar<strong>in</strong>g of scientific data