Skip to content

Commit

Permalink
Port the GSI to Acorn (#793)
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidHuber-NOAA authored Oct 24, 2024
1 parent 9c47f2a commit b0e3cba
Show file tree
Hide file tree
Showing 8 changed files with 93 additions and 29 deletions.
54 changes: 54 additions & 0 deletions modulefiles/gsi_acorn.intel.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
help([[
]])

local PrgEnv_intel_ver=os.getenv("PrgEnv_intel_ver") or "8.1.0"
local intel_ver=os.getenv("intel_ver") or "19.1.3.304"
local craype_ver=os.getenv("craype_ver") or "2.7.8"
local cray_mpich_ver=os.getenv("cray_mpich_ver") or "8.1.7"
local cmake_ver= os.getenv("cmake_ver") or "3.20.2"
local python_ver=os.getenv("python_ver") or "3.8.6"
local prod_util_ver=os.getenv("prod_util_ver") or "2.0.10"

local netcdf_ver=os.getenv("netcdf_ver") or "4.7.4"
local bufr_ver=os.getenv("bufr_ver") or "11.7.0"
local bacio_ver=os.getenv("bacio_ver") or "2.4.1"
local w3emc_ver=os.getenv("w3emc_ver") or "2.9.2"
local sp_ver=os.getenv("sp_ver") or "2.3.3"
local ip_ver=os.getenv("ip_ver") or "3.3.3"
local sigio_ver=os.getenv("sigio_ver") or "2.3.2"
local sfcio_ver=os.getenv("sfcio_ver") or "1.4.1"
local nemsio_ver=os.getenv("nemsio_ver") or "2.5.4"
local wrf_io_ver=os.getenv("wrf_io_ver") or "1.2.0"
local ncio_ver=os.getenv("ncio_ver") or "1.1.2"
local crtm_ver=os.getenv("crtm_ver") or "2.4.0.1"
local ncdiag_ver=os.getenv("ncdiag_ver") or "1.1.1"

load(pathJoin("PrgEnv-intel", PrgEnv_intel_ver))
load(pathJoin("intel", intel_ver))
load(pathJoin("craype", craype_ver))
load(pathJoin("cray-mpich", cray_mpich_ver))
load(pathJoin("cmake", cmake_ver))
load(pathJoin("python", python_ver))

load(pathJoin("prod_util", prod_util_ver))

load(pathJoin("netcdf", netcdf_ver))
load(pathJoin("bufr", bufr_ver))
load(pathJoin("bacio", bacio_ver))
load(pathJoin("w3emc", w3emc_ver))
load(pathJoin("sp", sp_ver))
load(pathJoin("ip", ip_ver))
load(pathJoin("sigio", sigio_ver))
load(pathJoin("sfcio", sfcio_ver))
load(pathJoin("nemsio", nemsio_ver))
load(pathJoin("wrf_io", wrf_io_ver))
load(pathJoin("ncio", ncio_ver))
load(pathJoin("ncdiag",ncdiag_ver))

-- Lastly, load CRTM from the EMC location
append_path("MODULEPATH", "/lfs/h1/emc/nceplibs/noscrub/hpc-stack/libs/hpc-stack/modulefiles/compiler/intel/19.1.3.304")
load(pathJoin("crtm", crtm_ver))

pushenv("GSI_BINARY_SOURCE_DIR", "/lfs/h2/emc/global/noscrub/emc.global/FIX/fix/gsi/20240208")

whatis("Description: GSI environment on WCOSS2 Acorn")
2 changes: 1 addition & 1 deletion regression/regression_driver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ for jn in `seq ${RSTART} ${REND}`; do
fi
rm -f ${job[$jn]}.out

/bin/sh $ush/$sub_cmd -q $queue -j ${job[$jn]} -t ${topts[$jn]} -p ${popts[$jn]} -r ${ropts[$jn]} $scripts/${regtest}.sh
/bin/sh $ush/$sub_cmd -m ${machine} -q $queue -j ${job[$jn]} -t ${topts[$jn]} -p ${popts[$jn]} -r ${ropts[$jn]} $scripts/${regtest}.sh

if [ $debug == ".true." ]; then break; fi
$scripts/regression_wait.sh ${job[$jn]} ${rcname} $check_resource
Expand Down
41 changes: 23 additions & 18 deletions regression/regression_param.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ regtest=$1

case $machine in

Hera)
sub_cmd="sub_hera"
Hera)
sub_cmd="sub_hera"
memnode=96
numcore=40
;;
Expand All @@ -19,23 +19,28 @@ case $machine in
memnode=512
numcore=40
;;
Jet)
sub_cmd="sub_jet"
Jet)
sub_cmd="sub_jet"
memnode=96
numcore=40
;;
Gaea)
sub_cmd="sub_gaea"
Gaea)
sub_cmd="sub_gaea"
memnode=251
numcore=128
;;
wcoss2)
sub_cmd="sub_wcoss2"
wcoss2)
sub_cmd="sub_wcoss2"
memnode=512
numcore=128
;;
Discover)
sub_cmd="sub_discover"
acorn)
sub_cmd="sub_acorn"
memnode=512
numcore=128
;;
Discover)
sub_cmd="sub_discover"
;;
*) # EXIT out for unresolved machine
echo "unknown $machine"
Expand Down Expand Up @@ -71,7 +76,7 @@ case $regtest in
elif [[ "$machine" = "Gaea" ]]; then
topts[1]="0:10:00" ; popts[1]="12/8/" ; ropts[1]="/1"
topts[2]="0:10:00" ; popts[2]="12/10/" ; ropts[2]="/2"
elif [[ "$machine" = "wcoss2" ]]; then
elif [[ "$machine" = "wcoss2" || "$machine" = "acorn" ]]; then
topts[1]="0:10:00" ; popts[1]="12/8/" ; ropts[1]="/1"
topts[2]="0:10:00" ; popts[2]="12/10/" ; ropts[2]="/2"
fi
Expand Down Expand Up @@ -101,7 +106,7 @@ case $regtest in
elif [[ "$machine" = "Gaea" ]]; then
topts[1]="0:15:00" ; popts[1]="64/1/" ; ropts[1]="/1"
topts[2]="0:15:00" ; popts[2]="128/2/" ; ropts[2]="/1"
elif [[ "$machine" = "wcoss2" ]]; then
elif [[ "$machine" = "wcoss2" || "$machine" = "acorn" ]]; then
topts[1]="0:15:00" ; popts[1]="64/1/" ; ropts[1]="/1"
topts[2]="0:15:00" ; popts[2]="128/2/" ; ropts[2]="/1"
fi
Expand Down Expand Up @@ -131,7 +136,7 @@ case $regtest in
elif [[ "$machine" = "Gaea" ]]; then
topts[1]="0:15:00" ; popts[1]="64/1/" ; ropts[1]="/1"
topts[2]="0:15:00" ; popts[2]="128/2/" ; ropts[2]="/1"
elif [[ "$machine" = "wcoss2" ]]; then
elif [[ "$machine" = "wcoss2" || "$machine" = "acorn" ]]; then
topts[1]="0:15:00" ; popts[1]="64/1/" ; ropts[1]="/1"
topts[2]="0:15:00" ; popts[2]="128/2/" ; ropts[2]="/1"
fi
Expand Down Expand Up @@ -160,7 +165,7 @@ case $regtest in
elif [[ "$machine" = "Gaea" ]]; then
topts[1]="0:15:00" ; popts[1]="64/1/" ; ropts[1]="/1"
topts[2]="0:15:00" ; popts[2]="128/2/" ; ropts[2]="/1"
elif [[ "$machine" = "wcoss2" ]]; then
elif [[ "$machine" = "wcoss2" || "$machine" = "acorn" ]]; then
topts[1]="0:15:00" ; popts[1]="64/1/" ; ropts[1]="/1"
topts[2]="0:15:00" ; popts[2]="128/2/" ; ropts[2]="/1"
fi
Expand Down Expand Up @@ -190,7 +195,7 @@ case $regtest in
elif [[ "$machine" = "Gaea" ]]; then
topts[1]="0:15:00" ; popts[1]="28/1/" ; ropts[1]="/1"
topts[2]="0:15:00" ; popts[2]="28/2/" ; ropts[2]="/1"
elif [[ "$machine" = "wcoss2" ]]; then
elif [[ "$machine" = "wcoss2" || "$machine" = "acorn" ]]; then
topts[1]="0:15:00" ; popts[1]="64/1/" ; ropts[1]="/1"
topts[2]="0:15:00" ; popts[2]="64/2/" ; ropts[2]="/1"
fi
Expand Down Expand Up @@ -220,7 +225,7 @@ case $regtest in
elif [[ "$machine" = "Gaea" ]]; then
topts[1]="0:30:00" ; popts[1]="14/8/" ; ropts[1]="/1"
topts[2]="0:30:00" ; popts[2]="14/14/" ; ropts[2]="/1"
elif [[ "$machine" = "wcoss2" ]]; then
elif [[ "$machine" = "wcoss2" || "$machine" = "acorn" ]]; then
topts[1]="0:30:00" ; popts[1]="14/8/" ; ropts[1]="/1"
topts[2]="0:30:00" ; popts[2]="14/14/" ; ropts[2]="/2"
fi
Expand Down Expand Up @@ -250,7 +255,7 @@ case $regtest in
elif [[ "$machine" = "Gaea" ]]; then
topts[1]="0:10:00" ; popts[1]="16/2/" ; ropts[1]="/1"
topts[2]="0:10:00" ; popts[2]="16/4/" ; ropts[2]="/2"
elif [[ "$machine" = "wcoss2" ]]; then
elif [[ "$machine" = "wcoss2" || "$machine" = "acorn" ]]; then
topts[1]="0:10:00" ; popts[1]="16/2/" ; ropts[1]="/1"
topts[2]="0:10:00" ; popts[2]="16/4/" ; ropts[2]="/2"
fi
Expand Down Expand Up @@ -316,7 +321,7 @@ elif [[ "$machine" = "Gaea" ]]; then
export MPI_BUFS_PER_HOST=256
export MPI_GROUP_MAX=256
export APRUN="srun --export=ALL -n \$ntasks"
elif [[ "$machine" = "wcoss2" ]]; then
elif [[ "$machine" = "wcoss2" || "$machine" = "acorn" ]]; then
export OMP_PLACES=cores
export OMP_STACKSIZE=2G
export FORT_BUFFERED=true
Expand Down
10 changes: 7 additions & 3 deletions regression/regression_var.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,12 @@ elif [[ -d /work ]]; then # Orion or Hercules
else
export machine="Orion"
fi
elif [[ -d /lfs/h2 ]]; then # wcoss2
export machine="wcoss2"
elif [[ -d /lfs/h2 ]]; then # wcoss2 or acorn
if [[ $(hostname -f) =~ "alogin" ]]; then
export machine="acorn"
else
export machine="wcoss2"
fi
fi
echo "Running Regression Tests on '$machine'";

