Skip to content

Commit

Permalink
Merge pull request #112 from christinaholtNOAA/merge_dev
Browse files Browse the repository at this point in the history
rrfs_ci: Merge authoritative develop
  • Loading branch information
christinaholtNOAA authored Feb 4, 2022
2 parents 317aff1 + 55f19c7 commit a15f49f
Show file tree
Hide file tree
Showing 15 changed files with 251 additions and 210 deletions.
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

0 comments on commit a15f49f

Please sign in to comment.