Understanding the design, structure, and dependencies among layers of the netCDF libraries can assist in diagnosing problems and in knowing what's easy, possible, and impractical.
Knowing how netCDF evolved explains some of the oddities of its architecture.
Layers and layers of libraries
Knowing how netCDF APIs are layered is sometimes useful for understanding debugging, performance, and error handling.
The dispatch library
The dispatch layer resulted from refactoring the core C library.