Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Speeding up calculations #46

Open
JannisHoch opened this issue Jan 18, 2023 · 1 comment
Open

Speeding up calculations #46

JannisHoch opened this issue Jan 18, 2023 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@JannisHoch
Copy link

On my Mac with 16GB RAM and M1 chip, processing roughly half a year of daily at 0.1 degree resolution and global scale** took me 30+ min*** for the Oudin method, accoring to % time in jupyter notebook. It used around 50 % of my CPU and 20 % of my memory, according to htop.

For methods requiring more input data, the processing time will likely increase.

Maybe worthwile looking into ways to speed up the calculations, such as numba, if that's compatible with xarray?

** so yes, using gridded data. And admittedly, it also contained the ocean surface. In total, 1800*3600 cells had to be processed per time step.

*** I stopped it then.

@mvremec
Copy link
Contributor

mvremec commented Jan 26, 2023

Hi Jannis,

this is indeed a good point! Thanks!
I will look into this and see if we can use our unvectorized functions or if we need to vectorize them.
xarray.apply_ufunc might help.

Cheers, Matevz

To do:

  • [check whether we need to vectorize our function to use xarray.apply_ufunc or Numba]
  • [check xarray.apply_ufunc]

@raoulcollenteur raoulcollenteur self-assigned this Dec 6, 2023
@raoulcollenteur raoulcollenteur added this to the 1.3: PyEt Reloaded milestone Dec 6, 2023
@raoulcollenteur raoulcollenteur added the enhancement New feature or request label Dec 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants