2010年11月18日 星期四

ferret command - def axis/calendar

定義時間軸時,很常用到。
你的一年是365天?365.25天?還是360天?

資料來源:ferret的網頁
DEFINE AXIS/CALENDAR=

Allows for non-Gregorian calendar axes. The calendars allowed are


The calendar definitions conform to the netCDF conventions document for calendars.  See http://www.cgd.ucar.edu/cms/eaton/cf-metadata/CF-current.html#cal These calendar definitions are compatible with the Udunits standard (see http://www.unidata.ucar.edu/packages/udunits/udunits.dat) which has slightly different naming conventions. Also note that the default calendar in Ferret is the proleptic Gregorian calendar, i.e. the definition of a year is consistent throughout time and does not have an offset in the 1500's as the historical calendars did. However, files written using the NOAA/CDC standard for the "blended" Julian/Gregorian calendar are read correctly by Ferret: If a time axis has a time origin of 1-1-1 00:00:00, and uses the default calendar, and if the coordinates of axis lie entirely after the year 1582, then the historical 2-day shift is applied.

The netCDF conventions recommend that the calendar be specified by the attribute time:calendar when there is a non-Gregorian calendar associated with a data set, i.e.

time:calendar=noleap

Ferret reads this attribute from a netCDF file, or gets it from a definition made with DEFINE ATTRIBUTE and assigns the designated calendar to the time axis.

Example:

Define a calendar axis and regrid an existing variable to this axis:

yes? DEFINE AXIS/CALENDAR=JULIAN/T="15-JAN-1982":"15-DEC-1985":30/UNITS=days tmodel yes? LET twind = uwnd[GT=tmodel@NRST] 

When regridding from one calendar axis to another the length of a year is assumed to be constant, therefore the regridding calculates a scale factor based on the length of a second in each calendar, computed from the number of seconds per year for the calendars.

沒有留言:

張貼留言