[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
20020319: UDUNITS date conversion: non-Gregorian calendar systems
- Subject: 20020319: UDUNITS date conversion: non-Gregorian calendar systems
- Date: Tue, 19 Mar 2002 09:14:52 -0700
Emanuele,
> To: address@hidden
> cc: address@hidden
> From: emanuele lombardi <address@hidden>
> Subject: udunits & years of 360 days
> Organization: ENEA CLIM Casaccia
> Keywords: 200203191316.g2JDGpa05055 UDUNITS
The above message contained the following:
> I have troubles using udunits to convert numbers representing days into
> "dates" when the calendar is known to be "climatological" (360 days).
> I know some software (like ferret) handle properly such situations taking
> in account the value of the attribute "calendar" of the input netcdf files.
> This attribute can be given the value "360" .
>
> But my own Fortran codes cannot act this way since udunits and its related
> routines (e.g. utcaltime) have no way to be told which calendar is to be used.
>
> So accessing the same netcdf file from Ferret I get the correct dates,
> while accessing it from Fortran I get wrong dates.
>
> It seems to me that a solution could be to add an input parameter (360/365
> integer) to the routine "utcaltime"
> or to add the info about the calendar length in the UNIT string given to
> routine "utdec" .
>
> Could you, please, tell me what is the best solution and suggest me a way I
> could "hack"
> udunits so that it can understand 360 days calendar?
>
> Thank you very much from Italy
The UDUNITS package wasn't designed to handle calendar systems other
than the Gregorian. As a consequence, FERRET has to handle time
parameters separately. The same would have to be done in Fortran.
You would have to port the FERRET time-handling code to Fortran or
create your own.
I suggest that you contact the FERRET people or try posting an inquiry
to the netCDFgroup mailing-list.
Regards,
Steve Emmerson <http://www.unidata.ucar.edu>