Hi, The old functions did more than that; they took gaps into account and did not require the gaps to be at the same timestep for all locations. (I do not know the details of the algorithm). If one simply took out gaps, then the timeseries at different locations would not represent the same set of times and the computation would not be correct. We moved to these other functions, using singular value decomposition, which are faster, and we would like the user to correct for or fill in gaps in a way that makes sense for the particular data set. The svd functions as we implement them in Ferret gather the data at all spatial locations where there is complete time series data, (so that if there are missing xy locations for instance over land, that is handled). Then the functions compute the EOF's and for eofsvd_space, places the result back at the correct spatial locations. If there are no xy locations with complete time series, the functions will be changed so that they simply bail out. For your data, you would see: Bailing out of external function "eofsvd_space":and then you could use Ferret functions or another method to handle things correctly. For your data, you'd skip that first timestep. Other data it might make sense to use a smoothing or filling transformation to fill missing data. On 9/25/2013 4:26 PM, Jian Ma wrote:
|