From 2a6d56c4ee9f4aab202331bc5021b90fd0817d22 Mon Sep 17 00:00:00 2001 From: Walter Kolczynski Date: Tue, 10 Nov 2020 16:03:56 +0000 Subject: [PATCH 01/13] Update build for WCOSS Dell The build for the ww3 and reg2grb2 programs are updated to build on WCOSS Dell. New modules are created for each. The two modules are both using development modules; this needs to be updated to NCO modules in the future. ww3 uses the newer versions of modules under NCEPLIBS-v1.2.0, but the reg2grb2 was unable to use that location due to an issue with wgrib2/2.0.8. reg2grb2 is also using older modules than ww3 on Hera, so this mismatch already exists. The build script for reg2grb2 is updated to use the environment variables set by the wgrib2 module on WCOSS. It should remain backwards compatible for Hera/Orion, but this needs to be tested. Refs: #175 --- modulefiles/modulefile.reg2grb2.wcoss_dell_p3 | 28 +++++++++++++++++++ modulefiles/modulefile.ww3.wcoss_dell_p3 | 28 +++++++++++++++++++ sorc/build_reg2grb2.sh | 8 ++++-- 3 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 modulefiles/modulefile.reg2grb2.wcoss_dell_p3 create mode 100644 modulefiles/modulefile.ww3.wcoss_dell_p3 diff --git a/modulefiles/modulefile.reg2grb2.wcoss_dell_p3 b/modulefiles/modulefile.reg2grb2.wcoss_dell_p3 new file mode 100644 index 0000000000..e98874379d --- /dev/null +++ b/modulefiles/modulefile.reg2grb2.wcoss_dell_p3 @@ -0,0 +1,28 @@ +#%Module##################################################### +# reg2grb2 - WCOSS Dell +############################################################# + +module load ips/18.0.1.163 +module load impi/18.0.1 +set FCMP ifort + +module load lsf/10.1 +module load EnvVars/1.0.2 + +module load NetCDF-parallel/4.7.4 + +# module use /usrx/local/nceplibs/dev/NCEPLIBS/cmake/install/NCEPLIBS-v1.2.0/modules +# module load bacio/2.4.1 +# module load ip/3.3.3 +# module load landsfcutil/2.1.0 +# module load sp/2.3.3 +# module load wgrib2/2.0.8 +# module load w3nco/2.4.1 + +module use /usrx/local/nceplibs/dev/NCEPLIBS/modulefiles +module load bacio/2.0.2 +module load ip/3.0.1 +module load landsfcutil/2.1.0 +module load sp/2.0.2 +module load wgrib2/2.0.8 +module load w3nco/2.0.6 \ No newline at end of file diff --git a/modulefiles/modulefile.ww3.wcoss_dell_p3 b/modulefiles/modulefile.ww3.wcoss_dell_p3 new file mode 100644 index 0000000000..518600eee9 --- /dev/null +++ b/modulefiles/modulefile.ww3.wcoss_dell_p3 @@ -0,0 +1,28 @@ +#%Module###################################################################### + +module load ips/18.0.1.163 +module load impi/18.0.1 +module load lsf/10.1 +module load EnvVars/1.0.2 + +module load jasper/1.900.29 +module load zlib/1.2.11 +module load libpng/1.2.59 + +module load HDF5-parallel/1.10.6 +module load NetCDF-parallel/4.7.4 + +module use /gpfs/dell2/emc/modeling/noscrub/emc.nemspara/soft/modulefiles +module load esmf/8.1.0bs27 + +module use /usrx/local/nceplibs/dev/NCEPLIBS/cmake/install/NCEPLIBS-v1.2.0/modules +module load bacio/2.4.1 +module load crtm/2.3.0 +module load g2/3.4.1 +module load g2tmpl/1.9.1 +module load ip/3.3.3 +module load nceppost/dceca26 +module load nemsio/2.5.2 +module load sp/2.3.3 +module load w3emc/2.7.3 +module load w3nco/2.4.1 diff --git a/sorc/build_reg2grb2.sh b/sorc/build_reg2grb2.sh index 16d627d6fd..e38720b82e 100755 --- a/sorc/build_reg2grb2.sh +++ b/sorc/build_reg2grb2.sh @@ -28,9 +28,11 @@ export LIBSM="${LANDSFCUTIL_LIBd} \ ${BACIO_LIB4} \ -L${NETCDF}/lib -lnetcdff -lnetcdf" -WGRIB2DIR=$WGRIB2_ROOT -export LIB2="-L$WGRIB2DIR/lib -lwgrib2 -lwgrib2_api" -export MOD2="-I$WGRIB2DIR/lib" +WGRIB2_LIB=${WGRIB2_LIB:-"$WGRIB2_ROOT/lib/wgrib2"} +WGRIB2_LIBAPI=${WGRIB2_LIBAPI:-"$WGRIB2_ROOT/lib/wgrib2_api"} +WGRIB2_INC=${WGRIB2_INC:-$WGRIB2_ROOT/lib} +export LIB2="${WGRIB2_LIB} ${WGRIB2_LIBAPI}" +export MOD2="-I${WGRIB2_INC}" cd reg2grb2.fd From eb50f1aa45d6a3dbcf10b3c9692aa2976e829304 Mon Sep 17 00:00:00 2001 From: Walter Kolczynski Date: Wed, 13 Jan 2021 16:42:53 +0000 Subject: [PATCH 02/13] Fix build of WW3 pre/post on WCOSS The build of WW3 pre/post was returning as successful despite failing to compile some of the executables. The issue was traced back to some of the library paths not being set correctly. The build script is updated to use the existing environment variables for those paths if they are already set, as they are by the modules on WCOSS. Refs: #175 --- modulefiles/modulefile.ww3.wcoss_dell_p3 | 8 +++++--- sorc/build_ww3prepost.sh | 6 +++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/modulefiles/modulefile.ww3.wcoss_dell_p3 b/modulefiles/modulefile.ww3.wcoss_dell_p3 index 518600eee9..cafba10889 100644 --- a/modulefiles/modulefile.ww3.wcoss_dell_p3 +++ b/modulefiles/modulefile.ww3.wcoss_dell_p3 @@ -1,9 +1,10 @@ #%Module###################################################################### - module load ips/18.0.1.163 -module load impi/18.0.1 -module load lsf/10.1 +module load impi/18.0.1 +module load lsf/10.1 module load EnvVars/1.0.2 +module load prod_util/1.1.1 +module load prod_envir/1.0.2 module load jasper/1.900.29 module load zlib/1.2.11 @@ -15,6 +16,7 @@ module load NetCDF-parallel/4.7.4 module use /gpfs/dell2/emc/modeling/noscrub/emc.nemspara/soft/modulefiles module load esmf/8.1.0bs27 +module load cmake/3.16.2 module use /usrx/local/nceplibs/dev/NCEPLIBS/cmake/install/NCEPLIBS-v1.2.0/modules module load bacio/2.4.1 module load crtm/2.3.0 diff --git a/sorc/build_ww3prepost.sh b/sorc/build_ww3prepost.sh index bd30f910b6..90f1851ec0 100755 --- a/sorc/build_ww3prepost.sh +++ b/sorc/build_ww3prepost.sh @@ -26,9 +26,9 @@ export WW3_F90=gfortran export SWITCHFILE="${WW3_DIR}/esmf/switch" export WWATCH3_ENV=${WW3_BINDIR}/wwatch3.env -export PNG_LIB=$PNG_ROOT/lib64/libpng.a -export Z_LIB=$ZLIB_ROOT/lib/libz.a -export JASPER_LIB=$JASPER_ROOT/lib64/libjasper.a +export PNG_LIB=${PNG_LIB:-$PNG_ROOT/lib64/libpng.a} +export Z_LIB=${Z_LIB:-$ZLIB_ROOT/lib/libz.a} +export JASPER_LIB=${JASPER_LIB:-$JASPER_ROOT/lib64/libjasper.a} export WWATCH3_NETCDF=NC4 export NETCDF_CONFIG=$NETCDF_ROOT/bin/nc-config From 9139d0d11db83421a8db65c697ae9d829ca19fbb Mon Sep 17 00:00:00 2001 From: Walter Kolczynski Date: Wed, 13 Jan 2021 16:49:07 +0000 Subject: [PATCH 03/13] Fix build of reg2grb2 on WCOSS The build of reg2grb2 is fixed on WCOSS by adding a missing module for Jasper and fixing the library paths in the build script. Refs: #175 --- modulefiles/modulefile.reg2grb2.wcoss_dell_p3 | 3 ++- sorc/build_reg2grb2.sh | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modulefiles/modulefile.reg2grb2.wcoss_dell_p3 b/modulefiles/modulefile.reg2grb2.wcoss_dell_p3 index e98874379d..642a72b0f7 100644 --- a/modulefiles/modulefile.reg2grb2.wcoss_dell_p3 +++ b/modulefiles/modulefile.reg2grb2.wcoss_dell_p3 @@ -25,4 +25,5 @@ module load ip/3.0.1 module load landsfcutil/2.1.0 module load sp/2.0.2 module load wgrib2/2.0.8 -module load w3nco/2.0.6 \ No newline at end of file +module load w3nco/2.0.6 +module load jasper/1.900.29 diff --git a/sorc/build_reg2grb2.sh b/sorc/build_reg2grb2.sh index 10602d41ea..770676d50c 100755 --- a/sorc/build_reg2grb2.sh +++ b/sorc/build_reg2grb2.sh @@ -28,10 +28,10 @@ export LIBSM="${LANDSFCUTIL_LIBd} \ ${BACIO_LIB4} \ -L${NETCDF}/lib -lnetcdff -lnetcdf" -WGRIB2_LIB=${WGRIB2_LIB:-"$WGRIB2_ROOT/lib/wgrib2"} -WGRIB2_LIBAPI=${WGRIB2_LIBAPI:-"$WGRIB2_ROOT/lib/wgrib2_api"} +WGRIB2_LIB=${WGRIB2_LIB:-"$WGRIB2_ROOT/lib/wgrib2.a"} +WGRIB2_LIBAPI=${WGRIB2_LIBAPI:-"$WGRIB2_ROOT/lib/wgrib2_api.a"} WGRIB2_INC=${WGRIB2_INC:-$WGRIB2_ROOT/lib} -JASPER_LIB=${JASPER_LIB:-$Jasper_ROOT/lib/jasper} +JASPER_LIB=${JASPER_LIB:-$Jasper_ROOT/lib/jasper.a} export LIB2="${WGRIB2_LIB} ${WGRIB2_LIBAPI} ${JASPER_LIB}" export MOD2="-I${WGRIB2_INC}" From fa9a3084bae011754935de3b4113c0af4b8a0e3c Mon Sep 17 00:00:00 2001 From: Walter Kolczynski Date: Wed, 13 Jan 2021 16:51:28 +0000 Subject: [PATCH 04/13] Update paths for WCOSS Updates the locations for various directories on WCOSS. Some had previously just been placeholders, while others were outdated. The paths for intial conditions and fix files are temporary, as they currently point to a personal directory synchronized from Hera. These need to be moved under glopara at a later date. Refs: #175 --- sorc/link_fv3gfs.sh | 3 ++- workflow/platforms/wcoss_dell_p3.yaml | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/sorc/link_fv3gfs.sh b/sorc/link_fv3gfs.sh index 12b09c6f92..f473e05464 100755 --- a/sorc/link_fv3gfs.sh +++ b/sorc/link_fv3gfs.sh @@ -44,7 +44,8 @@ pwd=$(pwd -P) if [ $machine == "cray" ]; then FIX_DIR="/gpfs/hps3/emc/global/noscrub/emc.glopara/git/fv3gfs/fix_nco_gfsv16" elif [ $machine = "dell" ]; then - FIX_DIR="/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/fv3gfs/fix_nco_gfsv16" + # FIX_DIR="/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/fv3gfs/fix_nco_gfsv16" + FIX_DIR="/gpfs/dell2/emc/modeling/noscrub/Walter.Kolczynski/global-workflow/fix_UFSp6" elif [ $machine = "hera" ]; then if [ $model = "coupled" ]; then FIX_DIR="/scratch2/NCEPDEV/climate/climpara/S2S/FIX/fix_UFSp6" diff --git a/workflow/platforms/wcoss_dell_p3.yaml b/workflow/platforms/wcoss_dell_p3.yaml index bf9f520446..abf26f9848 100644 --- a/workflow/platforms/wcoss_dell_p3.yaml +++ b/workflow/platforms/wcoss_dell_p3.yaml @@ -34,9 +34,9 @@ platform: !Platform # DMPDIR - location of the global dump data. This is used by the observation # processing scripts, which are not included in the public release. DMPDIR: !FirstTrue - - do: "/gpfs/gp1/emc/globaldump" + - do: "/gpfs/dell3/emc/global/dump" when: !calc tools.isdir(do) - - do: "/gpfs/tp1/emc/globaldump" + - do: "/gpfs/hps3/emc/global/dump" when: !calc tools.isdir(do) - otherwise: !error "Cannot find globaldump directory." @@ -58,9 +58,9 @@ platform: !Platform BASE_GIT: "/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git" #BASE_CPLIC - is the base directory of ICs for coupled s2s runs - BASE_CPLIC: "/path/to/base/dir/of/IC" - #ncks - NCO netcdf operator used in ocean post - ncks: "/path/to/ncks" + BASE_CPLIC: "/gpfs/dell2/emc/modeling/noscrub/Walter.Kolczynski/global-workflow/IC" + #ncks - NCO netcdf operator used in ocean post + ncks: "/usrx/local/prod/packages/ips/18.0.1/nco/4.7.0/bin/ncks" # config_base_extras - Additional configuration data to put in the # config.base file From cfbfeaca43c5e4f011822a498e766854148b4dba Mon Sep 17 00:00:00 2001 From: Walter Kolczynski Date: Wed, 13 Jan 2021 16:54:11 +0000 Subject: [PATCH 05/13] Add NCL load on WCOSS for ocean post Ocean post requires NCL. NCL is not available by default on WCOSS, so has to be loaded via a module. Refs: #175 --- modulefiles/module_base.wcoss_dell_p3 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modulefiles/module_base.wcoss_dell_p3 b/modulefiles/module_base.wcoss_dell_p3 index 4cfed7fb5f..7e18528049 100644 --- a/modulefiles/module_base.wcoss_dell_p3 +++ b/modulefiles/module_base.wcoss_dell_p3 @@ -15,7 +15,7 @@ module load prod_envir/1.1.0 module unload grib_util/1.0.6 module load grib_util/1.1.0 -module load NCO/4.7.0 +module load NCO/4.7.0 module load CFP/2.0.2 setenv USE_CFP YES module load pm5 @@ -41,3 +41,6 @@ module load crtm/2.3.0 # waveprep module load cdo/1.9.8 + +# oceanpost +module load NCL/6.4.0 \ No newline at end of file From 2f7c288bd4a064c29eaf231c58a1ec56d6b4b9af Mon Sep 17 00:00:00 2001 From: "Walter.Kolczynski" Date: Wed, 27 Jan 2021 02:01:17 +0000 Subject: [PATCH 06/13] Fix build script changes for Hera and update hpc-stack Some of the changes made to the build script during the WCOSS port broke compatability on Hera. These issues are now resolved. As part of this resolution, WW3 pre/post and reg2grb2 were updated to use hpc-stack 1.1.0. This required some additional libraries to be explicitly linked for reg2grb2. Previously, modules were being loaded from a beta version of hpc-stack that included share objects in the library folders that would automatically include necessary additional libraries. The final version does not have these shared objects, requiring the additional linking. Refs: #164, #175 --- modulefiles/modulefile.reg2grb2.hera | 12 ++++--- modulefiles/modulefile.ww3.hera | 54 +++++++++++----------------- sorc/build_reg2grb2.sh | 19 +++++----- 3 files changed, 38 insertions(+), 47 deletions(-) diff --git a/modulefiles/modulefile.reg2grb2.hera b/modulefiles/modulefile.reg2grb2.hera index abe6495227..bb655d89aa 100644 --- a/modulefiles/modulefile.reg2grb2.hera +++ b/modulefiles/modulefile.reg2grb2.hera @@ -2,18 +2,20 @@ # reg2grb2 - hera ############################################################# -module use /scratch2/NCEPDEV/nwprod/hpc-stack/test/modulefiles/stack +module use /scratch2/NCEPDEV/nwprod/hpc-stack/libs/hpc-stack/modulefiles/stack -module load hpc/1.0.0-beta1 +module load hpc/1.1.0 module load hpc-intel/18.0.5.274 module load hpc-impi/2018.0.4 +export FCMP="mpiifort" module load netcdf/4.7.4 +module load hdf5/1.10.6 module load ip/3.3.3 module load sp/2.3.3 module load w3nco/2.4.1 module load bacio/2.4.1 module load landsfcutil/2.4.1 - -module load wgrib2/2.0.8 -set FCMP ifort +module load jasper/2.0.22 +module load zlib/1.2.11 +module load wgrib2/2.0.8 diff --git a/modulefiles/modulefile.ww3.hera b/modulefiles/modulefile.ww3.hera index b77fbe6e86..5b03594c89 100644 --- a/modulefiles/modulefile.ww3.hera +++ b/modulefiles/modulefile.ww3.hera @@ -3,40 +3,28 @@ ## S2S prerequisites ## -module load intel/18.0.5.274 -module load impi/2018.0.4 -module load wgrib2/2.0.8 -module load hpss/hpss -module use -a /scratch2/NCEPDEV/nwprod/NCEPLIBS/modulefiles -module load hdf5_parallel/1.10.6 -module load netcdf_parallel/4.7.4 -module load netcdf/4.7.0 -module load nco/4.7.0 - -module load gempak/7.4.2 -module load ncl/6.5.0 +module use /scratch2/NCEPDEV/nwprod/hpc-stack/libs/hpc-stack/modulefiles/stack -#Load from official NCEPLIBS -module load g2tmpl/1.6.0 -module load grib_util/1.1.1 -module load crtm/2.2.6 -module load prod_util/1.1.0 +module load hpc/1.1.0 +module load hpc-intel/18.0.5.274 +module load hpc-impi/2018.0.4 -module load bacio/2.0.3 -module load ip/3.0.2 -module load nemsio/2.2.4 -module load sp/2.0.3 -module load w3emc/2.3.1 -module load w3nco/2.0.7 -module load g2/3.1.1 -module load jasper/1.900.1 -module load png/1.2.44 -module load z/1.2.11 +module load jasper/2.0.22 +module load zlib/1.2.11 +module load png/1.6.35 +module load hdf5/1.10.6 +module load netcdf/4.7.4 +module load esmf/8_1_0_beta_snapshot_36 -#Load from emc.nemspara -module use -a /scratch1/NCEPDEV/nems/emc.nemspara/soft/modulefiles -module load netcdf_parallel/4.7.4.release -module load esmf/8.1.0bs27 -module load hdf5_parallel/1.10.6.release - +module load bacio/2.4.1 +module load crtm/2.3.0 +module load g2/3.4.1 +module load g2tmpl/1.9.1 +module load ip/3.3.3 +module load nceppost/dceca26 +module load nemsio/2.5.2 +module load sp/2.3.3 +module load w3emc/2.7.3 +module load w3nco/2.4.1 +module load wgrib2/2.0.8 diff --git a/sorc/build_reg2grb2.sh b/sorc/build_reg2grb2.sh index 770676d50c..a15e4edb42 100755 --- a/sorc/build_reg2grb2.sh +++ b/sorc/build_reg2grb2.sh @@ -16,9 +16,9 @@ export CPP=fpp export INCS="-I${LANDSFCUTIL_INCd} \ -I${IP_INCd} \ - -I${NETCDF}/include" + -I${NETCDF_INCLUDES}" -export FFLAGSM="-O3 -free -convert big_endian -traceback -qopenmp -fp-model precise -assume byterecl ${INCS}" +export FFLAGSM="-O3 -free -convert big_endian -traceback -qopenmp -fp-model precise -assume byterecl ${INCS}" export FFLAGSM2="-O3 -free -r8" export LIBSM="${LANDSFCUTIL_LIBd} \ @@ -26,13 +26,14 @@ export LIBSM="${LANDSFCUTIL_LIBd} \ ${SP_LIBd} \ ${W3NCO_LIB4} \ ${BACIO_LIB4} \ - -L${NETCDF}/lib -lnetcdff -lnetcdf" - -WGRIB2_LIB=${WGRIB2_LIB:-"$WGRIB2_ROOT/lib/wgrib2.a"} -WGRIB2_LIBAPI=${WGRIB2_LIBAPI:-"$WGRIB2_ROOT/lib/wgrib2_api.a"} -WGRIB2_INC=${WGRIB2_INC:-$WGRIB2_ROOT/lib} -JASPER_LIB=${JASPER_LIB:-$Jasper_ROOT/lib/jasper.a} -export LIB2="${WGRIB2_LIB} ${WGRIB2_LIBAPI} ${JASPER_LIB}" + -L${NETCDF_LIBRARIES} -lnetcdff -lnetcdf -L${HDF5_LIBRARIES} -lhdf5_hl -lhdf5 -L${ZLIB_LIBRARIES} -lz -ldl -lm" + +WGRIB2_ROOT=${WGRIB2_ROOT:-$wgrib2_ROOT} +WGRIB2_LIB=${WGRIB2_LIB:-${WGRIB_LIB:-"$WGRIB2_ROOT/lib/libwgrib2.a"}} +WGRIB2_LIBAPI=${WGRIB2_LIBAPI:-"$WGRIB2_ROOT/lib/libwgrib2_api.a"} +WGRIB2_INC=${WGRIB2_INC:-"$WGRIB2_ROOT/include"} +JASPER_LIB=${JASPER_LIB:-"$JASPER_LIBRARIES/libjasper.a"} +export LIB2="${WGRIB2_LIBAPI} ${WGRIB2_LIB} ${JASPER_LIB}" export MOD2="-I${WGRIB2_INC}" cd reg2grb2.fd From 2b699bc2ff6c451d805a0f1eed219c38778efb36 Mon Sep 17 00:00:00 2001 From: Walter Kolczynski Date: Wed, 27 Jan 2021 03:56:44 +0000 Subject: [PATCH 07/13] Update to use hpc-stack on WCOSS-Dell Updates the modulefiles to use hpc-stack 1.1.0 on WCOSS-Dell. Other than the compiler platform module, modules are now identical to Hera. This only applies to reg2grb2 and ww3 pre/post, as the coupled model and post manage their own modules. Refs: #164, #175 --- modulefiles/modulefile.reg2grb2.wcoss_dell_p3 | 36 ++++++++----------- modulefiles/modulefile.ww3.wcoss_dell_p3 | 27 +++++++------- 2 files changed, 26 insertions(+), 37 deletions(-) diff --git a/modulefiles/modulefile.reg2grb2.wcoss_dell_p3 b/modulefiles/modulefile.reg2grb2.wcoss_dell_p3 index 642a72b0f7..29b23a2093 100644 --- a/modulefiles/modulefile.reg2grb2.wcoss_dell_p3 +++ b/modulefiles/modulefile.reg2grb2.wcoss_dell_p3 @@ -2,28 +2,20 @@ # reg2grb2 - WCOSS Dell ############################################################# -module load ips/18.0.1.163 -module load impi/18.0.1 -set FCMP ifort +module use /usrx/local/nceplibs/dev/hpc-stack/libs/hpc-stack/modulefiles/stack -module load lsf/10.1 -module load EnvVars/1.0.2 +module load hpc/1.1.0 +module load hpc-ips/18.0.1.163 +module load hpc-impi/18.0.1 +export FCMP="mpiifort" -module load NetCDF-parallel/4.7.4 - -# module use /usrx/local/nceplibs/dev/NCEPLIBS/cmake/install/NCEPLIBS-v1.2.0/modules -# module load bacio/2.4.1 -# module load ip/3.3.3 -# module load landsfcutil/2.1.0 -# module load sp/2.3.3 -# module load wgrib2/2.0.8 -# module load w3nco/2.4.1 - -module use /usrx/local/nceplibs/dev/NCEPLIBS/modulefiles -module load bacio/2.0.2 -module load ip/3.0.1 -module load landsfcutil/2.1.0 -module load sp/2.0.2 +module load netcdf/4.7.4 +module load hdf5/1.10.6 +module load ip/3.3.3 +module load sp/2.3.3 +module load w3nco/2.4.1 +module load bacio/2.4.1 +module load landsfcutil/2.4.1 +module load jasper/2.0.22 +module load zlib/1.2.11 module load wgrib2/2.0.8 -module load w3nco/2.0.6 -module load jasper/1.900.29 diff --git a/modulefiles/modulefile.ww3.wcoss_dell_p3 b/modulefiles/modulefile.ww3.wcoss_dell_p3 index cafba10889..599a1ac9cb 100644 --- a/modulefiles/modulefile.ww3.wcoss_dell_p3 +++ b/modulefiles/modulefile.ww3.wcoss_dell_p3 @@ -1,23 +1,19 @@ #%Module###################################################################### -module load ips/18.0.1.163 -module load impi/18.0.1 -module load lsf/10.1 -module load EnvVars/1.0.2 -module load prod_util/1.1.1 -module load prod_envir/1.0.2 -module load jasper/1.900.29 -module load zlib/1.2.11 -module load libpng/1.2.59 +module use /usrx/local/nceplibs/dev/hpc-stack/libs/hpc-stack/modulefiles/stack + +module load hpc/1.1.0 +module load hpc-ips/18.0.1.163 +module load hpc-impi/18.0.1 -module load HDF5-parallel/1.10.6 -module load NetCDF-parallel/4.7.4 +module load jasper/2.0.22 +module load zlib/1.2.11 +module load png/1.6.35 -module use /gpfs/dell2/emc/modeling/noscrub/emc.nemspara/soft/modulefiles -module load esmf/8.1.0bs27 +module load hdf5/1.10.6 +module load netcdf/4.7.4 +module load esmf/8_1_0_beta_snapshot_36 -module load cmake/3.16.2 -module use /usrx/local/nceplibs/dev/NCEPLIBS/cmake/install/NCEPLIBS-v1.2.0/modules module load bacio/2.4.1 module load crtm/2.3.0 module load g2/3.4.1 @@ -28,3 +24,4 @@ module load nemsio/2.5.2 module load sp/2.3.3 module load w3emc/2.7.3 module load w3nco/2.4.1 +module load wgrib2/2.0.8 From 2fbd22a51460a7231f79ffcdb1dae149ea05446c Mon Sep 17 00:00:00 2001 From: "Walter.Kolczynski" Date: Tue, 9 Feb 2021 18:44:49 +0000 Subject: [PATCH 08/13] Fix missing locations Some locations were not being properly set, resulting in incorrect locations being used on some platforms. --- sorc/build_ufs_coupled.sh | 1 + ush/wave_grib2_sbs.sh | 2 ++ workflow/config/base.yaml | 1 + 3 files changed, 4 insertions(+) diff --git a/sorc/build_ufs_coupled.sh b/sorc/build_ufs_coupled.sh index d26dd42585..bfd1f246c2 100755 --- a/sorc/build_ufs_coupled.sh +++ b/sorc/build_ufs_coupled.sh @@ -18,5 +18,6 @@ module purge module use $MOD_PATH module load fv3 cd ufs_coupled.fd/ +if [[ -d build ]]; then rm -Rf build; fi CMAKE_FLAGS="-DS2S=ON -DWW3=ON" CCPP_SUITES="FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled" ./build.sh diff --git a/ush/wave_grib2_sbs.sh b/ush/wave_grib2_sbs.sh index 701a314df2..7451afa4f9 100755 --- a/ush/wave_grib2_sbs.sh +++ b/ush/wave_grib2_sbs.sh @@ -35,6 +35,8 @@ export LOUD=${LOUD:-YES}; [[ $LOUD = yes ]] && export LOUD=YES [[ "$LOUD" != YES ]] && set +x + WGRIB2=${WGRIB2:-${WGRIB2_ROOT:-${wgrib2_ROOT:?}}/bin/wgrib2} + cd $GRIBDATA # postmsg "$jlogfile" "Making GRIB2 Files." # commented to reduce unnecessary output to jlogfile diff --git a/workflow/config/base.yaml b/workflow/config/base.yaml index c66c2de3f7..8eb4a8a278 100644 --- a/workflow/config/base.yaml +++ b/workflow/config/base.yaml @@ -61,6 +61,7 @@ config_base: export HOMEDIR="{doc.places.HOMEgfs}" export STMP="{doc.places.DATAROOT}" export PTMP="{doc.places.COMROOT}" + export COMROOT="{doc.places.COMROOT}" export NOSCRUB="{doc.places.NOSCRUB}" # Base directories for various builds From eb9e9c92989cf823493f329c58bf4645b3b46c41 Mon Sep 17 00:00:00 2001 From: "Walter.Kolczynski" Date: Wed, 17 Feb 2021 23:40:07 +0000 Subject: [PATCH 09/13] Update jasper version on Hera for bugfix Updates the jasper version to fix a bug that was causing constant-valued grib files for wave output. Refs: #161 #164 NOAA-EMC/hpc-stack#137 --- modulefiles/modulefile.reg2grb2.hera | 2 +- modulefiles/modulefile.ww3.hera | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modulefiles/modulefile.reg2grb2.hera b/modulefiles/modulefile.reg2grb2.hera index bb655d89aa..dd87cbcc7d 100644 --- a/modulefiles/modulefile.reg2grb2.hera +++ b/modulefiles/modulefile.reg2grb2.hera @@ -16,6 +16,6 @@ module load sp/2.3.3 module load w3nco/2.4.1 module load bacio/2.4.1 module load landsfcutil/2.4.1 -module load jasper/2.0.22 +module load jasper/2.0.25 module load zlib/1.2.11 module load wgrib2/2.0.8 diff --git a/modulefiles/modulefile.ww3.hera b/modulefiles/modulefile.ww3.hera index 5b03594c89..a58a482c34 100644 --- a/modulefiles/modulefile.ww3.hera +++ b/modulefiles/modulefile.ww3.hera @@ -9,7 +9,7 @@ module load hpc/1.1.0 module load hpc-intel/18.0.5.274 module load hpc-impi/2018.0.4 -module load jasper/2.0.22 +module load jasper/2.0.25 module load zlib/1.2.11 module load png/1.6.35 From 0f019b25f69d1006fb1097d64e7a0e631e58e3fa Mon Sep 17 00:00:00 2001 From: "Walter.Kolczynski" Date: Wed, 17 Feb 2021 23:45:46 +0000 Subject: [PATCH 10/13] Move runtime modulefile to hpc-stack on Hera Transitions the module_base file for Hera to use hpc-stack. There are still five modules used by module_base that are not available via hpc-stack: hpss, nco, gempak, ncl, cdo. Refs: #164 --- modulefiles/module_base.hera | 79 +++++++++++++++--------------------- 1 file changed, 32 insertions(+), 47 deletions(-) diff --git a/modulefiles/module_base.hera b/modulefiles/module_base.hera index 8eadf74e2d..383d208889 100644 --- a/modulefiles/module_base.hera +++ b/modulefiles/module_base.hera @@ -3,54 +3,39 @@ ## S2S prerequisites ## -module load intel/18.0.5.274 -module load impi/2018.0.4 -module load wgrib2/2.0.8 +# Modules not under hpc-stack module load hpss/hpss -module use -a /scratch2/NCEPDEV/nwprod/NCEPLIBS/modulefiles -module load hdf5_parallel/1.10.6 -module load netcdf_parallel/4.7.4 -module load netcdf/4.7.0 -module load nco/4.7.0 - +module load nco/4.9.1 module load gempak/7.4.2 module load ncl/6.5.0 - -#Load from official NCEPLIBS -module load g2tmpl/1.6.0 -module load grib_util/1.1.1 -module load crtm/2.2.6 -module load prod_util/1.1.0 -module load grib_util/1.1.1 -module load g2tmpl/1.6.0 -module load crtm/2.3.0 - -module use /scratch1/NCEPDEV/nems/emc.nemspara/soft/modulefiles/ -module load netcdf_parallel/4.7.4.release -module load hdf5_parallel/1.10.6.release -module load esmf/8.0.1_ParallelNetCDF.release - -# python -module use -a /contrib/anaconda/modulefiles -module load anaconda/2.3.0 - -module load bacio/2.0.3 -module load ip/3.0.2 -module load nemsio/2.2.4 -module load sp/2.0.3 -module load w3emc/2.3.1 -module load w3nco/2.0.7 -module load g2/3.1.1 -module load jasper/1.900.1 -module load png/1.2.44 -module load z/1.2.11 - - -#Load from emc.nemspara -module use -a /scratch1/NCEPDEV/nems/emc.nemspara/soft/modulefiles -module load netcdf_parallel/4.7.4.release -module load esmf/8.1.0bs27 -module load hdf5_parallel/1.10.6.release - -# waveprep module load cdo/1.9.5 + +# Remaining modules availble through hpc-stack +module use /scratch2/NCEPDEV/nwprod/hpc-stack/libs/hpc-stack/modulefiles/stack + +module load hpc/1.1.0 +module load hpc-intel/18.0.5.274 +module load hpc-impi/2018.0.4 + +# Non-MPI +module load g2/3.4.1 +module load g2tmpl/1.9.1 +module load grib_util/1.2.2 +module load crtm 2.3.0 +module load prod_util/1.2.2 +module load grib_util/1.2.2 +module load ip/3.3.3 +module load sp/2.3.3 +module load w3nco/2.4.1 +module load bacio/2.4.1 +module load landsfcutil/2.4.1 +module load jasper/2.0.25 +module load zlib/1.2.11 +module load png/1.6.35 + +# MPI +module load netcdf/4.7.4 +module load hdf5/1.10.6 +module load esmf/8_1_0_beta_snapshot_27 +module load w3emc/2.7.3 +module load wgrib2/2.0.8 From 7a4bbe23ab60d87cd6111aef5afdc87ed7d9aae7 Mon Sep 17 00:00:00 2001 From: "Walter.Kolczynski" Date: Sun, 21 Feb 2021 05:27:12 -0600 Subject: [PATCH 11/13] Migrate Orion to hpc-stack on coupled branch Migrates the coupled-crow branch to use hpc-stack. Only jobs run by coupled-crow are migrated. Modules handled in component repos are not updated. Refs: #164 --- modulefiles/module_base.orion | 78 +++++++++++---------------- modulefiles/modulefile.reg2grb2.orion | 13 +++-- modulefiles/modulefile.ww3.orion | 26 ++++----- 3 files changed, 53 insertions(+), 64 deletions(-) diff --git a/modulefiles/module_base.orion b/modulefiles/module_base.orion index 2f78059706..7bc40d6499 100644 --- a/modulefiles/module_base.orion +++ b/modulefiles/module_base.orion @@ -8,53 +8,39 @@ ## module load contrib noaatools -## -## load programming environment -## this typically includes compiler, MPI and job scheduler -## -module load intel/2018 -module load impi/2018 - -#For ocean post: +module load nco/4.9.3 +module load gempak/7.5.1 module load ncl/6.6.2 -module load nco/4.8.1 - -## -## NCEP libraries (temporary version to match the CCPP requirements) -## -module use -a /apps/contrib/NCEPLIBS/orion/cmake/install/NCEPLIBS/modules -module load bacio/2.4.0 -module load crtm_dev/2.3.0 -module load g2/3.4.0 -module load g2tmpl/1.9.0 -module load ip/3.3.0 -module load nceppost/dceca26 -module load nemsio/2.5.1 -module load sp/2.3.0 -module load w3emc/2.7.0 -module load w3nco/2.4.0 - -module load gfsio/1.4.0 -module load sfcio/1.4.0 -module load sigio/2.3.0 - -module use /apps/contrib/NCEPLIBS/orion/modulefiles -module load jasper/1.900.2 -module load png/1.2.44 -module load z/1.2.6 - -module load prod_util/1.2.0 -## -## load ESMF library for above compiler / MPI combination -## use pre-compiled EMSF library for above compiler / MPI combination -## -module use /apps/contrib/NCEPLIBS/lib/modulefiles -module load netcdfp/4.7.4.release -module load esmflocal/8.1.0.27bs.release -module load post-intel-sandybridge/8.0.5 - -module load wgrib/2.0.8 -module load grib_util/1.2.0 +module load cdo/1.9.8 + +# Remaining modules availble through hpc-stack +module use /apps/contrib/NCEP/libs/hpc-stack/modulefiles/stack +module load hpc/1.1.0 +module load hpc-intel/2018.4 +module load hpc-impi/2018.4 + +# Non-MPI +module load g2/3.4.1 +module load g2tmpl/1.9.1 +module load grib_util/1.2.2 +module load crtm 2.3.0 +module load prod_util/1.2.2 +module load grib_util/1.2.2 +module load ip/3.3.3 +module load sp/2.3.3 +module load w3nco/2.4.1 +module load bacio/2.4.1 +module load landsfcutil/2.4.1 +module load jasper/2.0.25 +module load zlib/1.2.11 +module load png/1.6.35 + +# MPI +module load netcdf/4.7.4 +module load hdf5/1.10.6 +module load esmf/8_1_0_beta_snapshot_27 +module load w3emc/2.7.3 +module load wgrib2/2.0.8 module load slurm/19.05.3-2 diff --git a/modulefiles/modulefile.reg2grb2.orion b/modulefiles/modulefile.reg2grb2.orion index a3cfff38a6..7be76ec2b1 100644 --- a/modulefiles/modulefile.reg2grb2.orion +++ b/modulefiles/modulefile.reg2grb2.orion @@ -2,17 +2,20 @@ # reg2grb2 - orion ############################################################# -module use /apps/contrib/NCEP/test/hpc-stack-nco/modulefiles/stack -module load hpc/1.0.0-beta1 +module use /apps/contrib/NCEP/libs/hpc-stack/modulefiles/stack + +module load hpc/1.1.0 module load hpc-intel/2018.4 module load hpc-impi/2018.4 +export FCMP="mpiifort" -export FCOMP=ifort module load netcdf/4.7.4 +module load hdf5/1.10.6 module load ip/3.3.3 module load sp/2.3.3 module load w3nco/2.4.1 module load bacio/2.4.1 module load landsfcutil/2.4.1 - -module load wgrib/2.0.8 +module load jasper/2.0.25 +module load zlib/1.2.11 +module load wgrib2/2.0.8 diff --git a/modulefiles/modulefile.ww3.orion b/modulefiles/modulefile.ww3.orion index 381c2886d1..19c370de43 100644 --- a/modulefiles/modulefile.ww3.orion +++ b/modulefiles/modulefile.ww3.orion @@ -4,28 +4,28 @@ module load contrib noaatools module load cmake/3.17.3 -module use /apps/contrib/NCEP/libs/modulefiles/stack +module use /apps/contrib/NCEP/libs/hpc-stack/modulefiles/stack -module load hpc/1.0.0 +module load hpc/1.1.0 module load hpc-intel/2018.4 module load hpc-impi/2018.4 -#module load jasper/2.0.15 -module load jasper/1.900.1 +module load jasper/2.0.25 module load zlib/1.2.11 module load png/1.6.35 module load hdf5/1.10.6 module load netcdf/4.7.4 -module load esmf/8_1_0_beta_snapshot_21 +module load esmf/8_1_0_beta_snapshot_27 -module load bacio/2.4.0 +module load bacio/2.4.1 module load crtm/2.3.0 -module load g2/3.4.0 -module load g2tmpl/1.9.0 -module load ip/3.3.0 +module load g2/3.4.1 +module load g2tmpl/1.9.1 +module load ip/3.3.3 module load nceppost/dceca26 -module load nemsio/2.5.1 -module load sp/2.3.0 -module load w3emc/2.7.0 -module load w3nco/2.4.0 +module load nemsio/2.5.2 +module load sp/2.3.3 +module load w3emc/2.7.3 +module load w3nco/2.4.1 +module load wgrib2/2.0.8 From c2b479ecbbcd0c302128ec8b813c43615ac05585 Mon Sep 17 00:00:00 2001 From: Walter Kolczynski Date: Mon, 22 Feb 2021 03:31:53 +0000 Subject: [PATCH 12/13] Migrate coupled-crow on WCOSS to hpc-stack Migrates the coupled-crow branch to use hpc-stack. Only jobs run by coupled-crow are migrated. Modules handled in component repos are not updated. Refs: #164 --- modulefiles/module_base.wcoss_dell_p3 | 79 ++++++++++--------- modulefiles/modulefile.reg2grb2.wcoss_dell_p3 | 27 ++++--- modulefiles/modulefile.ww3.wcoss_dell_p3 | 3 +- 3 files changed, 58 insertions(+), 51 deletions(-) diff --git a/modulefiles/module_base.wcoss_dell_p3 b/modulefiles/module_base.wcoss_dell_p3 index 7e18528049..e6dee12e6d 100644 --- a/modulefiles/module_base.wcoss_dell_p3 +++ b/modulefiles/module_base.wcoss_dell_p3 @@ -1,46 +1,49 @@ #%Module###################################################################### -## -## FV3GFS prerequisites -# From default environment +# Remaining modules availble through hpc-stack +module use /usrx/local/nceplibs/dev/hpc-stack/libs/hpc-stack/modulefiles/stack +module load hpc/1.1.0 +module load hpc-ips/18.0.1.163 +module load hpc-impi/18.0.1 -module load ips/18.0.1.163 -module load impi/18.0.1 -module load lsf/10.1 -module load EnvVars/1.0.3 - -module load HPSS/5.0.2.5 -module load prod_util/1.1.4 -module load prod_envir/1.1.0 -module unload grib_util/1.0.6 -module load grib_util/1.1.0 - -module load NCO/4.7.0 +# Not hpc-stack, but must come after impi load module load CFP/2.0.2 setenv USE_CFP YES -module load pm5 - -module load NetCDF-parallel/4.7.4 -module load ESMF/8.0.1 -module load HDF5-parallel/1.10.6 - -module use -a /gpfs/dell1/nco/ops/nwprod/modulefiles/ -module load gempak/7.3.1 -module load g2tmpl/1.6.0 -# Load for WAFS -module load bufr_dumplist/2.0.0 -module load dumpjb/5.1.0 -module load util_shared/1.1.2 - -# python -module load python/3.6.3 - -# Load crtm -module load crtm/2.3.0 - -# waveprep +# Non-MPI +module load g2/3.4.1 +module load g2tmpl/1.9.1 +module load grib_util/1.2.2 +module load crtm 2.3.0 +module load prod_util/1.2.2 +module load ip/3.3.3 +module load sp/2.3.3 +module load w3nco/2.4.1 +module load bacio/2.4.1 +module load landsfcutil/2.4.1 +module load jasper/2.0.25 +module load zlib/1.2.11 +module load png/1.6.35 + +# MPI +module load netcdf/4.7.4 +module load hdf5/1.10.6 +module load esmf/8_1_0_beta_snapshot_27 +module load w3emc/2.7.3 +module load wgrib2/2.0.8 +setenv WGRIB2 wgrib2 + + +# Modules not under hpc-stack +module load HPSS/5.0.2.5 +module load NCO/4.7.0 +module load gempak/7.3.3 +module load NCL/6.4.0 module load cdo/1.9.8 -# oceanpost -module load NCL/6.4.0 \ No newline at end of file +# WCOSS-specific +module load lsf/10.1 +module load EnvVars/1.0.3 +module load prod_envir/1.1.0 +module load pm5/1.0 + diff --git a/modulefiles/modulefile.reg2grb2.wcoss_dell_p3 b/modulefiles/modulefile.reg2grb2.wcoss_dell_p3 index 29b23a2093..2900ec0b4f 100644 --- a/modulefiles/modulefile.reg2grb2.wcoss_dell_p3 +++ b/modulefiles/modulefile.reg2grb2.wcoss_dell_p3 @@ -1,21 +1,26 @@ -#%Module##################################################### -# reg2grb2 - WCOSS Dell -############################################################# +#%Module###################################################################### module use /usrx/local/nceplibs/dev/hpc-stack/libs/hpc-stack/modulefiles/stack - module load hpc/1.1.0 module load hpc-ips/18.0.1.163 module load hpc-impi/18.0.1 -export FCMP="mpiifort" -module load netcdf/4.7.4 +module load jasper/2.0.25 +module load zlib/1.2.11 +module load png/1.6.35 + module load hdf5/1.10.6 +module load netcdf/4.7.4 +module load esmf/8_1_0_beta_snapshot_36 + +module load bacio/2.4.1 +module load crtm/2.3.0 +module load g2/3.4.1 +module load g2tmpl/1.9.1 module load ip/3.3.3 +module load nceppost/dceca26 +module load nemsio/2.5.2 module load sp/2.3.3 +module load w3emc/2.7.3 module load w3nco/2.4.1 -module load bacio/2.4.1 -module load landsfcutil/2.4.1 -module load jasper/2.0.22 -module load zlib/1.2.11 -module load wgrib2/2.0.8 +module load wgrib2/2.0.8 \ No newline at end of file diff --git a/modulefiles/modulefile.ww3.wcoss_dell_p3 b/modulefiles/modulefile.ww3.wcoss_dell_p3 index 599a1ac9cb..16784b7d1d 100644 --- a/modulefiles/modulefile.ww3.wcoss_dell_p3 +++ b/modulefiles/modulefile.ww3.wcoss_dell_p3 @@ -1,12 +1,11 @@ #%Module###################################################################### module use /usrx/local/nceplibs/dev/hpc-stack/libs/hpc-stack/modulefiles/stack - module load hpc/1.1.0 module load hpc-ips/18.0.1.163 module load hpc-impi/18.0.1 -module load jasper/2.0.22 +module load jasper/2.0.25 module load zlib/1.2.11 module load png/1.6.35 From 41148ffe15ec2cd63fe3643b6aa8194d946f9e58 Mon Sep 17 00:00:00 2001 From: Walter Kolczynski Date: Tue, 23 Feb 2021 06:03:17 +0000 Subject: [PATCH 13/13] Add WGRIB2 definition to module_base files Set the WGRIB2 environment variable to the Hera and Orion module_base files to match the addition to the WCOSS version until it is added as a variable to the hpc-stack wgrib2 module. This also allows the removal of a line defining the variable in wave post. Refs: #164 --- modulefiles/module_base.hera | 1 + modulefiles/module_base.orion | 1 + ush/wave_grib2_sbs.sh | 2 -- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modulefiles/module_base.hera b/modulefiles/module_base.hera index 383d208889..146af1ef44 100644 --- a/modulefiles/module_base.hera +++ b/modulefiles/module_base.hera @@ -39,3 +39,4 @@ module load hdf5/1.10.6 module load esmf/8_1_0_beta_snapshot_27 module load w3emc/2.7.3 module load wgrib2/2.0.8 +setenv WGRIB2 wgrib2 diff --git a/modulefiles/module_base.orion b/modulefiles/module_base.orion index 7bc40d6499..9fbc6a081b 100644 --- a/modulefiles/module_base.orion +++ b/modulefiles/module_base.orion @@ -41,6 +41,7 @@ module load hdf5/1.10.6 module load esmf/8_1_0_beta_snapshot_27 module load w3emc/2.7.3 module load wgrib2/2.0.8 +setenv WGRIB2 wgrib2 module load slurm/19.05.3-2 diff --git a/ush/wave_grib2_sbs.sh b/ush/wave_grib2_sbs.sh index 7451afa4f9..701a314df2 100755 --- a/ush/wave_grib2_sbs.sh +++ b/ush/wave_grib2_sbs.sh @@ -35,8 +35,6 @@ export LOUD=${LOUD:-YES}; [[ $LOUD = yes ]] && export LOUD=YES [[ "$LOUD" != YES ]] && set +x - WGRIB2=${WGRIB2:-${WGRIB2_ROOT:-${wgrib2_ROOT:?}}/bin/wgrib2} - cd $GRIBDATA # postmsg "$jlogfile" "Making GRIB2 Files." # commented to reduce unnecessary output to jlogfile