[Thread Prev][Thread Next][Index]
Re: Daily data to monthly climatology...
Hi Arindam,
Answering you outside of the Ferret Users List, because
I don't have an answer now. Here are some ideas that you
might use to make further experiments and understand this.
I don't have time today to explore it more, but it is an
interesting question - maybe Andrew will have more ideas.
- use @LIN regridding. I did this and the results are what
you are expecting.
- Define the monthly axes as modulo and use @MOD regridding
- Try the ideas in the FAQ,
How can I determine the averaging weights when regridding with AVE? @http://ferret.pmel.noaa.gov/Ferret/FAQ/analysis/regridding_with_ave.html
Also look at some of the other discussions that have to do with regridding
in the analysis section of the FAQ's
http://ferret.pmel.noaa.gov/Ferret/FAQ/#analysis
Ansley Manke
Arindam Chakraborty wrote:
> hello Ferreters,
> this may be continuation of the discussion about making
> monthly average from daily data. I've daily data of one year and I'm
> facing problem in making monthly means from it. To test the monthly
> mean created I've used a dummy daily variable which takes the value as
> the Julian day:
>
> ! define daily axis and variable
> def axis/t="01-jan-1998":"31-dec-1998"/npoint=365/units=days t_day
> def grid/t=t_day g_day
> let vardy = l[gt=g_day,l=1:365]
> list vardy[l=1:4]
> L[GT=G_DAY,L=1:365]
> 01-JAN-1998 00 / 1: 1.000
> 02-JAN-1998 00 / 2: 2.000
> 03-JAN-1998 00 / 3: 3.000
> 04-JAN-1998 00 / 4: 4.000
>
> Now monthly axis is defined and monthly means were made:
> let month = mod(l-1,12)+1
> let add_year = int((l-1)/12)
> let tstep = days1900(1998+add_year,month,1)
> define axis/t/units=days/t0=1-jan-1900/edges/name=truemonth
> tstep[l=1:13]
> def grid/t=truemonth g_mon
> let varmn1 = vardy[gt=g_mon@ave]
> list varmn1
> VARDY[GT=G_MON@AVE]
> 16-JAN-1998 12 / 1: 16.5
> 15-FEB-1998 00 / 2: 46.0
> 16-MAR-1998 12 / 3: 75.5
> ... ...
>
> Clearly, both edges are included to make the monthly mean.
> (JAN mean should be 31*(31+1)/2/31 = 16.0 but it is 32*(32+1)/2/32 =
> 16.5 and similarly for the other months, except for the 12th).
> But I want to exclude the 1st data value of the next month while
> making monthly mean for the present one. I tried like this too:
>
> ! define another monthly axis at the middle of every month
> let ts98 = days1900(1998+add_year,month,1)
> let te98 = ts98[l=@shf:1] - 1
> define axis/t/units=days/t0="1-jan-1900:00:00"/name=t_month
> (ts98[l=1:12]+te98[l=1:12])/2
> let varmn2 = vardy[gt=t_month@ave]
> list varmn2
> VARDY[GT=T_MONTH@AVE]
> 16-JAN-1998 00 / 1: 16.0
> 14-FEB-1998 12 / 2: 45.5
> 16-MAR-1998 00 / 3: 75.2
> 15-APR-1998 12 / 4: 105.5
> 16-MAY-1998 00 / 5: 136.0
> 15-JUN-1998 12 / 6: 166.5
> 16-JUL-1998 00 / 7: 197.1
> 16-AUG-1998 00 / 8: 227.9
> 15-SEP-1998 12 / 9: 258.5
> 16-OCT-1998 00 / 10: 289.0
> 15-NOV-1998 12 / 11: 319.5
> 16-DEC-1998 00 / 12: 350.0
>
> Here all values are correct except MAR (should be 75.0),
> JUL (should be 197.0) and AUG (should be 228.0). I'm not able
> to figure out what's happening for these months. Is there any
> work around? To make the monthly mean I want to consider only those
> many data points as many days of that month.
>
> I'm using Ferret version 5.22 in Linux.
>
> thanks,
>
> arindam
> ------------------------------------------
> ARINDAM CHAKRABORTY
> Centre for Atmospheric & Oceanic Sciences
> Indian Institute of Science
> Bangalore 560 012; INDIA
> Tel: 091-080-3942505, 091-080-3600450
> Fax: 091-080-3600865
> __________________________________________
>
> On Fri, 10 Jan 2003, Andrew Wittenberg wrote:
>
> > On Fri, 10 Jan 2003, Ansley Manke wrote:
> > > To make monthly data you would define a monthly time axis for the
> > > period in question, and regrid your data to it:
> > >
> > > DEFINE AXIS/T="1-Jan-1961":"1-jan-1991":1/unit=month t_month
> > > LET precip_month = precip[GT=t_month]
> >
> > Gary & Ansley,
> >
> > If your precip is a daily field, you probably want
> >
> > precip[GT=t_month@ave]
> >
> > which gives monthly averages. Otherwise you'll get linear interpolation
> > (the default regridding).
> >
> > Cheers,
> >
> > Andrew
> >
> > +---------------------------------------+
> > | Andrew Wittenberg | GFDL/NOAA |
> > | atw@gfdl.noaa.gov | Princeton, NJ |
> > +---------------------------------------+
> >
> >
--
Ansley Manke Pacific Marine Environmental Laboratory Seattle WA (206)526-6246
[Thread Prev][Thread Next][Index]
Dept of Commerce /
NOAA /
OAR /
PMEL /
TMAP
Contact Us | Privacy Policy | Disclaimer | Accessibility Statement