bradyrx / esmtools

:octopus: a toolbox for Earth System Model analysis :octopus:
https://esmtools.readthedocs.io/en/latest/
MIT License
27 stars 4 forks source link

Add PCA decomposition and convolution? #98

Open lukegre opened 4 years ago

lukegre commented 4 years ago

Not really an issue, but I've developed similar tools: https://github.com/luke-gregor/OceanDataTools. The repo is a mess - feel free to dig around.

There's some overlap with esmtools - linear regression, detrending, but I've also developed the two tools that might be useful:

bradyrx commented 4 years ago

@luke-gregor, I hadn't added any PCA functions since the eofs package really handles it (https://github.com/ajdawson/eofs). It's pretty straight-forward. Here's me using it for the NPGO index: https://github.com/bradyrx/public_code/blob/master/NPGO_Index.py.

However, your implementation looks really clean and convenient, so I think it'd still be a useful addition. Of course the convolve function as well. Would love to have you port those over if you're interested in merging with here. I'm fine with additional dependencies. Otherwise I can keep your package in mind for those things. Let me know.

lukegre commented 4 years ago

@bradyrx re EOF/PCA I think it makes sense to build on what is around. Wasn't aware of the eofs 👍 a very useful tool to have.

And for convolve, could make this so that it is not an explicit requirement (doesn't fail when importing esmtools) but throws an error when the function is called and astropy is not installed.

bradyrx commented 4 years ago

Sorry @luke-gregor , just getting better about Github notifications now. Been a crazy time for us all. Feel free to open a PR to implement this if you'd like! No rush, but I'll be happy to review if you decide to do so.