Re: eofunc and eof_ts

From: Dennis Shea <shea_at_nyahnyahspammersnyahnyah>
Date: Tue May 27 2014 - 14:57:04 MDT

?? "I want to get first 3 EOFs from my data" ??

    It is unclear what it is that you want to do.
    Please think about what you want and be clear
    in your postings.

    Please think about what you post and ask specific questions.
    *Always* look at the variables via printVarSummary.
    This is not for us ... it is for you to look.

    It looks like you want EOFs of the zonal average
    Qavg(time,lev,lat). Is that what you want?

    If so, the plotted data would have a pressure y-axis
    and a latitude x-axis.
+++++++++++++++++++++
As noted in the eofunc documentation
===
data

A multi-dimensioned array in which the *rightmost* <=====
dimension is the number of observations.
Generally, this is the *time* dimension. <======
===
I do not know why you are doing certain operations.

Why are you converting to "float"? This is *not* necessary.

In your coding
   x=LH(time|:,lev|:,lat|:,lon|:) ; why are you doing this?

The following would be a *zonal* average with *no meta data*.

   LHavg = dim_avg_n(x,3) ; this has no meta data
   printVarSummary(LHavg) ; no dimension names

At the very least, you should use
   LHavg = dim_avg_n_Wrap(x,3) ; contributed.ncl
   printVarSummary(LHavg) ; look at meta data

===================
                                ; why were you converting to float?
   Q = f->q ; no need to convert
   printVarSummary(Q) ; Q(time,lev,lat,lon)

   Qavg = dim_avg_n_Wrap(Q,3) ; _Wrap returns meta data
   printVarSummary(Qavg) ; please look at the output
                                ; (time,lev,lat) <======
   x = Qavg(lev|:,lat|:,time|:) ; vertical EOF
   printVarSummary(x)

   neof = 3
   optEOF =True
   eof=eofunc_Wrap(x,neof,optEOF)
   eof_ts=eofunc_ts(x,eof,False)

   eof_rot=eofunc_varimax_Wrap(eof,1)
   eofunc_varimax_reorder(eof_rot)

Your code has no vertical or latitudinal weighting!
Is this what you want?

Please note you should use pressure thickness and latitude
to weight the data in the above case.

http://www.ncl.ucar.edu/Document/Functions/Contributed/dpres_plevel_Wrap.shtml

=====

On 5/27/14, 4:54 AM, Ipsita Putatunda wrote:
> Hi all,
> I want to get first 3 EOFs from my data. While doing this am getting
> error message like:
>
> sub drveof: ier,jopt= 10 0 returned from vcmssm/crmssm
> warning:eofunc: 10 eigenvectors failed to converge
> warning:eofunc_ts: 2 eigenvectors failed to converge
>
> Please find the attachment for my ncl script. Am using ncl version 6.1.0.
> Help me to fix this issue.
>
> Thanks in advance,
> Ipsita
>
>
>
> _______________________________________________
> 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 Tue May 27 14:57:13 2014

This archive was generated by hypermail 2.1.8 : Tue May 27 2014 - 15:45:08 MDT