25.2 Lessons learned from developing nccopy
Was anything useful learned in developing the generic netCDF program nccopy?
- Development of nccopy did uncover some missing functionality that had been
overlooked in designing the original netCDF-4 API, requiring several
two new functions
- determining whether two user-defined types are equal
- determining the ID of a type from its name
- Subsequent development of the nccopy utility for the netCDF-4 enhanced data model
demonstrated the completeness and utility of the netCDF-4 API.
- The nccopy4.c program required about twice as much code as
nccopy3.c, providing an estimate for effort to adapt generic
netCDF-3 software to handle netCDF-4:
$ wc nccopy3.c nccopy4.c # wc reports number of lines, words, characters
493 1744 13273 nccopy3.c
910 3367 26154 nccopy4.c
- The nccopy development also revealed the need for some
higher-level APIs to make generic netCDF software development
easier, such as iterator interfaces.