[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: please give feedback on EPIC P-3 data in NetCDF



Hi Janine,

> For those of you who don't know, I am working on converting the P-3 data
> collected during EPIC from AOC standard tape format to NetCDF.  I am
> converting the header record, the trailer record, and the type 5 record
> with transformations appied.  I am not converting the type 4 raw data
> record or the associated transformation record (type 2).
> 
> The final goal is to have a dataset which can be easily compared with the
> C-130 data in NetCDF.
> 
> I have developed NetCDF dimensions and variables that I think will be
> a good representation of this data.  I have tried to follow the NCAR-RAF
> netCDF conventions at http://raf.atd.ucar.edu/Software/netCDF.html to
> facilitate easy comparison with the C-130. However, I am new to NetCDF
> development and am concerned I may have missed something.  So I am asking
> for your help.
> 
> Please take a look at the attached NetCDF header and let me know if I
> have missed anything.  In the interest of keeping the attachement small,

A document you may want to look at is "Writing NetCDF Files: Best
Practices" at

  http://www.unidata.ucar.edu/staff/russ/netcdf/BestPractices.html

It was created since the NCAR-RAF conventions, so some of its
recommendations may be incompatible with those, but the recommendation
on the units attribute is fairly important:

  For each variable where it makes sense, add a units attribute, using
  the udunits conventions, if possible. The units attribute is a
  character string that specifies the units used for the variable's
  data.

I noticed you use "deg" for the units of the LAT and LON variable:

                LAT:units = "deg" ;
                LON:units = "deg" ;

but this is not a valid unit designation for the udunits package,
which supports units such as "degree", "degrees_north",
"degrees_west", and others for angular measure.  You can see a
complete list here:

  http://www.unidata.ucar.edu/packages/udunits/udunits.dat

under the "UNITS OF PLANE ANGLE" heading.

Your example uses some other nonstandard units, such as

   Ralt:units = "M" ; (This is 1000000, not meters)
   TA:units = "C" ;  (this is "coulomb", you want "Celsius" or "degC" or ...)
   GS:units = "M/s" ; (you want "m/s" or "meter/second")
   LW:units = "g/m3" ; (you want "gram/m3", "g" is "9.80665 m/s2")

and so on.  The udunits representations are case sensitive, so "M"
(mega) is not the same as "m" (meter).  Although you can add your own
units and unit abbreviations to the udunits set, that makes your files
non-standard for others reading your data who only have the standard
udunits definitions.

The udunits package

  http://my.unidata.ucar.edu/content/software/udunits/

comes with a library and a program, also called udunits, that you can
use to test various units specifications.

There are additional suggestions for making sure your latitude and
longitude variables are a recognized as part of a coordinate system,
according to the CF conventions definition of that term, in the "Best
Practices" document referenced above.  A little time spent getting
such details right may make your data usable in a lot of other general
visualization and analysis packages in the future.

--Russ

_____________________________________________________________________

Russ Rew                                         UCAR Unidata Program
address@hidden                      http://my.unidata.ucar.edu