From 6dcaee30486862cfe973c7bd4956530fac7bfd53 Mon Sep 17 00:00:00 2001 From: "guoqing.ge" Date: Mon, 30 Aug 2021 17:39:54 -0600 Subject: [PATCH 1/7] Update GSI hash and compile environment for WCOSS DELL. --- Externals.cfg | 2 +- env/build_wcoss_dell_p3_intel.env | 3 --- env/build_wcoss_dell_p3_intel.env_DA | 1 + 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index 6e9d48b..e820496 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -50,7 +50,7 @@ protocol = git repo_url = https://github.com/NOAA-GSL/GSI.git # Specify either a branch name or a hash but not both. #branch = feature/rrfs -hash = e25d4a6 +hash = c762340 local_path = src/gsi required = True diff --git a/env/build_wcoss_dell_p3_intel.env b/env/build_wcoss_dell_p3_intel.env index b9dd262..e28a1de 100644 --- a/env/build_wcoss_dell_p3_intel.env +++ b/env/build_wcoss_dell_p3_intel.env @@ -36,9 +36,6 @@ module load w3nco/2.4.1 module load upp/10.0.8 module load gftl-shared/v1.3.0 -module load yafyaml/v0.5.1 -module load mapl/v2.7.3 - module load sfcio/1.4.1 module load wgrib2/2.0.8 diff --git a/env/build_wcoss_dell_p3_intel.env_DA b/env/build_wcoss_dell_p3_intel.env_DA index 5185696..a6a7616 100644 --- a/env/build_wcoss_dell_p3_intel.env_DA +++ b/env/build_wcoss_dell_p3_intel.env_DA @@ -32,6 +32,7 @@ module load w3emc/2.7.3 module load bacio/2.4.1 module load crtm/2.3.0 module load netcdf/4.7.4 +module load wrf_io/1.2.0 # # module load jasper/1.900.1 From 31b87c5a9ef1e5e4ff9ee6c1fa4e8072bf9c6fd7 Mon Sep 17 00:00:00 2001 From: "guoqing.ge" Date: Tue, 31 Aug 2021 09:03:47 -0600 Subject: [PATCH 2/7] update hash for rrfs_utl (extra logic for HOST_DELL) --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index e820496..4f39cba 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -59,7 +59,7 @@ protocol = git repo_url = https://github.com/NOAA-GSL/rrfs_utl.git # Specify either a branch name or a hash but not both. # branch = develop -hash = b935faa +hash = d3e249e local_path = src/rrfs_utl required = True From 3b331ffeec19cce2702336e9635bf8395f3f3cdc Mon Sep 17 00:00:00 2001 From: "guoqing.ge" Date: Wed, 15 Sep 2021 16:06:34 -0600 Subject: [PATCH 3/7] update GSI add parallel-netcdf capability to speed up writing out FV3LAM final analysis kjet specific optimization update ufs_weather_model be able use latest fv3lam namelist update rrfs_utl bug fix in manage_externals update devbuild.sh determine HPC platforms automatically -- by the GSL RRFS/RTMA development team --- Externals.cfg | 8 +- devbuild.sh | 87 ++++++++++++++----- .../manic/externals_description.py | 2 +- 3 files changed, 71 insertions(+), 26 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index 4f39cba..251b4cc 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -25,7 +25,7 @@ protocol = git repo_url = https://github.com/NOAA-GSL/ufs-weather-model # Specify either a branch name or a hash but not both. #branch = gsl/develop -hash = 4c48f91 +hash = 50f90af local_path = src/ufs_weather_model required = True @@ -41,7 +41,7 @@ required = True [python_graphics] protocol = git repo_url = https://github.com/NOAA-GSL/pygraf -hash = 82a5318 +hash = 8d54d05 local_path = python_graphics required = True @@ -50,7 +50,7 @@ protocol = git repo_url = https://github.com/NOAA-GSL/GSI.git # Specify either a branch name or a hash but not both. #branch = feature/rrfs -hash = c762340 +hash = 8d41072 local_path = src/gsi required = True @@ -59,7 +59,7 @@ protocol = git repo_url = https://github.com/NOAA-GSL/rrfs_utl.git # Specify either a branch name or a hash but not both. # branch = develop -hash = d3e249e +hash = 3d83052 local_path = src/rrfs_utl required = True diff --git a/devbuild.sh b/devbuild.sh index fd274fc..dcd1bef 100755 --- a/devbuild.sh +++ b/devbuild.sh @@ -1,36 +1,81 @@ #!/bin/bash set -eu +# Initialize and load modules +if [[ -d /dcom && -d /hwrf ]] ; then + . /usrx/local/Modules/3.2.10/init/sh + PLATFORM=wcoss + . $MODULESHOME/init/sh +elif [[ -d /cm ]] ; then + . $MODULESHOME/init/sh + PLATFORM=wcoss_c +elif [[ -d /ioddev_dell ]]; then + . $MODULESHOME/init/sh + PLATFORM=wcoss_d +elif [[ -d /scratch1 ]] ; then + . /apps/lmod/lmod/init/sh + PLATFORM=hera +elif [[ -d /carddata ]] ; then + . /opt/apps/lmod/3.1.9/init/sh + PLATFORM=s4 +elif [[ -d /jetmon ]] ; then + . $MODULESHOME/init/sh + PLATFORM=jet +elif [[ -d /glade ]] ; then + . $MODULESHOME/init/sh + PLATFORM=cheyenne +elif [[ -d /sw/gaea ]] ; then + . /opt/cray/pe/modules/3.2.10.5/init/sh + PLATFORM=gaea +elif [[ -d /work ]]; then + . $MODULESHOME/init/sh + PLATFORM=orion +else + echo "unknown PLATFORM" + exit 9 +fi + #cd to location of script MYDIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P) usage () { - echo "Usage: " - echo " $0 PLATFORM COMPILER" + echo -e "\nExample Usage: " + echo " $0 (show this help)" + echo " $0 intel (build GSI using Intel compiler)" + echo " $0 gnu (build GSI using GNU compiler)" + echo " $0 kjet (build GSI using Intel compiler and kjet specfici optimization)" + echo " ** kjet option should be used by real time deployment on Jet** " + echo " $0 help (show this help)" echo "" - echo "PLATFORM: Name of machine you are building on" - echo "COMPILER: (optional) compiler to use; valid options are 'intel', 'gnu'" + echo " The build script will automatically determine current HPC platform." + echo " Don't use the 'kjet' optin if you will run GSI on other jet (such as xjet,etc) or you are not on Jet" 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 +opt=${1:-""} +COMPILER="intel" +KJET="" +if [[ ! -z $opt ]]; then + case $opt in + kjet|kJet|KJET|Kjet|kJET) + KJET="kjet" + ;; + --help|-h|help) + usage + exit 0 + ;; + intel|gnu) + COMPILER="${opt}" + ;; + *) + echo -e "\n unknown option: ${opt}" + usage + exit 0 + ;; + esac +else usage exit 0 fi @@ -74,7 +119,7 @@ cmake .. -DCMAKE_INSTALL_PREFIX=.. make -j ${BUILD_JOBS:-4} cd ${MYDIR}/src/gsi -./ush/build.comgsi +./ush/build.comgsi ${KJET} cp ${MYDIR}/src/gsi/build/bin/gsi.x ${MYDIR}/bin/gsi.x . ${MYDIR}/${ENV_FILE}_DA diff --git a/manage_externals/manic/externals_description.py b/manage_externals/manic/externals_description.py index 498d8d1..787cf06 100644 --- a/manage_externals/manic/externals_description.py +++ b/manage_externals/manic/externals_description.py @@ -253,7 +253,7 @@ def read_gitmodules_file(root_dir, file_name): ExternalsDescription.REPO_URL, url) externals_description.set(sec_name, ExternalsDescription.REQUIRED, 'True') - git_hash = submods[sec_name]['hash'] + git_hash = submods[path]['hash'] externals_description.set(sec_name, ExternalsDescription.HASH, git_hash) From cb9526a5eddbdae34a021a54e2c9c6f0523810f5 Mon Sep 17 00:00:00 2001 From: "guoqing.ge" Date: Wed, 15 Sep 2021 20:22:25 -0600 Subject: [PATCH 4/7] update hash for rrfs_utl and pygraf --- Externals.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index 251b4cc..fdb9ca2 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -41,7 +41,7 @@ required = True [python_graphics] protocol = git repo_url = https://github.com/NOAA-GSL/pygraf -hash = 8d54d05 +hash = 18b3eae local_path = python_graphics required = True @@ -59,7 +59,7 @@ protocol = git repo_url = https://github.com/NOAA-GSL/rrfs_utl.git # Specify either a branch name or a hash but not both. # branch = develop -hash = 3d83052 +hash = 3087ea4 local_path = src/rrfs_utl required = True From 7b35ade2d6306560551d69c4a23040ffa34c9222 Mon Sep 17 00:00:00 2001 From: "guoqing.ge" Date: Wed, 15 Sep 2021 20:36:53 -0600 Subject: [PATCH 5/7] after checking out regional_workflow, run Init.sh --- manage_externals/checkout_externals | 3 +++ 1 file changed, 3 insertions(+) diff --git a/manage_externals/checkout_externals b/manage_externals/checkout_externals index a0698ba..44ece81 100755 --- a/manage_externals/checkout_externals +++ b/manage_externals/checkout_externals @@ -10,6 +10,7 @@ from __future__ import absolute_import from __future__ import unicode_literals from __future__ import print_function +import os import sys import traceback @@ -28,6 +29,8 @@ if __name__ == '__main__': ARGS = manic.checkout.commandline_arguments() try: RET_STATUS, _ = manic.checkout.main(ARGS) + if os.path.isfile('regional_workflow/Init.sh'): + os.system('regional_workflow/Init.sh') sys.exit(RET_STATUS) except Exception as error: # pylint: disable=broad-except manic.printlog(str(error)) From 32cad581495696bc2e969908e3d41d769ef48b30 Mon Sep 17 00:00:00 2001 From: "guoqing.ge" Date: Fri, 17 Sep 2021 14:05:18 -0600 Subject: [PATCH 6/7] update regional_workflow hash --- Externals.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index fdb9ca2..c7075f9 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -6,8 +6,8 @@ protocol = git repo_url = https://github.com/NOAA-GSL/regional_workflow # Specify either a branch name or a hash but not both. -branch = 3DRTMA -#hash = 608422bb +#branch = 3DRTMA or 3DRTMA_rt +hash = ed96a23 local_path = regional_workflow required = True From 04106ae1899118f66c5b045092ebc0d736c0cbf6 Mon Sep 17 00:00:00 2001 From: "guoqing.ge" Date: Fri, 17 Sep 2021 14:33:05 -0600 Subject: [PATCH 7/7] update regional_workflow hash to #47e4a2d --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index c7075f9..9868ac4 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -7,7 +7,7 @@ protocol = git repo_url = https://github.com/NOAA-GSL/regional_workflow # Specify either a branch name or a hash but not both. #branch = 3DRTMA or 3DRTMA_rt -hash = ed96a23 +hash = 47e4a2d local_path = regional_workflow required = True