Hi. Here's my best understanding (which could be flawed, so I look forward to finding out if I have missed something). Assuming that your time, latitude, and longitude are all proper coordinate variables (no fill values), either choice for the shape of your salinity variable works. If you use the more complex shape, then you don't need to have the coordinates attribute, as the relationships are declared through the shape. Speaking of that, the coordinates attribute doesn't need to have PRESSURE in it. Doesn't hurt anything, but it isn't necessary.
Having said all that, I find myself wondering why you are storing each salinity profile in a separate file. Would you mind sharing what went into deciding to take this approach? Grace and peace, Jim On Mon, Apr 2, 2012 at 2:51 AM, andrew walsh <[email protected]> wrote: > Hi CF list, > > We are working on coding up some 1000's netCDF files off CTD > instruments and want to make usre we are following the > latest netCDF conventions (v1.6) OK. As background the CTD records > a profile pressure, temperature and salinity. > > Here is a summarised CDL version (not all attributes+variables+qc flags > there, just majors for now) > of what we propose: > > dimensions: > TIME=1 > PRESSURE=729 > LATITUDE=1 > LONGITUDE=1 > > variables: > double TIME(TIME) ; > TIME:standard_name = "time" ; > TIME:units = "days since 1950-01-01 00:00:00Z" ; > TIME:axis = "T" ; > TIME:valid_min = 0. ; > TIME:valid_max = 999999. ; > > double LATITUDE(LATITUDE) ; > LATITUDE:standard_name = "latitude" ; > LATITUDE:units = "degrees_north" ; > LATITUDE:axis = "Y" ; > LATITUDE:valid_min = -90. ; > LATITUDE:valid_max = 90. ; > > double LONGITUDE(LONGITUDE) ; > LONGITUDE:standard_name = "longitude" ; > LONGITUDE:units = "degrees_east" ; > LONGITUDE:axis = "X" ; > LONGITUDE:valid_min = -180. ; > LONGITUDE:valid_max = 180. ; > > double PRESSURE(PRESSURE) ; > PRESSURE:standard_name = "sea_water_pressure" ; > PRESSURE:units = "decibars" ; > PRESSURE:axis = "Z" ; > PRESSURE:valid_min = 0. ; > PRESSURE:valid_max = 12000. ; > PRESSURE:positive = "down" ; > > double TEMPERATURE(PRESSURE) ; > TEMPERATURE:standard_name = "sea_water_temperature" ; > TEMPERATURE:units = "degrees_C" ; > TEMPERATURE:_FillValue = -99.99 ; > TEMPERATURE:valid_min = -2. ; > TEMPERATURE:valid_max = 40. ; > TEMPERATURE:coordinates="TIME LATITUDE LONGITUDE PRESSURE" > > double SALINITY(PRESSURE) ; > SALINITY:standard_name = "sea_water_salinity" ; > SALINITY:units = "psu" ; > SALINITY:_FillValue = -99.99 ; > SALINITY:valid_min = 0. ; > SALINITY:valid_max = 40. ; > SALINITY:coordinates="TIME LATITUDE LONGITUDE PRESSURE" > > // global attributes: > :conventions = "CF-1.6" ; > :featureType = "profile" > :cdm_data_type = "profile" > + several other attributes later for ISO19115 metadata generation > > I am not sure if I should have TEMPERATURE and SALINITY arrays with 4 > dimensions > like TEMPERATURE(TIME,LATITUDE,**LONGITUDE,PRESSURE) or just 1 dimension > like I have above i.e. TEMPERATURE(PRESSURE). ? > > Any feedback on the above is greatly appreciated. > > Andrew Walsh > ______________________________**_________________ > CF-metadata mailing list > [email protected] > http://mailman.cgd.ucar.edu/**mailman/listinfo/cf-metadata<http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata> > -- Jim Biard Research Scholar Cooperative Institute for Climate and Satellites Remote Sensing and Applications Division National Climatic Data Center 151 Patton Ave, Asheville, NC 28801-5001 [email protected] 828-271-4900
_______________________________________________ CF-metadata mailing list [email protected] http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata
