Re: Composites

From: Saji Njarackalazhikam Hameed <saji_at_nyahnyahspammersnyahnyah>
Date: Mon, 06 Feb 2006 15:31:59 -1000

Hi Ben,

NCL has useful tools to make composites. I have used two approaches as
outlined below. In the following I assume that all the data have the same
time co-ordinates (say time is written as "days since 1900-01-05").

  Approach 1. Sort a time series and take a portion of the values as
                significant events. Let's use Nino3 time series to
                make a composite of El Nino events.

                nin=feof->nin ; read in DJF values of Nino3 time series from a file
                years=nin&time ; time co-ordinate
                ip = dim_pqsort(nin, 2) ; sort DJF Nino3 time series
                nnin=dimsizes(nin) ; length of Nino3 time series
                p=0.10 ; Assume upper/lower tenths
                                         ; of sorted Nino3 to be
                                         ; El Nino/La Nina
                xlen=p*nnin ;
                ist=0+floattoint(xlen) ;
                ien=nnin-ist ;
                lanina=years(ip(:ist-1)) ;
                elnino=years(ip(ien:)) ;

        ; Read Zonal surface wind data

                uas=fuas->uas_anm ;Zonalwind anomalies at surface
                uas_3m=runave_Wrap(uas(lat|:,lon|:,time|:),3,0) ;
                                         ; a 3-point running mean to
                                         ; to get running seasonal
                                         ; values
                utime=uas&time ; Time co-ordinate of this data
                                         ; has same time units as Nino3
                uind=get1Dindex(utime,elnino) ; Convert time-coordinates
                                              ; of ElNino years into
                                              ; utime indices(see above)

                unin=uas(time|uind,lat|:,lon:) ; collect data for
                                                ; ElNino years

                unino=dim_avg_Wrap(unin(lat|:,lon|:,time|:)) ; since we took DJF
                                                ; nino3 these are
                                                ; DJF wind composites

                ; Changing uind=uind-3 and repeating the 2 steps above
                ; should give SON composites and so on, assuming
                ; data are monthly values


        Approach 2 - In the approach above, different phases of the
composite are assumed to have same time lags. In the case there are ENSO
events of different duration, you want to consider compositing by phase.
Let's say phase=0 when the Nino3 time series has maximum positive
amplitude. Then phase=180 degree is when Nino3 time series has maximum
negative amplitude. Transitional phases are -90 and 90 degrees. The code
for that is a bit more complicated. I can sent it to you if you want,
but the essential idea is as follows.

**** Warning *****
        In practise the following idea may not work out as smoothly as
you like it to. So be careful.


        * Read in monthly Nino3 time series and find all local maxima (using the
                new function local_minmax_1d).

        * Select a few out of them that satisfy a specified criteria
           (say having amplitude greater than 1 standard deviation).

        * Determine time of maximum negative amplitude before and after
         this local peak. These are phases -180 and 180. Similarly take zero
         crossings as -90 and 90.

        * Composite according to phase with the above information.

Let me know if you need an example code for this.

* Benjamin Lamptey <> [2006-02-06 19:16:22 -0500]:

> Hello,
> I should be grateful if someone could point me to an example in which
> composite maps (or anomaly plots) are made in NCL. For example, making a
> composite of El Nino events. The events are of different duration.

> Thanks
> Ben

> _______________________________________________
> ncl-talk mailing list
ncl-talk mailing list
Received on Mon Feb 06 2006 - 18:31:59 MST

This archive was generated by hypermail 2.2.0 : Tue Feb 07 2006 - 16:26:09 MST