⇐ ⇒

[CF-metadata] Groups in netCDF4 files and CF

From: Andreas Hilboll <lists>
Date: Sun, 19 May 2013 17:50:34 +0200

Dear Dr. Schmunk, dear CF experts,

I'm wondering if CF concentions say anything about the grouping within a
netCDF4 file, and if PanoplyJ can handle files with different groups? I
couldn't find anything in the documentation, but wanted to make sure.

I'm having issues using PanoplyJ
(http://www.giss.nasa.gov/tools/panoply/) with a file where data and
coordinate variables are in different groups. For example, the data
variable of this file cannot be plotted with Panoply:

---8<-------
dimensions:
        lon = 5760 ;
        lat = 2880 ;
        time = UNLIMITED ; // (204 currently)
        nv = 2 ;

group: coordinates {
  variables:
          double lon(lon) ;
                  lon:standard_name = "longitude" ;
                  lon:units = "degrees_east" ;
                  lon:bounds = "lon_bnds" ;
          double lon_bnds(lon, nv) ;
          double lat(lat) ;
                  lat:standard_name = "lat" ;
                  lat:units = "degrees_north" ;
                  lat:bounds = "lat_bnds" ;
          double lat_bnds(lat, nv) ;
          int time(time) ;
                  time:standard_name = "time" ;
                  time:units = "hours since 1994-01-01 00:00:00 +0:00" ;
                  time:calendar = "gregorian" ;
                  time:bounds = "time_bnds" ;
          int time_bnds(time, nv) ;
  } // group coordinates

group: data {

  group: VCDtrop_NO2 {

    group: SCIAMACHY {
      variables:
              float sciamachy_vcdtrop-no2_v4(time, lon, lat) ;
                      sciamachy_vcdtrop-no2_v4:_FillValue = NaNf ;
                      sciamachy_vcdtrop-no2_v4:least_significant_digit = 5L ;
      } // group SCIAMACHY
    } // group VCDtrop_NO2
  } // group data
}
---8<-------

However, when collapsed so that all variables are in the rootgrp, the
file is plotted correctly:

---8<-------
dimensions:
        lon = 5760 ;
        nv = 2 ;
        lat = 2880 ;
        time = UNLIMITED ; // (204 currently)
variables:
        double lon(lon) ;
                lon:standard_name = "longitude" ;
                lon:units = "degrees_east" ;
                lon:bounds = "lon_bnds" ;
        double lon_bnds(lon, nv) ;
        double lat(lat) ;
                lat:standard_name = "lat" ;
                lat:units = "degrees_north" ;
                lat:bounds = "lat_bnds" ;
        double lat_bnds(lat, nv) ;
        int time(time) ;
                time:standard_name = "time" ;
                time:units = "hours since 1994-01-01 00:00:00 +0:00" ;
                time:calendar = "gregorian" ;
                time:bounds = "time_bnds" ;
        int time_bnds(time, nv) ;
        double sciamachy_vcdtrop-no2_v4(time, lon, lat) ;
                sciamachy_vcdtrop-no2_v4:_FillValue = NaN ;
                sciamachy_vcdtrop-no2_v4:least_significant_digit = 5L ;
---8<-------

So my question is: is this a bug in PanoplyJ, or is Panoply doing the
right thing and I don't understand the CF conventions correctly?

Your help is greatly appreciated!
Andreas.


-- Andreas.
Received on Sun May 19 2013 - 09:50:34 BST

This archive was generated by hypermail 2.3.0 : Tue Sep 13 2022 - 23:02:41 BST

⇐ ⇒