J5.4 A Pseudo Object Oriented netCDF Application Interface Layer to “Simplify” Access to Satellite and Future Atmospheric Datasets

Thursday, 10 January 2013: 9:15 AM
Room 12A (Austin Convention Center)
Scott Longmore, CIRA/Colorado State Univ., Fort Collins, CO; and J. A. Knaff and M. DeMaria

The Network Common Data Form (netCDF) and software developed and maintained by the University Corporation for Atmospheric Research (UCAR) Unidata program is one of the most common machine-independent scientific data formats used in atmospheric and other physical sciences. The netCDF interface software has evolved over the past two decades to support a set of programming languages (i.e., FORTRAN 77/90, C, C++, Java, Python, PERL) platforms (i.e., 32 & 64 bit) and operating systems (i.e., various flavors of UNIX and Linux, Mac OS X, and Windows), some of which include parallelized input/output. These libraries can be built with commonly available “free” and commercial software compilers (e.g., GNU, Portland Group, etc.). The data format has also evolved to contain increasingly complex, multifaceted, mulit-dimensional datasets, which inevitably, has increased the complexity of using the netCDF software interface.

Given the time and resource constraints of data interface users, developing generalized, modular, scalable and reusable access software is often challenging. The Cooperative Institute of Research in the Atmospheric (CIRA) Regional and Mesoscale Meteorological Branch (RAMMB) has developed an initial pseudo object oriented application interface (API) layer around the netCDF interface in the FORTRAN 95 language on a Linux platform. The goals for developing this netCDF application interface layer (NAIL) are four fold: reduce the number of calls to retrieve data, provide the data in the most directly usable structure, abstract the intricate details of the netCDF interface using a pseudo object oriented interface, and reduce software development time for new datasets. This presentation will discuss the initial implementation of the NAIL, how this interface is being used for satellite data processing at CIRA, possible uses for other atmospheric datasets and features for future versions. This will be followed by a short discussion about the possibility of implementing the design pattern approach in other languages and for interfacing with other data formats (e.g., versions of HDF).

Disclaimer: The views, opinions, and findings contained in this report are those of the authors and should not be construed as an official National Oceanic and Atmospheric Administration or U.S. Government position, policy, or decision.

- Indicates paper has been withdrawn from meeting
- Indicates an Award Winner