[Thread Prev][Thread Next][Index]

RE: [ferret_users] How can I produce a time series of JJA averages (orother intervals) from a monthly time series?



Hi Yun,
        Here is an example using monthly_navy_winds dataset.
Also see these two mails, which deals with somewhat similar
questions :

http://ferret.pmel.noaa.gov/Ferret/Mail_Archives/fu_2004/msg00575.html
http://www.ferret.noaa.gov/Ferret/Mail_Archives/fu_2005/msg00018.html

Hope this helps...

Jaison


!-------Example : JJA seasonal mean from monthly data-----------
!
\ cancel mode verify
! Drawbacks : Data should start at January of a year. Otherwise
!             "yr_months" variable should be modified accordingly. 
!
! monthly navy winds : 16-JAN-1982 to 17-DEC-1992
!-----------------------------------------------------------

     use monthly_navy_winds
 
     ! create a mask such that only JJA is valid and all other months
     !    are set to missing value

     let L_indx    = L[GT=uwnd]
     let yr_months = L_indx- 12*INT((L_indx-1)/12) 
     list yr_months

     ! JJA -->  L is 6-8

     let mask_other_months = IF yr_months GT 5 AND yr_months LT 9 THEN 1
     list yr_months, mask_other_months

     ! Apply the mask

     let uwnd_masked = uwnd[d=1] * mask_other_months
     list/x=60/y=10 uwnd_masked 

     ! Club the JJA values together

     let uwnd_compr  = COMPRESSL(uwnd_masked)
     list/x=60/y=10 uwnd_compr

     ! 1982-1992 --> 11 years --> 11*3=33 data points
     ! we need to average this data points in pairs of 3 to find the
     !  seasonal mean. Easy way is to use two abstract axes, one
     !  with 33 points (ranging from 1-33) and another one with
     !  11 points (ranging from 2-32) and regrid using @AVE.

     define axis/t=1:33:1 t33
     let uwnd_jja_all = uwnd_compr[gt=t33@ASN] 
     list/x=60/y=10 uwnd_jja_all
 
     define axis/t=2:32:3 t11  ! for the exact seasonal mean
     let uwnd_jja_av  = uwnd_jja_all[gt=t11@AVE]

     ! now assign a proper yearly time axis defined over 1982-1992
     !  here we dont need any interpolation but the grid change
     !  ..so use @ASN regridding

     define axis/t=1982:1992:1/units=years tyear
     let uwnd_jja  = uwnd_jja_av[gt=tyear@ASN]
     list/x=60/y=10 uwnd_jja ! 6.36 7.99 7.12  8.51 9.46 9.32
     set var/title="JJA Seasonal Mean UWND"/units="m/s" uwnd_jja
     
     ! save to a NetCDF file for future use

     ! sp rm -f uwnd_jja_mean.nc
     ! save/file=uwnd_jja_mean.nc/APPEND uwnd_jja

!-------------end of example-------------------------------------


On Wed, 20 Sep 2006 Yun.Li@csiro.au wrote:

> Hi Ansley,
> 
>  
> 
> I am trying to do "Leaving only JJA SLP data" from a monthly NCEP SLP
> data "slp.mon.mean.nc". I have looked at
> http://ferret.pmel.noaa.gov/Ferret/FAQ/analysis/seasonal_masking.html.
> But I could not get a solution because of my poor ferret skills.  Could
> you please give me a help here?
> 
>  
> 
> Thanks,
> 
>  
> 
>  
> 
> Yun
> 
>  
> 
>  
> 
>  
> 
>   _____  
> 
> From: Ansley Manke [mailto:Ansley.B.Manke@noaa.gov] 
> Sent: Wednesday, 20 September 2006 3:02 AM
> To: Li, Yun (CMIS, Floreat)
> Cc: oar.pmel.ferret_users@noaa.gov
> Subject: Re: [ferret_users] How can I produce a time series of JJA
> averages (or other intervals) from a monthly time series?
> 
>  
> 
> Hi Yun,
> Here are a couple of FAQ's for you to look at - if one of these is the
> kind of thing you want to do. If you need help applying the ideas,
> please write back to the users list.
> 
> This FAQ makes a "seasonal mask" to pick out data from part of each
> year.  It does the problem with units of time in days; but if you're
> starting with monthly data you could do a similar thing with months,
> with JJA being months 6,7,8.  You could combine this with the COMPRESS
> functions to remove the missing data and leave only the JJA data.
> http://ferret.pmel.noaa.gov/Ferret/FAQ/analysis/seasonal_masking.html
> 
> Or, did you have in mind a climatology, averaging all of the JJA data
> for all years, and returning just one point?  In that case, see
> "climatology, creating" in the Users Guide, and this FAQ for more
> examples
> http://ferret.pmel.noaa.gov/Ferret/FAQ/analysis/climatologies.html
> 
> Ansley
> 
> Yun.Li@csiro.au wrote: 
> 
> Dear Ferreters,
> 
>  
> 
> I am trying to produce a seasonal time series (such as JJA time series)
> from a monthly time series. 
> 
>  
> 
> There is an example from the Ferret FAQ on "How can I produce a time
> series of annual averages (or other intervals) from a monthly time
> series?"
> 
>  
> 
> http://ferret.wrc.noaa.gov/Ferret/FAQ/analysis/annual_from_monthly.html
> 
>  
> 
> I would be most grateful if you can let me know how to produce a
> seasonal averaged time series (such as June-July-August average time
> series) from a monthly time series by modifying the code used to produce
> annual time series in the above web page, that is,
> 
>  
> 
>      yes?  SET DATA monthly_navy_winds
> 
>      yes?  DEFINE AXIS/EDGES/T0=1-jan-1900/UNITS=days tann82_92 =
> DAYS1900(X[i=1982:1993:1],1,1)
> 
>      yes?  PLOT/X=180/Y=0 uwnd
> 
>      yes?  PLOT/X=180/Y=0/over uwnd[gt=tann82_92@ave]     ! the above
> plot 
> 
>  
> 
>  
> 
>  
> 
> Thanks, 
> 
>  
> 
> Yun Li
> 
> CSIRO, Australia
> 
> 
> 
> 
> 
> 

[Thread Prev][Thread Next][Index]

Dept of Commerce / NOAA / OAR / PMEL / TMAP

Contact Us | Privacy Policy | Disclaimer | Accessibility Statement