ExeClim / Isca

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

Adding new environment files for stability #260

Closed sit23 closed 10 months ago

sit23 commented 10 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 10 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.