Skip to content

GEOSgcm on SLES15 at NCCS

Matthew Thompson edited this page Jul 18, 2024 · 10 revisions

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.

Prerequisites

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.

GEOSgcm v11

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).

Compiling for SLES15

parallel_build.csh

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.

Building by hand

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

GEOSgcm v10

A SLES15-compatible GEOSgcm v10 tag is:

v10.26.XXXXXX

M21C

The M21C code base is still under development. It is based on GEOSgcm v10.26.0, so updates will be possible, but this is waiting until all other work is done on the system. So while there are instructions below, they are only preliminary and the branches used can and probably will move over time.

Moreover, the M21C code base is most likely not yet fully compatible with SLES15. There is a good chance GEOSgcm.x will run, but the full ADAS system needs updates for Python3 as well as any embedded SLURM references to, say, Cascade Lake, need updating for Milan.

If you'd like to try, however, you can get the code with:

mepo clone -b GEOSadas-5.30.3-M21C-1 [email protected]:GEOS-ESM/GEOSadas.git
mepo checkout-if-exists feature/mathomp4/update-R21C-for-sles15
./parallel_build.csh -mil

S2S v3

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.

Icarus

Ganymed