-
Notifications
You must be signed in to change notification settings - Fork 5
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
Handling xesmf
dependency
#133
Comments
There is also still the outstanding question whether |
My understanding is that ESMF is a Fortran dependency, so by definition cannot be installed purely via pip (a python package manager). So if xesmf is a required dependency (not sure it needs to be) we may just have to only make CStar available via conda (which I think would be fine). The dask vs ESMF problem is separable. |
Thanks!
It would have to be a required dependency if I refactor the regridding scheme to use
It is, but maybe not easily since weight generation and application of the weights need to happen upon the initialization of a class (e.g., |
But we could imagine xesmf being one amongst multiple options. Not sure if that's worth doing right now, but designing with that possibility in mind might be useful in the future.
Can we change the API to separate out those two steps? e.g. generate weights upon class initialization and then |
I'm currently working on refactoring the
ROMS-Tools
-internal regridding scheme, switching fromxarray.interp
toxesmf
. The motivation for this is:xarray.interp
does not re-use pre-computed weights, whilexesmf
doesxarray.interp
only supportslinear
interpolation, whilexesmf
supports more sophisticated ones likebilinear
andconservative
However, I'm wondering how we will handle the
xesmf
dependency. It looks like you can only installxesmf
cleanly through conda but not through PyPi, see https://xesmf.readthedocs.io/en/stable/installation.html. The reason is thatxesmf
depends onESMpy
, which in turn is not available through PyPI.Thoughts? cc @TomNicholas
The text was updated successfully, but these errors were encountered: