[Thread Prev][Thread Next][Index]
Re: time_counter as axis
Hi,
As Ansley pointed out the example script is working fine and
the climatology is exactly matching with the manually calculated
mean.
yes? define axis/t=1:60:1 tabs
yes? let v = 30 - ( sin(t[gt=tabs]) ) + RANDU(t[gt=tabs])
yes? let v_3to5yr = TSEQUENCE(v[L=25:60])
yes? define axis/T=0:`365.2425*3`/NPOINTS=36/EDGES/units=days/\
...? T0="01-JAN-1974:00:00" t3to5yr
yes? let v_3to5yr_t = v_3to5yr[gt=t3to5yr@asn]
yes? define axis/T=0:365.2425/EDGES/NPOINTS=12/T0=1-JAN-0001/\
...? UNITS=DAYS/MODULO tclim
yes? let v_clim_12mon = v_3to5yr_t[GT=tclim@MOD]
yes? set list/precision=10
yes? cancel mode verify
yes? REPEAT/k=1:12:1 ( ;\
...? let mon = `k` ;\
...? let v_mean = ( v_3to5yr_t[l=`mon`] + v_3to5yr_t[l=`mon+12`] + \
...? v_3to5yr_t[l=`mon+24`] )/3 ;\
...? list/nohead mon, v_clim_12mon[l=`mon`], v_mean;\
...? )
I / *: 1.000000000 31.11149597 31.11149597
I / *: 2.000000000 30.45406342 30.45406342
I / *: 3.000000000 29.73362923 29.73362923
I / *: 4.000000000 29.80100060 29.80100060
I / *: 5.000000000 30.65710258 30.65710258
I / *: 6.000000000 31.01781273 31.01781273
I / *: 7.000000000 31.00856209 31.00856209
I / *: 8.000000000 30.23208427 30.23208427
I / *: 9.000000000 29.78796387 29.78796387
I / *: 10.00000000 29.93144226 29.93144226
I / *: 11.00000000 30.38167381 30.38167381
I / *: 12.00000000 31.16622925 31.16622925
yes?
If you need any more clarification about the @MOD & @ASN regridding
functions please let me know
With Regards
Jaison
On Wed, 1 Sep 2004, Ansley Manke wrote:
> Hi Arthur,
> It sounds like you've about got it. I don't see anything wrong
> with your commands. Ferret does not interpolate your data to
> days as it's computing the monthly climatology; days are the
> coordinate units but the monthly data is kept as monthly data.
>
> This example works correctly, just using all of your commands
> but just integers as the data. See if any of the list commands I
> have here help you figure out what's happening with your data:
>
> yes? let v_3to5yr = tsequence(t[t=25:60])
> yes? list/L=1:5 v_3to5yr
> VARIABLE : TSEQUENCE(T[T=25:60])
> SUBSET : 5 points (T)
> 1 / 1: 25.00
> 2 / 2: 26.00
> 3 / 3: 27.00
> 4 / 4: 28.00
> 5 / 5: 29.00
>
> yes? def axis/t=0:1095.7275/npoints=36/edges/units=days/\
> t0="01-jan-1974:00:00" t3to5yr
> yes? let v_3to5yr_t = v_3to5yr[gt=t3to5yr@asn]
>
> yes? def axis/t=0:365.2425/edges/npoints=12/
> \t0=1-jan-0001/units=days/modulo tclim
> yes? let v_clim_12mon = v_3to5yr_t[gt=tclim@mod]
>
> yes? list v_clim_12mon
> VARIABLE : V_3TO5YR_T[GT=TCLIM@MOD]
> SUBSET : 12 points (TIME)
> 16-JAN / 1: 37.00
> 15-FEB / 2: 38.00
> 18-MAR / 3: 39.00
> 17-APR / 4: 40.00
> 17-MAY / 5: 41.00
> 17-JUN / 6: 42.00
> 17-JUL / 7: 43.00
> 17-AUG / 8: 44.00
> 16-SEP / 9: 45.00
> 17-OCT / 10: 46.00
> 16-NOV / 11: 47.00
> 17-DEC / 12: 48.00
>
> ! Check some averages
> yes? list v_3to5yr_t[l=1:36:12] ! January values averaged
> VARIABLE : V_3TO5YR[GT=T3TO5YR@ASN]
> regrid: 365 day on T
> SUBSET : 3 points (TIME)
> JAN-1974 / 1: 25.00
> JAN-1975 / 2: 37.00
> JAN-1976 / 3: 49.00
>
> yes? list (28+40+52)/3 ! mean agrees with Jan of v_clim_12mon
> VARIABLE : (28+40+52)/3
> 40.00
>
>
> yes? list v_3to5yr_t[l=4:36:12] ! April values averaged
> VARIABLE : V_3TO5YR[GT=T3TO5YR@ASN]
> regrid: 365 day on T
> SUBSET : 3 points (TIME)
> APR-1974 / 1: 28.00
> APR-1975 / 2: 40.00
> APR-1976 / 3: 52.00
> yes? list (25+37+49)/3 ! mean agrees with Apr of v_clim_12mon
> VARIABLE : (25+37+49)/3
> 37.00
>
>
>
> Arthur M. Greene wrote:
>
> >Hi Jason,
> >
> >Thanks for the reply! Here's what I've been able to do (There are 5
> >years of monthly variable v; we wish to construct a climatology for the
> >last three years):
> >
> >let v_3to5yr = tsequence(v[L=25:60]) ! Extract desired time slice
> >
> >define axis/T=0:1095.7275/npoints=36/edges/units=days/\
> >T0="01-jan-1974:00:00" t3to5yr
> >
> >let v_3to5yr_t = v_3to5yr[GT=t3to5yr@asn]
> >
> >So far, so good. I now have three years of data on a real-time axis,
> >beginning with jan-1974. The plot looks OK. Now for the climatology:
> >
> >define axis/T=0:365.2425/EDGES/NPOINTS=12/\
> >T0=1-JAN-0001/UNITS=DAYS/MODULO tclim
> >
> >let v_clim_12mon = v_3to5yr_t[GT=tclim@MOD]
> >
> >This does produce a 12-month plot that _looks_ like a climatology (i.e.,
> >x-axis reads Jan, Feb, Mar...), but the values are not equal to the
> >averages of the corresponding month's values in v_3to5yr_t, i.e.,
> >v(Jan,v_clim_12mon) <> (Sum of Jan vals in v_3to5mon)/3. So perhaps I
> >don't understand how the MOD (or ASN, for that matter) climatologies are
> >actually computed. Even if the 36 months of data were interpolated into
> >daily values, and the appropriate daily values averaged to produce the
> >monthly climatology, the resultant would not appear to be correct. The
> >docs do not seem to clarify exactly how these climatologies are computed
> >(or maybe I need a refresher!)
> >
> >Your comments greatly appreciated!
> >
> >Thanks,
> >
> >Arthur
> >
> >On Wed, 2004-09-01 at 08:33, Jaison Kurian wrote:
> >
> >
> >
> >>! --------------example.jnl--------------------------------
> >> ! extract last three years data ie. abstract index L=25:60
> >>
> >> let v_3to5yr = TSEQUENCE(v[L=25:60])
> >>
> >> ! define monthly time axis from JAN-1997 to DEC-1999 & assign it
> >> ! T=0:`365.2425*3`/NPOINTS=36/UNITS=DAYS together will make it for
> >> ! 3 years and T0 will take care of actual year stamp.
> >>
> >> define axis/T=0:`365.2425*3`/NPOINTS=36/EDGES/units=days/\
> >> T0="01-JAN-1997:00:00" t3to5yr
> >>
> >> let v_3to5yr_t = v_3to5yr[gt=t3to5yr@asn]
> >>
> >> ! Define a monthly climatological axis
> >>
> >> define axis/T=0:365.2425/EDGES/NPOINTS=12/T0=1-JAN-0001/\
> >> UNITS=DAYS/MODULO tclim
> >>
> >> ! Find monthly climatology by "MODULO" regridding
> >>
> >> let v_clim_12mon = v_3to5yr_t[GT=tclim@MOD]
> >> plot v_clim_12mon
> >>
> >>! If you want to find anomaly or want to plot the climatology
> >>! over the data then please refer :
> >>! http://ferret.pmel.noaa.gov/Ferret/Mail_Archives/fu_2003/msg01470.html
> >>
> >>!---------------------- end of example.jnl-------------
> >>
> >>
> >
> >
> >
> >
>
--
___________________________________________________
Jaison Kurian
Centre for Atmospheric and Oceanic Sciences
Indian Institute of Science
B A N G A L O R E 560 012
Ph: +91-80-3942505
+91-80-3600450
Fax:+91-80-3600865
___________________________________________________
[Thread Prev][Thread Next][Index]
Dept of Commerce /
NOAA /
OAR /
PMEL /
TMAP
Contact Us | Privacy Policy | Disclaimer | Accessibility Statement