Unidata - To provide the data services, tools, and cyberinfrastructure leadership that advance Earth system science, enhance educational opportunities, and broaden participation. Unidata
         
  advanced  
 

Cyclic variables

Some variables are cyclic.  

A common example is longitude which has a cycle of 360 degrees.  This means
that (assuming unit="degrees_east") one should treat a value of 360 as
equivalent to 0, -180 as equivalent to 180, etc.  In other words the value
should be treated as modulo 360.

How should such variables be handled by netCDF?  

I propose that:

1. There be a new standard conventional attribute called "cycle_length", 
   (or perhaps "modulus") giving the cycle length (in the units defined by
   attribute "units").

2. The unit "degrees_east" (and equivalents degree_east, degreeE, degree_E,
   degreesE, degrees_E) should imply cycle_length=360.

Note that I consider it better to identify longitude from the unit rather
than the variable name (which could be "lon", "longitude", etc.)

One could consider 'cyclicity' to be a property of the unit.  It would be
possible to include in the units database file ('udunits.dat') a new field
giving the cycle, if any.  However I am inclined to feel this is not really
necessary and would be more trouble than it is worth.  I am not aware of any
common units other than "degrees_east" which should always be treated as
cyclic, although there may well be some.

Harvey Davies,                              Home: +61 3 9772 5199
CSIRO Division of Atmospheric Research,     Work: +61 3 9586 7574
Private Bag No. 1, Mordialloc,               Fax: +61 3 9586 7600
Victoria 3195,  Australia                 E-mail: hld@xxxxxxxxxxxx


 
 
  Contact Us     Site Map     Search     Terms and Conditions     Privacy Policy     Participation Policy
 
National Science Foundation (NSF) UCAR Community Programs   Unidata is a member of the UCAR Community Programs, is managed by the University Corporation for Atmospheric Research, and is sponsored by the National Science Foundation.
P.O. Box 3000     Boulder, CO 80307-3000 USA     Tel: 303-497-8643     Fax: 303-497-8690