Table of Contents
2012 Unidata NetCDF Workshop
1
Welcome, Logistics, and Introduction
1.0
Welcome
1.1
Workshop Goals
1.2
Online Resources
1.3
Lunch
1.4
The NetCDF and Workshops Teams
1.5
Feedback on this workshop
1.6
Schedule
2
Overview of Unidata
3
Overview of netCDF
3.0
What is netCDF?
3.1
What is netCDF, really?
3.2
NetCDF Features
3.3
Alternatives to netCDF
3.4
NetCDF's Niche
3.5
The NetCDF Web Site
3.6
Getting Support
4
Building and installing netCDF
5
The NetCDF Classic Data Model
5.0
NetCDF Files
5.1
Dimensions
5.2
Variables
5.3
Variable Methods
5.4
Attributes
5.5
Attribute Methods
5.6
The "Classic" NetCDF Data Model
5.7
Introducing CDL (Common Data Language)
5.8
Another Simple Example
5.9
A Convention for Coordinates: Coordinate Variables
5.10
An Example of Coordinate Variables
5.11
Variables Versus Attributes
5.12
Classic NetCDF Model Limitations
6
NetCDF Utilities
6.0
CDL
6.1
ncdump
6.2
Examples of ncdump use
6.3
ncgen
6.4
Examples of ncgen use
6.5
ncdump and ncgen together
6.6
nccopy
6.7
Examples of nccopy use
6.8
Common Data Model utilities
6.9
nc-config
6.10
Unicode Names
6.11
Other NetCDF Utilities
7
Remote Access to Datasets Through netCDF-3
8
NetCDF-C for Windows
9
NetCDF Library Architecture
9.0
Overview
9.1
Layers and layers of libraries
9.2
The dispatch library
10
Introduction to the NetCDF APIs
10.0
Overview
10.1
The C API
10.2
The Java API
10.3
The Fortran-90 API
10.4
The Fortran-77 API
10.5
The C++ API
10.6
Python APIs
10.7
The Ruby API
10.8
Perl APIs
10.9
Other APIs for netCDF
11
Using netCDF in programs
11.0
NetCDF Examples for C, Java, F90, F77, and C++
11.1
Creating a NetCDF Dataset
11.2
Reading a NetCDF Dataset with Known Names
11.3
Reading a NetCDF Dataset with Unknown Names
11.4
Some Common Errors to Avoid
11.5
The Simple XY Write Example in C
11.6
Write The Simple XY Example in F90
11.7
The Simple XY Example in C++
11.8
C API Example
11.9
The NetCDF Example Data Sets
11.10
The Simple XY Example Dataset
11.11
The 2D Example Dataset CDL
11.12
The 4D Example Dataset CDL
12
Diskless netCDF files
13
Introduction to NetCDF-4
14
Formats and Performance
14.0
NetCDF Format Versions
14.1
Parts of a File in Classic Format
14.2
Classic File Format Performance
14.3
Benchmark Example
14.4
NetCDF Classic Performance Tips
14.5
NetCDF-4 File Format
14.6
NetCDF-4 Performance Tips
14.7
Using Less Space for Data
14.8
Making Data Access Faster
15
Utilities for NetCDF-4
15.0
CDL extended for netCDF enhanced data model
15.1
CDL for Groups
15.2
CDL for Compound Types
15.3
CDL for Variable Length (vlen) Types
15.4
CDL for Enumeration (enum) Types
15.5
Options for ncgen
15.6
Using ncdump on netCDF-4 files
15.7
Use ncdump and ncgen for netCDF-4
15.8
CDL Special Attributes
15.9
Using nccopy with netCDF-4 data
16
NetCDF-4 Programming
16.0
NetCDF-4 Example Programs
16.1
Backward Compatibility
16.2
How to Upgrade netCDF-3 code to netCDF-4
16.3
How to Upgrade netCDF-3 code to netCDF-4
16.4
Define versus Data Mode
16.5
Incremental Transition to netCDF-4
16.6
Recommendations for using netCDF-4
17
The Unidata UDUNITS-2 package
18
CF Conventions
18.0
Goals
18.1
CF Benefits
18.2
CF Attributes
18.3
Where is CF Metadata Used?
18.4
A Brief History of CF
18.5
Principles
18.6
CF Standard Names
18.7
CF Appendices as references
18.8
Future Directions for CF
19
Chunking and Deflating Data with NetCDF-4
19.0
What is Chunking?
19.1
Choosing Chunksizes
19.2
Setting the Chunksizes in NetCDF-4
19.3
The Cache in NetCDF-4
19.4
Setting the Cache in NetCDF-4
19.5
Per-Variable Compression in NetCDF-4
19.6
Per-Variable Compression in NetCDF-4, Results
19.7
How to Use Per-Variable Compression in NetCDF-4
19.8
Contiguous Variables
20
Best Practices for Data providers
20.0
Overview
20.1
Some General Advice for Data Providers
20.2
Purpose of Conventions
20.3
Conventions
20.4
Coordinate Systems
20.5
Variable Grouping
20.6
Variable Attributes
20.7
Calendar Date and Time
20.8
Packed Data Values
20.9
Missing Data Values
20.10
Summary
21
Thanks
22
Introduction to NetCDF Annual Update
22.0
Workshop Goals
22.1
Online Resources
22.2
Schedule
23
What NetCDF Developers Should Know About HDF5
24
NetCDF-Java and the CDM
25
Developing generic netCDF software
25.0
Issues in Writing Generic NetCDF Software
25.1
Of what use is a utility to copy netCDF files?
25.2
Lessons learned from developing nccopy
25.3
The Problem
25.4
A Solution
25.5
Benefits of Iterators
26
Third-party netCDF packages: NCO, NCL, CDO
26.0
NetCDF Operators (NCO)
26.1
Recent NCO Updates
26.2
NCAR Command Language (NCL)
26.3
Recent NCL Updates
26.4
Climate Data Operators (CDO)
26.5
Recent CDO Updates
27
Using netCDF - NCAR Climate Data
28
Converting ASCII to netCDF
29
Update on Remote Access to NetCDF Data
30
Use of CMake, Cdash, Ctest
31
NetCDF and Python
32
Update on CF developments
32.0
Version 1.6 of CF Conventions
32.1
Subjects of CF Discussions
33
NetCDF and Related International Standards
34
Dispatch layer and netCDF architecture
35
Parallel I/O with NetCDF
35.0
Parallel I/O
35.1
Introduction to Parallel I/O
35.2
The pNetCDF Package
35.3
Parallel I/O in NetCDF-4
35.4
Building NetCDF-4 with Parallel I/O
35.5
Using Parallel I/O in NetCDF-4
35.6
Collective and Independent Operations with Parallel I/O in NetCDF-4
35.7
Parallel I/O Example
35.8
Example of Simple Parallel I/O Access
35.9
Example of Simple Parallel I/O Access (part 2)
35.10
Using NetCDF Parallel I/O in Fortran 90
35.11
Jumpshot Graph of Independent Parallel Data Writes
35.12
Jumpshot Graph of Collective Parallel Data Writes
36
The Future of netCDF
36.0
Goals for Unidata data access infrastructure
36.1
Near-term plans for netCDF
36.2
Long-term plans for Unidata data access infrastructure
36.3
Even Longer Term Plans
36.4
Speculations
36.5
Feedback
37
Participating in the NetCDF Community