Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Removed
### Added

## [5.17.0] - 2026-01-02

### Changed

- Update to Baselibs 8.24.0
- ESMF v9.0.0b08
- GFE v1.22.0
- pFUnit v4.15.0
- curl 8.17.0
- NCO 5.3.6
- CDO 2.5.4
- Various updates for Athena/Turin/TOSS5 at NAS
- Support for Athena/Turin/TOSS5 at NAS
- Update `build.csh` to support Athena/Turin/TOSS5 at NAS
- Also remove Haswell

## [5.16.0] - 2025-10-21

### Changed
Expand Down
30 changes: 20 additions & 10 deletions build.csh
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,10 @@ if ( ($node == dirac) \

else if (($node =~ pfe*) \
|| ($node =~ afe*) \
|| ($node =~ athfe*) \
|| ($node =~ r[0-9]*i[0-9]*n[0-9]*) \
|| ($node =~ r[0-9]*c[0-9]*t[0-9]*n[0-9]*)) then
|| ($node =~ r[0-9]*c[0-9]*t[0-9]*n[0-9]*) \
| ($node =~ x[0-9]*c[0-9]*s[0-9]*b[0-9]*n[0-9]*) ) then
setenv SITE NAS

else
Expand Down Expand Up @@ -133,12 +135,12 @@ while ($#argv)

# specify node type
#------------------
if ("$1" == "-tur") set nodeTYPE = "Turin"
if ("$1" == "-mil") set nodeTYPE = "Milan"
if ("$1" == "-rom") set nodeTYPE = "Rome"
if ("$1" == "-cas") set nodeTYPE = "CascadeLake"
if ("$1" == "-sky") set nodeTYPE = "Skylake"
if ("$1" == "-bro") set nodeTYPE = "Broadwell"
if ("$1" == "-has") set nodeTYPE = "Haswell"
if ("$1" == "-any") set nodeTYPE = "Any node"

# reset Fortran TMPDIR
Expand Down Expand Up @@ -338,29 +340,37 @@ endif
if ( $SITE == NAS ) then

set nT = `echo $nodeTYPE | cut -c1-3 | tr "[A-Z]" "[a-z]"`
if (($nT != has) && ($nT != bro) && ($nT != sky) && ($nT != cas) && ($nT != rom) && ($nT != mil)) then
if (($nT != bro) && ($nT != sky) && ($nT != cas) && ($nT != rom) && ($nT != mil) && ($nT != tur)) then
echo "ERROR. Unknown node type at NAS: $nodeTYPE"
exit 2
endif

# At NAS, you cannot submit to Milan nodes from pfe nodes
if ( ($nT == mil) && ($node =~ pfe*) ) then
echo "ERROR. Milan nodes cannot be accessed from pfe nodes. Please use afe nodes."
# At NAS, you must submit to Milan nodes from afe nodes
if ( ($nT == mil) && ($node !~ afe*) ) then
echo "ERROR. Milan nodes can only be accessed from afe nodes."
exit 2
endif

# At NAS, you must submit to Turin nodes from athfe nodes
if ( ($nT == tur) && ($node !~ athfe*) ) then
echo "ERROR. Turin nodes can only be accessed from athfe nodes."
exit 2
endif

if ($nT == tur) set nT = 'tur_ath'
if ($nT == mil) set nT = 'mil_ait'
if ($nT == rom) set nT = 'rom_ait'
if ($nT == sky) set nT = 'sky_ele'
if ($nT == cas) set nT = 'cas_ait'
if ($nT == sky) set nT = 'sky_ele'
if ($nT == bro) set nT = 'bro_ele'
set proc = ":model=$nT"

if ($nT == has) @ NCPUS_DFLT = 24
if ($nT == bro) @ NCPUS_DFLT = 28
if ($nT == bro_ele) @ NCPUS_DFLT = 28
if ($nT == sky_ele) @ NCPUS_DFLT = 40
if ($nT == cas_ait) @ NCPUS_DFLT = 40
if ($nT == rom_ait) @ NCPUS_DFLT = 128
if ($nT == mil_ait) @ NCPUS_DFLT = 128
if ($nT == tur_ath) @ NCPUS_DFLT = 256

# TMPDIR needs to be reset
#-------------------------
Expand Down Expand Up @@ -932,12 +942,12 @@ flagged options
-account account send batch job to account
-walltime hh:mm:ss time to use as batch walltime at job submittal

-tur compile on Turin nodes (only at NAS, must be submitted from athfe nodes)
-mil compile on Milan nodes (default at NCCS; at NAS must be submitted from afe nodes)
-rom compile on Rome nodes (default at NAS, only at NAS)
-cas compile on Cascade Lake nodes
-sky compile on Skylake nodes (only at NAS)
-bro compile on Broadwell nodes (only at NAS)
-has compile on Haswell nodes (only at NAS)
-any compile on any node (only at NCCS)

extra cmake options
Expand Down
84 changes: 65 additions & 19 deletions g5_modules
Original file line number Diff line number Diff line change
Expand Up @@ -74,13 +74,21 @@ if (($node =~ discover*) || ($node =~ borg*) || \

set site = "NCCS"

else if (($node =~ pfe*) || ($node =~ afe*) || \
else if (($node =~ pfe*) || ($node =~ afe*) || ($node =~ athfe*) || \
($node =~ r[0-9]*i[0-9]*n[0-9]*) || \
($node =~ r[0-9]*c[0-9]*t[0-9]*n[0-9]*)) then
($node =~ r[0-9]*c[0-9]*t[0-9]*n[0-9]*) || \
($node =~ x[0-9]*c[0-9]*s[0-9]*b[0-9]*n[0-9]*) ) then

# We are on NAS...
set site = "NAS"

set OS_VERSION_ID=`grep VERSION_ID /etc/os-release | cut -d= -f2 | cut -d. -f1 | sed 's/"//g'`
if ( "$OS_VERSION_ID" == "8" ) then
set TOSS_VERSION = "TOSS4"
else if ( "$OS_VERSION_ID" == "9" ) then
set TOSS_VERSION = "TOSS5"
endif

else if ( -d /ford1/share/gmao_SIteam/ && -d /ford1/local/ && $arch == Linux ) then
set site = "GMAO.desktop"

Expand Down Expand Up @@ -114,16 +122,17 @@ X86_64:
set modinit = DUMMY

set usemodules = 0
set switchmodules = 0
set useldlibs = 0

#========#
# NCCS #
#========#
if ( $site == NCCS ) then

set basedir = /discover/swdev/gmao_SIteam/Baselibs/ESMA-Baselibs-8.20.0/x86_64-pc-linux-gnu/ifort_2021.13.0-intelmpi_2021.13.0
set basedir = /discover/swdev/gmao_SIteam/Baselibs/ESMA-Baselibs-8.24.0/x86_64-pc-linux-gnu/ifort_2021.13.0-intelmpi_2021.13.0

set mod1 = python/GEOSpyD/24.11.3-0/3.12
set mod1 = python/GEOSpyD/25.3.1-0/3.13
set mod2 = GEOSenv

set mod3 = comp/gcc/12.3.0
Expand All @@ -145,23 +154,49 @@ if ( $site == NCCS ) then
#=======#
else if ( $site == NAS ) then

set basedir = /nobackup/gmao_SIteam/Baselibs/ESMA-Baselibs-8.20.0/x86_64-pc-linux-gnu/ifort_2021.13.0-mpt_2.30
if ( $TOSS_VERSION == "TOSS4" ) then

set mod1 = python/GEOSpyD/24.11.3-0/3.12
set mod2 = GEOSenv
set basedir = /nobackup/gmao_SIteam/Baselibs/ESMA-Baselibs-8.24.0/x86_64-pc-linux-gnu/ifort_2021.13.0-mpt_2.30

set mod3 = comp-gcc/12.3.0-TOSS4
set mod4 = comp-intel/2024.2.0-ifort
set mod5 = mpi-hpe/mpt
set mod1 = python/GEOSpyD/25.3.1-0/3.13
set mod2 = GEOSenv

set mods = ( $mod1 $mod2 $mod3 $mod4 $mod5 )
set modinit = /usr/share/modules/init/tcsh
set mod3 = comp-gcc/12.3.0-TOSS4
set mod4 = comp-intel/2024.2.0-ifort
set mod5 = mpi-hpe/mpt

set usemod1 = /u/scicon/tools/modulefiles
set usemod2 = /nobackup/gmao_SIteam/modulefiles
set usemod3 = /nasa/modulefiles/testing
set usemods = ( $usemod1 $usemod2 $usemod3 )
set usemodules = 1
set mods = ( $mod1 $mod2 $mod3 $mod4 $mod5 )
set modinit = /usr/share/modules/init/tcsh

set usemod1 = /u/scicon/tools/modulefiles
set usemod2 = /nobackup/gmao_SIteam/modulefiles
set usemod3 = /nasa/modulefiles/testing
set usemods = ( $usemod1 $usemod2 $usemod3 )
set usemodules = 1

else

set basedir = /nobackup/gmao_SIteam/Baselibs/ESMA-Baselibs-8.24.0/x86_64-pc-linux-gnu/ifort_2021.13.0-craympich_8.1.33

set mod1 = python/GEOSpyD/25.3.1-0/3.13
set mod2 = GEOSenv

set mod3 = comp-gcc/12.5.0
set mod4 = PrgEnv-intel/8.6.0
set mod5 = comp-intel/2024.2.0
set mod6 = mpi/mpich-ifort

set mods = ( $mod1 $mod2 $mod3 $mod4 $mod5 $mod6 )
set modinit = /opt/cray/pe/modules/3.2.11.7/init/csh

set switchmods = ( intel/2023.2.1:intel/2024.2.0 )
set switchmodules = 1

set usemod1 = /nobackup/gmao_SIteam/modulefiles-TOSS5
set usemods = ( $usemod1 )
set usemodules = 1

endif

set useldlibs = 0

Expand All @@ -170,9 +205,9 @@ else if ( $site == NAS ) then
#=================#
else if ( $site == GMAO.desktop ) then

set basedir = /ford1/share/gmao_SIteam/Baselibs/ESMA-Baselibs-8.20.0/x86_64-pc-linux-gnu/ifort_2021.13.0-intelmpi_2021.13
set basedir = /ford1/share/gmao_SIteam/Baselibs/ESMA-Baselibs-8.24.0/x86_64-pc-linux-gnu/ifort_2021.13.0-intelmpi_2021.13

set mod1 = other/python/GEOSpyD/24.11.3-0/3.12
set mod1 = other/python/GEOSpyD/25.3.1-0/3.13
set mod2 = GEOSenv

set mod3 = comp/gcc/12.1.0
Expand Down Expand Up @@ -234,6 +269,9 @@ if ( $#argv > 0 ) then
else if ( $1 == usemodules ) then
echo $usemods

else if ( $1 == switchmodules ) then
echo $switchmods

else if ( $1 == useldlibs ) then
echo $useldlibs

Expand Down Expand Up @@ -334,6 +372,14 @@ if (-e $modinit) then
module load $mod
end

if ($switchmodules) then
foreach switchmod ( $switchmods )
set frommodule = `echo $switchmod | cut -d: -f1`
set tomodule = `echo $switchmod | cut -d: -f2`
module switch $frommodule $tomodule
end
endif

if ($?XTRAMODS2LOAD) then
set xmods = (`echo $XTRAMODS2LOAD | cut -d: -f1- --output-delimiter=" "`)
foreach mod ( $xmods )
Expand Down
Loading