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

Drop ESMValTool dependency? #337

Closed
Peter9192 opened this issue Feb 22, 2023 · 4 comments
Closed

Drop ESMValTool dependency? #337

Peter9192 opened this issue Feb 22, 2023 · 4 comments
Milestone

Comments

@Peter9192
Copy link
Collaborator

Currently, ewatercycle depends on esmvaltool-python. This is quite a heavy package as it installs all dependencies for all (python) recipes included with esmvaltool. Also, we need to make PRs to ESMValTool to update hydrology recipes.

One possibility would be to move the hydrology recipes (and diagnostic scripts) to eWaterCycle (or its plugins, see #335), and only rely on ESMValCore to execute them. The downside of this would be that there is no longer a central place where people can find all the hydrology recipes. But to be FAIR, we believe there shouldn't be that many...

Another alternative could be to spin off ESMValTool-Hydrology into its own small package.

@Peter9192
Copy link
Collaborator Author

Install esmvalcore still cumbersome due to cartopy dependency (non installable through pip)

@Peter9192 Peter9192 mentioned this issue Feb 27, 2023
5 tasks
@BSchilperoort
Copy link
Member

BSchilperoort commented Jun 1, 2023

It seems that the only way ESMValCore uses cartopy is for reading shape files. See here and here.

Ideally ESMValCore would use a lighter package that doesn't depend on gdal binaries for just reading a shapefile.

Although they also use Fiona, which depends on GDAL too.

@sverhoeven
Copy link
Member

In #365 you can now build a ESMvalTool recipe optionally with your local diagnostic script. So you no longer need to modify the ESMValTool repo to add a recipe.

The classic models (Marrmot, hype, etc.) still use diagnostic scripts that comes from the ESMValTool Python package so we still depend on that package. We could copy the diagnostic script to the eWaterCycle plugin, then we could have ESMValCore as dep and drop ESMValTool as dep.

@Peter9192 Peter9192 added this to the V2 milestone Oct 5, 2023
@Peter9192 Peter9192 mentioned this issue Oct 5, 2023
11 tasks
@sverhoeven
Copy link
Member

On further inspection at

from esmvaltool.diag_scripts.shared import (
and all other diagnostics in https://github.com/ESMValGroup/ESMValTool/tree/main/esmvaltool/diag_scripts/hydrology depend on esmvaltool.diag_scripts.shared module.

I do not see a way to not depend on ESMValTool package.

So this issue can not be implemented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants