NetCDF Operators & Utilities

root@acd.ucar.edu
Tue, 4 Feb 92 16:34:11 -0700

   The draft document written by Russ Rew and Steve Emmerson contains,
I believe, a very useful set of operators (netcdf file(s) in, netcdf file
out) and utilities (netcdf file(s) in, other file out).  One concept
used in this draft is that of coordinate variables "A coordinate variable
is a one-dimensional variable having the same name as its dimension."
   For dimensions corresponding to latitude or longitude, this definition
is quite reasonable.  An NCFLOAT singly dimensioned variable does the
job quite nicely.  Similarly, we find the definition fine for pressure.
The one dimension which we find doesn't easily correspond to a singly
subscripted variable (byte, character, short, long, float, and double)
is time.  For our purposes, we like to assure millisecond resolution in
this variable.  In addition, we wish to be able to specify times over
many centuries.
   It may not be important to take a time difference over a century
to the nearest millisecond, but it may be convenient to have single
time scale and be able to extract a given entry with data of such precision.
Double precision numbers cannot assure exact millisecond resolution.
They might be made to work with a time offset defined within the
dataset, but this too is not part of the netcdf standard nor the assumptions
built into these proposed operators/utilities.
   We have decided to use two integers for time.  The first is the
Julian day (jan 1, 1992 = 2448623), the second is the millisecond of day.
By standardizing on a particular time scheme like this, large range and
great precision can both be attained.  In addition, we can standardize
plotting routines to get axes for the appropriate time period.
How do other people deal with time?  Is it possible and/or reasonable
to try to generalize the concept of a one-dimensional coordinate variable
to a two or N dimensional quantity?

						Dan Packman
						pack@ncar.ucar.edu