Re: About Rotated EOF patterns of NCEP reanalysis 500mb monthly data

From: Cara-Lyn Lappen <lappen7_at_nyahnyahspammersnyahnyah>
Date: Fri Nov 30 2012 - 13:39:13 MST

Yes, this is a correct assessment of rotated vs regular EOFs

> Hi
> Recently i came to know that the procedure to get the time series of rotated EOF is not simple as getting time series of simple EOFs. The reason is that rotated EOFs are not orthogonal to each other so to get its time series we need regress the rotated EOF patterns on anomaly data to get the time series. In simple EOFs, we can simple project (multiply) the EOF on anomaly data to get time series.
> I just want to confirm that my understanding is right?
> Thanks for your help in advance.
>
>
>
> On Thu, Nov 8, 2012 at 9:09 PM, Dennis Shea <shea@ucar.edu> wrote:
> Did you read the documentation for
>
> http://www.ncl.ucar.edu/Document/Functions/Built-in/eofunc_varimax.shtml
> and
> http://www.ncl.ucar.edu/Document/Functions/Contributed/eofunc_varimax_reorder.shtml
>
> [snip]
> eof = eofunc_Wrap(x, neof, optEOF)
> eof_ts = eofunc_ts_Wrap (x, eof, optETS)
>
> printVarSummary( eof ) ; examine EOF variables
> printVarSummary( eof_ts )
> print("eof_ts: min="+min(eof_ts)+" max="+max(eof_ts) )
>
> ; =================================================================
> ; Perform varimax rotation
> ; =================================================================
> eof_rot = eofunc_varimax_Wrap( eof, 1 )
> printVarSummary( eof_rot )
> print("eof_rot: min="+min(eof_rot)+" max="+max(eof_rot) )
>
> ; =================================================================
> ; put rotated EOFs into descending order (% variance explained)
> ; =================================================================
> eofunc_varimax_reorder( eof_rot )
> printVarSummary( eof_rot )
> [snip]
>
> The percent variance explained after rotation is returned as
> the attribute 'pcvar_varimax'
>
>
>
>
> On 11/8/12 8:10 PM, Waqar Younas wrote:
> Hi
>
> I have one more question about rotated EOFs.
> When i use the following loop to plot my rotated EOF with variance
> explained, it is not working for variance explained of rotated EOF. For
> example,
> do n=0,2-1
> res@gsnLeftString = "EOF "+(n+1)
> *res@gsnRightString = sprintf("%5.1f", eof@pcvar(n)) +"%"*
>
> plot(n)=gsn_csm_contour_map_polar(wks,ev_regres(n,:,:),res)
> end do
> gsn_panel(wks,plot,(/2,1/),resP) ; now draw as one plot
>
> This (res@gsnRightString = sprintf("%5.1f", eof@pcvar(n)) +"%") is
> variance explained by EOF instead of rotated EOF. When i modifiy this
> line by
> res@gsnRightString = sprintf("%5.1f", ev_rot@pcvar(n)) +"%", it gives me
> segmentation fault that pcvar is undefined variable or function. Here
> ev_rot are my rotated EOFs.
> Also, is there any difference between variance explained in EOF and
> rotated EOFs?
> Thanks in advance for help.
>
>
>
>
> On Tue, Nov 6, 2012 at 4:49 PM, Dennis Shea <shea@ucar.edu
> <mailto:shea@ucar.edu>> wrote:
>
> As noted in the eofunc_varimax documentation:
>
> "The results may be very dependent upon the user specified number of
> modes used in the rotation. The "best" number of modes to use may
> have to be determined by experiment."
>
> --
> Let's say the maximum possible number of eigenvalues/vectors is 1000.
> This means the 2nd EOF must be orthogonal to the 1st; the 3rd must
> be orthogonal to 1 and 2, etc. The orthogonality property impose
> constraints of the patterns.
>
> Even if you requested a subset of the eigen information, the LAPACK
> computes all the eigenvalues and returns just the subset but the
> full orthogonality is still in effect!
>
> If you use
> eof = eofunc(x,10, False)
> eofunc_varimax(eof)
>
> then the varimax imposes orthogonality on these 10 modes only.
>
> If you used only 2 modes .... then I'm not sure what you get
> but 2 modes in not 'right'
> eof = eofunc(x, 2, False)
> eofunc_varimax(eof)
>
>
>
>
>
>
> On 11/06/2012 03:00 PM, Waqar Younas wrote:
>
> Hi Phillips
> The data i used is NCEP/NCAP reanalysis of 500mb monthly
> geopotential
> height from 1950-2000.
> I got my results correct. The only confusion remaining is when i
> calculate only 2 rotational components the results are not
> exact, but
> when i calculate the 10 rotational components and plot only 2, the
> results are more like NAO (first component) and PNA (second
> component).
> Please find attached figure when i calculate 10 components and plot
> first 2 components. The other figure (when i calculate only 2
> components
> and plot them) is attached in the first message above. I do not
> know why
> there is such difference?
>
> Thanks.
>
>
>
> On Tue, Nov 6, 2012 at 1:29 PM, Adam Phillips <asphilli@ucar.edu
> <mailto:asphilli@ucar.edu>
> <mailto:asphilli@ucar.edu <mailto:asphilli@ucar.edu>>> wrote:
>
> Hi Waqar,
> Looking at your script, I don't see anything wrong. That
> leaves me
> trying to answer why the patterns are not what you expected
> them to
> be, and of course I cannot answer that. The patterns depend
> on the
> data you use. You can try running your script on other
> data, say,
> the NCEP/NCAR Reanalysis, to see if the results are what
> you expect.
> Good luck,
> Adam
>
>
> On 11/6/12 12:31 PM, Waqar Younas wrote:
>
> Hi
> It does not make any difference because even without
> reordering, i
> was getting the EOF patterns in order as first mode
> explained
> variance was 13.3% and second one is 10% and so on. The
> patterns
> did not change.
> I do not know where i am making mistake because
> especially for
> PNA, the most variance should be in Western side but my PNA
> pattern is capturing variability on Eastern side too.
> Now i am
> attaching the whole code which i modified using eof_4.ncl.
> Thanks.
>
>
>
>
>
> On Tue, Nov 6, 2012 at 9:05 AM, Dennis Shea
> <shea@ucar.edu <mailto:shea@ucar.edu>
> <mailto:shea@ucar.edu <mailto:shea@ucar.edu>>> wrote:
>
> The documentation for eofunc_varimax includes the
> following
>
> " The order of the returned varimax rotated EOFs is not
> necessarily in strict descending order as returned
> by eofunc
> or eofunc_varimax_Wrap. The user should use the
> *eofunc_varimax_reorder* procedure to place the
> returned
> varimax rotated EOFs into strict descending order."
>
> http://www.ncl.ucar.edu/__Document/Functions/__Contributed/eofunc_varimax___reorder.shtml
>
> <http://www.ncl.ucar.edu/Document/Functions/Contributed/eofunc_varimax_reorder.shtml>
>
> It seems to me you should have"
>
> ev_rot = eofunc_varimax_Wrap(eof,1)
> printVarSummary(ev_rot)
>
> eofunc_varimax_reorder(ev_rot)
> printVarSummary(ev_rot)
>
> ; ev_rot will be orthogonal. However, 'ev_rot1'
> ; will not tield principal components that are
> independent
>
>
>
> ev_rot1 = eofunc_ts_Wrap (wx, ev_rot, optETS)
>
>
> On 11/05/2012 06:23 PM, Waqar Younas wrote:
>
> Hi all,
> I need help in performing the rotated EOF of
> NCEP/NCAR
> reanalysis data
> using NCL. I used the code eof_4.ncl present on ncl
> functions page. This
> code use the same data i.e. 500mb monthly data
> set from
> NCEP/NCAR from
> 20S to 90S but this code only calculates the
> EOF. This code is
> originally written for calculating AAO
> oscillations.
> For my case, i change the region from 20-90 N
> and for
> rotated EOF, i
> added these lines in the code
>
> ;;;;;;; Rotation of EOF
>
> ev_rot = eofunc_varimax_Wrap(eof,1)
> printVarSummary(ev_rot)
>
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;__;;;;;;;;;;;;;;;;;;;;
>
> ev_rot1 = eofunc_ts_Wrap (wx, ev_rot, optETS)
> ev_rot1 = dim_standardize_n( ev_rot1, 0, 1)
> ;
>
> ==============================__==============================__=====
> ; Regress
> ;
>
> ==============================__==============================__=====
>
> ev_regres = ev_rot
> ;
> create an array w
> meta data
> do ne=0,neof-1
> ev_regres(ne,:,:) = (/ regCoef(ev_rot1(ne,:),
> xAnom(lat|:,lon|:,time|:)) /)
> end do
> At the end, i plot this ev_regres which
> contains REOF1 and
> REOF2.
> According to many papers and definitions of Climate
> prediction centre,
> the first REOF should be NAO and second should
> be PNA. In
> my case, the
> first EOF is NAO but it is slightly different.
> The second
> EOF is
> capturing PNA but it is not exact. I am
> attaching the figure.
> For my research i need PNA pattern which is
> second REOF.
> It is capturing
> PNA but also some other variabilties too.
> Thanks for the help in advance.
>
>
>
>
>
> --
> Best Regards
>
> Waqar Younas
> PhD Candidate
> Natural Resources and Environmental Studies (NRES)
> University of Northern British Columbia (UNBC)
> Canada
>
>
>
> _________________________________________________
>
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/__mailman/listinfo/ncl-talk
>
> <http://mailman.ucar.edu/mailman/listinfo/ncl-talk>
>
>
>
>
>
> --
> Best Regards
>
> Waqar Younas
> PhD Candidate
> Natural Resources and Environmental Studies (NRES)
> University of Northern British Columbia (UNBC)
> Canada
>
>
>
> _________________________________________________
>
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/__mailman/listinfo/ncl-talk
> <http://mailman.ucar.edu/mailman/listinfo/ncl-talk>
>
>
>
> _________________________________________________
>
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/__mailman/listinfo/ncl-talk
>
> <http://mailman.ucar.edu/mailman/listinfo/ncl-talk>
>
>
>
>
> --
> Best Regards
>
> Waqar Younas
> PhD Candidate
> Natural Resources and Environmental Studies (NRES)
> University of Northern British Columbia (UNBC)
> Canada
>
>
>
> _________________________________________________
>
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/__mailman/listinfo/ncl-talk
>
> <http://mailman.ucar.edu/mailman/listinfo/ncl-talk>
>
>
>
>
>
> --
> Best Regards
>
> Waqar Younas
> PhD Candidate
> Natural Resources and Environmental Studies (NRES)
> University of Northern British Columbia (UNBC)
> Canada
>
>
>
>
> --
> Best Regards
>
> Waqar Younas
> PhD Candidate
> Natural Resources and Environmental Studies (NRES)
> University of Northern British Columbia (UNBC)
> Canada
>
> _______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Fri Nov 30 13:39:33 2012

This archive was generated by hypermail 2.1.8 : Fri Dec 07 2012 - 13:30:06 MST