diff --git a/builds/olivia-gnu/.gitignore b/builds/olivia-gnu/.gitignore new file mode 100644 index 00000000..5d5de4c4 --- /dev/null +++ b/builds/olivia-gnu/.gitignore @@ -0,0 +1,10 @@ +CMakeCache.txt +CMakeFiles +Makefile +autocopy.log +cism_driver +cmake_install.cmake +fortran_autocopy_includes +fortran_autogen_srcs +fortran_mod_files +lib diff --git a/builds/olivia-gnu/arch-modules b/builds/olivia-gnu/arch-modules new file mode 100755 index 00000000..f9d9684e --- /dev/null +++ b/builds/olivia-gnu/arch-modules @@ -0,0 +1,9 @@ +# olivia since December 2025 +module purge +source /opt/cray/pe/lmod/lmod/init/profile +export MODULEPATH=/cluster/software/modules/Core/ +module load NRIS/CPU +module load CMake/3.26.3-GCCcore-12.3.0 +module load netCDF-Fortran/4.6.1-gompi-2023a +module load OpenBLAS/0.3.23-GCC-12.3.0 + diff --git a/builds/olivia-gnu/clean.sh b/builds/olivia-gnu/clean.sh new file mode 100755 index 00000000..ad50af51 --- /dev/null +++ b/builds/olivia-gnu/clean.sh @@ -0,0 +1,11 @@ +rm -rf autocopy.log +rm -rf cism_driver +rm -rf CMakeCache.txt +rm -rf CMakeFiles +rm -rf cmake_install.cmake +rm -rf fortran_autocopy_includes +rm -rf fortran_autogen_srcs +rm -rf fortran_mod_files +rm -rf include +rm -rf lib +rm -rf Makefile diff --git a/builds/olivia-gnu/olivia-gnu-cmake.sh b/builds/olivia-gnu/olivia-gnu-cmake.sh new file mode 100755 index 00000000..ee0999c8 --- /dev/null +++ b/builds/olivia-gnu/olivia-gnu-cmake.sh @@ -0,0 +1,53 @@ +# Run this script by typing: source olivia-gnu-cmake.sh +# After this script completes, type: make +# If rebuilding, type 'make clean' before running 'make' +# or call ./clean.sh + +## December 2025 +#module purge +#source /opt/cray/pe/lmod/lmod/init/profile +#export MODULEPATH=/cluster/software/modules/Core/ +#module load NRIS/CPU +#module load CMake/3.26.3-GCCcore-12.3.0 +#module load netCDF-Fortran/4.6.1-gompi-2023a +#module load OpenBLAS/0.3.23-GCC-12.3.0 + +# source modules +. arch-modules + +# remove old build data: +rm -f ./CMakeCache.txt +rm -rf ./CMakeFiles + +echo +echo "Doing CMake Configuration step" + +cmake \ + -D CISM_BUILD_CISM_DRIVER:BOOL=ON \ + -D CISM_ENABLE_BISICLES=OFF \ + -D CISM_ENABLE_FELIX=OFF \ +\ + -D CISM_USE_TRILINOS:BOOL=OFF \ + -D CISM_MPI_MODE:BOOL=ON \ + -D CISM_SERIAL_MODE:BOOL=OFF \ +\ + -D CISM_USE_GPTL_INSTRUMENTATION:BOOL=OFF \ + -D CISM_COUPLED:BOOL=OFF \ + -D CISM_USE_CISM_FRONT_END:BOOL=OFF \ +\ + -D CISM_NETCDF_DIR=$EBROOTNETCDFMINFORTRAN \ + -D CMAKE_VERBOSE_MAKEFILE:BOOL=OFF \ +\ + -D CMAKE_CXX_COMPILER=mpiicpc \ + -D CMAKE_C_COMPILER=mpicc \ + -D CMAKE_Fortran_COMPILER=mpif90 \ +\ + -D CMAKE_EXE_LINKER_FLAGS="-Wl,-rpath=${EBROOTNETCDFMINFORTRAN}/lib,-rpath=${EBROOTNETCDF}/lib" \ +\ + -D CMAKE_Fortran_FLAGS:STRING="-fconvert=big-endian -ffree-line-length-none -ffixed-line-length-none -ffree-form -O" \ + -D CMAKE_C_FLAGS:STRING="-std=gnu99 -O" \ + -D CISM_EXTRA_LIBS:STRING="-lopenblas" \ + ../.. + +# Note: last argument above "../.." is path to top-level cism directory +