Table of Contents
2007 Unidata NetCDF Workshop for Developers and Data Providers
1
Workshop Logistics
2
Overview of netCDF
2.0
An Informal Survey
2.1
What is netCDF?
2.2
What is netCDF, really?
2.3
The NetCDF Web Site
2.4
Installing netCDF
2.5
Getting Support
2.6
People of NetCDF
2.7
NetCDF Features
2.8
Alternatives to netCDF
3
The "Classic" NetCDF Data Model
3.0
Models, Conventions, and Formats
3.1
What Is a Data Model?
3.2
The "Classic" NetCDF Data Model
3.3
CDL
3.4
A Simple Example
3.5
NetCDF Files
3.6
Dimensions
3.7
Variables
3.8
Variable Methods
3.9
Coordinate Variables
3.10
An Example of Coordinate Variables
3.11
Attributes
3.12
Attribute Methods
3.13
Variables Versus Attributes
3.14
Classic NetCDF Model Limitations
4
NetCDF Utilities
4.0
ncdump
4.1
ncgen
4.2
NCO Utilities
4.3
Other NetCDF Utilities
5
NetCDF APIs
5.0
Overview
5.1
The C API
5.2
Sample C Interfaces
5.3
The C++ API
5.4
The Fortran-77 API
5.5
The Fortran-90 API
5.6
The Java API
5.7
Architecture of NetCDF APIs and Libraries
5.8
Perl APIs
5.9
Python APIs
5.10
The Ruby API
5.11
Other APIs for netCDF
5.12
Remote Access to NetCDF Data
6
NetCDF Example Programs
6.0
The NetCDF Examples in C/F77/F90/C++
6.1
The NetCDF Example Requirements
6.2
The NetCDF Example Data Sets
6.3
The Simple XY Example Dataset CDL
6.4
Write The Simple XY Example in F90
6.5
Read The Simple XY Example in F90
6.6
The Simple XY Write Example in C
6.7
The Simple XY Example in F77
6.8
The Simple XY Example in C++
6.9
The 2D Example Dataset CDL
6.10
The 4D Example Dataset CDL
6.11
Reading The 4D Example in F77
6.12
Reading Generic Data of Unknown Dimensonality
7
Performance
7.0
Overview
7.1
NetCDF-3 File Format
7.2
Using Less Space for Data
7.3
Using Less Time for Data Access
8
Best Practices
8.0
Conventions
8.1
Coordinate Systems
8.2
Variable Grouping
8.3
Variable Attributes
8.4
Strings and Character Variables
8.5
Calendar Date and Time
8.6
Packed Data Values
8.7
Missing Data Values
8.8
Miscellaneous Recommendations
9
CF Conventions
9.0
CF Conventions Overview
9.1
Principles
9.2
Coverage
9.3
CF Standard Names
9.4
Governance
10
libcf: A New Library for CF Conventions Support
10.0
LibCF, the NetCDF Library for the Climate and Forecast (CF) Conventions
10.1
Goals of LibCF
10.2
Current Status of LibCF
10.3
LibCF Architecture
10.4
File Level Functions in LibCF
10.5
Variable Metadata in LibCF
10.6
Latitude and Longitude Functions in LibCF
10.7
Vertical Dimension Functions in LibCF
10.8
Time Functions in LibCF
10.9
Geographic Subsetting in LibCF
10.10
LibCF Example
10.11
The LibCF Website
10.12
The LibCF Daily Snapshot and Testing
10.13
Future Plans for LibCF
11
Introduction to NetCDF-4
11.0
The NetCDF-4 Data Model
11.1
NetCDF-4 Features
11.2
Compatibility of NetCDF-4
11.3
Strings
11.4
Additional Numeric Types
11.5
Unicode Names
11.6
Groups
11.7
Multiple Unlimited Dimensions
11.8
Compound Types
11.9
Enumerations
11.10
Variable-Length Types
11.11
NetCDF-4 Performance Improvements
11.12
Chunking
11.13
Compression
11.14
Ample Variable Sizes
11.15
Efficient Dynamic Schema Changes
11.16
Parallel I/O
11.17
Reader Makes Right Conversions
11.18
NetCDF-4 Status
12
Using NetCDF-4 Features, Part 1
12.0
NetCDF-4 and the NetCDF Library APIs
12.1
Introduction to NetCDF-4 Features
12.2
Some New NetCDF-4 Functions
12.3
Using the Classic Model
12.4
Parallel I/O in NetCDF-4
12.5
Parallel I/O Example
12.6
Chunking in NetCDF-4
12.7
Per-Variable Compression in NetCDF-4
12.8
New Atomic Types in NetCDF-4
12.9
The New String Type in NetCDF-4
12.10
Automatic enddef and redef in NetCDF-4
12.11
Multiple Unlimited Dimensions in NetCDF-4
13
Using NetCDF-4 Features, Part 2
13.0
Groups and User Defined Types in NetCDF-4
13.1
Using Groups
13.2
Using User Defined Types
13.3
Learning about User Defined Types
13.4
Using Compound Types
13.5
Using Variable Length Types
13.6
Using Variable Length Types, Continued
13.7
Using Enums
13.8
Using the Opaque Type
13.9
Sea Sounding Example Code
13.10
Sea Sounding Example
14
What NetCDF Developers Should Know About HDF5
15
Parallel netCDF
16
Wrap-Up and Questions