-
Notifications
You must be signed in to change notification settings - Fork 13
GEOSgcm on SLES15 at NCCS
This page will outline how to get GEOSgcm tags that build on SLES15.
NOTE: In all cases, you must build on SLES15 to run on SLES15. The OSs have library differences that prevent code built on SLES12 from running on SLES15 and vice versa. The usual sign of trying to run across the OSs is a libssl
error.
All the instructions below assume you have the GEOSenv
module loaded,
or at least have a modern CMake, Git and mepo in your path.
The recommended NCCS shell configurations
should do this automatically for you, though of course a module purge
will
remove GEOSenv
from your environment.
Note that on SLES15 Python2 DOES NOT EXIST. As such, any Python2 scripts in
the codebase will not work. This is most likely to be seen in the f2py
scripts
which when building on SLES15 will be disabled. This is a known issue and is
being worked on.
Any GEOSgcm v11 tag from v11.3.1 should build and run on SLES15. As usual we recommend the latest GEOSgcm v11 tag (v11.6.0 as of writing).
To build for SLES15 using parallel_build.csh
you must run with the -mil
option (along with any other options you use), e.g.:
./parallel_build.csh -mil (... any extra options ...)
The -mil
option tells parallel_build.csh
to submit to the Milan nodes which are SLES15. When complete, you should have build-SLES15/
and install-SLES15/
directories.
To compile on SLES15, you will need to build on SLES15. For this, grab a Milan node interactively and use the normal sequence of GEOSgcm build:
source @env/g5_modules.sh
cmake -B build-SLES15 -S . --install-prefix=$(pwd)/install-SLES15 (... any extra CMake options ...)
cmake --build build-SLES15 --target install -j 6
A SLES15-compatible GEOSgcm v10 tag is v10.26.1
mepo clone -b v10.26.1 [email protected]:GEOS-ESM/GEOSgcm.git
To build for SLES15 using parallel_build.csh
you must run with the -mil
option (along with any other options you use), e.g.:
./parallel_build.csh -mil (... any extra options ...)
The -mil
option tells parallel_build.csh
to submit to the Milan nodes which
are SLES15. When complete, you should have build-SLES15/
and install-SLES15/
directories.
To compile on SLES15, you will need to build on SLES15. For this, grab a Milan node interactively and use the normal sequence of GEOSgcm build:
source @env/g5_modules.sh
cmake -B build-SLES15 -S . --install-prefix=$(pwd)/install-SLES15 (... any extra CMake options ...)
cmake --build build-SLES15 --target install -j 6
Unlike GEOSgcm v11, v10 (and older tags) seem to be non-zero-diff between Cascade Lake and Milan. That is, you will not get the same results running on SLES12 and SLES15. We do not know why this is, but it either has to do with newer compiler flags in v11 or some fix in the Physics changes that came in v11.
The latest M21C testing tag, GEOSadas-5.30.3-M21C-3
:
https://github.com/GEOS-ESM/GEOSadas/releases/tag/GEOSadas-5.30.3-M21C-3
as well as GEOSadas-5.30.3-M21C-2
should now be able to build for SLES15. Note that since the M21C GCM is based
on v10.26, the GCM (aka GEOSgcm.x
) should run on SLES15. That said, the M21C
code base is most likely not yet fully compatible with SLES15, as the full
ADAS system needs updates for Python3 as well as any embedded SLURM references
to, say, Cascade Lake, need updating for Milan.
As above, after cloning, you can build with parallel_build.csh
:
cd GEOSadas
./parallel_build.csh -mil
or by hand following the instructions above.
There is CVS tag of S2S that is under testing now for SLES15 compatibility. This space will be updated when this tag is tested and confirmed as working.
A tag based on Icarus-3_4
has been made and shown to build on SLES15. You
can get the tag via:
cvs co -r Icarus-3_4-SLES15 Icarus
You can then build on SLES15 with:
cd GEOSagcm/src
./parallel_build.csh -mil
and on SLES12 with:
cd GEOSagcm/src
./parallel_build.csh -cas
(NOTE: If no -cas
or -mil
is given, the script will default to -mil
in
this case.)
NOTE: This tag still has many Python2 scripts and all f2py
scripts are
disabled. There is a hope as f2py
scripts in GEOSgcm v11+ are updated to
Python3, changed can be backported to Icarus and the tag updated.
There is a CVS tag of Ganymed-4_0
that was shown to build under SLES15. The
tag is Ganymed-4_0-SLES15
and can be checked out with:
cvs co -r Ganymed-4_0-SLES15 Ganymed
NOTE: This tag still has many Python2 scripts and all f2py
scripts are
disabled. There is a hope as f2py
scripts in GEOSgcm v11+ are updated to
Python3, changed can be backported to Ganymed and the tag updated.