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

rrfs_ci: Merge authoritative develop #112

Merged
merged 6 commits into from
Feb 4, 2022
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
4 changes: 2 additions & 2 deletions Externals.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ protocol = git
repo_url = https://github.com/ufs-community/UFS_UTILS
# Specify either a branch name or a hash but not both.
#branch = develop
hash = ea821358
hash = f30740e
local_path = src/UFS_UTILS
required = True

Expand All @@ -20,7 +20,7 @@ protocol = git
repo_url = https://github.com/ufs-community/ufs-weather-model
# Specify either a branch name or a hash but not both.
#branch = develop
hash = 3b8bb78
hash = 805421d
local_path = src/ufs-weather-model
required = True

Expand Down
33 changes: 20 additions & 13 deletions devbuild.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@
# usage instructions
usage () {
cat << EOF_USAGE
Usage: $0 PLATFORM [OPTIONS]...

PLATFORM
name of machine you are building on
(e.g. cheyenne | hera | jet | orion | wcoss)
Usage: $0 [OPTIONS]...

OPTIONS
-h, --help
show this help guide
--platform=PLATFORM
name of machine you are building on
(e.g. cheyenne | hera | jet | orion | wcoss_cray | wcoss_dell_p3)
--compiler=COMPILER
compiler to use; default depends on platform
(e.g. intel | gnu | cray | gccgfortran)
Expand Down Expand Up @@ -84,7 +83,6 @@ SRC_DIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P)
MACHINE_SETUP=${SRC_DIR}/src/UFS_UTILS/sorc/machine-setup.sh
BUILD_DIR=${SRC_DIR}/build
INSTALL_DIR=${SRC_DIR}
PLATFORM=""
COMPILER=""
APPLICATION=""
CCPP=""
Expand All @@ -95,22 +93,21 @@ BUILD_JOBS=4
CLEAN=false
CONTINUE=false
VERBOSE=false
# detect PLATFORM (MACHINE)
source ${SRC_DIR}/env/detect_machine.sh

# process required arguments
if [[ ("$1" == "--help") || ("$1" == "-h") ]]; then
usage
exit 0
elif [[ ($# -lt 1) || ("$1" == "-"*) ]]; then
usage_error "missing platform"
else
PLATFORM=$1
shift
fi

# process optional arguments
while :; do
case $1 in
--help|-h) usage; exit 0 ;;
--platform=?*) PLATFORM=${1#*=} ;;
--platform|--platform=) usage_error "$1 requires argument." ;;
--compiler=?*) COMPILER=${1#*=} ;;
--compiler|--compiler=) usage_error "$1 requires argument." ;;
--app=?*) APPLICATION=${1#*=} ;;
Expand Down Expand Up @@ -148,13 +145,16 @@ if [ -z "${COMPILER}" ] ; then
case ${PLATFORM} in
jet|hera) COMPILER=intel ;;
orion) COMPILER=intel ;;
wcoss) COMPILER=cray_intel ;;
wcoss_cray) COMPILER=intel ;;
wcoss_dell_p3) COMPILER=intel ;;
cheyenne) COMPILER=intel ;;
macos) COMPILER=gccgfortran ;;
*) printf "ERROR: Unknown platform ${PLATFORM}\n" >&2; usage >&2; exit 1 ;;
esac
fi

printf "COMPILER=${COMPILER}\n" >&2

# print settings
if [ "${VERBOSE}" = true ] ; then
settings
Expand All @@ -171,6 +171,8 @@ if [ ! -f "${ENV_FILE}" ]; then
exit 64
fi

printf "ENV_FILE=${ENV_FILE}\n" >&2

# if build directory already exists then exit
if [ "${CLEAN}" = true ]; then
printf "Remove build directory\n"
Expand Down Expand Up @@ -227,11 +229,16 @@ if [ "${VERBOSE}" = true ]; then
MAKE_SETTINGS="${MAKE_SETTINGS} VERBOSE=1"
fi

