Hi Fabian -There is no way to find only some of the eigenvalues. I think that is true in theory (please correct me if I am wrong), but it is certainly true of these routines. One way to see this is that inverting the covariance matrix employs a series of operations on the whole matrix (turning it into tridiagonal form), that inherently find all the eigenvalues (or at least do all the work up to a final few trivial steps). Another (equivalent) point of view is that when the singular value decomposition is written out, it is seen to involve matrix multiplications that inherently use all rows and all columns.
Somehow I doubt if there are really 3960 significant months worth of SST information in the North Pacific (is this a model or observations?). It seems likely that interannual or decadal variations are of interest in such a case, so the problem could be greatly reduced by taking annual averages before doing the EOFs.
The other thing to note is that the number of non-zero eigenvalues is the MINIMUM of (number of timesteps, number of spatial locations). If you have more timesteps than locations, the calculation is wasting CPU and memory and disk space with lots of identically-zero eigenvalues and EOFs. I have routines to reverse the array, find the eigenvalues/EOFs, and then reinterpret as the original, but these are fortran, not Ferret. Let me know if you'd like to use this code (unsupported/no guarantee!).
Billy K On 17Aug 2007, at 9:38 AM, Fabian Lienert wrote:
Hi Ferreters, Is it possible to calculate only the first couple of EOFs using the functions eof_space and eof_tfunc?Or is it necessary to know all EOFs in order to judge which one is of first importance?I get an error in efcn_compute() while allocating 570MB of memory whileanalyzing 3960 months of SSTs in the northern Pacific. Any help appreciated. Thank you. Fabian -- Fabian Lienert PhD Student Canadian Centre for Climate Modelling and Analysis Meteorological Service of Canada School of Earth and Ocean Sciences University of Victoria P.O. Box 1700 Victoria, BC V8W 2Y2 CANADA phone: +1(250)363-8242 e-mail: cccma-student-003@xxxxxxxx