Skip to content

Commit

Permalink
Add build script for developers, update Orion NCEPLIBS location (#53)
Browse files Browse the repository at this point in the history
* Adding a build script for internal developers

* Build script for release branch

* Update new location of Orion NCEPLIBS build

* use $0 to reference script name
  • Loading branch information
mkavulich authored Dec 4, 2020
1 parent 138b4a5 commit 407496b
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 1 deletion.
76 changes: 76 additions & 0 deletions devbuild.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
#!/bin/bash
set -eu

#cd to location of script
MYDIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P)

usage () {
echo "Usage: "
echo " $0 PLATFORM COMPILER"
echo ""
echo "PLATFORM: Name of machine you are building on"
echo "COMPILER: (optional) compiler to use; valid options are 'intel', 'gnu'"
echo ""
echo "NOTE: This script is for internal developer use only;"
echo "See User's Guide for detailed build instructions"
}

PLATFORM="${1:-NONE}"
COMPILER="${2:-intel}"


if [ $# -lt 1 ]; then
echo "ERROR: not enough arguments"
usage
exit 1
fi
if [ $# -gt 2 ]; then
echo "ERROR: too many arguments"
usage
exit 1
fi

if [ "$1" = "--help" ] || [ "$1" = "-h" ]; then
usage
exit 0
fi

ENV_FILE="docs/README_${PLATFORM}_${COMPILER}.txt"
if [ ! -f "$ENV_FILE" ]; then
echo "ERROR: environment file ($ENV_FILE) does not exist for this platform/compiler combination"
echo "PLATFORM=$PLATFORM"
echo "COMPILER=$COMPILER"
echo ""
echo "See User's Guide for detailed build instructions"
exit 64
fi

# If build directory already exists, offer a choice
BUILD_DIR=${MYDIR}/build

if [ -d "${BUILD_DIR}" ]; then
while true; do
echo "Build directory (${BUILD_DIR}) already exists! Please choose what to do:"
echo ""
echo "[R]emove the existing directory"
echo "[C]ontinue building in the existing directory"
echo "[Q]uit this build script"
read -p "Choose an option (R/C/Q):" choice
case $choice in
[Rr]* ) rm -rf ${BUILD_DIR}; break;;
[Cc]* ) break;;
[Qq]* ) exit;;
* ) echo "Invalid option selected.\n";;
esac
done
fi

# Source the README file for this platform/compiler combination, then build the code
. $ENV_FILE

mkdir -p ${BUILD_DIR}
cd ${BUILD_DIR}
cmake .. -DCMAKE_INSTALL_PREFIX=..
make -j ${BUILD_JOBS:-4}

exit 0
2 changes: 1 addition & 1 deletion docs/README_orion_intel.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ module load intel/2020
module load impi/2020
module load cmake/3.15.4

module use /work/noaa/gmtb/dheinzel/NCEPLIBS-ufs-v2.0.0/intel-19.1.0.166/impi-2020.0.166/modules
module use /apps/contrib/NCEP/libs/NCEPLIBS-ufs-v2.0.0/intel-19.1.0.166/impi-2020.0.166/modules

module load NCEPLIBS/2.0.0
module load esmf/8.0.0
Expand Down

0 comments on commit 407496b

Please sign in to comment.