Enhancements to the Community Atmospheric Model (CAM) NetCDF Reader


The CAM NetCDF Reader reads in files produced by the Community Atmospheric Model (CAM) simulation program and produces an unstructured grid.
The grid is unstructured in the XY plane but it is rectilinear in the Z direction. This results in layers of hexahedral cells along the Z direction. If we read only one layer we produce quadrilateral cells.

There are three kind of attributes in these files: Single layer attributes, midpoint layer attributes and interface layer attributes. Single layer attributes are associated with the XY point data and depend on variables (time, ncol). Midpoint layer attributes are associated with the XY points and the midpoint of a layer. These attributes depend of variables (time, lev, ncol). Interface layer attributes are associated with the XY points and the interface points of layers. These attributes depend on variables (time, ilev, ncol). Note that the number of interface layers (ilev) is equal with the number of midpoint layers (lev) plus one.

The reader requires two files: the main file has all attributes, the connectivity file has point positions and cell connectivity.


A user can:

  1. Select to read single layer, midpoint layer and interface layer attributes using the Vertical Dimensions reader setting. A user could read only single layer and midpoint layer attributes before this work.
  2. Specify which attributes are read from the file. This feature saves time and memory as only the data needed is loaded.
  3. Choose to read only a single layer instead of reading all layers. This feature saves time and memory and enables further analysis of individual data layers.

Note that enhancements two and three are added as Advanced Properties in ParaView.

This is a screenshot showing a CAM NetCDF dataset in ParaView. The user shows layer 15 from midpoint layers in the dataset.

CAM NetCDF file shown in ParaView


Limitations and future work

  1. All attribute arrays are shown for selection regardless of the Vertical Dimension selected. We could show only attributes for the Vertical Dimension selected by using a custom ParaView widget.
  2. Single Layer selection interface is shown regardless of the Vertical Dimension selected. We’ll need a custom ParaView widget to show only the relevant Single Layer selection interface.
  3. Currently, we show Midpoint Layer attributes as point data even if those attributes are actually cell attributes.

We thank the U.S. Department of Energy’s (DOE’s) Office of Biological and Environmental Research for supporting this work within the Accelerated Climate Modeling for Energy (ACME) project.

Questions or comments are always welcome!