xarray-contrib / xeofs

Comprehensive EOF analysis in Python with xarray: A versatile, multidimensional, and scalable tool for advanced climate data analysis
https://xeofs.readthedocs.io/
MIT License
105 stars 20 forks source link

Is ROCK-PCA still supported ? #231

Closed vdevauxchupin closed 1 month ago

vdevauxchupin commented 1 month ago

Your problem I work with a non-linear, stationary 3D dataset. I am interested in extracting its main spatio-temporal modes to corroborate data analysis and showcase the benefits of using a mode-extraction method, in order to guide and streamline data analysis for future use. I chose ROCK-PCA because it seemed to be the most adapted to my dataset (surface velocities of ice).

I implemented a version of ROCK-PCA adapted from [https://github.com/DiegoBueso/ROCK-PCA/tree/master/python_code] which gave me an output I could analyze for my research, and I coupled it with a short notebook using xeofs to compare several EOF-based methods (including out-of-package ROCK-PCA).

I thought ROCK-PCA was implemented in xeofs but the excerpts of code I found ([(https://github.com/xarray-contrib/xeofs/commit/0ba0660fa4f2396dc537888c80be5352dedaebc4)]) seem to not exist anymore ? I also saw the reference to its original paper in the README, and in the xeofs paper it says that you were working on it.

Is the ROCK-PCA method implemented in xeofs ?

Declaration

Desktop (please complete the following information):

nicrie commented 1 month ago

Short answer: Unfortunately, no.

I initially tried to implement ROCK-PCA and included it (I think prior to version 2). However, I noticed the results seemed somehow off in that I couldn’t quite reconstruct the original data from the decomposition. Plus, I found the Promax rotation part pretty tricky to wrap my head around. So, I set it aside and haven’t had the chance to revisit it. To avoid sharing code that might be incorrect, I decided to temporarily remove it from the API. This isn’t to say the method itself is flawed, just that my implementation didn’t work out. If you’ve managed to get ROCK-PCA up and running, I’d love to see it integrated here! I will try to tackle it myself again when I have more time, but that won't be within the rest of this year unfortunately.

vdevauxchupin commented 1 month ago

I kind of took it at face-value because the output it was giving me made physical sense and although the ranking of modes was different than REOF and CEOF, it was still looking fairly similar. But I haven't dived into the rotation.. Thanks for your answer though ! I hope to see it one day, it's super promising !