Expand All @@ -63,7 +67,7 @@ case $machine in
export check_resource="no"
export accnt="ufs-ard"
;;
wcoss2)
wcoss2 | acorn)
export local_or_default="${local_or_default:-/lfs/h2/emc/da/noscrub/$LOGNAME}"
if [ -d $local_or_default ]; then
export noscrub="$local_or_default/noscrub"
Expand Down
4 changes: 2 additions & 2 deletions ush/detect_machine.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
# First detect w/ hostname
case $(hostname -f) in

adecflow0[12].acorn.wcoss2.ncep.noaa.gov) MACHINE_ID=acorn ;; ### acorn
alogin0[12].acorn.wcoss2.ncep.noaa.gov) MACHINE_ID=acorn ;; ### acorn
adecflow0[1-3].acorn.wcoss2.ncep.noaa.gov) MACHINE_ID=acorn ;; ### acorn
alogin0[1-3].acorn.wcoss2.ncep.noaa.gov) MACHINE_ID=acorn ;; ### acorn
clogin0[1-9].cactus.wcoss2.ncep.noaa.gov) MACHINE_ID=wcoss2 ;; ### cactus01-9
clogin10.cactus.wcoss2.ncep.noaa.gov) MACHINE_ID=wcoss2 ;; ### cactus10
dlogin0[1-9].dogwood.wcoss2.ncep.noaa.gov) MACHINE_ID=wcoss2 ;; ### dogwood01-9
Expand Down
4 changes: 2 additions & 2 deletions ush/module-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ elif [[ $MACHINE_ID = s4* ]] ; then
fi
module purge

