Skip to content

Commit 73621e9

Browse files
Upgrade to spack-stack/1.5.1 and Intel 2022 on non-production machines (NOAA-EMC#2084)
Update module files to spack-stack/1.5.1 and compilers to Intel 2022+ on all non-production machines.
1 parent 6d548b2 commit 73621e9

37 files changed

+301
-511
lines changed

jobs/rocoto/anal.sh

+5-39
Original file line numberDiff line numberDiff line change
@@ -4,51 +4,17 @@ source "${HOMEgfs}/ush/preamble.sh"
44

55
###############################################################
66
# Source FV3GFS workflow modules
7-
#. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
8-
#status=$?
9-
#[[ ${status} -ne 0 ]] && exit ${status}
10-
11-
# TODO: clean this up
12-
#Source appropriate modulefiles based on machine
13-
14-
source "${HOMEgfs}/ush/detect_machine.sh"
15-
if [[ "${MACHINE_ID}" = "wcoss2" ]]; then
16-
# Source FV3GFS workflow modules
17-
. "${HOMEgfs}"/ush/load_fv3gfs_modules.sh
18-
status=$?
19-
[[ ${status} -ne 0 ]] && exit "${status}"
20-
else
21-
# Append compiler (only on machines that have multiple compilers)
22-
COMPILER=${COMPILER:-"intel"}
23-
if [[ "${MACHINE_ID}" = "hera" ]] || [[ "${MACHINE_ID}" = "cheyenne" ]]; then
24-
MACHINE_ID=${MACHINE_ID}.${COMPILER}
25-
fi
26-
27-
# Source machine specific GSI-EnKF modules
28-
set +x
29-
source "${HOMEgfs}/ush/module-setup.sh"
30-
module use "${HOMEgfs}/sorc/gsi_enkf.fd/modulefiles"
31-
module load gsi_"${MACHINE_ID}"
32-
33-
if [[ "${MACHINE_ID}" = "orion" ]]; then
34-
module load miniconda3/4.12.0
35-
set +u
36-
conda activate regional_workflow_cmaq
37-
set_strict
38-
fi
39-
40-
module list
41-
unset MACHINE_ID
42-
set_trace
43-
fi
7+
. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
8+
status=$?
9+
[[ ${status} -ne 0 ]] && exit ${status}
4410

4511
export job="anal"
4612
export jobid="${job}.$$"
4713

4814
###############################################################
4915
# Execute the JJOB
50-
${HOMEgfs}/jobs/JGLOBAL_ATMOS_ANALYSIS
16+
"${HOMEgfs}/jobs/JGLOBAL_ATMOS_ANALYSIS"
5117
status=$?
5218

5319

54-
exit ${status}
20+
exit "${status}"

jobs/rocoto/efcs.sh

+8-3
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,13 @@ source "${HOMEgfs}/ush/preamble.sh"
44

55
###############################################################
66
# Source FV3GFS workflow modules
7-
#. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
8-
. ${HOMEgfs}/ush/load_ufswm_modules.sh
7+
# TODO clean this up once ncdiag/1.1.2 is installed on WCOSS2
8+
source "${HOMEgfs}/ush/detect_machine.sh"
9+
if [[ "${MACHINE_ID}" == "wcoss2" ]]; then
10+
. ${HOMEgfs}/ush/load_ufswm_modules.sh
11+
else
12+
. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
13+
fi
914
status=$?
1015
[[ ${status} -ne 0 ]] && exit ${status}
1116

@@ -14,7 +19,7 @@ export jobid="${job}.$$"
1419

1520
###############################################################
1621
# Execute the JJOB
17-
${HOMEgfs}/jobs/JGDAS_ENKF_FCST
22+
"${HOMEgfs}/jobs/JGDAS_ENKF_FCST"
1823
status=$?
1924

2025
exit ${status}

jobs/rocoto/eobs.sh

+5-39
Original file line numberDiff line numberDiff line change
@@ -4,51 +4,17 @@ source "${HOMEgfs}/ush/preamble.sh"
44

55
###############################################################
66
# Source FV3GFS workflow modules
7-
#. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
8-
#status=$?
9-
#[[ ${status} -ne 0 ]] && exit ${status}
10-
11-
# TODO: clean this up
12-
#Source appropriate modulefiles based on machine
13-
14-
source "${HOMEgfs}/ush/detect_machine.sh"
15-
if [[ "${MACHINE_ID}" = "wcoss2" ]]; then
16-
# Source FV3GFS workflow modules
17-
. "${HOMEgfs}"/ush/load_fv3gfs_modules.sh
18-
status=$?
19-
[[ ${status} -ne 0 ]] && exit "${status}"
20-
else
21-
# Append compiler (only on machines that have multiple compilers)
22-
COMPILER=${COMPILER:-"intel"}
23-
if [[ "${MACHINE_ID}" = "hera" ]] || [[ "${MACHINE_ID}" = "cheyenne" ]]; then
24-
MACHINE_ID=${MACHINE_ID}.${COMPILER}
25-
fi
26-
27-
# Source machine specific GSI-EnKF modules
28-
set +x
29-
source "${HOMEgfs}/ush/module-setup.sh"
30-
module use "${HOMEgfs}/sorc/gsi_enkf.fd/modulefiles"
31-
module load gsi_"${MACHINE_ID}"
32-
33-
if [[ "${MACHINE_ID}" = "orion" ]]; then
34-
module load miniconda3/4.12.0
35-
set +u
36-
conda activate regional_workflow_cmaq
37-
set_strict
38-
fi
39-
40-
module list
41-
unset MACHINE_ID
42-
set_trace
43-
fi
7+
. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
8+
status=$?
9+
[[ ${status} -ne 0 ]] && exit ${status}
4410

4511
export job="eobs"
4612
export jobid="${job}.$$"
4713

4814
###############################################################
4915
# Execute the JJOB
50-
${HOMEgfs}/jobs/JGDAS_ENKF_SELECT_OBS
16+
"${HOMEgfs}/jobs/JGDAS_ENKF_SELECT_OBS"
5117
status=$?
5218

5319

54-
exit ${status}
20+
exit "${status}"

jobs/rocoto/eupd.sh

+5-39
Original file line numberDiff line numberDiff line change
@@ -4,51 +4,17 @@ source "${HOMEgfs}/ush/preamble.sh"
44

55
###############################################################
66
# Source FV3GFS workflow modules
7-
#. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
8-
#status=$?
9-
#[[ ${status} -ne 0 ]] && exit ${status}
10-
11-
# TODO: clean this up
12-
#Source appropriate modulefiles based on machine
13-
14-
source "${HOMEgfs}/ush/detect_machine.sh"
15-
if [[ "${MACHINE_ID}" = "wcoss2" ]]; then
16-
# Source FV3GFS workflow modules
17-
. "${HOMEgfs}"/ush/load_fv3gfs_modules.sh
18-
status=$?
19-
[[ ${status} -ne 0 ]] && exit "${status}"
20-
else
21-
# Append compiler (only on machines that have multiple compilers)
22-
COMPILER=${COMPILER:-"intel"}
23-
if [[ "${MACHINE_ID}" = "hera" ]] || [[ "${MACHINE_ID}" = "cheyenne" ]]; then
24-
MACHINE_ID=${MACHINE_ID}.${COMPILER}
25-
fi
26-
27-
# Source machine specific GSI-EnKF modules
28-
set +x
29-
source "${HOMEgfs}/ush/module-setup.sh"
30-
module use "${HOMEgfs}/sorc/gsi_enkf.fd/modulefiles"
31-
module load gsi_"${MACHINE_ID}"
32-
33-
if [[ "${MACHINE_ID}" = "orion" ]]; then
34-
module load miniconda3/4.12.0
35-
set +u
36-
conda activate regional_workflow_cmaq
37-
set_strict
38-
fi
39-
40-
module list
41-
unset MACHINE_ID
42-
set_trace
43-
fi
7+
. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
8+
status=$?
9+
[[ ${status} -ne 0 ]] && exit ${status}
4410

4511
export job="eupd"
4612
export jobid="${job}.$$"
4713

4814
###############################################################
4915
# Execute the JJOB
50-
${HOMEgfs}/jobs/JGDAS_ENKF_UPDATE
16+
"${HOMEgfs}/jobs/JGDAS_ENKF_UPDATE"
5117
status=$?
5218

5319

54-
exit ${status}
20+
exit "${status}"

jobs/rocoto/fcst.sh

+9-5
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,22 @@
33
source "${HOMEgfs}/ush/preamble.sh"
44

55
###############################################################
6-
# Source UFS Weather Model workflow modules
7-
#. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
8-
. ${HOMEgfs}/ush/load_ufswm_modules.sh
6+
# Source FV3GFS workflow modules
7+
# TODO clean this up once ncdiag/1.1.2 is installed on WCOSS2
8+
source "${HOMEgfs}/ush/detect_machine.sh"
9+
if [[ "${MACHINE_ID}" == "wcoss2" ]]; then
10+
. ${HOMEgfs}/ush/load_ufswm_modules.sh
11+
else
12+
. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
13+
fi
914
status=$?
1015
[[ ${status} -ne 0 ]] && exit ${status}
1116

1217
export job="fcst"
1318
export jobid="${job}.$$"
1419

15-
###############################################################
1620
# Execute the JJOB
17-
${HOMEgfs}/jobs/JGLOBAL_FORECAST
21+
"${HOMEgfs}/jobs/JGLOBAL_FORECAST"
1822
status=$?
1923

2024
exit ${status}

jobs/rocoto/post.sh

+18-21
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,26 @@ source "${HOMEgfs}/ush/preamble.sh"
77
## FHRLST : forecast hourlist to be post-process (e.g. anl, f000, f000_f001_f002, ...)
88
###############################################################
99

10-
# Source FV3GFS workflow modules
11-
# . ${HOMEgfs}/ush/load_fv3gfs_modules.sh
12-
# status=$?
13-
# [[ ${status} -ne 0 ]] && exit ${status}
14-
# Temporarily load modules from UPP
10+
# TODO clean this up once ncdiag/1.1.2 is installed on WCOSS2
1511
source "${HOMEgfs}/ush/detect_machine.sh"
16-
source "${HOMEgfs}/ush/module-setup.sh"
17-
module use "${HOMEgfs}/sorc/ufs_model.fd/FV3/upp/modulefiles"
18-
module load "${MACHINE_ID}"
19-
module load prod_util
2012
if [[ "${MACHINE_ID}" = "wcoss2" ]]; then
21-
module load cray-pals
22-
module load cfp
23-
module load libjpeg
24-
module load grib_util
13+
# Temporarily load modules from UPP
14+
source "${HOMEgfs}/ush/module-setup.sh"
15+
module use "${HOMEgfs}/sorc/ufs_model.fd/FV3/upp/modulefiles"
16+
module load "${MACHINE_ID}"
17+
module load prod_util
18+
module load cray-pals
19+
module load cfp
20+
module load libjpeg
21+
module load grib_util
22+
module load wgrib2
23+
export WGRIB2=wgrib2
24+
# End hack
2525
else
26-
# shellcheck disable=SC2154
27-
export UTILROOT="${prod_util_ROOT}"
28-
module load grib-util
26+
. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
27+
status=$?
28+
[[ ${status} -ne 0 ]] && exit ${status}
2929
fi
30-
module load wgrib2
31-
export WGRIB2=wgrib2
32-
# End hack
3330

3431
export job="post"
3532
export jobid="${job}.$$"
@@ -39,9 +36,9 @@ fhrlst=$(echo ${FHRLST} | sed -e 's/_/ /g; s/f/ /g; s/,/ /g')
3936
#---------------------------------------------------------------
4037
for fhr in ${fhrlst}; do
4138
export post_times=${fhr}
42-
${HOMEgfs}/jobs/JGLOBAL_ATMOS_POST
39+
"${HOMEgfs}/jobs/JGLOBAL_ATMOS_POST"
4340
status=$?
44-
[[ ${status} -ne 0 ]] && exit ${status}
41+
[[ ${status} -ne 0 ]] && exit "${status}"
4542
done
4643

4744
exit 0

jobs/rocoto/prep.sh

-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ if [[ ${MAKE_PREPBUFR} = "YES" ]]; then
9494
fi
9595

9696
export job="j${CDUMP}_prep_${cyc}"
97-
export DATAROOT="${RUNDIR}/${CDATE}/${CDUMP}/prepbufr"
9897
export COMIN=${COM_OBS}
9998
export COMOUT=${COM_OBS}
10099
RUN="gdas" YMD=${PDY} HH=${cyc} generate_com -rx COMINgdas:COM_ATMOS_HISTORY_TMPL

modulefiles/module_base.hera.lua

+22-19
Original file line numberDiff line numberDiff line change
@@ -2,46 +2,49 @@ help([[
22
Load environment to run GFS on Hera
33
]])
44

5-
prepend_path("MODULEPATH", "/scratch2/NCEPDEV/nwprod/hpc-stack/libs/hpc-stack/modulefiles/stack")
5+
spack_stack_ver=(os.getenv("spack_stack_ver") or "None")
6+
spack_env=(os.getenv("spack_env") or "None")
7+
prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-" .. spack_stack_ver .. "/envs/" .. spack_env .. "/install/modulefiles/Core")
68

7-
load(pathJoin("hpc", os.getenv("hpc_ver")))
8-
load(pathJoin("hpc-intel", os.getenv("hpc_intel_ver")))
9-
load(pathJoin("hpc-impi", os.getenv("hpc_impi_ver")))
9+
load(pathJoin("stack-intel", os.getenv("stack_intel_ver")))
10+
load(pathJoin("stack-intel-oneapi-mpi", os.getenv("stack_impi_ver")))
11+
load(pathJoin("python", os.getenv("python_ver")))
1012

1113
load(pathJoin("hpss", os.getenv("hpss_ver")))
1214
load(pathJoin("gempak", os.getenv("gempak_ver")))
1315
load(pathJoin("ncl", os.getenv("ncl_ver")))
1416
load(pathJoin("jasper", os.getenv("jasper_ver")))
15-
load(pathJoin("png", os.getenv("libpng_ver")))
17+
load(pathJoin("libpng", os.getenv("libpng_ver")))
1618
load(pathJoin("cdo", os.getenv("cdo_ver")))
1719
load(pathJoin("R", os.getenv("R_ver")))
1820

1921
load(pathJoin("hdf5", os.getenv("hdf5_ver")))
20-
load(pathJoin("netcdf", os.getenv("netcdf_ver")))
22+
load(pathJoin("netcdf-c", os.getenv("netcdf_c_ver")))
23+
load(pathJoin("netcdf-fortran", os.getenv("netcdf_fortran_ver")))
2124

2225
load(pathJoin("nco", os.getenv("nco_ver")))
2326
load(pathJoin("prod_util", os.getenv("prod_util_ver")))
24-
load(pathJoin("grib_util", os.getenv("grib_util_ver")))
27+
load(pathJoin("grib-util", os.getenv("grib_util_ver")))
2528
load(pathJoin("g2tmpl", os.getenv("g2tmpl_ver")))
26-
load(pathJoin("ncdiag", os.getenv("ncdiag_ver")))
29+
load(pathJoin("gsi-ncdiag", os.getenv("gsi_ncdiag_ver")))
2730
load(pathJoin("crtm", os.getenv("crtm_ver")))
31+
load(pathJoin("bufr", os.getenv("bufr_ver")))
2832
load(pathJoin("wgrib2", os.getenv("wgrib2_ver")))
33+
load(pathJoin("py-netcdf4", os.getenv("py_netcdf4_ver")))
34+
load(pathJoin("py-pyyaml", os.getenv("py_pyyaml_ver")))
35+
load(pathJoin("py-jinja2", os.getenv("py_jinja2_ver")))
36+
37+
load(pathJoin("met", os.getenv("met_ver")))
38+
load(pathJoin("metplus", os.getenv("metplus_ver")))
39+
2940
setenv("WGRIB2","wgrib2")
41+
setenv("UTILROOT",(os.getenv("prod_util_ROOT") or "None"))
3042

31-
--prepend_path("MODULEPATH", pathJoin("/scratch1/NCEPDEV/global/glopara/git/prepobs/v" .. os.getenv("prepobs_run_ver"), "modulefiles"))
43+
--prepend_path("MODULEPATH", pathJoin("/scratch1/NCEPDEV/global/glopara/git/prepobs/v" .. (os.getenv("prepobs_run_ver") or "None"), "modulefiles"))
3244
prepend_path("MODULEPATH", pathJoin("/scratch1/NCEPDEV/global/glopara/git/prepobs/feature-GFSv17_com_reorg_log_update/modulefiles"))
3345
load(pathJoin("prepobs", os.getenv("prepobs_run_ver")))
3446

35-
prepend_path("MODULEPATH", pathJoin("/scratch1/NCEPDEV/global/glopara/git/Fit2Obs/v" .. os.getenv("fit2obs_ver"), "modulefiles"))
47+
prepend_path("MODULEPATH", pathJoin("/scratch1/NCEPDEV/global/glopara/git/Fit2Obs/v" .. (os.getenv("fit2obs_ver") or "None"), "modulefiles"))
3648
load(pathJoin("fit2obs", os.getenv("fit2obs_ver")))
3749

38-
-- Temporary until official hpc-stack is updated
39-
prepend_path("MODULEPATH", "/scratch2/NCEPDEV/ensemble/save/Walter.Kolczynski/hpc-stack/modulefiles/stack")
40-
load(pathJoin("hpc", "1.2.0"))
41-
load(pathJoin("hpc-intel", "18.0.5.274"))
42-
load(pathJoin("hpc-miniconda3", "4.6.14"))
43-
load(pathJoin("gfs_workflow", "1.0.0"))
44-
load(pathJoin("met", "9.1"))
45-
load(pathJoin("metplus", "3.1"))
46-
4750
whatis("Description: GFS run environment")

0 commit comments

Comments
 (0)