Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port the GSI to Acorn #793

Merged
merged 5 commits into from
Oct 24, 2024
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
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
Loading