We have been using a two NC_LONG time format for about a year. Our reasons
are very similar to Dan's. The following is from our manual on using some
time manipulation routines:
EPIC system internal representation for time is a double integer format. The
first integer is the true Julian Day Number (e.g. May 23, 1968 = 2,440,000).
Our true Julian Day Number will begin at midnight (the Julian Day Number
used by astronomers begins at noon). The second integer is the number of
milliseconds since midnight with 86,400,000 in a day. July 4, 1994
16:57:23.217 GMT is 2,449,538 and 61,043,217. All times are assumed to be
GMT.
The manipulation routines include:
1) conversion to month, day, year (eg. 1984), hour, min, sec
2) conversion from month, day, year, hour, min, sec
3) conversion to year-day-number, year
4) conversion from year-day-number, year
5) subtract two times
6) add two times
7) compute the number of time intervals given start time, stop time and delta
8) convert to a formatted string
The above format is used for geophysical data. In addition we also using
a single NC_LONG for model output that is the number of seconds since the
start of the model run.
These formats are being used in many oceanographic data analysis applications.
Donald Denbo
dwd@mystery.pnl.gov