# [ncl-talk] Sub: EOF Analysis

Wed May 25 15:36:59 MDT 2016

```Hello,
I am not sure what you mean by your question. The values coming out of
eofunc are unitless, while the values coming out of eofunc_ts are the
original units. A common approach to get the original units on a pattern is
to normalize the PC, and regress the original data onto the normalized PC.
The resulting regression plot will be in the original units per standard
deviation change in the PC.

Hope that makes sense. If not, please respond to the ncl-talk email list
only and not to me personally.

On Wed, May 25, 2016 at 9:23 AM, Adv <advita6 at gmail.com> wrote:

>
> Hi ,
> Could someone suggest me a way to normalise the PC values and retain the
> same unit?
>
>
> Thanks
>
>
> ;time=41,sta=392
> xx1 = dats(time | :,sta|:)     ; reorder ... eofunc want 'time' as
> rightmost dimension
> printVarSummary(xx1)
> printMinMax(xx1,0)
> o=dats(sta|:,time|:)
> printVarSummary(o)
> evecv    = eofunc_Wrap    (o,neval,False)
> evecv_ts = eofunc_ts_Wrap (o,evecv,False)
> print(evecv_ts(0,:))
> printVarSummary(evecv)
> printMinMax(evecv(0,:),0);Normalised
> ; ================================>   ; SUM OF THE SQUARES
>                                       ; IF NORMALIZED, THEY SHOULD BE 1
> ;  sumsqr = dim_sum(evecv^2)
> ;  print("sum of squares: " + sumsqr)
>
> ;To retain same unit;Denormalise
>   do ne=0,neval-1
>      evecv(ne,:) = evecv(ne,:)*sqrt( evecv at eval(ne) )
>   end do
> printMinMax(evecv(0,:),0);Normalised
> evecv_ts = eofunc_ts_Wrap (o,evecv,False)
>
> Output of min/max
>     min=-1693.35   max=1080.62
>
>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>

--