Project

General

Profile

CDO EOF analysis

Added by Ivan Guettler about 10 years ago

Dear everyone,

I would like to share some thoughts concerning EOF analysis performed by cdo (e.g. cdo-1.6.5). I have some moderate experience with this type of analysis. One of the few basic elements of the EOF analysis are:

(0) assume EOF analysis decomposed X'[i,j,t] into EOF[x,y,k] and PC[t,k]; where i,j are spatial indexes, t temporal index and k the number of modes
(1) EOF[x,y,k]-s should be orthogonal
(2) PC[t,k]-s should be uncorrelated

I did some checking of the (1) and (2), and got some confusing results. E.g. corr(PC[t,1],PC[t,1])=1 but corr(PC[t,1],PC[t,2]) is not equall to zero. Also, any to two different EOFs are not orthogonal i.e. their scalar product is not equall (or very close to) zero.

Can someone double check (1) and (2) after using the cdo functions eof and eofcoeff?

Cheers, Ivan


Replies (2)

RE: CDO EOF analysis - Added by Jaison-Thomas Ambadan about 10 years ago

but corr(PC[t,1],PC[t,2]) is not equall to zero.

I've checked (2) with some test data and the correlation is 7.65623e-16 which is close to zero I guess.

try changing the default CDO EOF operator environment variables such as FNORM_PRECISION and MAX_JACOBI_ITER (see the CDO EOF doc for more info), and also use double precision options for your output files (e.g. use -b F64 option for NetCDF)

Hope this helps!

Cheers,
J

RE: CDO EOF analysis - Added by Ivan Guettler about 10 years ago

Thank you for quick reply. I will check my input dataset and test FNORM_PRECISION and MAX_JACOBI_ITER environment variables.

Cheers, Ivan

p.s. You used cdo-1.6.5 or some older version?

    (1-2/2)