Hi Steve, First, a few general things about calendars. By default, Ferret uses a Gregorian calendar. That is, it takes into account leap years, and also the corrections to leap years every century that are in standard use. Ferret also allows for the use of several other calendars, to accomodate models that use simplified definitions of the time. Look up "time, calendars" for a section in the Users Guide on this. Also see "time axis, defining" for more about creating time axes. Please also see the entries under "monthly axis" for more discussion. Monthly axes are always problematic, as "month" is a unit whose length varies. By default Ferret makes an axis with equal length months, 1/12 of the total length of the year. The axis you define is not really a monthly time axis. When you give a start and end point and /npoints=12 then the start and end points that you list are the first and last COORDINATE points, rather than the edges of the grid cells as I think you probably intended. I've made some examples here - I use a unit of days so we can see the time coordiate more easily. Ferret can regrid among time axes no matter what the time unit is. Compare: ! original definition yes? def axis/t="1-jan-1979":"31-dec-1979"/t0="1-jan-1979"/npoints=12/units=days tmonth yes? list t[gt=tmonth] VARIABLE : T axis TMONTH SUBSET : 12 points (TIME) 01-JAN-1979 / 1: 0.0 03-FEB-1979 / 2: 33.1 08-MAR-1979 / 3: 66.2 10-APR-1979 / 4: 99.3 13-MAY-1979 / 5: 132.4 15-JUN-1979 / 6: 165.5 18-JUL-1979 / 7: 198.5 20-AUG-1979 / 8: 231.6 22-SEP-1979 / 9: 264.7 25-OCT-1979 / 10: 297.8 27-NOV-1979 / 11: 330.9 31-DEC-1979 / 12: 364.0 ! The above axis extends from mid-December 1978 to ! mid-January 1980. This makes the length of your months ! 33 days as is seen by the first two points listed above. ! If we use the /EDGES qualifier, then Ferret knows to ! use the dates you specify as the start of the first grid ! cell and the end of the last grid cell. We should also ! specify the hour and minute of the beginning and end of ! the days (or you could end with 1-jan-1980). yes? def axis/t="1-jan-1979:00:00":"31-dec-1979:23:23"/t0="1-jan-1979:00:00"/npoints=12/ edges/units=days tmonth yes? list t[gt=tmonth] VARIABLE : T axis TMONTH SUBSET : 12 points (TIME) 16-JAN-1979 / 1: 15.2 15-FEB-1979 / 2: 45.6 18-MAR-1979 / 3: 76.0 17-APR-1979 / 4: 106.5 17-MAY-1979 / 5: 136.9 17-JUN-1979 / 6: 167.3 17-JUL-1979 / 7: 197.7 17-AUG-1979 / 8: 228.1 16-SEP-1979 / 9: 258.5 16-OCT-1979 / 10: 288.9 16-NOV-1979 / 11: 319.4 16-DEC-1979 / 12: 349.8 To see more about this axis, let's list the pseudo-variables tbox, tboxlo, and tboxhi yes? list t[gt=tmonth], tbox[gt=tmonth], tboxlo[gt=tmonth], tboxhi[gt=tmonth] TIME: 01-JAN-1979 00:00 to 31-DEC-1979 23:23 Column 1: T is T (axis TMONTH) Column 2: TBOX is TBOX (axis TMONTH) Column 3: TBOXLO is TBOXLO (axis TMONTH) Column 4: TBOXHI is TBOXHI (axis TMONTH) T TBOX TBOXLO TBOXHI 16-JAN-1979 / 1: 15.2 30.41 0.0 30.4 15-FEB-1979 / 2: 45.6 30.41 30.4 60.8 18-MAR-1979 / 3: 76.0 30.41 60.8 91.2 17-APR-1979 / 4: 106.5 30.41 91.2 121.7 17-MAY-1979 / 5: 136.9 30.41 121.7 152.1 17-JUN-1979 / 6: 167.3 30.41 152.1 182.5 17-JUL-1979 / 7: 197.7 30.41 182.5 212.9 17-AUG-1979 / 8: 228.1 30.41 212.9 243.3 16-SEP-1979 / 9: 258.5 30.41 243.3 273.7 16-OCT-1979 / 10: 288.9 30.41 273.7 304.1 16-NOV-1979 / 11: 319.4 30.41 304.1 334.6 16-DEC-1979 / 12: 349.8 30.41 334.6 365.0 When you were comparing results, you did two different averages. The axis you defined put the center of the first grid box at January 1, so when you look at the first point of the variable mtmax, it's the average of the daily data from the start of the data (January 1?) to the end of the first grid box, in mid-January. The second average you computed is the true January average, from January 1 to January 31. Ansley Manke Steve Knox wrote:
|