Thanks for the info Ryo. The way the EOF's are set up in Ferret is
really as a 2D calculationyes? show func eof_spaceif you send in a function with a Z variation, the calculation will be made separately at each depth. So your last suggestion sounds like the correct thing to do. Ryo Furue wrote: Hi Tony, | I have been enjoyed using the EOF function of ferret recently. But now I | need to do EOF for velocity vectors. Does anyone know how to achieve it? As I understand (which may well be wrong), a vector EOF is to treat each component of a vector just as an additional dimension. Suppose you have a 2D vector field (u(x,y,t), v(x,y,t)), you basically look for 3D EOFs for a variable a(x,y,k,t), where a(x,y,1,t) = u(x,y,t) and a(x,y,2,t) = v(x,y,t). I'm not sure, but the following method may work. If Ferret has only 2D EOF, then you can (I think) achieve the same effect by 1) squashing the x-axis (by regridding) and remapping the u field on to the western hemisphere, say, and v on to the eastern hemisphere, 2) finding EOFs, and 3) "re-assembleing" the EOFs to a vector, taking their x-components from the western hemisphere and y-components from the eastern hemisphere. Regards, Ryo |