[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