New ESMValTool installation does not reproduce output from standard recipes #3179
-
Hi, I am trying to install ESMValTool, and follow the guidelines for installation with The installation goes through without problems, and I get a working esmvaltool application
However, the output I get when running standard recipes are not the same as the reference output. For instace, the recipe_ocean_quadmap.yml example: I have now tried the installation on two separate systems, and I get the same result on both. The recipe still works with an old installation of esmvaltool v2.7.0, but fails in the same way when I use a new esmvaltool v2.7.0 environment. I have also tried to install from source, and set iris to version 3.4.1, but that did not solve the problem. I hope someone here in this form may have a suggestion about what can be wrong, and suggestions for what I can try to fix it. |
Beta Was this translation helpful? Give feedback.
Replies: 8 comments 5 replies
-
Hi @TomasTorsvik! 👋 Thank you for getting in touch! 😊 I ran the
The environment on JASMIN also produces an output that looks the same as the reference (@valeriupredoi updated the version of ESMValTool on JASMIN recently, see #3163, but there was already an environment available, so I'm not sure whether any dependencies were updated). [Edit: I just noticed @valeriupredoi said he updated the version of Iris to v3.5, see this comment on #3163, so some dependencies will have been updated.] I also note (from the logs):
This means the problem is either related to the fact that a different (perhaps recently released) version of a dependency is selected and installed in the environment you just created, or that the version of ESMValTool ( Does your environment compare to the environment specified by the conda-linux64.lock file? I believe @remi-kazeroni was planning to run all recipes using an environment that @valeriupredoi will create over the next few days, so we could see whether the problem occurs there too? If there are problems, that means there will be problems for all users creating environments, but if not, then that means there is something specific going wrong with your installation (which hopefully we can figure out!). A potential workaround in the meantime could involve creating a lock file from e.g. the JASMIN installation, and using that to create an environment? I hope that helps? 😊 |
Beta Was this translation helpful? Give feedback.
-
Hi @ehogan , thanks for quick response! It seems that the example I sent was from the experiment I did when building from source, but I get the same output for the Thanks for pointing me to the lock file! I was able to get a working installation sing the instructions from Now I get the same output as before I get a lot of missmatches and some missing packages when I compare my original environment with the conda-linux64.lock file. Probably something here could be significant, but I'm not sure what to look for |
Beta Was this translation helpful? Give feedback.
-
Hi @TomasTorsvik and @ehogan - am currently at a conference until Friday, when I will have to release a release candidate for Core, for a bugfix release, but I will definitely have a close look at this next week. In the meantime could you pls produce the env record of the environment that produces those funky results, and attach it here? You can do that with conda env export > funky-env.yml Cheers 🍺 |
Beta Was this translation helpful? Give feedback.
-
Probably best to escalate this to an Issue, will do this tomorrow 👍 |
Beta Was this translation helpful? Give feedback.
-
I was able to reproduce the same funky plot by using the module v2.8.0 on Levante. This module uses the base code from the last release (that was used to test all recipes) but was deployed early May (so with more recent versions of some dependencies). Taking a closer look at preprocessed files, I see that the bugger is It seems that the problematic dependency is @valeriupredoi - shall we think of pinning numpy to
@ehogan - Yes, but I was only planning on running the recipes and count the number of "Run was successful" in the log files. I was not really planning on checking the output of the recipes manually, I don't really have the time for that. But this problem here shows that we should be careful about recipe output |
Beta Was this translation helpful? Give feedback.
-
@remi-kazeroni very good detective work! That numpy vrrsion is known to have a severe bug in masking, we pinned it in Core, but never got around to do the same in Tool, hence I didn't even look at numpy in Tomas' env. Yes, we should defo pin Numpy !=1.24.3. Bugger, this thing was bothering me, well done 🍺 |
Beta Was this translation helpful? Give feedback.
-
OK finally in front of my computer at work - I finally figured this kerfuffle out - excellent input from @TomasTorsvik @ehogan and @remi-kazeroni - the installation from conda is still picking up iris=3.5 or below (currently 3.5 see install log ) and they have only introduced the pin on broken numpy=1.24.3 only yesterday in iris=3.6; we, on the other hand, have the pin in Core but only in the dev |
Beta Was this translation helpful? Give feedback.
-
Thanks a lot for taking the time to report and investigate this issue @TomasTorsvik! This was likely to affect many of our users. The issue was fixed by @valeriupredoi in #3182 (thanks very much V!). @TomasTorsvik, all should now work fine with a fresh new environment. Feel free to reopen this discussion if needed! |
Beta Was this translation helpful? Give feedback.
Hi @TomasTorsvik! 👋 Thank you for getting in touch! 😊
I ran the
recipe_ocean_quadmap
at my site (Met Office) and the output I get looks the same as the reference you linked to in your comment. I created the ESMValTool v2.8.0 environment in April:The environment on JASMIN also produces an output that looks the same as the reference (@valeriupredoi updated the version of ESMValTool on JA…