elif [[ $MACHINE_ID = wcoss2 ]]; then
# We are on WCOSS2
elif [[ $MACHINE_ID = wcoss2 || $MACHINE_ID = acorn ]]; then
# We are on WCOSS2 (cactus, dogwood, or acorn)
module reset

elif [[ $MACHINE_ID = stampede* ]] ; then
Expand Down
1 change: 1 addition & 0 deletions ush/sub_acorn
6 changes: 3 additions & 3 deletions ush/sub_wcoss2
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/sh --login
set -x
echo "starting sub_wcoss2"
echo "starting sub_${machine}" # wcoss2 or acorn
usage="\
Usage: $0 [options] executable [args]
where the options are:
Expand Down Expand Up @@ -125,7 +125,7 @@ echo "" >> $cfile

echo "module reset" >> $cfile
echo "module use $modulefiles" >> $cfile
echo "module load gsi_wcoss2.intel" >> $cfile
echo "module load gsi_${machine}.intel" >> $cfile
echo "module load envvar/1.0" >> $cfile
echo "module load cray-pals/1.2.2" >> $cfile
echo "module -t list 2>&1 | while read line;do module show $line 2>&1 | sed -n -e '2p';done | sort" >> $cfile
Expand Down Expand Up @@ -167,5 +167,5 @@ if [[ -w $SUBLOG ]];then
fi
##rm $cfile $ofile
##[[ $MKDATA = YES ]] && rmdir $DATA
echo "ending sub_wcoss2"
echo "ending sub_${machine}"
exit $rc

0 comments on commit b0e3cba

Please sign in to comment.