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

python-stratify still needed? #35

Open
bouweandela opened this issue Mar 28, 2019 · 3 comments
Open

python-stratify still needed? #35

bouweandela opened this issue Mar 28, 2019 · 3 comments
Assignees
Labels
iris Related to the Iris package preprocessor Related to the preprocessor

Comments

@bouweandela
Copy link
Member

It looks like iris supports vertical regridding: https://scitools.org.uk/iris/docs/latest/userguide/interpolation_and_regridding.html#interpolating-non-horizontal-coordinates

@bjlittle Do we still need python-stratify for vertical interpolation? Additionally, do we still need to do cube slicing if the levels are already available, is this shortcut not taken by the iris vertical interpolator?

There are two problems with python-stratify:

Here is a link to the relevant code:
https://github.com/ESMValGroup/ESMValTool/blob/3e68d1593f544694618617368f8a3c88d0683f33/esmvaltool/preprocessor/_regrid.py#L327-L434

@bjlittle
Copy link
Contributor

bjlittle commented Jun 4, 2019

@bouweandela I highly suspect that the generic core iris.analysis.Linear interpolator scheme will not be performant enough for you. Not even close.

The attraction of python-stratify is that it is cythonized, therefore closer to bare metal speed. However, you are right, it isn't lazy. I'm keen to do a couple of things here...

  • Move the python-stratify package from our experimental SciTools-incubator organisation into our core SciTools organisation, as it's stable an used in production code
  • Move the _vertical_interpolate from esmvaltool into the iris core
  • Resolve issue Installation from PyPI fails SciTools/python-stratify#25
  • Investigate whether we can make _vertical_interpolate lazy
  • By it's nature, the function of the _vertical_interpolate is embarrassingly parallel, as each vertical column is completely independent, so investigate whether we can parallelize using dask

@mattiarighi mattiarighi transferred this issue from ESMValGroup/ESMValTool Jun 11, 2019
@mattiarighi mattiarighi added preprocessor Related to the preprocessor iris Related to the Iris package paper labels Jun 11, 2019
@valeriupredoi
Copy link
Contributor

will this be included (or excluded) in iris=2.3 @bjlittle ? I am starting to think we should make a list of ESMValTool/Core iris-related issues with fixes in 2.3 🍺

@valeriupredoi
Copy link
Contributor

noticed in #776 that stratify accepts and works happily with cube.core_data() - any way to make it fully lazy and output a lazy data array @bjlittle ? 🍺

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
iris Related to the Iris package preprocessor Related to the preprocessor
Projects
Development

No branches or pull requests

4 participants