ExeClim / Isca

Idealized GCM from the University of Exeter
https://execlim.github.io/IscaWebsite
GNU General Public License v3.0
139 stars 125 forks source link

Adding new environment files for stability #260

Closed sit23 closed 9 months ago

sit23 commented 9 months ago

We have recently run into problems with the latest version of the openmpi package that is installed via conda ('openmpi=5.0.1'), which caused various glibc errors:

2024-01-24 12:28:12,404 - isca - INFO - /emmy-noether/home/sit204/mambaforge/envs/isca_env_jan_24/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /emmy-noether/home/sit204/mambaforge/envs/isca_env_jan_24/lib/libmpi.so: undefined reference tomemcpy@GLIBC_2.14'`

2024-01-24 12:28:12,406 - isca - INFO - /emmy-noether/home/sit204/mambaforge/envs/isca_env_jan_24/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /emmy-noether/home/sit204/mambaforge/envs/isca_env_jan_24/lib/./libpmix.so.2: undefined reference toclock_gettime@GLIBC_2.17'`

To combat this, I've updated the main environment file to only use openmpi version 4, as this appears not to have this problem.

As a second item in the p/r, I've added a frozen version of the environment file for python 3.12, as this seems common amoungst other python packages. It is a configuration we have tested, and it seems to work stably.

The final change here is a move away from python 3.9 to 3.12, and a corresponding change in the test yml file (which is now set to use the frozen version of the environment file).

sit23 commented 9 months ago

Using the frozen environment file for the ci test comes with the advantage that the ci doesn't have to spend ages solving the environment.