# source the README file for this platform/compiler combination, then build the code
# source the environment file for this platform/compiler combination, then build the code
printf "... Source ENV_FILE and create BUILD directory ...\n"
module use ${SRC_DIR}/env
. ${ENV_FILE}
module list
mkdir -p ${BUILD_DIR}
cd ${BUILD_DIR}
printf "... Generate CMAKE configuration ...\n"
cmake ${SRC_DIR} ${CMAKE_SETTINGS} 2>&1 | tee log.cmake
printf "... Compile executables ...\n"
make ${MAKE_SETTINGS} 2>&1 | tee log.make

exit 0
35 changes: 7 additions & 28 deletions env/build_cheyenne_gnu.env
Original file line number Diff line number Diff line change
@@ -1,41 +1,20 @@
#Setup instructions for CISL Cheyenne using Intel-19.1.1 (bash shell)

module purge

module load cmake/3.18.2
module load ncarenv/1.3
module load gnu/9.1.0
module load gnu/10.1.0
module load mpt/2.22
module load ncarcompilers/0.5.0
module load cmake/3.18.2
module unload netcdf

module use /glade/p/ral/jntp/GMTB/tools/hpc-stack-v1.1.0/modulefiles/stack
module load hpc/1.1.0
module load hpc-gnu/9.1.0
module use /glade/p/ral/jntp/GMTB/tools/hpc-stack-v1.2.0/modulefiles/stack
module load hpc/1.2.0
module load hpc-gnu/10.1.0
module load hpc-mpt/2.22
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 pio/2.5.2
module load esmf/8_1_1
module load fms/2020.04.03
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 nemsio/2.5.2
module load sp/2.3.3
module load w3emc/2.7.3
module load w3nco/2.4.1
module load upp/10.0.6

module load gfsio/1.4.1
module load sfcio/1.4.1
module load landsfcutil/2.4.1
module load nemsiogfs/2.5.3
module load wgrib2/2.0.8
module load srw_common

export CMAKE_C_COMPILER=mpicc
export CMAKE_CXX_COMPILER=mpicxx
Expand Down
38 changes: 8 additions & 30 deletions env/build_cheyenne_intel.env
Original file line number Diff line number Diff line change
@@ -1,42 +1,20 @@
#Setup instructions for CISL Cheyenne using Intel-19.1.1 (bash shell)

module purge

module load cmake/3.18.2
module load ncarenv/1.3
module load intel/19.1.1
module load intel/2021.2
module load mpt/2.22
module load ncarcompilers/0.5.0
module load cmake/3.18.2
module unload netcdf

module use /glade/p/ral/jntp/GMTB/tools/hpc-stack-v1.1.0/modulefiles/stack
module load hpc/1.1.0
module load hpc-intel/19.1.1
module use /glade/p/ral/jntp/GMTB/tools/hpc-stack-v1.2.0/modulefiles/stack
module load hpc/1.2.0
module load hpc-intel/2021.2
module load hpc-mpt/2.22

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 pio/2.5.2
module load esmf/8_1_1
module load fms/2020.04.03

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 nemsio/2.5.2
module load sp/2.3.3
module load w3emc/2.7.3
module load w3nco/2.4.1
module load upp/10.0.6

module load gfsio/1.4.1
module load sfcio/1.4.1
module load landsfcutil/2.4.1
module load nemsiogfs/2.5.3
module load wgrib2/2.0.8
module load srw_common

export CMAKE_C_COMPILER=mpicc
export CMAKE_CXX_COMPILER=mpicxx
Expand Down
36 changes: 11 additions & 25 deletions env/build_hera_intel.env
Original file line number Diff line number Diff line change
Expand Up @@ -2,43 +2,29 @@

module purge

module use /scratch1/NCEPDEV/nems/emc.nemspara/soft/modulefiles
module load miniconda3/3.7.3

module use /contrib/sutils/modulefiles
module load sutils

module load cmake/3.20.1

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
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 pio/2.5.2
module load esmf/8_1_1
module load fms/2020.04.03
module load bacio/2.4.1
module load crtm/2.3.0
module load g2/3.4.3
module load g2tmpl/1.10.0
module load ip/3.3.3
module load nemsio/2.5.2
module load sp/2.3.3
module load w3emc/2.9.1
module load sigio/2.3.2
module load w3nco/2.4.1
module load upp/10.0.6

module load gfsio/1.4.1
module load sfcio/1.4.1
module load landsfcutil/2.4.1
module load nemsiogfs/2.5.3
module load wgrib2/2.0.8

