[Thread Prev][Thread Next][Index]
Re: How to calculate the annual average
Hi, Ansley
Thank you for your reply. I try your approach, but still there are
problems. Here is what I got
yes? use cresum001710.sst.nc
yes? show data
currently SET data sets:
1> ./cresum001710.sst.nc (default)
name title I J K L
SST Sea surface temperature 1:144 1:72 ... 1:4800
yes? define axis/t=6:4800:12 yearaxis
yes? let sst_year = sst[gt=yearaxis@ave]
yes? list/file="cresum001710.sst.a.nc" sst_year
**ERROR: regridding: only @ASN regridding between calendar and
non-calendar axes: SST
What this means?
Ming
On Fri, 1 Apr 2005, Ansley Manke wrote:
> Hi Ming,
> When the time series is done in terms of index value, you caon compute
> the annual averages like this:
>
> define axis/t=6:4800:12 yearaxis
> let sst_year = sst[gt=yearaxis@ave]
>
> The output axis is in the same units (which is just the index value, but
> you can think of it as months). I start with 6 so that the averages are
> taken over the first 12 points, then 13 through 24, and so on. To test
> what this is doing, here is an example where I make up some data, where
> the variable has the value of the index.
>
> yes? def axis/t=1:4800:1 tmonth
> yes? def axis/t=6:4800:12 tyear
>
> yes? let tt = t[gt=tmonth]
> yes? let ttyear = tt[gt=tyear@ave]
>
> yes? list/l=1:5 ttyear
> VARIABLE : TT[GT=TYEAR@AVE]
> SUBSET : 5 points (T)
> 6 / 1: 6.26
> 18 / 2: 18.00
> 30 / 3: 30.00
> 42 / 4: 42.00
> 54 / 5: 54.00
>
> The first value is different from the expected 6 because the first
> averaging interval in T (t=1 to 12) is taken from the start of the time
> axis, 0.5, to 12, so the weighting factor is 11.5. The start of the
> axis is t=0.5 not 0. The second interval (t=12 to 24) takes the average
> from 12 to 24, so the weighting is 12.
>
> We can also see this if we compute unweighted average computed by taking
> the transformation @SUM and dividing by the number of good data, @NGD:
>
> yes? let ttsum = tt[gt=tyear@sum]
> yes? let ttcount = tt[gt=tyear@ngd]
> yes? let ttyear = ttsum/ttcount
> yes? list/l=1:5 ttsum, ttcount, ttyear
> T: 0 to 60
> Column 1: TTSUM is TT[GT=TYEAR@SUM]
> Column 2: TTCOUNT is TT[GT=TYEAR@NGD]
> Column 3: TTYEAR is TTSUM/TTCOUNT
> TTSUM TTCOUNT TTYEAR
> 6 / 1: 72.0 11.50 6.26
> 18 / 2: 216.0 12.00 18.00
> 30 / 3: 360.0 12.00 30.00
> 42 / 4: 504.0 12.00 42.00
> 54 / 5: 648.0 12.00 54.00
>
>
>
> Ming Yang wrote:
>
> >Hi, Ansley
> > After I reading the FAQ, I still cannot figure out how to compute the
> >annual average. It is probably because my data set is different from the
> >example listed in the FAQ. Here is the basical information of my dataset
> >yes? use cresum001710.sst.nc
> >yes? show data
> > currently SET data sets:
> > 1> ./cresum001710.sst.nc (default)
> > name title I J K L
> > SST Sea surface temperature 1:144 1:72 ... 1:4800
> >
> > I think the difference is that in my dataset the grid is defines as
> >IJKL instead of XYZT. And also the L axis is not based on any calendars.
> >Basically what I want to do is to calculate the average values for every
> >12 Ls so that to the transformed data has 400 points in L axis. Do you
> >know what is the best way for me to do so? Thank you for your help.
> >
> >
> >Ming
> >
> >
> >
>
>
[Thread Prev][Thread Next][Index]
Dept of Commerce /
NOAA /
OAR /
PMEL /
TMAP
Contact Us | Privacy Policy | Disclaimer | Accessibility Statement