module load srw_common

module unload fms
module load fms/2021.03-avx

export CMAKE_C_COMPILER=mpiicc
export CMAKE_CXX_COMPILER=mpiicpc
export CMAKE_Fortran_COMPILER=mpiifort
export CMAKE_Platform=hera.intel

# use shared memory and OpenFabrics Alliance (OFA) fabric with Intel MPI to circumvent RDMA-related bug in DAPL.
export I_MPI_Platform=shm:ofa
27 changes: 3 additions & 24 deletions env/build_jet_intel.env
Original file line number Diff line number Diff line change
@@ -1,40 +1,19 @@
#Setup instructions for NOAA RDHPC Jet using Intel-18.0.5.274 (bash shell)

module purge

module use /contrib/sutils/modulefiles
module load sutils

module load cmake/3.20.1

module use /lfs4/HFIP/hfv3gfs/nwprod/hpc-stack/libs/modulefiles/stack

module load hpc/1.1.0
module load hpc-intel/18.0.5.274
module load hpc-impi/2018.4.274
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 pio/2.5.2
module load esmf/8_1_1
module load fms/2020.04.03
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 nemsio/2.5.2
module load sp/2.3.3
module load w3emc/2.7.3
module load w3nco/2.4.1
module load upp/10.0.6

module load gfsio/1.4.1
module load sfcio/1.4.1
module load landsfcutil/2.4.1
module load nemsiogfs/2.5.3
module load wgrib2/2.0.8

module load srw_common

export CMAKE_C_COMPILER=mpiicc
export CMAKE_CXX_COMPILER=mpiicpc
Expand Down
27 changes: 1 addition & 26 deletions env/build_orion_intel.env
Original file line number Diff line number Diff line change
Expand Up @@ -11,32 +11,7 @@ module load hpc/1.1.0
module load hpc-intel/2018.4
module load hpc-impi/2018.4

module load bacio/2.4.1
module load g2/3.4.3
module load g2tmpl/1.10.0
module load ip/3.3.3
module load sp/2.3.3
module load w3nco/2.4.1
module load w3emc/2.9.1
module load crtm/2.3.0
module load upp/10.0.10

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 pio/2.5.2
module load esmf/8_1_1
module load fms/2020.04.03
module load nemsio/2.5.2
module load gfsio/1.4.1
module load sfcio/1.4.1
module load sigio/2.3.2
module load landsfcutil/2.4.1
module load nemsiogfs/2.5.3
module load wgrib2/2.0.8

module load srw_common

export CMAKE_C_COMPILER=mpiicc
export CMAKE_CXX_COMPILER=mpiicpc
Expand Down
31 changes: 22 additions & 9 deletions env/build_wcoss_cray_intel.env
Original file line number Diff line number Diff line change
Expand Up @@ -22,24 +22,37 @@ export PNG_ROOT="/usrx/local/prod//png/1.2.49/intel/sandybridge"

## NCEP libraries
module use /usrx/local/nceplibs/NCEPLIBS/cmake/install/NCEPLIBS-v1.3.0/modules
module load pio/2.5.2
module load bacio/2.4.1
module load crtm/2.3.0
module load esmf/811
module load fms/2020.04.03
module load gfsio/1.4.1
module load g2/3.4.1
module load g2tmpl/1.9.1
module load g2tmpl/1.10.0
module load ip/3.3.3
module load landsfcutil/2.4.1
module load nemsio/2.5.2
module load nemsiogfs/2.5.3
module load sfcio/1.4.1
module load sigio/2.3.2
module load sp/2.3.3
module load upp/10.0.6
module load w3emc/2.7.3
module load w3nco/2.4.1

module load gfsio/1.4.1
module load sfcio/1.4.1
module load sigio/2.3.2

module load upp/10.0.10

## WCOSS Cray execution prereqs:
module load rca
module load alps
module load xpmem
module load gni-headers
module load udreg
module load ugni

module load esmf/820
module load fms/2021.03

module load landsfcutil/2.4.1
module load nemsiogfs/2.5.3

module use /gpfs/hps/nco/ops/nwprod/lib/modulefiles
module load wgrib2-intel/2.0.8

Expand Down
Loading