diff --git a/.github/workflows/aux.yml b/.github/workflows/aux.yml index 11f4172c18..49449097a3 100644 --- a/.github/workflows/aux.yml +++ b/.github/workflows/aux.yml @@ -1,9 +1,12 @@ -name: Helpers +name: Repo Check on: - workflow_run: - workflows: ["Pull Request Tests"] - types: - - requested + #workflow_run: + # workflows: ["Pull Request Tests"] + # types: + # - requested + pull_request: + branches: + - develop env: app: Accept:application/vnd.github.v3+json base_url: $GITHUB_API_URL/repos/$GITHUB_REPOSITORY/actions/runs @@ -30,8 +33,11 @@ jobs: steps: - name: Check up-to-dateness and post comment run: | - head_sha=${{ github.event.workflow_run.head_sha }} - git clone -q ${{ github.event.workflow_run.head_repository.html_url }} . + trap 'echo "exit-code=$?" >> "$GITHUB_OUTPUT"' EXIT + head_sha=${{ github.event.pull_request.head.sha }} + head_brc=${{ github.event.pull_request.head.ref }} + head_url=${{ github.event.pull_request.head.repo.html_url }} + git clone -q -b $head_brc $head_url . git checkout -q $head_sha git submodule -q update --init --recursive cd ${{ github.workspace }}/tests/ci @@ -39,15 +45,16 @@ jobs: pr_number=$(curl -sS -H $app $url/pulls \ | jq -r '.[] | select(.head.sha == "'"$head_sha"'") | .number') echo "pr_number is $pr_number" - pr_uid=${{ github.event.workflow_run.head_repository.owner.login }} + pr_uid=${{ github.event.pull_request.head.repo.owner.login }} echo "pr_uid is $pr_uid" - comment="$(./repo_check.sh $pr_uid 2>/dev/null)" - echo "comment is $comment" - if [[ -n $comment ]]; then - curl -sS -X POST -H $app -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ - $url/issues/$pr_number/comments -d '{"body": "'"${comment}"'"}' - echo -n "failure" >~/repocheck_file - else - echo -n "success" >~/repocheck_file - fi + ./repo_check.sh + #comment="$(./repo_check.sh 2>/dev/null)" + #echo "comment is $comment" + #if [[ -n $comment ]]; then + # curl -sS -X POST -H $app -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + # $url/issues/$pr_number/comments -d '{"body": "'"${comment}"'"}' + # echo -n "failure" >~/repocheck_file + #else + # echo -n "success" >~/repocheck_file + #fi diff --git a/.github/workflows/superlinter.yml b/.github/workflows/superlinter.yml new file mode 100644 index 0000000000..4b1ffea8d2 --- /dev/null +++ b/.github/workflows/superlinter.yml @@ -0,0 +1,37 @@ +--- +name: Super-Linter + +on: + push: null + pull_request: null + +jobs: + build: + name: Lint + runs-on: ubuntu-latest + + permissions: + contents: read + packages: read + statuses: write + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Super-Linter + uses: super-linter/super-linter@v6.3.0 + env: + LINTER_RULES_PATH: / + DEFAULT_BRANCH: origin/develop + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + FILTER_REGEX_EXCLUDE: .*(tests/fv3_conf/.*|tests/ci/.*|tests/auto/.*|tests/auto-jenkins/.*|tests/opnReqTests/.*|tests/opnReqTest|tests/atparse.bash).* + VALIDATE_BASH: true + BASH_SEVERITY: style + #VALIDATE_GITHUB_ACTIONS: true + #VALIDATE_LUA: true + #VALIDATE_MARKDOWN: true + #VALIDATE_PYTHON_PYLINT: true + #VALIDATE_YAML: true diff --git a/.shellcheckrc b/.shellcheckrc new file mode 100644 index 0000000000..95525eb590 --- /dev/null +++ b/.shellcheckrc @@ -0,0 +1,16 @@ +# Global settings for Shellcheck (https://github.com/koalaman/shellcheck) +enable=all + +external-sources=true + +# Disable variable referenced but not assigned +disable=SC2154 + +# Disable following non-constant source +disable=SC1090 + +# Disable non-existent binary +disable=SC1091 + +# Disable -p -m only applies to deepest directory +disable=SC2174 \ No newline at end of file diff --git a/CICE-interface/CICE b/CICE-interface/CICE index 7d4e5defc1..c9e4679f44 160000 --- a/CICE-interface/CICE +++ b/CICE-interface/CICE @@ -1 +1 @@ -Subproject commit 7d4e5defc1c5ff6d67cd74470e8fdbce5de84be1 +Subproject commit c9e4679f449e30bb4cc0f22164b4401a8b50f7a6 diff --git a/CICE-interface/CMakeLists.txt b/CICE-interface/CMakeLists.txt index 3a6614699b..2bfb3b3e4e 100644 --- a/CICE-interface/CMakeLists.txt +++ b/CICE-interface/CMakeLists.txt @@ -39,7 +39,7 @@ else() endif() # Configuration Options -set(CICE_IO "NetCDF" CACHE STRING "CICE OPTIONS: Choose IO options.") +set(CICE_IO "PIO" CACHE STRING "CICE OPTIONS: Choose IO options.") set_property(CACHE CICE_IO PROPERTY STRINGS "NetCDF" "PIO" "Binary") # Too many files to list, so include them via this file diff --git a/CMEPS-interface/CMEPS b/CMEPS-interface/CMEPS index 758491ed66..4e19850cb0 160000 --- a/CMEPS-interface/CMEPS +++ b/CMEPS-interface/CMEPS @@ -1 +1 @@ -Subproject commit 758491ed6681dd6054b1ff877027e6da381e86f8 +Subproject commit 4e19850cb083bc474b7cde5dc2f8506ec74cc442 diff --git a/FV3 b/FV3 index 480d18839e..053fb878d7 160000 --- a/FV3 +++ b/FV3 @@ -1 +1 @@ -Subproject commit 480d18839ec6e258b7d79839382e3517f5555e39 +Subproject commit 053fb878d74d98d92a759b877c89d96b30f64418 diff --git a/MOM6-interface/MOM6 b/MOM6-interface/MOM6 index 10521a921d..ab7bd14d20 160000 --- a/MOM6-interface/MOM6 +++ b/MOM6-interface/MOM6 @@ -1 +1 @@ -Subproject commit 10521a921d2f442de19a0cda240d912fd918c40c +Subproject commit ab7bd14d209592d55490e75dbfaa61cb4a62df97 diff --git a/NOAHMP-interface/CMakeLists.txt b/NOAHMP-interface/CMakeLists.txt index e27a1e37ec..fa533818fb 100644 --- a/NOAHMP-interface/CMakeLists.txt +++ b/NOAHMP-interface/CMakeLists.txt @@ -8,9 +8,10 @@ list(APPEND _noahmp_cap_files noahmp/drivers/nuopc/lnd_comp_kind.F90 noahmp/drivers/nuopc/lnd_comp_domain.F90 noahmp/drivers/nuopc/lnd_comp_import_export.F90 noahmp/drivers/nuopc/lnd_comp_nuopc.F90 - noahmp/drivers/nuopc/lnd_comp_driver.F90) + noahmp/drivers/nuopc/lnd_comp_driver.F90 + noahmp/drivers/nuopc/lnd_comp_cplscalars.F90) -# CCPP interface +# CCPP interface list(APPEND _noahmp_ccpp_files noahmp/drivers/ccpp/noahmpdrv.F90 noahmp/drivers/ccpp/sfc_diff.f noahmp/drivers/ccpp/machine.F @@ -25,7 +26,7 @@ list(APPEND _noahmp_files noahmp/src/module_sf_noahmplsm.F90 noahmp/src/module_sf_noahmp_glacier.F90) #------------------------------------------------------------------------------ -# Set CCPP flags for C/C++/Fortran preprocessor +# Set CCPP flags for C/C++/Fortran preprocessor add_definitions(-DCCPP) #------------------------------------------------------------------------------ diff --git a/NOAHMP-interface/noahmp b/NOAHMP-interface/noahmp index 0cd3e23ae5..6a51f0295b 160000 --- a/NOAHMP-interface/noahmp +++ b/NOAHMP-interface/noahmp @@ -1 +1 @@ -Subproject commit 0cd3e23ae5d35ef93e205e4d0c3b13ccc0d851f5 +Subproject commit 6a51f0295bc1a877475b527157a33aa86eb532fe diff --git a/WW3 b/WW3 index 4ffc47e10e..d9b3172f41 160000 --- a/WW3 +++ b/WW3 @@ -1 +1 @@ -Subproject commit 4ffc47e10e3d3f3bbee50251aacb28b7e0165b92 +Subproject commit d9b3172f4197c65d471662c6952a668152d71230 diff --git a/build.sh b/build.sh index 6b6e5e1249..a92ee521f2 100755 --- a/build.sh +++ b/build.sh @@ -1,21 +1,29 @@ #!/bin/bash set -eu - -if [[ $(uname -s) == Darwin ]]; then - readonly UFS_MODEL_DIR=$(cd "$(dirname "$(greadlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P) +uname_s=$(uname -s) +if [[ ${uname_s} == Darwin ]]; then + UFS_MODEL_DIR=$(greadlink -f -n "${BASH_SOURCE[0]}") + UFS_MODEL_DIR=$(dirname "${UFS_MODEL_DIR}") + UFS_MODEL_DIR=$(cd "${UFS_MODEL_DIR}" && pwd -P) else - readonly UFS_MODEL_DIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P) + UFS_MODEL_DIR=$(readlink -f -n "${BASH_SOURCE[0]}") + UFS_MODEL_DIR=$(dirname "${UFS_MODEL_DIR}") + UFS_MODEL_DIR=$(cd "${UFS_MODEL_DIR}" && pwd -P) fi +echo "UFS MODEL DIR: ${UFS_MODEL_DIR}" +readonly UFS_MODEL_DIR export CC=${CC:-mpicc} export CXX=${CXX:-mpicxx} export FC=${FC:-mpif90} BUILD_DIR=${BUILD_DIR:-${UFS_MODEL_DIR}/build} -mkdir -p ${BUILD_DIR} +mkdir -p "${BUILD_DIR}" -cd ${BUILD_DIR} -cmake ${UFS_MODEL_DIR} ${CMAKE_FLAGS} +cd "${BUILD_DIR}" +ARR_CMAKE_FLAGS=() +for i in ${CMAKE_FLAGS}; do ARR_CMAKE_FLAGS+=("${i}") ; done +cmake "${UFS_MODEL_DIR}" "${ARR_CMAKE_FLAGS[@]}" # Turn off OpenMP threading for parallel builds # to avoid exhausting the number of user processes -OMP_NUM_THREADS=1 make -j ${BUILD_JOBS:-4} VERBOSE=${BUILD_VERBOSE:-} +OMP_NUM_THREADS=1 make -j "${BUILD_JOBS:-4}" "VERBOSE=${BUILD_VERBOSE:-1}" \ No newline at end of file diff --git a/cmake/GNU.cmake b/cmake/GNU.cmake index 5f59acfcc9..b09e047cf4 100644 --- a/cmake/GNU.cmake +++ b/cmake/GNU.cmake @@ -5,10 +5,6 @@ endif() set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ggdb -fbacktrace -cpp -fcray-pointer -ffree-line-length-none -fno-range-check") -if(${CMAKE_Fortran_COMPILER_VERSION} VERSION_GREATER_EQUAL 10) - set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch -fallow-invalid-boz") -endif() - if(NOT 32BIT) set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fdefault-real-8 -fdefault-double-8") endif() diff --git a/cmake/Intel.cmake b/cmake/Intel.cmake index 0982761bfe..a18ff15fc2 100644 --- a/cmake/Intel.cmake +++ b/cmake/Intel.cmake @@ -1,6 +1,12 @@ -set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -traceback -fpp -fno-alias -auto -safe-cray-ptr -ftz -assume byterecl -nowarn -sox -align array64byte -qno-opt-dynamic-align") +set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g -traceback -fpp -fno-alias -auto -safe-cray-ptr -ftz -assume byterecl -sox -align array64byte -qno-opt-dynamic-align") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -qno-opt-dynamic-align -sox -fp-model source") +# warning #5462: Global name too long. +set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -diag-disable 5462") + +# remark #7712: This variable has not been used. +set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -diag-disable 7712") + if(CMAKE_Platform STREQUAL "derecho.intel") set(CMAKE_Fortran_LINK_FLAGS "-Wl,--copy-dt-needed-entries") endif() diff --git a/doc/UsersGuide/requirements.txt b/doc/UsersGuide/requirements.txt index b4642f5872..3888acb016 100644 --- a/doc/UsersGuide/requirements.txt +++ b/doc/UsersGuide/requirements.txt @@ -18,7 +18,7 @@ docutils==0.20.1 # sphinx # sphinx-rtd-theme # sphinxcontrib-bibtex -idna==3.6 +idna==3.7 # via requests imagesize==1.4.1 # via sphinx diff --git a/doc/UsersGuide/source/Configurations.rst b/doc/UsersGuide/source/Configurations.rst index 7ac2cf6034..69d659ffa5 100644 --- a/doc/UsersGuide/source/Configurations.rst +++ b/doc/UsersGuide/source/Configurations.rst @@ -13,7 +13,7 @@ Configurations The UFS Weather Model (WM) can be run in any of several configurations, from a single-component atmospheric model to a fully coupled model with multiple earth system components (e.g., atmosphere, ocean, sea-ice, land, and mediator). This chapter documents a few of the currently supported configurations. For a full list of -supported configurations, view the `rt.conf `__ file. +supported configurations, view the `rt.conf `__ file. .. attention:: @@ -31,12 +31,18 @@ supported configurations, view the `rt.conf ` - Standalone Atmospheric Model (:term:`ATM`) + * - :ref:`ATMW ` + - Coupled :term:`ATM` and :term:`WW3` + * - :ref:`ATMAERO ` + - Coupled :term:`ATM` and :term:`GOCART` * - :ref:`ATML ` - Coupled :term:`ATM` and :term:`LND` * - :ref:`LND ` - Coupled :term:`CDEPS` - :term:`DATM` - :term:`LND` -:term:`CMEPS` * - :ref:`RRFS ` - :term:`ATM` with :term:`data assimilation` + * - :ref:`HAFS ` + - Coupled components may include :term:`CDEPS` - :term:`ATM` - :term:`HYCOM` - :term:`WW3` - :term:`MOM6` - :term:`CMEPS` This chapter details the supported build/run options for each supported configuration. Click on the configuration category in :numref:`Table %s ` @@ -200,16 +206,132 @@ Information on ``ufs.configure`` files is available in :numref:`Section %s `__. +.. _atmw-documented: ATMW ======= -**COMING SOON!** +The ATMW configuration couples :term:`ATM` with :term:`WaveWatch III`. +These tests use default values set in the ``export_fv3`` function of ``default_vars.sh``. + +.. list-table:: *ATMW regression test descriptions* + :widths: 50 10 30 50 10 10 10 10 10 + :header-rows: 1 + + * - Test |nbsp| Name |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| + - Description + - General Physics Parameters + - Detailed |nbsp| Physics |nbsp| Parameters |nbsp| (see |nbsp| namelist |nbsp| options `here `__ |nbsp| for variable definitions) + - Start |nbsp| Date |nbsp| |nbsp| |nbsp| |nbsp| + - Fcst Length (hours) + - Output Grid + - Configuration Files + - Other + * - `atmwav_control_noaero_p8 `__ + - Compare global control results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_GFS_v16" :raw-html:`

` + + **Microphysics:** IMP_PHYSICS=8 :raw-html:`

` + + **Time Step:** DT_ATMOS=720 :raw-html:`

` + + - **Set to FALSE:** LHEATSTRG, DO_UGWP_V1, DO_GSL_DRAG_LS_BL, DO_GSL_DRAG_TOFD, DO_UGWP_V1_OROG_ONLY, DO_UGWP_V0_NST_ONLY, LDIAG_UGWP, CA_GLOBAL, LANDICE, LGFDLMPRAD, DO_SAT_ADJ, MULTIGRID, USE_CICE_ALB, DO_RRTMGP :raw-html:`

` + **Set to TRUE:** USE_MERRA2, LSEASPRAY, DO_UGWP_V0, DO_GSL_DRAG_SS, DO_CA, CA_SGS, CA_TRIGGER, TILEDFIX, CPL, CPLWAV, CPLWAV2ATM, FRAC_GRID, WRITE_NSFLIP, DOGP_CLDOPTICS_LUT, DOGP_LWSCAT, DOGP_SGS_CNV, SATMEDMF :raw-html:`

` + **Set to VALUE:** IALB=2, IEMS=2, LSM=2, IOPT_DVEG=4, IOPT_CRS=2, IOPT_RAD=3, IOPT_ALB=1, IOPT_STC=3, IOPT_SFC=3, IOPT_TRS=2, IOPT_DIAG=2, D2_BG_K1=0.20, D2_BG_K2=0.04, PSM_BC=1, DDDMP=0.1, IAER=1011, KNOB_UGWP_VERSION=0, KNOB_UGWP_NSLOPE=1, NCA=1, NCELLS=5, NLIVES=12, NTHRESH=18, NSEED=1, NFRACSEED=0.5, NSPINUP=1, ISEED_CA=12345, FSICL=0, FSICS=0, DNATS=0, DZ_MIN=6, cap_dbug_flag=0, MIN_SEAICE=0.15, + - 2021-03-22 06:00:00 + - 12 + - OUTPUT_GRID=gaussian_grid :raw-html:`

` + **Grid Parameters**: INPES=$INPES_cpl_atmw, JNPES=$JNPES_cpl_atmw, NPZ=127, NPZP=128 + - FIELD_TABLE=field_table_thompson_noaero_tke + DIAG_TABLE=diag_table_p8_template + INPUT_NML=cpld_control.nml.IN + UFS_CONFIGURE=ufs.configure.atmw.IN + FV3_RUN=control_run.IN + - RUNTYPE=startup, med_model=cmeps, atm_model=fv3, wav_model=ww3 + +.. _atmaero-documented: ATMAERO ========= -**COMING SOON!** +The ATMAERO configuration couples :term:`ATM` with :term:`GOCART`. +These tests use default values set in the ``export_fv3`` function of ``default_vars.sh``. + +.. attention:: + + Certain physics-related settings are common to all of the supported RRFS configurations. These values are set in each test's configuration file because they differ from the ``default_vars.sh`` values: + + General Physics Parameters: + * **Suite:** CCPP_SUITE= `FV3_GFS_v17_p8 `__ + * **Microphysics:** IMP_PHYSICS=8 + * **Time Step:** DT_ATMOS=720 + + Detailed Physics Parameters: + * **Set to FALSE:** DO_UGWP_V1, DO_GSL_DRAG_LS_BL, DO_GSL_DRAG_TOFD, DO_UGWP_V1_OROG_ONLY, DO_UGWP_V0_NST_ONLY, LDIAG_UGWP, CA_GLOBAL, LANDICE, LGFDLMPRAD, DO_SAT_ADJ, USE_CICE_ALB, DO_RRTMGP + * **Set to TRUE:** WRITE_DOPOST, CPL, CPLCHM, USE_MERRA2, LSEASPRAY, DO_UGWP_V0, DO_GSL_DRAG_SS, DO_CA, CA_SGS, CA_TRIGGER, TILEDFIX, FRAC_GRID, WRITE_NSFLIP, DOGP_CLDOPTICS_LUT, DOGP_LWSCAT, DOGP_SGS_CNV, SATMEDMF + * **Set to VALUE:** NSTF_NAME='2,0,0,0,0', atm_model='fv3', chm_model='gocart', DOMAINS_STACK_SIZE=8000000, IALB=2, IEMS=2, LSM=2, IOPT_DVEG=4, IOPT_CRS=2, IOPT_RAD=3, IOPT_ALB=1, IOPT_STC=3, IOPT_SFC=3, IOPT_TRS=2, IOPT_DIAG=2, D2_BG_K1=0.20, D2_BG_K2=0.04, PSM_BC=1, DDDMP=0.1, GWD_OPT=2, KNOB_UGWP_VERSION=0, KNOB_UGWP_NSLOPE=1, NCA=1, NCELLS=5, NLIVES=12, NTHRESH=18, NSEED=1, NFRACSEED=0.5, NSPINUP=1, ISEED_CA=12345, FSICL=0, FSICS=0, DZ_MIN=6, MIN_SEAICE=0.15 + + The "Detailed Physics Parameters" column in :numref:`Table %s ` details physics settings that differ from both the ``default_vars.sh`` values and these ATMAERO-specific defaults. + +.. _atmaero-rts: + +.. list-table:: *ATMAERO regression test descriptions* + :widths: 50 10 50 10 10 10 10 10 + :header-rows: 1 + + * - Test |nbsp| Name |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| + - Description + - Detailed |nbsp| Physics |nbsp| Parameters |nbsp| (see |nbsp| namelist |nbsp| options `here `__ |nbsp| for variable definitions) + - Start |nbsp| Date |nbsp| |nbsp| |nbsp| |nbsp| + - Fcst Length (hours) + - Output Grid + - Configuration Files + - Other + * - `atmaero_control_p8 `__ + - Compare global results for prognostic aerosols with previous trunk version + - **Set to FALSE:** LHEATSTRG :raw-html:`

` + **Set to TRUE:** ATMAERO default values only :raw-html:`

` + **Set to VALUE:** IAER=1011, DNATS=2 + - 2021-03-22 06:00:00 + - 24 + - OUTPUT_GRID=gaussian_grid :raw-html:`

` + **Grid Parameters**: INPES=${INPES_atmaero}, JNPES=${JNPES_atmaero}, NPZ=127, NPZP=128 + - FIELD_TABLE=field_table_thompson_noaero_tke_GOCART + DIAG_TABLE=diag_table_cpld.IN + INPUT_NML=ufs.configure.atmaero_esmf.IN + UFS_CONFIGURE=ufs.configure.atmaero.IN + FV3_RUN=control_run.IN + - RESTART_INTERVAL=12 -1 + * - `atmaero_control_p8_rad `__ + - Compare global results for prognostic aerosols with previous trunk version + - **Set to FALSE:** ATMAERO values only :raw-html:`

` + **Set to TRUE:** LHEATSTRG :raw-html:`

` + **Set to VALUE:** IAER=2011, DNATS=2 + - 2021-03-22 06:00:00 + - 24 + - OUTPUT_GRID=gaussian_grid :raw-html:`

` + **Grid Parameters**: NPZ=127, NPZP=128 + - FIELD_TABLE=field_table_thompson_noaero_tke_GOCART + DIAG_TABLE=diag_table_cpld.IN + INPUT_NML=cpld_control.nml.IN + UFS_CONFIGURE=ufs.configure.atmaero_esmf.IN + FV3_RUN=control_run.IN + - RESTART_INTERVAL=12 -1 + * - `atmaero_control_p8_rad_micro `__ + - Compare global results for prognostic aerosols with previous trunk version + - **Set to FALSE:** :raw-html:`

` + **Set to TRUE:** LHEATSTRG :raw-html:`

` + **Set to VALUE:** IAER=2011, DNATS=4 + - 2021-03-22 06:00:00 + - 24 + - OUTPUT_GRID=gaussian_grid :raw-html:`

` + **Grid Parameters**: NPZ=127, NPZP=128 + - FIELD_TABLE=field_table_thompson_noaero_tke_GOCART + DIAG_TABLE=diag_table_p8_gocart_micro + INPUT_NML=merra2_thompson.nml.IN + UFS_CONFIGURE=ufs.configure.atmaero_esmf.IN + FV3_RUN=control_run.IN + - RESTART_INTERVAL='12 -1' ATMAQ ======= @@ -335,7 +457,7 @@ Each test file lists the input files required for a given test. Input files requ Information on ``ufs.configure`` files is available in :numref:`Section %s `. The supported RRFS WM RTs use the same ``ufs.configure`` file that ATM-only tests do (``ufs.configure.atm.IN``). This file can be viewed in the ``ufs-weather-model/tests/parm`` `directory `__. -Additionally, users can find examples of various RRFS configuration files in the ``ufs-weather-model/tests/parm`` `directory `__. These files include ``model_configure_*``, ``*_run.IN`` (input run), ``*.nml.IN`` (input namelist), ``field_table_*``, and ``diag_table_*`` files. +Additionally, users can find examples of various RRFS configuration files in the ``ufs-weather-model/tests/parm`` `directory `__. These files include ``model_configure_*``, ``*_run.IN`` (input run), ``*.nml.IN`` (input namelist), ``field_table_*``, and ``diag_table_*`` files. .. _lnd-documented: @@ -397,13 +519,510 @@ NG-GODAS **COMING SOON!** +.. _hafs-documented: + ======================================================== Hurricane Analysis and Reforecast System Configurations ======================================================== -**COMING SOON!** +The HAFS configuration uses an :term:`DATM`-only configuration. + +These tests use the default values set in the ``export_fv3``, ``export_hafs``, ``export_hafs_regional``, ``export_hafs_datm_cdeps``, and ``export_hafs_docn_cdeps`` functions of ``default_vars.sh`` unless other values are explicitly set in a given test file. In all tests, the values in ``export_fv3`` are set first. + +.. note:: + + ``export_hafs`` calls ``export_hafs_regional``, which calls ``export_hafs_datm_cdeps`` or ``export_hafs_docn_cdeps``, which calls ``export_fv3``. Values from ``export_fv3`` are set first, followed by values in ``export_hafs``, ``export_hafs_regional``, and then values in ``export_hafs_datm_cdeps`` or ``export_hafs_docn_cdeps``. + + +.. list-table:: *Default physics-related variables used in the HAFS configurations below* + :widths: 10 50 + :header-rows: 1 + * - Export Function + - Variables + * - export_hafs + - **Set to FALSE:** S2S, AQM, DATM_CDEPS, DOCN_CDEPS, HYBEDMF, CNVGWD, LTAEROSOL, LHEATSTRG, IS_MOVING_NEST :raw-html:`

` + **Set to TRUE:** FV3, HAFS, SATMEDMF, HURR_PBL, DO_GSL_DRAG_LS_BL, DO_GSL_DRAG_SS, DO_GSL_DRAG_TOFD, LRADAR, CPL_IMP_MRG :raw-html:`

` + **Set to VALUE:** NTILES=1, IMFSHALCNV=2, IMFDEEPCNV=2, MONINQ_FAC=-1.0, ISATMEDMF=1, IOPT_SFC=1, IOPT_DVEG=2, IOPT_CRS=1, IOPT_RAD=1, IOPT_ALB=2, IOPT_STC=1, LSM=1, IMP_PHYSICS=11, IAER=111, CDMBWD=1.0,1.0,1.0,1.0, FV_CORE_TAU=5., RF_CUTOFF=30.e2, RF_CUTOFF_NEST=50.e2, VORTEX_TRACKER=0, NTRACK=0, MOVE_CD_X=0, MOVE_CD_Y=0, NFHOUT=3, NFHMAX_HF=-1, NFHOUT_HF=3, NSOUT=-1, OUTPUT_FH=-1 + * - export_hafs_regional + - **Set to FALSE:** S2S, AQM, DOCN_CDEPS, WRITE_DOPOST, USE_COLDSTART, MULTIGRID :raw-html:`

` + **Set to TRUE:** FV3, HAFS, CPL, QUILTING, OUTPUT_HISTORY, CPL_IMP_MRG :raw-html:`

` + **Set to VALUE:** NTILES=1, FHMAX=6, ENS_NUM=1, DT_ATMOS=900, RESTART_INTERVAL=0, FHROT=0, coupling_interval_fast_sec=0, WRITE_GROUP=1, WRTTASK_PER_GROUP=6, NUM_FILES=2, FILENAME_BASE="'atm' 'sfc'", OUTPUT_GRID="'regional_latlon'", OUTPUT_FILE="'netcdf'", IDEFLATE=0, QUANTIZE_NSD=0, NFHOUT=3, NFHMAX_HF=-1, NFHOUT_HF=3, CEN_LON=-62.0, CEN_LAT=25.0, LON1=-114.5, LAT1=-5.0, LON2=-9.5, LAT2=55.0, DLON=0.03, DLAT=0.03, DIAG_TABLE=diag_table_hafs, FIELD_TABLE=field_table_hafs, WW3OUTDTHR=3, OUTPARS_WAV="WND HS T01 T02 DIR FP DP PHS PTP PDIR UST CHA USP", WAV_CUR='C', med_model=cmeps, pio_rearranger=box, CAP_DBUG_FLAG=0, CPLMODE=hafs, RUNTYPE=startup, MESH_WAV=mesh.hafs.nc, MODDEF_WAV=mod_def.natl_6m + * - export_hafs_datm_cdeps + - **Set to FALSE:** FV3, S2S, AQM, DOCN_CDEPS :raw-html:`

` + **Set to TRUE:** HAFS, DATM_CDEPS :raw-html:`

` + **Set to VALUE:** NTILES=1, atm_model=datm, DATM_IN_CONFIGURE=datm_in, DATM_STREAM_CONFIGURE=hafs_datm.streams.era5.IN + * - export_hafs_docn_cdeps + - **Set to FALSE:** S2S, AQM :raw-html:`

` + **Set to TRUE:** FV3, HAFS, DOCN_CDEPS :raw-html:`

` + **Set to VALUE:** NTILES=1, ocn_model=docn, ocn_datamode=sstdata, pio_rearranger=box, DOCN_IN_CONFIGURE=docn_in, DOCN_STREAM_CONFIGURE=hafs_docn.streams.IN + +.. _hafs-rts: + +.. list-table:: *HAFS regression test descriptions* + :widths: 50 10 30 50 10 10 10 10 10 + :header-rows: 1 + + * - Test |nbsp| Name |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| |nbsp| + - Description + - General Physics Parameters + - Detailed |nbsp| Physics |nbsp| Parameters |nbsp| (see |nbsp| namelist |nbsp| options `here `__ |nbsp| for variable definitions) + - Start |nbsp| Date |nbsp| |nbsp| |nbsp| |nbsp| + - Fcst Length (hours) + - Output Grid + - Configuration Files + - Other + * - `rhafs_global_1nest_atm `__ + - Compare HAFS global with 1 nest and atmosphere only results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_gfdlmp_tedmf" + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=90 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, CPLFLX, CPLWAV, CPLWAV2ATM, CPL_IMP_MRG, CMEPS, USE_COLDSTART :raw-html:`

` + **Set to TRUE:** EXTERNAL_IC, NGGPS_IC, CPLOCN2ATM, NESTED :raw-html:`

` + **Set to VALUE:** + See ``export_hafs`` default values. + - 2020-08-25 12:00:00 + - 6 + - OUTPUT_GRID=global_latlon, OUTPUT_GRID_2=rotated_latlon :raw-html:`

` + **Grid Parameters**: INPES=4, JNPES=5, NPX=97, NPY=97, NPZ=64, NPZP=$(($NPZ + 1)), INPES_NEST02=6, JNPES_NEST02=10, NPX_NEST02=241, NPY_NEST02=241 + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_global_hafs.nml.IN + INPUT_NEST02_NML=input_nest_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm.IN" + FV3_RUN="hafs_fv3_run.IN" + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_global_multiple_4nests_atm `__ + - Compare HAFS global with 4 multiple nests and atmosphere only results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_gfdlmp_tedmf" + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=90 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, CPLFLX, CPLWAV, CPLWAV2ATM, CPL_IMP_MRG, CMEPS, USE_COLDSTART :raw-html:`

` + **Set to TRUE:** WRITE_DOPOST, EXTERNAL_IC, NGGPS_IC, CPLOCN2ATM, NESTED :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs default values. + - 2020-08-25 12:00:00 + - 6 + - OUTPUT_GRID=global_latlon, OUTPUT_GRID_2=regional_latlon, OUTPUT_GRID_3=rotated_latlon, OUTPUT_GRID_4=rotated_latlon, OUTPUT_GRID_5=rotated_latlon :raw-html:`

` + **Grid Parameters**: INPES=4, JNPES=5, NPX=97, NPY=97, NPZ=64, NPZP=$(($NPZ + 1)), INPES_NEST02=6, JNPES_NEST02=10, NPX_NEST02=241, NPY_NEST02=241, INPES_NEST03=6, JNPES_NEST03=10, NPX_NEST03=241, NPY_NEST03=241, INPES_NEST04=6, JNPES_NEST04=10, NPX_NEST04=361, NPY_NEST04=361, INPES_NEST05=6, JNPES_NEST05=10, NPX_NEST05=361, NPY_NEST05=361 + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_global_hafs.nml.IN + INPUT_NEST02_NML=input_nest_hafs.nml.IN + INPUT_NEST03_NML=input_nest_hafs.nml.IN + INPUT_NEST04_NML=input_nest_hafs.nml.IN + INPUT_NEST05_NML=input_nest_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm.IN" + FV3_RUN="hafs_fv3_run.IN" + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_global_storm_following_1nest_atm `__ + - Compare HAFS global with 1 storm-following moving nest and atmosphere only results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_gfdlmp_tedmf" + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=180 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, IS_MOVING_NEST=".false.,.true.", CPLFLX, CPLWAV, CPLWAV2ATM, CPL_IMP_MRG, CMEPS, USE_COLDSTART :raw-html:`

` + **Set to TRUE:** EXTERNAL_IC, NGGPS_IC, CPLOCN2ATM, NESTED :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs default values. + - 2020-08-25 12:00:00 + - 6 + - OUTPUT_GRID=global_latlon, OUTPUT_GRID_2=rotated_latlon :raw-html:`

` + **Grid Parameters**: INPES=4, JNPES=5, NPX=97, NPY=97, NPZ=64, NPZP=$(($NPZ + 1)), INPES_NEST02=6, JNPES_NEST02=10, NPX_NEST02=73, NPY_NEST02=73 + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_global_hafs.nml.IN + INPUT_NEST02_NML=input_nest_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm.IN" + FV3_RUN="hafs_fv3_run.IN" + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_regional_1nest_atm `__ + - Compare HAFS regional with 1 nest and atmosphere only results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_gfdlmp_tedmf" + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=90 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, CPLFLX, CPLWAV, CPLWAV2ATM, CPL_IMP_MRG, CMEPS, USE_COLDSTART :raw-html:`

` + **Set to TRUE:** EXTERNAL_IC, NGGPS_IC, REGIONAL, CPLOCN2ATM, NESTED :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs default values. + - 2020-08-25 12:00:00 + - 6 + - OUTPUT_GRID=rotated_latlon, OUTPUT_GRID_2=rotated_latlon :raw-html:`

` + **Grid Parameters**: INPES=6, JNPES=10, NPX=241, NPY=241, NPZ=64, NPZP=$(($NPZ + 1)), INPES_NEST02=6, JNPES_NEST02=10, NPX_NEST02=361, NPY_NEST02=361 + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_regional_hafs.nml.IN + INPUT_NEST02_NML=input_nest_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm.IN" + FV3_RUN="hafs_fv3_run.IN" + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_regional_atm `__ + - Compare HAFS regional atmosphere only results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_gfdlmp_tedmf" + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=180 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, CPLFLX, CPLWAV, CPLWAV2ATM, CPL_IMP_MRG, CMEPS, USE_COLDSTART :raw-html:`

` + **Set to TRUE:** EXTERNAL_IC, NGGPS_IC, REGIONAL, CPLOCN2ATM :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs default values. + - 2019-08-29 00:00:00 + - 6 + - OUTPUT_GRID=regional_latlon :raw-html:`

` + **Grid Parameters**: INPES=20, JNPES=12, NPX=721, NPY=601, NPZ=91, NPZP=$(($NPZ + 1)) + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_regional_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm.IN" + FV3_RUN="hafs_fv3_run.IN" + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_regional_atm_ocn `__ + - Compare HAFS regional atmosphere-ocean coupled HYCOM results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_gfdlmp_tedmf_nonsst" + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=180 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, CPLWAV, CPLWAV2ATM, CDEPS_DOCN :raw-html:`

` + **Set to TRUE:** EXTERNAL_IC, NGGPS_IC, REGIONAL, CPLFLX, CPLOCN2ATM, CPL_IMP_MRG :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs_regional then export_hafs default values. + - 2019-08-29 00:00:00 + - 6 + - OUTPUT_GRID=regional_latlon :raw-html:`

` + **Grid Parameters**: INPES=20, JNPES=12, NPX=721, NPY=601, NPZ=91, NPZP=$(($NPZ + 1)) + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_regional_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm_ocn.IN" + FV3_RUN="hafs_fv3_run.IN hycom_hat10_run.IN" + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_regional_atm_ocn_wav `__ + - Compare HAFS regional atmosphere-ocean-wave coupled results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_gfdlmp_tedmf_nonsst" + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=180 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, CPLWAV2ATM, CDEPS_DOCN :raw-html:`

` + **Set to TRUE:** EXTERNAL_IC, NGGPS_IC, REGIONAL, CPLFLX, CPLOCN2ATM, CPLWAV, CPL_IMP_MRG :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs_regional then export_hafs default values. + - 2019-08-29 00:00:00 + - 6 + - OUTPUT_GRID=regional_latlon :raw-html:`

` + **Grid Parameters**: INPES=20, JNPES=12, NPX=721, NPY=601, NPZ=91, NPZP=$(($NPZ + 1)) + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_regional_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm_ocn_wav.IN" + FV3_RUN="hafs_fv3_run.IN hycom_hat10_run.IN hafs_ww3_run.IN" + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_regional_atm_thompson_gfdlsf `__ + - Compare the results from HAFS regional atmosphere only using the Thompson microphysics scheme and GFDL surface layer scheme with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_thompson_tedmf_gfdlsf" + + **Microphysics:** IMP_PHYSICS=8 + + **Time Step:** DT_ATMOS=180 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, DO_SAT_ADJ, CPLFLX, CPLWAV, CPLWAV2ATM, CPL_IMP_MRG, CMEPS, USE_COLDSTART :raw-html:`

` + **Set to TRUE:** EXTERNAL_IC, NGGPS_IC, REGIONAL, CPLOCN2ATM :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs default values. + - 2019-08-29 00:00:00 + - 6 + - OUTPUT_GRID=cubed_sphere_grid :raw-html:`

` + **Grid Parameters**: INPES=20, JNPES=12, NPX=721, NPY=601, NPZ=91, NPZP=$(($NPZ + 1)) + - FIELD_TABLE=field_table_hafs_thompson + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_regional_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm.IN" + FV3_RUN="hafs_fv3_run.IN" + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_regional_atm_wav `__ + - Compare HAFS regional atmosphere-wave coupled results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_gfdlmp_tedmf" + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=180 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, CPLOCN2ATM, CDEPS_DOCN :raw-html:`

` + **Set to TRUE:** EXTERNAL_IC, NGGPS_IC, REGIONAL, CPLFLX, CPLWAV, CPLWAV2ATM, CPL_IMP_MRG :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs_regional then export_hafs default values. + - 2019-08-29 00:00:00 + - 6 + - OUTPUT_GRID=regional_latlon :raw-html:`

` + **Grid Parameters**: INPES=20, JNPES=12, NPX=721, NPY=601, NPZ=91, NPZP=$(($NPZ + 1)) + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_regional_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm_wav.IN" + FV3_RUN="hafs_fv3_run.IN hafs_ww3_run.IN" + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_regional_datm_cdeps `__ + - Compare HAFS regional coupled CDEPS data atmosphere from ERA5 with regional HYCOM results with previous trunk version + - N/A: No active atmospheric component + - **Set to FALSE:** CPLWAV, CDEPS_DOCN :raw-html:`

` + **Set to TRUE:** :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs_datm_cdeps then export_hafs_regional then export_hafs default values. + - 2019-08-29 00:00:00 + - 24 + - OUTPUT_GRID=regional_latlon :raw-html:`

` + **Grid Parameters**: INPES=$INPES_dflt, JNPES=$JNPES_dflt + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs + INPUT_NML=input_regional_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm_ocn.IN" + FV3_RUN="hafs_datm_cdeps_era5.IN hycom_hat10_run.IN" + DATM_STREAM_CONFIGURE=hafs_datm.streams.era5.IN + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_regional_docn `__ + - Compare HAFS regional coupled with regional data ocean from MOM6 results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_gfdlmp_tedmf_nonsst" + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=180 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, CPLWAV, CPLWAV2ATM :raw-html:`

` + **Set to TRUE:** EXTERNAL_IC, NGGPS_IC, REGIONAL, CPLFLX, CPLOCN2ATM, CPL_IMP_MRG :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs_docn_cdeps then export_hafs_regional then export_hafs default values. + - 2019-08-29 00:00:00 + - 24 + - OUTPUT_GRID=regional_latlon :raw-html:`

` + **Grid Parameters**: INPES=20, JNPES=12, NPX=721, NPY=601, NPZ=91, NPZP=$(($NPZ + 1)) + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_regional_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm_docn.IN" + FV3_RUN="hafs_fv3_run.IN hafs_docn_cdeps_mom6.IN" + DOCN_STREAM_CONFIGURE=hafs_docn.streams.IN + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_regional_docn_oisst `__ + - Compare HAFS regional coupled with global data ocean from OISST results with previous trunk version + - **Suite:** CCPP_SUITE=FV3_HAFS_v1_gfdlmp_tedmf_nonsst + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=180 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, CPLWAV, CPLWAV2ATM :raw-html:`

` + **Set to TRUE:** EXTERNAL_IC, NGGPS_IC, REGIONAL, CPLFLX, CPLOCN2ATM, CPL_IMP_MRG :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs_docn_cdeps then export_hafs_regional then export_hafs default values. + - 2019-08-29 00:00:00 + - 6 + - OUTPUT_GRID=regional_latlon :raw-html:`

` + **Grid Parameters**: INPES=20, JNPES=12, NPX=721, NPY=601, NPZ=91, NPZP=$(($NPZ + 1)) + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_regional_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm_docn.IN" + FV3_RUN="hafs_fv3_run.IN hafs_docn_cdeps_oisst.IN" + DOCN_STREAM_CONFIGURE=hafs_docn.streams.IN + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.true., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_regional_specified_moving_1nest_atm `__ + - Compare HAFS regional with 1 specified moving nest and atmosphere only results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_gfdlmp_tedmf" + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=180 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, IS_MOVING_NEST=".false.,.true.", CPLFLX, CPLWAV, CPLWAV2ATM, CPL_IMP_MRG, CMEPS, USE_COLDSTART :raw-html:`

` + **Set to TRUE:** WRITE_DOPOST, EXTERNAL_IC, NGGPS_IC, REGIONAL, CPLOCN2ATM :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs default values. + - 2020-08-25 12:00:00 + - 6 + - OUTPUT_GRID=rotated_latlon, OUTPUT_GRID_2=rotated_latlon_moving :raw-html:`

` + **Grid Parameters**: INPES=6, JNPES=10, NPX=241, NPY=241, NPZ=64, NPZP=$(($NPZ + 1)), INPES_NEST02=6, JNPES_NEST02=10, NPX_NEST02=361, NPY_NEST02=361 + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_regional_hafs.nml.IN + INPUT_NEST02_NML=input_nest_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm.IN" + FV3_RUN="hafs_fv3_run.IN" + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_regional_storm_following_1nest_atm `__ + - Compare HAFS regional with 1 storm-following moving nest and atmosphere only results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_gfdlmp_tedmf" + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=180 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, IS_MOVING_NEST=".false.,.true.", CPLFLX, CPLWAV, CPLWAV2ATM, CPL_IMP_MRG, CMEPS, USE_COLDSTART :raw-html:`

` + **Set to TRUE:** EXTERNAL_IC, NGGPS_IC, REGIONAL, CPLOCN2ATM :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs default values. + - 2020-08-25 12:00:00 + - 6 + - OUTPUT_GRID=rotated_latlon, OUTPUT_GRID_2=rotated_latlon_moving :raw-html:`

` + **Grid Parameters**: INPES=6, JNPES=10, NPX=241, NPY=241, NPZ=64, NPZP=$(($NPZ + 1)), INPES_NEST02=6, JNPES_NEST02=10, NPX_NEST02=361, NPY_NEST02=361 + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_regional_hafs.nml.IN + INPUT_NEST02_NML=input_nest_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm.IN" + FV3_RUN="hafs_fv3_run.IN" + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_regional_storm_following_1nest_atm_ocn `__ + - Compare HAFS regional with 1 storm-following moving nest and atmosphere-ocean coupled results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_gfdlmp_tedmf_nonsst" + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=180 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, IS_MOVING_NEST=".false.,.true.", CPLWAV, CPLWAV2ATM, USE_COLDSTART, CDEPS_DOCN :raw-html:`

` + **Set to TRUE:** EXTERNAL_IC, NGGPS_IC, REGIONAL, CPLFLX, CPLOCN2ATM, CPL_IMP_MRG :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs_regional default values then export_hafs. + - 2020-08-25 12:00:00 + - 6 + - OUTPUT_GRID=regional_latlon, OUTPUT_GRID_2=regional_latlon_moving :raw-html:`

` + **Grid Parameters**: INPES=6, JNPES=10, NPX=241, NPY=241, NPZ=64, NPZP=$(($NPZ + 1)), INPES_NEST02=6, JNPES_NEST02=10, NPX_NEST02=361, NPY_NEST02=361 + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_regional_hafs.nml.IN + INPUT_NEST02_NML=input_nest_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm_ocn.IN" + FV3_RUN="hafs_fv3_run.IN hycom_hat10_run.IN" + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_regional_storm_following_1nest_atm_ocn_debug `__ + - Compare HAFS regional with 1 storm-following moving nest and atmosphere-ocean coupled results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_gfdlmp_tedmf_nonsst" + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=180 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, IS_MOVING_NEST=".false.,.true.", CPLWAV, CPLWAV2ATM, USE_COLDSTART, CDEPS_DOCN :raw-html:`

` + **Set to TRUE:** EXTERNAL_IC, NGGPS_IC, REGIONAL, CPLFLX, CPLOCN2ATM, CPL_IMP_MRG :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs_regional default values then export_hafs. + - 2020-08-25 12:00:00 + - 6 + - OUTPUT_GRID=regional_latlon, OUTPUT_GRID_2=regional_latlon_moving :raw-html:`

` + **Grid Parameters**: INPES=6, JNPES=10, NPX=241, NPY=241, NPZ=64, NPZP=$(($NPZ + 1)), INPES_NEST02=6, JNPES_NEST02=10, NPX_NEST02=361, NPY_NEST02=361 + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_regional_hafs.nml.IN + INPUT_NEST02_NML=input_nest_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm_ocn.IN" + FV3_RUN="hafs_fv3_run.IN hycom_hat10_run.IN" + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_regional_storm_following_1nest_atm_ocn_debug `__ + - Compare HAFS regional with 1 storm-following moving nest and atmosphere-ocean coupled results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_gfdlmp_tedmf_nonsst" + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=180 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, IS_MOVING_NEST=".false.,.true.", CPLWAV2ATM, USE_COLDSTART, CDEPS_DOCN :raw-html:`

` + **Set to TRUE:** EXTERNAL_IC, NGGPS_IC, REGIONAL, CPLFLX, CPLOCN2ATM, CPL_IMP_MRG :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs_regional default values then export_hafs. + - 2020-08-25 12:00:00 + - 6 + - OUTPUT_GRID=regional_latlon, OUTPUT_GRID_2=regional_latlon_moving :raw-html:`

` + **Grid Parameters**: INPES=$INPES_thrd, JNPES=$JNPES_thrd, INPES=6, JNPES=10, NPX=241, NPY=241, NPZ=64, NPZP=$(($NPZ + 1)) + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_regional_hafs.nml.IN + INPUT_NEST02_NML=input_nest_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm_ocn.IN" + FV3_RUN="hafs_fv3_run.IN hycom_hat10_run.IN" + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_regional_storm_following_1nest_atm_ocn_wav `__ + - Compare HAFS regional with 1 storm-following moving nest and atmosphere-ocean-wave coupled results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_gfdlmp_tedmf_nonsst" + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=180 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, IS_MOVING_NEST=".false.,.true.", CPLWAV2ATM, USE_COLDSTART, CDEPS_DOCN :raw-html:`

` + **Set to TRUE:** EXTERNAL_IC, NGGPS_IC, REGIONAL, CPLFLX, CPLOCN2ATM, CPLWAV, CPL_IMP_MRG :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs_regional default values then export_hafs. + - 2020-08-25 12:00:00 + - 6 + - OUTPUT_GRID=rotated_latlon, OUTPUT_GRID_2=rotated_latlon :raw-html:`

` + **Grid Parameters**: INPES=6, JNPES=10, NPX=241, NPY=241, NPZ=64, NPZP=$(($NPZ + 1)), INPES_NEST02=6, JNPES_NEST02=10, NPX_NEST02=361, NPY_NEST02=361 + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_regional_hafs.nml.IN + INPUT_NEST02_NML=input_nest_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm_ocn_wav.IN" + FV3_RUN="hafs_fv3_run.IN hycom_hat10_run.IN hafs_ww3_run.IN" + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" + * - `hafs_regional_telescopic_2nests_atm `__ + - Compare HAFS regional with two telescopic nests and atmosphere only results with previous trunk version + - **Suite:** CCPP_SUITE="FV3_HAFS_v1_gfdlmp_tedmf" + + **Microphysics:** IMP_PHYSICS=11 + + **Time Step:** DT_ATMOS=90 + - **Set to FALSE:** MOUNTAIN, WARM_START, FULL_ZS_FILTER, CPLFLX, CPLWAV, CPLWAV2ATM, CMEPS, USE_COLDSTART :raw-html:`

` + **Set to TRUE:** EXTERNAL_IC, NGGPS_IC, REGIONAL, CPLOCN2ATM :raw-html:`

` + **Set to VALUE:** + Also, see export_hafs default values. + - 2020-08-25 12:00:00 + - 6 + - OUTPUT_GRID=rotated_latlon, OUTPUT_GRID_2=lambert_conformal, OUTPUT_GRID_3=regional_latlon :raw-html:`

` + **Grid Parameters**: INPES=6, JNPES=10, NPX=241, NPY=241, NPZ=64, NPZP=$(($NPZ + 1)), INPES_NEST02=6, JNPES_NEST02=10, NPX_NEST02=361, NPY_NEST02=361, INPES_NEST03=6, JNPES_NEST03=10, NPX_NEST03=361, NPY_NEST03=361 + - FIELD_TABLE=field_table_hafs + DIAG_TABLE=diag_table_hafs_template + INPUT_NML=input_regional_hafs.nml.IN + INPUT_NEST02_NML=input_nest_hafs.nml.IN + INPUT_NEST03_NML=input_nest_hafs.nml.IN + MODEL_CONFIGURE="model_configure_hafs.IN" + UFS_CONFIGURE="ufs.configure.hafs_atm.IN" + FV3_RUN="hafs_fv3_run.IN" + - RESTART_INTERVAL=1, atm_omp_num_threads=2, WARM_START=.false., READ_INCREMENT=.false., RES_LATLON_DYNAMICS="'fv3_increment.nc'" +**Sample** ``CMAKE_FLAGS`` **Setting** +.. code-block:: console + + export CMAKE_FLAGS="-DAPP=HAFS" +**Supported Physics Suites** + +.. list-table:: *Physics suites used in the HAFS configurations above* + :widths: 10 50 + :header-rows: 1 + + * - Physics Suite + - Description + * - FV3_HAFS_v1_gfdlmp_tedmf + - The FV3_HAFS_v1_gfdlmp_tedmf physics suite is described in the :term:`CCPP` documentation `here `__. + * - FV3_HAFS_v1_gfdlmp_tedmf_nonsst + - The FV3_HAFS_v1_gfdlmp_tedmf_nonsst physics suite is described in the CCPP documentation `here `__. + * - FV3_HAFS_v1_thompson_tedmf_gfdlsf + - The FV3_HAFS_v1_thompson_tedmf_gfdlsf physics suite is described in the CCPP documentation `here `__. diff --git a/doc/UsersGuide/source/FAQ.rst b/doc/UsersGuide/source/FAQ.rst index 236faec8e7..939f057bd6 100644 --- a/doc/UsersGuide/source/FAQ.rst +++ b/doc/UsersGuide/source/FAQ.rst @@ -166,7 +166,7 @@ options: MOM6, CICE6 and CMEPS restart files ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -In ``nems.configure``, set the ALLCOMP_attribute ``restart_n`` to a +In ``ufs.configure``, set the ALLCOMP_attribute ``restart_n`` to a value greater than the forecast length. MOM6 history files @@ -229,11 +229,11 @@ How do I set the total number of tasks for my job? In the UFS WM, each component's MPI task information, including the starting and ending tasks and the number of threads, are specified using the component-specific ``petlist_bounds`` and -``omp_num_threads`` in ``nems.configure``. In general, the total +``omp_num_threads`` in ``ufs.configure``. In general, the total number of MPI tasks required is the sum of all the sub-component tasks, as long as those components do not overlap (i.e., share the same PETs). An example of a global 5 component coupled configuration -nems.configure at the end of this section. +ufs.configure at the end of this section. FV3atm ^^^^^^ @@ -286,7 +286,7 @@ If ESMF-managed threading is used, the total number of PETs for the atmosphere component is given by the product of the number of threads requested and the total number of MPI ranks (both forecast and write grid component). If ``num_threads_atm`` is the number of threads -specified for the FV3atm component, in ``nems.configure`` the ATM PET +specified for the FV3atm component, in ``ufs.configure`` the ATM PET bounds are given by :: @@ -295,7 +295,7 @@ bounds are given by ATM_omp_num_threads num_threads_atm Note that in UWM, the ATM component is normally listed first in -``nems.configure`` so that the starting PET for the ATM is 0. +``ufs.configure`` so that the starting PET for the ATM is 0. GOCART ^^^^^^ @@ -330,7 +330,7 @@ MPI tasks for CMEPS is given by total_tasks_med = smaller of (300, FV3atm forecast tasks) -and in ``nems.configure`` +and in ``ufs.configure`` :: @@ -342,7 +342,7 @@ MOM6 For MOM6 the only restriction currently on the number of MPI ranks used by MOM6 is that it is divisible by 2. The starting PET in -``nems.configure`` will be the last PET of the preceding component, +``ufs.configure`` will be the last PET of the preceding component, incremented by one. Threading in MOM6 is not recommended at this time. :: @@ -388,14 +388,14 @@ For the 1-deg CICE domain for example, ``ice_in`` would be In UFS, only a single thread is used for CICE so for ``nprocs`` set in -``ice_in``, the tasks in ``nems.configure`` are set as: +``ice_in``, the tasks in ``ufs.configure`` are set as: :: ICE_petlist_bounds: starting_ICE_PET nprocs+starting_ICE_PET-1 ICE_omp_num_threads: 1 -The starting ICE PET in ``nems.configure`` will be the last PET of the +The starting ICE PET in ``ufs.configure`` will be the last PET of the preceding component, incremented by one. WW3 @@ -409,20 +409,20 @@ for WW3 and the number of threads to be used. WAV_petlist_bounds: starting_WAV_PET num_tasks_wav*num_threads_wav+starting_WAV_PET-1 WAV_omp_num_threads: num_threads_wav -The starting WAV PET in ``nems.configure`` will be the last PET of the +The starting WAV PET in ``ufs.configure`` will be the last PET of the preceding component, incremented by one. -Example: 5-component nems.configure +Example: 5-component ufs.configure ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -For the fully coupled S2SWA application, a sample ``nems.configure`` is shown below : +For the fully coupled S2SWA application, a sample ``ufs.configure`` is shown below : .. code-block:: console ############################################# - #### NEMS Run-Time Configuration File ##### + #### UFS Run-Time Configuration File ##### ############################################# # ESMF # diff --git a/doc/UsersGuide/source/InputsOutputs.rst b/doc/UsersGuide/source/InputsOutputs.rst index b3b7567fda..fbf767c263 100644 --- a/doc/UsersGuide/source/InputsOutputs.rst +++ b/doc/UsersGuide/source/InputsOutputs.rst @@ -2288,7 +2288,7 @@ on the monthly, daily, hourly, yearly or timestep intervals set by the *histfreq *0* for both monthly and daily frequencies and neither yearly nor per-timestep output is requested, only 6-hour mean history files will be produced. -Further details of the configuration of CICE model output can be found in the CICE documentation `Section 3.1.4 `__. +Further details of the configuration of CICE model output can be found in the CICE documentation `Section 3.1.4 `__. .. _ww3-out: diff --git a/doc/UsersGuide/source/Introduction.rst b/doc/UsersGuide/source/Introduction.rst index 0da2908b2a..b2d86b08c1 100644 --- a/doc/UsersGuide/source/Introduction.rst +++ b/doc/UsersGuide/source/Introduction.rst @@ -47,7 +47,7 @@ The UFS WM code is portable and can be used with Linux or Mac operating systems Those wishing to contribute development to the UFS WM should become familiar with the procedures for running the model as a standalone component and for executing the regression tests described in the UFS WM GitHub `wiki `__ to make sure no inadvertent changes to the results have been introduced during the development process. -Support for the UFS WM is provided through the `UFS Forum `__ by the Developmental Testbed Center (DTC) and other groups involved in UFS development, such as NOAA's Environmental Modeling Center (:term:`EMC`), NOAA research laboratories (GFDL, NSSL, ESRL, and AOML), and :term:`NCAR`. UFS users and developers are encouraged not only to post questions, but also to help address questions posted by other members of the community. +Support for the UFS WM is provided through the `UFS Forum `__ by the Developmental Testbed Center (DTC) and other groups involved in UFS development, such as NOAA's Environmental Modeling Center (:term:`EMC`), NOAA research laboratories (GFDL, NSSL, ESRL, and AOML), and :term:`NCAR`. UFS users and developers are encouraged not only to post questions, but also to help address questions posted by other members of the community. This WM User's Guide is organized as follows: @@ -57,6 +57,8 @@ This WM User's Guide is organized as follows: * :numref:`Chapter %s ` (Data: Input, Model Configuration, and Output Files) lists the model inputs and outputs and has a description of the key files. + * :numref:`Chapter %s ` (Configurations) lists the currently supported configurations for the UFS WM. + * :numref:`Chapter %s ` (Configuration Parameters) lists the purpose and valid values for various configuration parameters. * :numref:`Chapter %s ` (Automated Testing) describes UFS WM automated testing options. diff --git a/doc/UsersGuide/source/conf.py b/doc/UsersGuide/source/conf.py index e7c00bd318..546afb385f 100644 --- a/doc/UsersGuide/source/conf.py +++ b/doc/UsersGuide/source/conf.py @@ -69,9 +69,12 @@ # The master toctree document. master_doc = 'index' -# The language for content autogenerated by Sphinx. -# Not set because default is 'en'. -# language = 'en' +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = 'en' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. diff --git a/driver/UFS.F90 b/driver/UFS.F90 index acb1bcb742..26501a124b 100644 --- a/driver/UFS.F90 +++ b/driver/UFS.F90 @@ -79,6 +79,9 @@ PROGRAM UFS TYPE(ESMF_Config) :: CF_MAIN !<-- The Configure object ! CHARACTER(ESMF_MAXSTR) :: MESSAGE_CHECK +! + CHARACTER(len=MPI_MAX_LIBRARY_VERSION_STRING) :: library_version + INTEGER :: resultlen ! INTEGER :: RC, RC_USER !<-- The running error signal ! @@ -122,7 +125,12 @@ PROGRAM UFS !*** Print subversion version and other status information. !----------------------------------------------------------------------- ! - if (mype==0) call w3tagb('ufs ',0000,0000,0000,'np23 ') + if (mype == 0) then + call w3tagb('ufs-weather-model',0,0,0,'np23') + call MPI_Get_library_version(library_version, resultlen, rc) + write(*,'(A,A)') 'MPI Library = ', library_version(1:resultlen) + write(*,'(A,I0,A,I0)')'MPI Version = ', mpi_version,'.',mpi_subversion + endif ! !----------------------------------------------------------------------- !*** Set up the default log. diff --git a/modulefiles/ufs_hera.gnu.lua b/modulefiles/ufs_hera.gnu.lua index a3913978fd..a67f41b678 100644 --- a/modulefiles/ufs_hera.gnu.lua +++ b/modulefiles/ufs_hera.gnu.lua @@ -2,9 +2,7 @@ help([[ loads UFS Model prerequisites for Hera/GNU ]]) -prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.1/envs/unified-env/install/modulefiles/Core") --- for openmpi, need -prepend_path("MODULEPATH", "/scratch1/NCEPDEV/jcsda/jedipara/spack-stack/modulefiles") +prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.1/envs/unified-env-rocky8/install/modulefiles/Core") stack_gnu_ver=os.getenv("stack_gnu_ver") or "9.2.0" load(pathJoin("stack-gcc", stack_gnu_ver)) diff --git a/modulefiles/ufs_hera.intel.lua b/modulefiles/ufs_hera.intel.lua index bad1fb0792..67a610c306 100644 --- a/modulefiles/ufs_hera.intel.lua +++ b/modulefiles/ufs_hera.intel.lua @@ -2,7 +2,7 @@ help([[ loads UFS Model prerequisites for Hera/Intel ]]) -prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.1/envs/unified-env/install/modulefiles/Core") +prepend_path("MODULEPATH", "/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.1/envs/unified-env-rocky8/install/modulefiles/Core") stack_intel_ver=os.getenv("stack_intel_ver") or "2021.5.0" load(pathJoin("stack-intel", stack_intel_ver)) diff --git a/stochastic_physics b/stochastic_physics index a556180202..31e4e3e57b 160000 --- a/stochastic_physics +++ b/stochastic_physics @@ -1 +1 @@ -Subproject commit a5561802021d89a9a1e2b52cb69393efcdc6f71c +Subproject commit 31e4e3e57bad8a7cdaa0ce2d3c4efbca63b5f74a diff --git a/tests/atparse.bash b/tests/atparse.bash index a1d9496982..5e0e8985d8 100755 --- a/tests/atparse.bash +++ b/tests/atparse.bash @@ -1,42 +1,106 @@ #! /usr/bin/env bash function atparse { - local __set_x - [ -o xtrace ] && __set_x='set -x' || __set_x='set +x' - set +x + # Usage: + # source atparse.bash # defines the "atparse" function; only do this once + # atparse [ var1=value1 [ var2=value2 [...] ] ] < input_file > output_file + # This function filters text from stdin to stdout. It scans for text sequences like: + # @[varname] + # And replaces them with the value of the corresponding ${varname} variable. + # You can provide variables that are not set in bash by providing them on the command line. + # If set -u is enabled, it will exit the process when a variable is empty or undefined via set -u. + # Use __ in names to avoid clashing with variables in {var} blocks. - local __text __before __after __during + local __text # current line of text being parsed, or the current command-line argument being parsed + local __before # all text before the next @[...] option + local __after # all text after the next @[...] option + local __during # the contents of the @[...] option, including the @[ and ] + local __set_x=":" # will be "set -x" if the calling script had that option enabled + local __set_u=":" # will be "set -u" if the calling script had that option enabled + local __set_e=":" # will be "set -e" if the calling script had that option enabled + local __abort_on_undefined=NO # YES = script should abort if a variable is undefined, NO otherwise + + # Ensure "set -x -e -u" are all inactive, but remember if they + # were active so we can reset them later. + if [[ -o xtrace ]] ; then + __set_x="set -x" + fi + if [[ -o errexit ]] ; then + __set_e="set -e" + fi + if [[ -o nounset ]] ; then + __set_u="set -u" + __abort_on_undefined=YES + fi + set +eux + + # Allow setting variables on the atparse command line rather than the environment. + # They will be local variables in this function. for __text in "$@" ; do if [[ $__text =~ ^([a-zA-Z][a-zA-Z0-9_]*)=(.*)$ ]] ; then eval "local ${BASH_REMATCH[1]}" eval "${BASH_REMATCH[1]}="'"${BASH_REMATCH[2]}"' else - echo "ERROR: Ignoring invalid argument $__text\n" 1>&2 + echo "ERROR: Ignoring invalid argument $__text" 1>&2 fi done - while IFS= read -r __text ; do + + # Loop over all lines of text. + while [[ 1 == 1 ]] ; do + # Read the next line of text. This will "fail" if no more text + # is left OR if the last line lacks an end-of-line character. + read -d '' -r __text + + # Stop when "read" reports it is done ($? -ne 0) AND the text is + # non-empty (! -n "$__text"). This ensures we read the final line + # even if it lacks an end-of-line character. + if [[ $? -ne 0 ]] ; then + if [[ -n "$__text" ]] ; then + # Text remained, but it had no end-of-line. + : + else + break + fi + fi + # Search for strings like @[varname] or @['string'] or @[@] while [[ "$__text" =~ ^([^@]*)(@\[[a-zA-Z_][a-zA-Z_0-9]*\]|@\[\'[^\']*\'\]|@\[@\]|@)(.*) ]] ; do __before="${BASH_REMATCH[1]}" __during="${BASH_REMATCH[2]}" __after="${BASH_REMATCH[3]}" -# printf 'PARSE[%s|%s|%s]\n' "$__before" "$__during" "$__after" printf %s "$__before" + # @['string'] inserts string if [[ "$__during" =~ ^@\[\'(.*)\'\]$ ]] ; then printf %s "${BASH_REMATCH[1]}" + # @[@] inserts @ elif [[ "$__during" == '@[@]' ]] ; then printf @ + # @[varname] inserts $varname elif [[ "$__during" =~ ^@\[([a-zA-Z_][a-zA-Z_0-9]*)\] ]] ; then + # Flag unknown variables at this step only. + if [[ ${__abort_on_undefined} == YES ]] ; then + set -u + fi eval 'printf %s "$'"${BASH_REMATCH[1]}"'"' + if [[ ${__abort_on_undefined} == YES ]] ; then + set +u + fi + # Unrecognized sequences are inserted verbatim. else printf '%s' "$__during" fi + # Continue until we run out of text in this line. if [[ "$__after" == "$__text" ]] ; then break fi __text="$__after" done + # Print the corrected text printf '%s\n' "$__text" done + + # Restore the calling script's shell options. eval "$__set_x" + eval "$__set_u" + eval "$__set_e" } function test_atparse { @@ -45,14 +109,18 @@ function test_atparse { testvar='[testvar]' var1='[var1]' var2='[var2]' - cat<<\EOF | atparse var3='**' + var4='[var4]' + ( cat<<\EOF ; echo -n "line with no end-of-line character [var4] = @[var4]" ) | atparse var3='**' Nothing special here. = @['Nothing special here.'] [testvar] = @[testvar] [var1] [var2] = @[var1] @[var2] ** = @[var3] +[var4] == @[var4] @ = @[@] = @['@'] +@[undefined_variable_that_should_exit_script_if_set_minus_u_is_used] -n eval "export PE$c=\${PE$c:-0}" = @[' eval "export PE$c=\${PE$c:-0}"'] EOF + echo " ... this text should be on the same line as the line with no end-of-line character" echo "After block, \$var3 = \"$var3\" should be empty" } diff --git a/tests/bl_date.conf b/tests/bl_date.conf index 3aa4f1969a..d10f180066 100644 --- a/tests/bl_date.conf +++ b/tests/bl_date.conf @@ -1 +1 @@ -export BL_DATE=20240312 +export BL_DATE=20240417 diff --git a/tests/ci/Jenkinsfile.combined b/tests/ci/Jenkinsfile.combined index 38c9efc589..47fb97ec73 100644 --- a/tests/ci/Jenkinsfile.combined +++ b/tests/ci/Jenkinsfile.combined @@ -258,6 +258,8 @@ pipeline { agent none environment { ACCNR = 'epic' + AWS_PROD_ACCOUNT_ID = credentials('AWS_PROD_ACCOUNT_ID') + AWS_PROD_SNS_TOPIC = credentials('AWS_PROD_SNS_TOPIC') GITHUB_TOKEN = credentials('GithubJenkinsNew') GIT_URL = 'https://github.com/ufs-community/ufs-weather-model.git' } @@ -285,7 +287,7 @@ pipeline { node('built-in') { echo 'This will run only if successful.' sh ''' - aws sns publish --topic-arn "arn:aws:sns:us-east-1:211527314271:Jenkins-CICD-Notifications" --region us-east-1 --message '{"version":"1.0","source":"custom","content":{"description":":sunny: Jenkins build *'"$JOB_NAME"' '"$BUILD_NUMBER"'* with *PR-'"$CHANGE_ID"'* *succeeded*"}}' + aws sns publish --topic-arn "arn:aws:sns:us-east-1:${AWS_PROD_ACCOUNT_ID}:${AWS_PROD_SNS_TOPIC}" --region us-east-1 --message '{"version":"1.0","source":"custom","content":{"description":":sunny: Jenkins build *'"$JOB_NAME"' '"$BUILD_NUMBER"'* with *PR-'"$CHANGE_ID"'* *succeeded*"}}' ''' } } @@ -293,7 +295,7 @@ pipeline { node('built-in') { echo 'This will run only if the run was marked as unstable.' sh ''' - aws sns publish --topic-arn "arn:aws:sns:us-east-1:211527314271:Jenkins-CICD-Notifications" --region us-east-1 --message '{"version":"1.0","source":"custom","content":{"description":":warning: Jenkins build *'"$JOB_NAME"' '"$BUILD_NUMBER"'* with *PR-'"$CHANGE_ID"'* *failed!*"}}' + aws sns publish --topic-arn "arn:aws:sns:us-east-1:${AWS_PROD_ACCOUNT_ID}:${AWS_PROD_SNS_TOPIC}" --region us-east-1 --message '{"version":"1.0","source":"custom","content":{"description":":warning: Jenkins build *'"$JOB_NAME"' '"$BUILD_NUMBER"'* with *PR-'"$CHANGE_ID"'* *failed!*"}}' ''' } } diff --git a/tests/ci/repo_check.sh b/tests/ci/repo_check.sh index fe42ac0403..7f5deb31c8 100755 --- a/tests/ci/repo_check.sh +++ b/tests/ci/repo_check.sh @@ -1,111 +1,113 @@ #!/bin/bash -set -eu - -# This script checks if head repo of PR is up to date with ufs-weather-model develop -# Checks for top level (ufs-weather-model) and next level components (submodules) -result() { - if [[ -n $comment ]]; then - logID=$1 - comment="@$logID please bring these up to date with respective authoritative repositories\n"$comment - printf %s "$comment" - #exit 1 - fi +#set -eu + +get_shas () { + cwd=$(pwd) + # Get sha-1's of the top of develop and feature branches + app="Accept: application/vnd.github.v3+json" + url=$1 + gitapi=$2 + branch=$3 + base_sha=$(curl -sS -H "$app" $gitapi | jq -r '.commit.sha') + workspace=$4 + cd $workspace + git remote add upstream $url + git fetch -q upstream $branch + common=$(git merge-base $base_sha @) + echo $common $base_sha $workspace + if [[ $common != $base_sha ]]; then + printf "%s\n\n" "** $workspace **NOT** up to date" + flag_sync=false + fi + cd $cwd } -# Declare variables -declare -A base fv3 mom6 cice ww3 stoch gocart cmeps cdeps hycom cmake ccpp-framework ccpp-physics upp atmos_cubed_sphere -submodules="fv3 mom6 cice ww3 stoch gocart cmeps cdeps hycom cmake ccpp-framework ccpp-physics upp atmos_cubed_sphere" -comment='' -ownerID=$1 - -# Base branch: this is the top of develop of ufs-weather-model -base[repo]='https://github.com/ufs-community/ufs-weather-model' -base[branch]='develop' - -# Submodules to check -fv3[repo]='https://github.com/NOAA-EMC/fv3atm' -fv3[branch]='develop' -fv3[dir]='FV3' - -mom6[repo]='https://github.com/NOAA-EMC/MOM6' -mom6[branch]='dev/emc' -mom6[dir]='MOM6-interface/MOM6' - -cice[repo]='https://github.com/NOAA-EMC/CICE' -cice[branch]='emc/develop' -cice[dir]='CICE-interface/CICE' - -ww3[repo]='https://github.com/NOAA-EMC/WW3' -ww3[branch]='dev/ufs-weather-model' -ww3[dir]='WW3' - -stoch[repo]='https://github.com/noaa-psl/stochastic_physics' -stoch[branch]='master' -stoch[dir]='stochastic_physics' - -gocart[repo]='https://github.com/GEOS-ESM/GOCART' -gocart[branch]='main' -gocart[dir]='GOCART' - -cmeps[repo]='https://github.com/NOAA-EMC/CMEPS' -cmeps[branch]='emc/develop' -cmeps[dir]='CMEPS-interface/CMEPS' - -cdeps[repo]='https://github.com/NOAA-EMC/CDEPS' -cdeps[branch]='develop' -cdeps[dir]='CDEPS-interface/CDEPS' - -hycom[repo]='https://github.com/NOAA-EMC/HYCOM-src' -hycom[branch]='emc/develop' -hycom[dir]='HYCOM-interface/HYCOM' - -cmake[repo]='https://github.com/NOAA-EMC/CMakeModules' -cmake[branch]='develop' -cmake[dir]='CMakeModules' - -ccpp-framework[repo]='https://github.com/NCAR/ccpp-framework' -ccpp-framework[branch]='main' -ccpp-framework[dir]='ccpp/framework' - -ccpp-physics[repo]='https://github.com/ufs-community/ccpp-physics' -ccpp-physics[branch]='ufs/dev' -ccpp-physics[dir]='ccpp/physics' - -upp[repo]='https://github.com/NOAA-EMC/UPP' -upp[branch]='develop' -upp[dir]='upp' - -atmos_cubed_sphere[repo]='https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere' -atmos_cubed_sphere[branch]='main' -atmos_cubed_sphere[dir]='atmos_cubed_sphere' - -# Get sha-1's of the top of develop of ufs-weather-model -app="Accept: application/vnd.github.v3+json" -url="https://api.github.com/repos/ufs-community/ufs-weather-model/branches/develop" -base[sha]=$(curl -sS -H "$app" $url | jq -r '.commit.sha') +flag_sync=true + +declare -A urls branches pathes +submodules="base fv3 mom6 cice ww3 stoch cmeps cdeps hycom ccpp_physics aqm noahmp cubed_sphere" + +urls[base]='https://github.com/ufs-community/ufs-weather-model' +branches[base]='develop' +pathes[base]='' + +urls[fv3]='https://github.com/NOAA-EMC/fv3atm' +branches[fv3]='develop' +pathes[fv3]='FV3' + +urls[mom6]='https://github.com/NOAA-EMC/MOM6' +branches[mom6]='dev/emc' +pathes[mom6]='MOM6-interface/MOM6' + +urls[cice]='https://github.com/NOAA-EMC/CICE' +branches[cice]='emc/develop' +pathes[cice]='CICE-interface/CICE' + +urls[ww3]='https://github.com/NOAA-EMC/WW3' +branches[ww3]='dev/ufs-weather-model' +pathes[ww3]='WW3' + +urls[stoch]='https://github.com/noaa-psl/stochastic_physics' +branches[stoch]='master' +pathes[stoch]='stochastic_physics' + +urls[gocart]='https://github.com/GEOS-ESM/GOCART' +branches[gocart]='develop' +pathes[gocart]='GOCART' + +urls[cmeps]='https://github.com/NOAA-EMC/CMEPS' +branches[cmeps]='emc/develop' +pathes[cmeps]='CMEPS-interface/CMEPS' + +urls[cdeps]='https://github.com/NOAA-EMC/CDEPS' +branches[cdeps]='develop' +pathes[cdeps]='CDEPS-interface/CDEPS' + +urls[hycom]='https://github.com/NOAA-EMC/HYCOM-src' +branches[hycom]='emc/develop' +pathes[hycom]='HYCOM-interface/HYCOM' + +urls[cmake]='https://github.com/NOAA-EMC/CMakeModules' +branches[cmake]='develop' +pathes[cmake]='CMakeModules' + +urls[ccpp_physics]='https://github.com/ufs-community/ccpp-physics' +branches[ccpp_physics]='ufs/dev' +pathes[ccpp_physics]='FV3/ccpp/physics' + +urls[ccpp_framework]='https://github.com/NCAR/ccpp-framework' +branches[ccpp_framework]='main' +pathes[ccpp_framework]='FV3/ccpp/framework' + +urls[aqm]='https://github.com/NOAA-EMC/AQM' +branches[aqm]='develop' +pathes[aqm]='AQM' + +urls[noahmp]='https://github.com/NOAA-EMC/noahmp' +branches[noahmp]='develop' +pathes[noahmp]='NOAHMP-interface/noahmp' + +#urls[upp]='https://github.com/NOAA-EMC/UPP' +#branches[upp]='develop' +#pathes[upp]='upp' + +urls[cubed_sphere]='https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere' +branches[cubed_sphere]='dev/emc' +pathes[cubed_sphere]='FV3/atmos_cubed_sphere' + for submodule in $submodules; do - eval url=https://api.github.com/repos/ufs-community/ufs-weather-model/contents/'${'$submodule'[dir]}' - eval $submodule'[sha]=$(curl -sS -H "$app" $url | jq -r '.sha')' + url=${urls[$submodule]} + branch=${branches[$submodule]} + workspace=${GITHUB_WORKSPACE}'/'${pathes[$submodule]} + gitapi=$(echo "$url" | sed 's/github.com/api.github.com\/repos/g')'/branches/'$branch + get_shas $url $gitapi $branch $workspace done -# Check if the head branch is up to date with the base branch -cd ${GITHUB_WORKSPACE} -git remote add upstream ${base[repo]} -git fetch -q upstream ${base[branch]} -common=$(git merge-base ${base[sha]} @) -if [[ $common != ${base[sha]} ]]; then - comment="* ufs-weather-model **NOT** up to date\n" +if [[ ! $flag_sync ]]; then + echo "** ${GITHUB_WORKSPACE} **NOT** up to date" + exit 1 fi -for submodule in $submodules; do - eval cd ${GITHUB_WORKSPACE}/'${'$submodule'[dir]}' - eval git remote add upstream '${'$submodule'[repo]}' - eval git fetch -q upstream '${'$submodule'[branch]}' - common=$(eval git merge-base '${'$submodule'[sha]}' @) - if (eval test $common != '${'$submodule'[sha]}'); then - comment+="* $submodule **NOT** up to date\n" - fi -done +echo "** ${GITHUB_WORKSPACE} up to date **" -result $ownerID exit 0 diff --git a/tests/compile.sh b/tests/compile.sh index 3cf536428b..458d985a88 100755 --- a/tests/compile.sh +++ b/tests/compile.sh @@ -7,73 +7,82 @@ function trim { var="${var#"${var%%[![:space:]]*}"}" # remove trailing whitespace characters var="${var%"${var##*[![:space:]]}"}" - echo -n "$var" + echo -n "${var}" } SECONDS=0 -if [[ $(uname -s) == Darwin ]]; then - readonly MYDIR=$(cd "$(dirname "$(greadlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P) +uname_s=$(uname -s) +if [[ ${uname_s} == Darwin ]]; then + greadlnk=$(greadlink -f -n "${BASH_SOURCE[0]}" ) + MYDIR=$(cd "$(dirname "${greadlnk}" )" && pwd -P) else - readonly MYDIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P) + readlnk=$(readlink -f -n "${BASH_SOURCE[0]}" ) + MYDIR=$(cd "$(dirname "${readlnk}" )" && pwd -P) fi +readonly MYDIR # ---------------------------------------------------------------------- # Parse arguments. readonly ARGC=$# -if [[ $ARGC -lt 2 ]]; then - echo "Usage: $0 MACHINE_ID [ MAKE_OPT [ COMPILE_ID ] [ RT_COMPILER ] [ clean_before ] [ clean_after ] ]" +if [[ ${ARGC} -lt 2 ]]; then + echo "Usage: $0 MACHINE_ID [ MAKE_OPT ] [ COMPILE_ID ] [ RT_COMPILER ] [ clean_before ] [ clean_after ]" echo Valid MACHINE_IDs: - echo $( ls -1 ../cmake/configure_* | sed s:.*configure_::g | sed s:\.cmake:: ) | fold -sw72 + echostuff=$( ls -1 ../cmake/configure_* ) + echostuff=${echostuff/:.*configure_::g} + echostuff=${echostuff/:\.cmake::} + echostuff=$( fold -sw72 <<< "${echostuff}" ) exit 1 else MACHINE_ID=$1 MAKE_OPT=${2:-} - COMPILE_ID=${3:+_$3} + COMPILE_ID=${3:+$3} RT_COMPILER=${4:-intel} clean_before=${5:-YES} clean_after=${6:-YES} fi -BUILD_NAME=fv3${COMPILE_ID} +BUILD_NAME=fv3_${COMPILE_ID} -PATHTR=${PATHTR:-$( cd ${MYDIR}/.. && pwd )} +PATHTR=${PATHTR:-$( cd "${MYDIR}/.." && pwd )} BUILD_DIR=${BUILD_DIR:-$(pwd)/build_${BUILD_NAME}} # ---------------------------------------------------------------------- # Make sure we have reasonable number of threads. -if [[ $MACHINE_ID == derecho ]]; then +if [[ ${MACHINE_ID} == derecho ]]; then BUILD_JOBS=${BUILD_JOBS:-3} fi BUILD_JOBS=${BUILD_JOBS:-8} -hostname +#hostname set +x -if [[ $MACHINE_ID == macosx ]] || [[ $MACHINE_ID == linux ]]; then - source $PATHTR/modulefiles/ufs_${MACHINE_ID}.${RT_COMPILER} -else - # Activate lua environment for gaea c5 - if [[ $MACHINE_ID == gaea ]]; then - module reset - fi - # Load fv3 module - module use $PATHTR/modulefiles - modulefile="ufs_${MACHINE_ID}.${RT_COMPILER}" - module load $modulefile - module list -fi +case ${MACHINE_ID} in + macosx|linux) + source "${PATHTR}/modulefiles/ufs_${MACHINE_ID}.${RT_COMPILER}" + ;; + *) + # Activate lua environment for gaea c5 + if [[ ${MACHINE_ID} == gaea ]]; then + module reset + fi + # Load fv3 module + module use "${PATHTR}/modulefiles" + modulefile="ufs_${MACHINE_ID}.${RT_COMPILER}" + module load "${modulefile}" + module list +esac set -x -echo "Compiling ${MAKE_OPT} into $BUILD_NAME.exe on $MACHINE_ID" +echo "Compiling ${MAKE_OPT} into ${BUILD_NAME}.exe on ${MACHINE_ID}" # set CMAKE_FLAGS based on $MAKE_OPT -CMAKE_FLAGS=$MAKE_OPT +CMAKE_FLAGS=${MAKE_OPT} CMAKE_FLAGS+=" -DMPI=ON" if [[ ${MAKE_OPT} == *-DDEBUG=ON* ]]; then @@ -87,15 +96,11 @@ fi # Check if suites argument is provided or not set +ex -TEST=$( echo $MAKE_OPT | grep -e "-DCCPP_SUITES=" ) -if [[ $? -eq 0 ]]; then - SUITES=$( echo $MAKE_OPT | sed 's/.*-DCCPP_SUITES=//' | sed 's/ .*//' ) - echo "Compiling suites ${SUITES}" -fi +SUITES=$(grep -Po "\-DCCPP_SUITES=\K[^ ]*" <<< "${MAKE_OPT}") +export SUITES set -ex # Valid applications - if [[ "${MAKE_OPT}" == *"-DAPP=S2S"* ]]; then CMAKE_FLAGS+=" -DMOM6SOLO=ON" fi @@ -104,31 +109,27 @@ if [[ "${MAKE_OPT}" == *"-DAPP=NG-GODAS"* ]]; then CMAKE_FLAGS+=" -DMOM6SOLO=ON" fi -CMAKE_FLAGS=$(trim "${CMAKE_FLAGS}") +CMAKE_FLAGS=$(set -e; trim "${CMAKE_FLAGS}") echo "CMAKE_FLAGS = ${CMAKE_FLAGS}" -if [ $clean_before = YES ] ; then - rm -rf ${BUILD_DIR} -fi +[[ ${clean_before} = YES ]] && rm -rf "${BUILD_DIR}" export BUILD_VERBOSE=1 export BUILD_DIR export BUILD_JOBS export CMAKE_FLAGS -bash -x ${PATHTR}/build.sh +bash -x "${PATHTR}/build.sh" -mv ${BUILD_DIR}/ufs_model ${PATHTR}/tests/${BUILD_NAME}.exe -if [[ $MACHINE_ID == linux ]]; then - cp ${PATHTR}/modulefiles/ufs_${MACHINE_ID}.${RT_COMPILER} ${PATHTR}/tests/modules.${BUILD_NAME} +mv "${BUILD_DIR}/ufs_model" "${PATHTR}/tests/${BUILD_NAME}.exe" +if [[ ${MACHINE_ID} == linux ]]; then + cp "${PATHTR}/modulefiles/ufs_${MACHINE_ID}.${RT_COMPILER}" "${PATHTR}/tests/modules.${BUILD_NAME}" else - cp ${PATHTR}/modulefiles/ufs_${MACHINE_ID}.${RT_COMPILER}.lua ${PATHTR}/tests/modules.${BUILD_NAME}.lua + cp "${PATHTR}/modulefiles/ufs_${MACHINE_ID}.${RT_COMPILER}.lua" "${PATHTR}/tests/modules.${BUILD_NAME}.lua" fi -if [ $clean_after = YES ] ; then - rm -rf ${BUILD_DIR} -fi +[[ ${clean_after} == YES ]] && rm -rf "${BUILD_DIR}" -elapsed=$SECONDS -echo "Elapsed time $elapsed seconds. Compiling ${CMAKE_FLAGS} finished" -echo "Compile ${COMPILE_ID/#_} elapsed time $elapsed seconds. ${CMAKE_FLAGS}" > compile${COMPILE_ID}_time.log +elapsed=${SECONDS} +echo "Elapsed time ${elapsed} seconds. Compiling ${CMAKE_FLAGS} finished" +echo "Compile ${COMPILE_ID} elapsed time ${elapsed} seconds. ${CMAKE_FLAGS}" > "compile_${COMPILE_ID}_time.log" diff --git a/tests/default_vars.sh b/tests/default_vars.sh index 78733a678d..7bbbd3652f 100755 --- a/tests/default_vars.sh +++ b/tests/default_vars.sh @@ -1,4 +1,4 @@ - +#!/bin/bash ############################################################################### # # Export variables to the default values @@ -9,285 +9,400 @@ THRD=1 - INPES_atmaero=4; JNPES_atmaero=8; WPG_atmaero=6 - - THRD_cpl_atmw=1 - INPES_cpl_atmw=3; JNPES_cpl_atmw=8; WPG_cpl_atmw=6 - WAV_tasks_cpl_atmw=30 - WAV_thrds_cpl_atmw=1 - - THRD_cpl_c48=1 - INPES_cpl_c48=1; JNPES_cpl_c48=1; WPG_cpl_c48=6 - OCN_tasks_cpl_c48=4 - ICE_tasks_cpl_c48=4 - - THRD_cpl_dflt=1 - INPES_cpl_dflt=3; JNPES_cpl_dflt=8; WPG_cpl_dflt=6 - OCN_tasks_cpl_dflt=20 - ICE_tasks_cpl_dflt=10 - WAV_tasks_cpl_dflt=20 - - THRD_cpl_thrd=2 - INPES_cpl_thrd=3; JNPES_cpl_thrd=4; WPG_cpl_thrd=6 - OCN_tasks_cpl_thrd=20 - OCN_thrds_cpl_thrd=1 - ICE_tasks_cpl_thrd=10 - ICE_thrds_cpl_thrd=1 - WAV_tasks_cpl_thrd=12 - WAV_thrds_cpl_thrd=2 - - THRD_cpl_dcmp=1 - INPES_cpl_dcmp=4; JNPES_cpl_dcmp=6; WPG_cpl_dcmp=6 - OCN_tasks_cpl_dcmp=20 - ICE_tasks_cpl_dcmp=10 - WAV_tasks_cpl_dcmp=20 - - THRD_cpl_mpi=1 - INPES_cpl_mpi=4; JNPES_cpl_mpi=8; WPG_cpl_mpi=6 - OCN_tasks_cpl_mpi=34 - ICE_tasks_cpl_mpi=20 - WAV_tasks_cpl_mpi=28 - - THRD_cpl_bmrk=2 - INPES_cpl_bmrk=8; JNPES_cpl_bmrk=8; WPG_cpl_bmrk=48 - OCN_tasks_cpl_bmrk=120 - OCN_thrds_cpl_bmrk=1 - ICE_tasks_cpl_bmrk=48 - ICE_thrds_cpl_bmrk=1 - WAV_tasks_cpl_bmrk=80 - WAV_thrds_cpl_bmrk=2 - - THRD_cpl_c192=2 - INPES_cpl_c192=6; JNPES_cpl_c192=8; WPG_cpl_c192=12 - OCN_tasks_cpl_c192=60 - ICE_tasks_cpl_c192=24 - WAV_tasks_cpl_c192=80 - - ATM_compute_tasks_cdeps_100=12 - OCN_tasks_cdeps_100=16 - ICE_tasks_cdeps_100=12 - - ATM_compute_tasks_cdeps_025=40 - OCN_tasks_cdeps_025=120 - ICE_tasks_cdeps_025=48 - - INPES_aqm=33; JNPES_aqm=8 - - THRD_cpl_unstr=1 - INPES_cpl_unstr=3; JNPES_cpl_unstr=8; WPG_cpl_unstr=6 - OCN_tasks_cpl_unstr=20 - ICE_tasks_cpl_unstr=10 - WAV_tasks_cpl_unstr=60 - - THRD_cpl_unstr_mpi=1 - INPES_cpl_unstr_mpi=4; JNPES_cpl_unstr_mpi=8; WPG_cpl_unstr_mpi=6 - OCN_tasks_cpl_unstr_mpi=34 - ICE_tasks_cpl_unstr_mpi=20 - WAV_tasks_cpl_unstr_mpi=50 - - aqm_omp_num_threads=1 - atm_omp_num_threads=1 - chm_omp_num_threads=1 - ice_omp_num_threads=1 - lnd_omp_num_threads=1 - med_omp_num_threads=1 - ocn_omp_num_threads=1 - wav_omp_num_threads=1 - -if [[ $MACHINE_ID = wcoss2 || $MACHINE_ID = acorn ]]; then - - TPN=128 - - INPES_dflt=3 ; JNPES_dflt=8 - INPES_thrd=3 ; JNPES_thrd=4 - INPES_c384=8 ; JNPES_c384=6 ; THRD_c384=2 - INPES_c768=8 ; JNPES_c768=16 ; THRD_c768=2 - - THRD_cpl_atmw_gdas=2 - INPES_cpl_atmw_gdas=6; JNPES_cpl_atmw_gdas=8; WPG_cpl_atmw_gdas=24 - WAV_tasks_atmw_gdas=248 - -elif [[ $MACHINE_ID = orion ]]; then - - TPN=40 - - INPES_dflt=3 ; JNPES_dflt=8 - INPES_thrd=3 ; JNPES_thrd=4 - INPES_c384=8 ; JNPES_c384=6 ; THRD_c384=2 - INPES_c768=8 ; JNPES_c768=16 ; THRD_c768=2 - - THRD_cpl_atmw_gdas=2 - INPES_cpl_atmw_gdas=6; JNPES_cpl_atmw_gdas=8; WPG_cpl_atmw_gdas=24 - WAV_tasks_atmw_gdas=248 - -elif [[ $MACHINE_ID = hercules ]]; then - - TPN=80 - - INPES_dflt=3 ; JNPES_dflt=8 - INPES_thrd=3 ; JNPES_thrd=4 - INPES_c384=8 ; JNPES_c384=6 ; THRD_c384=2 - INPES_c768=8 ; JNPES_c768=16 ; THRD_c768=2 - - THRD_cpl_atmw_gdas=2 - INPES_cpl_atmw_gdas=6; JNPES_cpl_atmw_gdas=8; WPG_cpl_atmw_gdas=24 - WAV_tasks_atmw_gdas=248 - - -elif [[ $MACHINE_ID = hera ]]; then - - TPN=40 - - INPES_dflt=3 ; JNPES_dflt=8 - INPES_thrd=3 ; JNPES_thrd=4 - INPES_c384=6 ; JNPES_c384=8 ; THRD_c384=2 - INPES_c768=8 ; JNPES_c768=16 ; THRD_c768=4 - - THRD_cpl_atmw_gdas=2 - INPES_cpl_atmw_gdas=6; JNPES_cpl_atmw_gdas=8; WPG_cpl_atmw_gdas=24 - WAV_tasks_atmw_gdas=248 - -elif [[ $MACHINE_ID = linux ]]; then - - TPN=40 - - INPES_dflt=3 ; JNPES_dflt=8 - INPES_thrd=3 ; JNPES_thrd=4 - - THRD_cpl_dflt=1 - INPES_cpl_dflt=3; JNPES_cpl_dflt=8; WPG_cpl_dflt=6 - OCN_tasks_cpl_dflt=20 - ICE_tasks_cpl_dflt=10 - WAV_tasks_cpl_dflt=20 - - THRD_cpl_thrd=2 - INPES_cpl_thrd=3; JNPES_cpl_thrd=4; WPG_cpl_thrd=6 - OCN_tasks_cpl_thrd=20 - ICE_tasks_cpl_thrd=10 - WAV_tasks_cpl_thrd=12 - -elif [[ $MACHINE_ID = jet ]]; then - - TPN=24 - - INPES_dflt=3 ; JNPES_dflt=8 - INPES_thrd=3 ; JNPES_thrd=4 - INPES_c384=6 ; JNPES_c384=12 ; THRD_c384=1 - INPES_c768=8 ; JNPES_c768=16 ; THRD_c768=2 - WRTTASK_PER_GROUP_c384=84 - WRTTASK_PER_GROUP_c384gdas=88 - - THRD_cpl_atmw_gdas=2 - INPES_cpl_atmw_gdas=6; JNPES_cpl_atmw_gdas=8; WPG_cpl_atmw_gdas=24 - WAV_tasks_atmw_gdas=240 + export INPES_atmaero=4 + export JNPES_atmaero=8 + export WPG_atmaero=6 + + export THRD_cpl_atmw=1 + export INPES_cpl_atmw=3 + export JNPES_cpl_atmw=8 + export WPG_cpl_atmw=6 + export WAV_tasks_cpl_atmw=30 + export WAV_thrds_cpl_atmw=1 + + export THRD_cpl_c48=1 + export INPES_cpl_c48=1 + export JNPES_cpl_c48=1 + export WPG_cpl_c48=6 + export OCN_tasks_cpl_c48=4 + export ICE_tasks_cpl_c48=4 + + export THRD_cpl_dflt=1 + export INPES_cpl_dflt=3 + export JNPES_cpl_dflt=8; + export WPG_cpl_dflt=6 + export OCN_tasks_cpl_dflt=20 + export ICE_tasks_cpl_dflt=10 + export WAV_tasks_cpl_dflt=20 + + export THRD_cpl_thrd=2 + export INPES_cpl_thrd=3 + export JNPES_cpl_thrd=4 + export WPG_cpl_thrd=6 + export OCN_tasks_cpl_thrd=20 + export OCN_thrds_cpl_thrd=1 + export ICE_tasks_cpl_thrd=10 + export ICE_thrds_cpl_thrd=1 + export WAV_tasks_cpl_thrd=12 + export WAV_thrds_cpl_thrd=2 + + export THRD_cpl_dcmp=1 + export INPES_cpl_dcmp=4 + export JNPES_cpl_dcmp=6 + export WPG_cpl_dcmp=6 + export OCN_tasks_cpl_dcmp=20 + export ICE_tasks_cpl_dcmp=10 + export WAV_tasks_cpl_dcmp=20 + + export THRD_cpl_mpi=1 + export INPES_cpl_mpi=4 + export JNPES_cpl_mpi=8 + export WPG_cpl_mpi=6 + export OCN_tasks_cpl_mpi=34 + export ICE_tasks_cpl_mpi=20 + export WAV_tasks_cpl_mpi=28 + + export THRD_cpl_bmrk=2 + export INPES_cpl_bmrk=8 + export JNPES_cpl_bmrk=8 + export WPG_cpl_bmrk=48 + export OCN_tasks_cpl_bmrk=120 + export OCN_thrds_cpl_bmrk=1 + export ICE_tasks_cpl_bmrk=48 + export ICE_thrds_cpl_bmrk=1 + export WAV_tasks_cpl_bmrk=80 + export WAV_thrds_cpl_bmrk=2 + + export THRD_cpl_c192=2 + export INPES_cpl_c192=6 + export JNPES_cpl_c192=8 + export WPG_cpl_c192=12 + export OCN_tasks_cpl_c192=60 + export ICE_tasks_cpl_c192=24 + export WAV_tasks_cpl_c192=80 + + export ATM_compute_tasks_cdeps_100=12 + export OCN_tasks_cdeps_100=16 + export ICE_tasks_cdeps_100=12 + + export ATM_compute_tasks_cdeps_025=40 + export OCN_tasks_cdeps_025=120 + export ICE_tasks_cdeps_025=48 + + export INPES_aqm=33 + export JNPES_aqm=8 + + export THRD_cpl_unstr=1 + export INPES_cpl_unstr=3 + export JNPES_cpl_unstr=8 + export WPG_cpl_unstr=6 + export OCN_tasks_cpl_unstr=20 + export ICE_tasks_cpl_unstr=10 + export WAV_tasks_cpl_unstr=60 + + export THRD_cpl_unstr_mpi=1 + export INPES_cpl_unstr_mpi=4 + export JNPES_cpl_unstr_mpi=8 + export WPG_cpl_unstr_mpi=6 + export OCN_tasks_cpl_unstr_mpi=34 + export ICE_tasks_cpl_unstr_mpi=20 + export WAV_tasks_cpl_unstr_mpi=50 + + export aqm_omp_num_threads=1 + export atm_omp_num_threads=1 + export chm_omp_num_threads=1 + export ice_omp_num_threads=1 + export lnd_omp_num_threads=1 + export med_omp_num_threads=1 + export ocn_omp_num_threads=1 + export wav_omp_num_threads=1 + +if [[ ${MACHINE_ID} = wcoss2 || ${MACHINE_ID} = acorn ]]; then + + export TPN=128 + + export INPES_dflt=3 + export JNPES_dflt=8 + export INPES_thrd=3 + export JNPES_thrd=4 + export INPES_c384=8 + export JNPES_c384=6 + export THRD_c384=2 + export INPES_c768=8 + export JNPES_c768=16 + export THRD_c768=2 + + export THRD_cpl_atmw_gdas=2 + export INPES_cpl_atmw_gdas=6 + export JNPES_cpl_atmw_gdas=8 + export WPG_cpl_atmw_gdas=24 + export WAV_tasks_atmw_gdas=248 + +elif [[ ${MACHINE_ID} = orion ]]; then + + export TPN=40 + + export INPES_dflt=3 + export JNPES_dflt=8 + export INPES_thrd=3 + export JNPES_thrd=4 + export INPES_c384=8 + export JNPES_c384=6 + export THRD_c384=2 + export INPES_c768=8 + export JNPES_c768=16 + export THRD_c768=2 + + export THRD_cpl_atmw_gdas=2 + export INPES_cpl_atmw_gdas=6 + export JNPES_cpl_atmw_gdas=8 + export WPG_cpl_atmw_gdas=24 + export WAV_tasks_atmw_gdas=248 + +elif [[ ${MACHINE_ID} = hercules ]]; then + + export TPN=80 + + export INPES_dflt=3 + export JNPES_dflt=8 + export INPES_thrd=3 + export JNPES_thrd=4 + export INPES_c384=8 + export JNPES_c384=6 + export THRD_c384=2 + export INPES_c768=8 + export JNPES_c768=16 + export THRD_c768=2 + + export THRD_cpl_atmw_gdas=2 + export INPES_cpl_atmw_gdas=6 + export JNPES_cpl_atmw_gdas=8 + export WPG_cpl_atmw_gdas=24 + export WAV_tasks_atmw_gdas=248 + + +elif [[ ${MACHINE_ID} = hera ]]; then + + export TPN=40 + + export INPES_dflt=3 + export JNPES_dflt=8 + export INPES_thrd=3 + export JNPES_thrd=4 + export INPES_c384=6 + export JNPES_c384=8 + export THRD_c384=2 + export INPES_c768=8 + export JNPES_c768=16 + export THRD_c768=4 + + export THRD_cpl_atmw_gdas=2 + export INPES_cpl_atmw_gdas=6 + export JNPES_cpl_atmw_gdas=8 + export WPG_cpl_atmw_gdas=24 + export WAV_tasks_atmw_gdas=248 + +elif [[ ${MACHINE_ID} = linux ]]; then + + export TPN=40 + + export INPES_dflt=3 + export JNPES_dflt=8 + export INPES_thrd=3 + export JNPES_thrd=4 + + export THRD_cpl_dflt=1 + export INPES_cpl_dflt=3 + export JNPES_cpl_dflt=8 + export WPG_cpl_dflt=6 + export OCN_tasks_cpl_dflt=20 + export ICE_tasks_cpl_dflt=10 + export WAV_tasks_cpl_dflt=20 + + export THRD_cpl_thrd=2 + export INPES_cpl_thrd=3 + export JNPES_cpl_thrd=4 + export WPG_cpl_thrd=6 + export OCN_tasks_cpl_thrd=20 + export ICE_tasks_cpl_thrd=10 + export WAV_tasks_cpl_thrd=12 + +elif [[ ${MACHINE_ID} = jet ]]; then + + export TPN=24 + + export INPES_dflt=3 + export JNPES_dflt=8 + export INPES_thrd=3 + export JNPES_thrd=4 + export INPES_c384=6 + export JNPES_c384=12 + export THRD_c384=1 + export INPES_c768=8 + export JNPES_c768=16 + export THRD_c768=2 + export WRTTASK_PER_GROUP_c384=84 + export WRTTASK_PER_GROUP_c384gdas=88 + + export THRD_cpl_atmw_gdas=2 + export INPES_cpl_atmw_gdas=6 + export JNPES_cpl_atmw_gdas=8 + export WPG_cpl_atmw_gdas=24 + export WAV_tasks_atmw_gdas=240 # run only in weekly test - THRD_cpl_bmrk=2 - INPES_cpl_bmrk=16; JNPES_cpl_bmrk=16; WPG_cpl_bmrk=48 - OCN_tasks_cpl_bmrk=100 - ICE_tasks_cpl_bmrk=48 - WAV_tasks_cpl_bmrk=100 - WLCLK_cpl_bmrk=120 + export THRD_cpl_bmrk=2 + export INPES_cpl_bmrk=16 + export JNPES_cpl_bmrk=16 + export WPG_cpl_bmrk=48 + export OCN_tasks_cpl_bmrk=100 + export ICE_tasks_cpl_bmrk=48 + export WAV_tasks_cpl_bmrk=100 + export WLCLK_cpl_bmrk=120 # run only in weekly test - THRD_cpl_c192=2 - INPES_cpl_c192=12; JNPES_cpl_c192=16; WPG_cpl_c192=24 - OCN_tasks_cpl_c192=100 - ICE_tasks_cpl_c192=48 - WAV_tasks_cpl_c192=80 - WLCLK_cpl_c192=120 - -elif [[ $MACHINE_ID = s4 ]]; then - - TPN=32 - - INPES_dflt=3 ; JNPES_dflt=8 - INPES_thrd=3 ; JNPES_thrd=4 - INPES_c384=6 ; JNPES_c384=8 ; THRD_c384=2 - INPES_c768=8 ; JNPES_c768=16 ; THRD_c768=1 - - THRD_cpl_atmw_gdas=2 - INPES_cpl_atmw_gdas=6; JNPES_cpl_atmw_gdas=8; WPG_cpl_atmw_gdas=24 - WAV_tasks_atmw_gdas=248 - - THRD_cpl_bmrk=2 - INPES_cpl_bmrk=6; JNPES_cpl_bmrk=8; WPG_cpl_bmrk=24 - OCN_tasks_cpl_bmrk=120 - ICE_tasks_cpl_bmrk=48 - WAV_tasks_cpl_bmrk=80 - -elif [[ $MACHINE_ID = gaea ]]; then - - TPN=128 - - INPES_dflt=3 ; JNPES_dflt=8 - INPES_thrd=3 ; JNPES_thrd=4 - INPES_c384=6 ; JNPES_c384=8 ; THRD_c384=1 - INPES_c768=8 ; JNPES_c768=16 ; THRD_c768=2 - - THRD_cpl_atmw_gdas=3 - INPES_cpl_atmw_gdas=6; JNPES_cpl_atmw_gdas=8; WPG_cpl_atmw_gdas=24 - WAV_tasks_atmw_gdas=264 - -elif [[ $MACHINE_ID = derecho ]]; then - - TPN=128 - INPES_dflt=3 ; JNPES_dflt=8 - INPES_thrd=3 ; JNPES_thrd=4 - INPES_c384=8 ; JNPES_c384=6 ; THRD_c384=2 - INPES_c768=8 ; JNPES_c768=16 ; THRD_c768=2 - - THRD_cpl_atmw_gdas=2 - INPES_cpl_atmw_gdas=6; JNPES_cpl_atmw_gdas=8; WPG_cpl_atmw_gdas=24 - WAV_tasks_atmw_gdas=248 - -elif [[ $MACHINE_ID = stampede ]]; then + export THRD_cpl_c192=2 + export INPES_cpl_c192=12 + export JNPES_cpl_c192=16 + export WPG_cpl_c192=24 + export OCN_tasks_cpl_c192=100 + export ICE_tasks_cpl_c192=48 + export WAV_tasks_cpl_c192=80 + export WLCLK_cpl_c192=120 + +elif [[ ${MACHINE_ID} = s4 ]]; then + + export TPN=32 + + export INPES_dflt=3 + export JNPES_dflt=8 + export INPES_thrd=3 + export JNPES_thrd=4 + export INPES_c384=6 + export JNPES_c384=8 + export THRD_c384=2 + export INPES_c768=8 + export JNPES_c768=16 + export THRD_c768=1 + + export THRD_cpl_atmw_gdas=2 + export INPES_cpl_atmw_gdas=6 + export JNPES_cpl_atmw_gdas=8 + export WPG_cpl_atmw_gdas=24 + export WAV_tasks_atmw_gdas=248 + + export THRD_cpl_bmrk=2 + export INPES_cpl_bmrk=6; + export JNPES_cpl_bmrk=8 + export WPG_cpl_bmrk=24 + export OCN_tasks_cpl_bmrk=120 + export ICE_tasks_cpl_bmrk=48 + export WAV_tasks_cpl_bmrk=80 + +elif [[ ${MACHINE_ID} = gaea ]]; then + + export TPN=128 + + export INPES_dflt=3 + export JNPES_dflt=8 + export INPES_thrd=3 + export JNPES_thrd=4 + export INPES_c384=6 + export JNPES_c384=8 + export THRD_c384=1 + export INPES_c768=8 + export JNPES_c768=16 + export THRD_c768=2 + + export THRD_cpl_atmw_gdas=3 + export INPES_cpl_atmw_gdas=6 + export JNPES_cpl_atmw_gdas=8 + export WPG_cpl_atmw_gdas=24 + export WAV_tasks_atmw_gdas=264 + +elif [[ ${MACHINE_ID} = derecho ]]; then + + export TPN=128 + export INPES_dflt=3 + export JNPES_dflt=8 + export INPES_thrd=3 + export JNPES_thrd=4 + export INPES_c384=8 + export JNPES_c384=6 + export THRD_c384=2 + export INPES_c768=8 + export JNPES_c768=16 + export THRD_c768=2 + + export THRD_cpl_atmw_gdas=2 + export INPES_cpl_atmw_gdas=6 + export JNPES_cpl_atmw_gdas=8 + export WPG_cpl_atmw_gdas=24 + export WAV_tasks_atmw_gdas=248 + +elif [[ ${MACHINE_ID} = stampede ]]; then + + echo "Unknown MACHINE_ID ${MACHINE_ID}. Please update tasks configurations in default_vars.sh" + exit 1 - TPN_dflt=48 ; INPES_dflt=3 ; JNPES_dflt=8 - TPN_thrd=24 ; INPES_thrd=3 ; JNPES_thrd=4 - TPN_c384=20 ; INPES_c384=8 ; JNPES_c384=6 - TPN_c768=20 ; INPES_c768=8 ; JNPES_c768=16 - TPN_stretch=12 ; INPES_stretch=2 ; JNPES_stretch=4 + # TPN_dflt=48 ; INPES_dflt=3 ; JNPES_dflt=8 + # TPN_thrd=24 ; INPES_thrd=3 ; JNPES_thrd=4 + # TPN_c384=20 ; INPES_c384=8 ; JNPES_c384=6 + # TPN_c768=20 ; INPES_c768=8 ; JNPES_c768=16 + # TPN_stretch=12 ; INPES_stretch=2 ; JNPES_stretch=4 - TPN_cpl_atmw_gdas=12; INPES_cpl_atmw_gdas=6; JNPES_cpl_atmw_gdas=8 - THRD_cpl_atmw_gdas=4; WPG_cpl_atmw_gdas=24; APB_cpl_atmw_gdas="0 311"; WPB_cpl_atmw_gdas="312 559" + # TPN_cpl_atmw_gdas=12; INPES_cpl_atmw_gdas=6; JNPES_cpl_atmw_gdas=8 + # THRD_cpl_atmw_gdas=4; WPG_cpl_atmw_gdas=24; APB_cpl_atmw_gdas="0 311"; WPB_cpl_atmw_gdas="312 559" elif [[ ${MACHINE_ID} = noaacloud ]] ; then - if [[ $PW_CSP == aws ]]; then - TPN=36 - elif [[ $PW_CSP == azure ]]; then - TPN=44 - elif [[ $PW_CSP == google ]]; then - TPN=30 + if [[ ${PW_CSP} == aws ]]; then + export TPN=36 + elif [[ ${PW_CSP} == azure ]]; then + export TPN=44 + elif [[ ${PW_CSP} == google ]]; then + export TPN=30 fi - INPES_dflt=3 ; JNPES_dflt=8 - INPES_thrd=3 ; JNPES_thrd=4 - - INPES_c384=8 ; JNPES_c384=6 ; THRD_c384=2 - INPES_c768=8 ; JNPES_c768=16 ; THRD_c768=2 - - THRD_cpl_dflt=1 - INPES_cpl_dflt=3; JNPES_cpl_dflt=8; WPG_cpl_dflt=6 - OCN_tasks_cpl_dflt=20 - ICE_tasks_cpl_dflt=10 - WAV_tasks_cpl_dflt=20 - - THRD_cpl_thrd=2 - INPES_cpl_thrd=3; JNPES_cpl_thrd=4; WPG_cpl_thrd=6 - OCN_tasks_cpl_thrd=20 - ICE_tasks_cpl_thrd=10 - WAV_tasks_cpl_thrd=12 - -elif [[ $MACHINE_ID = expanse ]]; then + export INPES_dflt=3 + export JNPES_dflt=8 + export INPES_thrd=3 + export JNPES_thrd=4 + + export INPES_c384=8 + export JNPES_c384=6 + export THRD_c384=2 + export INPES_c768=8 + export JNPES_c768=16 + export THRD_c768=2 + + export THRD_cpl_dflt=1 + export INPES_cpl_dflt=3 + export JNPES_cpl_dflt=8 + export WPG_cpl_dflt=6 + export OCN_tasks_cpl_dflt=20 + export ICE_tasks_cpl_dflt=10 + export WAV_tasks_cpl_dflt=20 + + export THRD_cpl_thrd=2 + export INPES_cpl_thrd=3 + export JNPES_cpl_thrd=4; + export WPG_cpl_thrd=6 + export OCN_tasks_cpl_thrd=20 + export ICE_tasks_cpl_thrd=10 + export WAV_tasks_cpl_thrd=12 + +elif [[ ${MACHINE_ID} = expanse ]]; then + + echo "Unknown MACHINE_ID ${MACHINE_ID}. Please update tasks configurations in default_vars.sh" + exit 1 - TPN_dflt=64 ; INPES_dflt=3 ; JNPES_dflt=8 - TPN_thrd=64 ; INPES_thrd=3 ; JNPES_thrd=4 - TPN_stretch=12 ; INPES_stretch=2 ; JNPES_stretch=4 + # TPN_dflt=64 ; INPES_dflt=3 ; JNPES_dflt=8 + # TPN_thrd=64 ; INPES_thrd=3 ; JNPES_thrd=4 + # TPN_stretch=12 ; INPES_stretch=2 ; JNPES_stretch=4 - TPN_cpl_atmw_gdas=12; INPES_cpl_atmw_gdas=6; JNPES_cpl_atmw_gdas=8 - THRD_cpl_atmw_gdas=2; WPG_cpl_atmw_gdas=24; APB_cpl_atmw_gdas="0 311"; WPB_cpl_atmw_gdas="312 559" + # TPN_cpl_atmw_gdas=12; INPES_cpl_atmw_gdas=6; JNPES_cpl_atmw_gdas=8 + # THRD_cpl_atmw_gdas=2; WPG_cpl_atmw_gdas=24; APB_cpl_atmw_gdas="0 311"; WPB_cpl_atmw_gdas="312 559" else @@ -296,9 +411,9 @@ else fi -WLCLK_dflt=30 +export WLCLK_dflt=30 -export WLCLK=$WLCLK_dflt +export WLCLK=${WLCLK_dflt} export CMP_DATAONLY=false # Defaults for ufs.configure @@ -308,1220 +423,1262 @@ export DumpFields="false" export_fv3 () { # ufs.configure defaults -export UFS_CONFIGURE=ufs.configure.atm_esmf.IN -export MODEL_CONFIGURE=model_configure.IN -export atm_model=fv3 - -export FV3=true -export S2S=false -export HAFS=false -export AQM=false -export DATM_CDEPS=false -export DOCN_CDEPS=false -export CDEPS_INLINE=false -export POSTAPP='global' -export USE_MERRA2=.false. - -export NTILES=6 -export INPES=$INPES_dflt -export JNPES=$JNPES_dflt -export RESTART_INTERVAL=0 -export QUILTING=.true. -export QUILTING_RESTART=.true. -export WRITE_GROUP=1 -export WRTTASK_PER_GROUP=6 -export ITASKS=1 -export OUTPUT_HISTORY=.true. -export HISTORY_FILE_ON_NATIVE_GRID=.false. -export WRITE_DOPOST=.false. -export NUM_FILES=2 -export FILENAME_BASE="'atm' 'sfc'" -export OUTPUT_GRID="'cubed_sphere_grid'" -export OUTPUT_FILE="'netcdf'" -export ZSTANDARD_LEVEL=0 -export IDEFLATE=0 -export QUANTIZE_NSD=0 -export ICHUNK2D=0 -export JCHUNK2D=0 -export ICHUNK3D=0 -export JCHUNK3D=0 -export KCHUNK3D=0 -export IMO=384 -export JMO=190 -export WRITE_NSFLIP=.false. - -#input file -export DIAG_TABLE=diag_table_gfsv16 -export FIELD_TABLE=field_table_gfsv16 - -export DOMAINS_STACK_SIZE=3000000 - -# Coldstart/warmstart -#rt script for ICs -export MODEL_INITIALIZATION=false -#namelist variable -export WARM_START=.false. -export READ_INCREMENT=.false. -export RES_LATLON_DYNAMICS="''" -export NGGPS_IC=.true. -export EXTERNAL_IC=.true. -export MAKE_NH=.true. -export MOUNTAIN=.false. -export NA_INIT=1 - -# Radiation -export DO_RRTMGP=.false. -export DOGP_CLDOPTICS_LUT=.false. -export DOGP_LWSCAT=.false. -export USE_LW_JACOBIAN=.false. -export DAMP_LW_FLUXADJ=.false. -export RRTMGP_LW_PHYS_BLKSZ=2 -export ICLOUD=0 -export IAER=111 -export ICLIQ_SW=1 -export IOVR=1 -export LFNC_K=-999 -export LFNC_P0=-999 - -# Microphysics -export IMP_PHYSICS=11 -export NWAT=6 -# GFDL MP -export DNATS=1 -export DO_SAT_ADJ=.true. -export LHEATSTRG=.true. -export LSEASPRAY=.false. -export LGFDLMPRAD=.false. -export EFFR_IN=.false. -# Thompson MP -export LRADAR=.true. -export LTAEROSOL=.true. -export EXT_DIAG_THOMPSON=.false. -export SEDI_SEMI=.true. -export DECFL=10 -# NSSL MP -export NSSL_CCCN=0.6e9 -export NSSL_ALPHAH=0.0 -export NSSL_ALPHAHL=1.0 -export NSSL_HAIL_ON=.false. -export NSSL_CCN_ON=.true. -export NSSL_INVERTCCN=.true. - -# Smoke -export RRFS_SMOKE=.false. -export SMOKE_FORECAST=0 -export RRFS_RESTART=NO -export SEAS_OPT=2 - -# GWD -export LDIAG_UGWP=.false. -export DO_UGWP=.false. -export DO_TOFD=.false. -export GWD_OPT=1 -export DO_UGWP_V0=.false. -export DO_UGWP_V1_W_GSLDRAG=.false. -export DO_UGWP_V0_OROG_ONLY=.false. -export DO_GSL_DRAG_LS_BL=.false. -export DO_GSL_DRAG_SS=.false. -export DO_GSL_DRAG_TOFD=.false. -export DO_UGWP_V1=.false. -export DO_UGWP_V1_OROG_ONLY=.false. -export KNOB_UGWP_DOKDIS=1 -export KNOB_UGWP_NDX4LH=1 -export KNOB_UGWP_VERSION=0 -export KNOB_UGWP_PALAUNCH=500.e2 -export KNOB_UGWP_NSLOPE=1 - -# resolution dependent settings -export CDMBWD_c48='0.071,2.1,1.0,1.0' -export CDMBWD_c96='0.14,1.8,1.0,1.0' -export CDMBWD_c192='0.23,1.5,1.0,1.0' -export CDMBWD_c384='1.1,0.72,1.0,1.0' -export CDMBWD_c768='4.0,0.15,1.0,1.0' - -#DT_INNER=(Time step)/2 -export DT_INNER_c96=360 -export DT_INNER_c192=300 -export DT_INNER_c384=150 -export DT_INNER_c768=75 - -# set default -export CDMBWD=${CDMBWD_c96} -export DT_INNER=${DT_INNER_c96} - -# PBL -export SATMEDMF=.false. -export ISATMEDMF=0 -export HYBEDMF=.true. -export SHINHONG=.false. -export DO_YSU=.false. -export DO_MYNNEDMF=.false. -export HURR_PBL=.false. -export MONINQ_FAC=1.0 -export SFCLAY_COMPUTE_FLUX=.false. - -# Shallow/deep convection -export DO_DEEP=.true. -export SHAL_CNV=.true. -export IMFSHALCNV=2 -export HWRF_SAMFSHAL=.false. -export IMFDEEPCNV=2 -export HWRF_SAMFDEEP=.false. -export RAS=.false. -export RANDOM_CLDS=.false. -export CNVCLD=.true. -export PROGSIGMA=.false. -export BETASCU=8.0 -export BETAMCU=1.0 -export BETADCU=2.0 - -# Aerosol convective scavenging -export FSCAV_AERO='"*:0.3","so2:0.0","msa:0.0","dms:0.0","nh3:0.4","nh4:0.6","bc1:0.6","bc2:0.6","oc1:0.4","oc2:0.4","dust1:0.6","dust2:0.6","dust3:0.6","dust4:0.6","dust5:0.6","seas1:0.5","seas2:0.5","seas3:0.5","seas4:0.5","seas5:0.5"' - -# SFC -export DO_MYJSFC=.false. -export DO_MYNNSFCLAY=.false. -export BL_MYNN_TKEADVECT=.false. - -# LSM -export LSM=1 -export LSOIL_LSM=4 -export LANDICE=.true. -export KICE=2 -export IALB=1 -export IEMS=1 - -# Ozone / stratospheric H2O -export OZ_PHYS_OLD=.true. -export OZ_PHYS_NEW=.false. -export H2O_PHYS=.false. - -# Lake models -export LKM=0 # 0=no lake, 1=run lake model, 2=run both lake and nsst on lake points -export IOPT_LAKE=2 # 1=flake, 2=clm lake -export LAKEFRAC_THRESHOLD=0.0 # lake fraction must be higher for lake model to run it -export LAKEDEPTH_THRESHOLD=1.0 # lake must be deeper (in meters) for a lake model to run it -export FRAC_ICE=.true. # should be false for flake, true for clm_lake - -export CPL=.false. -export CPLCHM=.false. -export CPLFLX=.false. -export CPLICE=.false. -export CPLWAV=.false. -export CPLWAV2ATM=.false. -export CPLLND=.false. -export CPLLND2ATM=.false. -export USE_MED_FLUX=.false. -export DAYS=1 -export NPX=97 -export NPY=97 -export NPZ=64 -export NPZP=65 -export NSTF_NAME=2,1,1,0,5 -export OUTPUT_FH="12 -1" -export FHZERO=6 -export FNALBC="'global_snowfree_albedo.bosu.t126.384.190.rg.grb'" -export FNVETC="'global_vegtype.igbp.t126.384.190.rg.grb'" -export FNSOTC="'global_soiltype.statsgo.t126.384.190.rg.grb'" -export FNSOCC="''" -export FNSMCC="'global_soilmgldas.t126.384.190.grb'" -export FNSMCC_control="'global_soilmgldas.statsgo.t1534.3072.1536.grb'" -export FNMSKH_control="'global_slmask.t1534.3072.1536.grb'" -export FNABSC="'global_mxsnoalb.uariz.t126.384.190.rg.grb'" - -# Dynamical core -export FV_CORE_TAU=0. -export RF_CUTOFF=30.0 -export FAST_TAU_W_SEC=0.0 - -# Tiled Fix files -export ATMRES=C96 -export TILEDFIX=.false. - -export ENS_NUM=1 -export SYEAR=2016 -export SMONTH=10 -export SDAY=03 -export SHOUR=00 -export SECS=`expr $SHOUR \* 3600` -export FHMAX=$(( DAYS*24 )) -export DT_ATMOS=1800 -export FHCYC=24 -export FHROT=0 -export LDIAG3D=.false. -export QDIAG3D=.false. -export PRINT_DIFF_PGR=.false. -export MAX_OUTPUT_FIELDS=310 - -# Stochastic physics -export STOCHINI=.false. -export DO_SPPT=.false. -export DO_SHUM=.false. -export DO_SKEB=.false. -export LNDP_TYPE=0 -export N_VAR_LNDP=0 -export SKEB=-999. -export SPPT=-999. -export SHUM=-999. -export LNDP_VAR_LIST="'XXX'" -export LNDP_PRT_LIST=-999 -export LNDP_MODEL_TYPE=0 - -#IAU -export IAU_INC_FILES="''" -export IAU_DELTHRS=0 -export IAUFHRS=-1 -export IAU_OFFSET=0 - -export FH_DFI_RADAR='-2e10' - -#Cellular automata -export DO_CA=.false. -export CA_SGS=.false. -export CA_GLOBAL=.false. - -#waves -export WW3_RSTDTHR=12 -export WW3_DT_2_RST="$(printf "%02d" $(( ${WW3_RSTDTHR}*3600 )))" -export WW3_OUTDTHR=1 -export WW3_DTFLD="$(printf "%02d" $(( ${WW3_OUTDTHR}*3600 )))" -export WW3_DTPNT="$(printf "%02d" $(( ${WW3_OUTDTHR}*3600 )))" -export DTRST=0 -export RSTTYPE=T -export GOFILETYPE=1 -export POFILETYPE=1 -export WW3_OUTPARS="WND HS FP DP PHS PTP PDIR" -export CPLILINE='$' -export ICELINE='$' -export WINDLINE='$' -export CURRLINE='$' -export NFGRIDS=0 -export NMGRIDS=1 -export WW3GRIDLINE="'glo_1deg' 'no' 'no' 'CPL:native' 'no' 'no' 'no' 'no' 'no' 'no' 1 1 0.00 1.00 F" -export FUNIPNT=T -export IOSRV=1 -export FPNTPROC=T -export FGRDPROC=T -export UNIPOINTS='points' -export FLAGMASKCOMP=' F' -export FLAGMASKOUT=' F' -export RUN_BEG="${SYEAR}${SMONTH}${SDAY} $(printf "%02d" $(( ${SHOUR} )))0000" -export RUN_END="2100${SMONTH}${SDAY} $(printf "%02d" $(( ${SHOUR} )))0000" -export OUT_BEG=$RUN_BEG -export OUT_END=$RUN_END -export RST_BEG=$RUN_BEG -export RST_2_BEG=$RUN_BEG -export RST_END=$RUN_END -export RST_2_END=$RUN_END -export WW3_CUR='F' -export WW3_ICE='F' -export WW3_IC1='F' -export WW3_IC5='F' -# ATMW -export WW3_MULTIGRID=true -export WW3_MODDEF=mod_def.glo_1deg -export MESH_WAV=mesh.glo_1deg.nc - -# ATMA -export AOD_FRQ=060000 - -# Regional -export WRITE_RESTART_WITH_BCS=.false. - -# Diagnostics -export PRINT_DIFF_PGR=.false. - -# Coupling -export coupling_interval_fast_sec=0 -export CHOUR=06 -export MOM6_OUTPUT_DIR=./MOM6_OUTPUT + export UFS_CONFIGURE=ufs.configure.atm_esmf.IN + export MODEL_CONFIGURE=model_configure.IN + export atm_model=fv3 + + export FV3=true + export S2S=false + export HAFS=false + export AQM=false + export DATM_CDEPS=false + export DOCN_CDEPS=false + export CDEPS_INLINE=false + export POSTAPP='global' + export USE_MERRA2=.false. + + export NTILES=6 + export INPES=${INPES_dflt} + export JNPES=${JNPES_dflt} + export RESTART_INTERVAL=0 + export QUILTING=.true. + export QUILTING_RESTART=.true. + export WRITE_GROUP=1 + export WRTTASK_PER_GROUP=6 + export ITASKS=1 + export OUTPUT_HISTORY=.true. + export HISTORY_FILE_ON_NATIVE_GRID=.false. + export WRITE_DOPOST=.false. + export NUM_FILES=2 + export FILENAME_BASE="'atm' 'sfc'" + export OUTPUT_GRID="'cubed_sphere_grid'" + export OUTPUT_FILE="'netcdf'" + export ZSTANDARD_LEVEL=0 + export IDEFLATE=0 + export QUANTIZE_NSD=0 + export ICHUNK2D=0 + export JCHUNK2D=0 + export ICHUNK3D=0 + export JCHUNK3D=0 + export KCHUNK3D=0 + export IMO=384 + export JMO=190 + export WRITE_NSFLIP=.false. + + #input file + export DIAG_TABLE=diag_table_gfsv16 + export FIELD_TABLE=field_table_gfsv16 + + export DOMAINS_STACK_SIZE=3000000 + + # Coldstart/warmstart + #rt script for ICs + export MODEL_INITIALIZATION=false + #namelist variable + export WARM_START=.false. + export READ_INCREMENT=.false. + export RES_LATLON_DYNAMICS="''" + export NGGPS_IC=.true. + export EXTERNAL_IC=.true. + export MAKE_NH=.true. + export MOUNTAIN=.false. + export NA_INIT=1 + + # Radiation + export DO_RRTMGP=.false. + export DOGP_CLDOPTICS_LUT=.false. + export DOGP_LWSCAT=.false. + export USE_LW_JACOBIAN=.false. + export DAMP_LW_FLUXADJ=.false. + export RRTMGP_LW_PHYS_BLKSZ=2 + export ICLOUD=0 + export IAER=111 + export ICLIQ_SW=1 + export IOVR=1 + export LFNC_K=-999 + export LFNC_P0=-999 + + # Microphysics + export IMP_PHYSICS=11 + export NWAT=6 + # GFDL MP + export DNATS=1 + export DO_SAT_ADJ=.true. + export LHEATSTRG=.true. + export LSEASPRAY=.false. + export LGFDLMPRAD=.false. + export EFFR_IN=.false. + # Thompson MP + export LRADAR=.true. + export LTAEROSOL=.true. + export EXT_DIAG_THOMPSON=.false. + export SEDI_SEMI=.true. + export DECFL=10 + # NSSL MP + export NSSL_CCCN=0.6e9 + export NSSL_ALPHAH=0.0 + export NSSL_ALPHAHL=1.0 + export NSSL_HAIL_ON=.false. + export NSSL_CCN_ON=.true. + export NSSL_INVERTCCN=.true. + + # Smoke + export RRFS_SMOKE=.false. + export SMOKE_FORECAST=0 + export RRFS_RESTART=NO + export SEAS_OPT=2 + + # GWD + export LDIAG_UGWP=.false. + export DO_UGWP=.false. + export DO_TOFD=.false. + export GWD_OPT=1 + export DO_UGWP_V0=.false. + export DO_UGWP_V1_W_GSLDRAG=.false. + export DO_UGWP_V0_OROG_ONLY=.false. + export DO_GSL_DRAG_LS_BL=.false. + export DO_GSL_DRAG_SS=.false. + export DO_GSL_DRAG_TOFD=.false. + export DO_UGWP_V1=.false. + export DO_UGWP_V1_OROG_ONLY=.false. + export KNOB_UGWP_DOKDIS=1 + export KNOB_UGWP_NDX4LH=1 + export KNOB_UGWP_VERSION=0 + export KNOB_UGWP_PALAUNCH=500.e2 + export KNOB_UGWP_NSLOPE=1 + + # resolution dependent settings + export CDMBWD_c48='0.071,2.1,1.0,1.0' + export CDMBWD_c96='0.14,1.8,1.0,1.0' + export CDMBWD_c192='0.23,1.5,1.0,1.0' + export CDMBWD_c384='1.1,0.72,1.0,1.0' + export CDMBWD_c768='4.0,0.15,1.0,1.0' + + #DT_INNER=(Time step)/2 + export DT_INNER_c96=360 + export DT_INNER_c192=300 + export DT_INNER_c384=150 + export DT_INNER_c768=75 + + # set default + export CDMBWD=${CDMBWD_c96} + export DT_INNER=${DT_INNER_c96} + + # PBL + export SATMEDMF=.false. + export ISATMEDMF=0 + export HYBEDMF=.true. + export SHINHONG=.false. + export DO_YSU=.false. + export DO_MYNNEDMF=.false. + export HURR_PBL=.false. + export MONINQ_FAC=1.0 + export SFCLAY_COMPUTE_FLUX=.false. + + # Shallow/deep convection + export DO_DEEP=.true. + export SHAL_CNV=.true. + export IMFSHALCNV=2 + export HWRF_SAMFSHAL=.false. + export IMFDEEPCNV=2 + export HWRF_SAMFDEEP=.false. + export RAS=.false. + export RANDOM_CLDS=.false. + export CNVCLD=.true. + export PROGSIGMA=.false. + export BETASCU=8.0 + export BETAMCU=1.0 + export BETADCU=2.0 + + # Aerosol convective scavenging + export FSCAV_AERO='"*:0.3","so2:0.0","msa:0.0","dms:0.0","nh3:0.4","nh4:0.6","bc1:0.6","bc2:0.6","oc1:0.4","oc2:0.4","dust1:0.6","dust2:0.6","dust3:0.6","dust4:0.6","dust5:0.6","seas1:0.5","seas2:0.5","seas3:0.5","seas4:0.5","seas5:0.5"' + + # SFC + export DO_MYJSFC=.false. + export DO_MYNNSFCLAY=.false. + export BL_MYNN_TKEADVECT=.false. + + # LSM + export LSM=1 + export LSOIL_LSM=4 + export LANDICE=.true. + export KICE=2 + export IALB=1 + export IEMS=1 + + # Ozone / stratospheric H2O + export OZ_PHYS_OLD=.true. + export OZ_PHYS_NEW=.false. + export H2O_PHYS=.false. + + # Lake models + export LKM=0 # 0=no lake, 1=run lake model, 2=run both lake and nsst on lake points + export IOPT_LAKE=2 # 1=flake, 2=clm lake + export LAKEFRAC_THRESHOLD=0.0 # lake fraction must be higher for lake model to run it + export LAKEDEPTH_THRESHOLD=1.0 # lake must be deeper (in meters) for a lake model to run it + export FRAC_ICE=.true. # should be false for flake, true for clm_lake + + export CPL=.false. + export CPLCHM=.false. + export CPLFLX=.false. + export CPLICE=.false. + export CPLWAV=.false. + export CPLWAV2ATM=.false. + export CPLLND=.false. + export CPLLND2ATM=.false. + export USE_MED_FLUX=.false. + export DAYS=1 + export NPX=97 + export NPY=97 + export NPZ=64 + export NPZP=65 + export NSTF_NAME=2,1,1,0,5 + export OUTPUT_FH="12 -1" + export FHZERO=6 + export FNALBC="'global_snowfree_albedo.bosu.t126.384.190.rg.grb'" + export FNVETC="'global_vegtype.igbp.t126.384.190.rg.grb'" + export FNSOTC="'global_soiltype.statsgo.t126.384.190.rg.grb'" + export FNSOCC="''" + export FNSMCC="'global_soilmgldas.t126.384.190.grb'" + export FNSMCC_control="'global_soilmgldas.statsgo.t1534.3072.1536.grb'" + export FNMSKH_control="'global_slmask.t1534.3072.1536.grb'" + export FNABSC="'global_mxsnoalb.uariz.t126.384.190.rg.grb'" + + # Dynamical core + export FV_CORE_TAU=0. + export RF_CUTOFF=30.0 + export FAST_TAU_W_SEC=0.0 + + # Tiled Fix files + export ATMRES=C96 + export TILEDFIX=.false. + + export ENS_NUM=1 + export SYEAR=2016 + export SMONTH=10 + export SDAY=03 + export SHOUR=00 + export SECS=$(( SHOUR*600 )) + export FHMAX=$(( DAYS*24 )) + export DT_ATMOS=1800 + export FHCYC=24 + export FHROT=0 + export LDIAG3D=.false. + export QDIAG3D=.false. + export PRINT_DIFF_PGR=.false. + export MAX_OUTPUT_FIELDS=310 + + # Stochastic physics + export STOCHINI=.false. + export DO_SPPT=.false. + export DO_SHUM=.false. + export DO_SKEB=.false. + export LNDP_TYPE=0 + export N_VAR_LNDP=0 + export SKEB=-999. + export SPPT=-999. + export SHUM=-999. + export LNDP_VAR_LIST="'XXX'" + export LNDP_PRT_LIST=-999 + export LNDP_MODEL_TYPE=0 + + #IAU + export IAU_INC_FILES="''" + export IAU_DELTHRS=0 + export IAUFHRS=-1 + export IAU_OFFSET=0 + + export FH_DFI_RADAR='-2e10' + + #Cellular automata + export DO_CA=.false. + export CA_SGS=.false. + export CA_GLOBAL=.false. + + #waves + export WW3_RSTDTHR=12 + WW3_DT_2_RST="$(printf "%02d" $(( WW3_RSTDTHR*3600 )))" + export WW3_DT_2_RST + export WW3_OUTDTHR=1 + WW3_DTFLD="$(printf "%02d" $(( WW3_OUTDTHR*3600 )))" + export WW3_DTFLD + WW3_DTPNT="$(printf "%02d" $(( WW3_OUTDTHR*3600 )))" + export WW3_DTPNT + export DTRST=0 + export RSTTYPE=T + export GOFILETYPE=1 + export POFILETYPE=1 + export WW3_OUTPARS="WND HS FP DP PHS PTP PDIR" + export CPLILINE='$' + export ICELINE='$' + export WINDLINE='$' + export CURRLINE='$' + export NFGRIDS=0 + export NMGRIDS=1 + export WW3GRIDLINE="'glo_1deg' 'no' 'no' 'CPL:native' 'no' 'no' 'no' 'no' 'no' 'no' 1 1 0.00 1.00 F" + export FUNIPNT=T + export IOSRV=1 + export FPNTPROC=T + export FGRDPROC=T + export UNIPOINTS='points' + export FLAGMASKCOMP=' F' + export FLAGMASKOUT=' F' + RUN_BEG="${SYEAR}${SMONTH}${SDAY} $(printf "%02d" $(( SHOUR )))0000" + export RUN_BEG + RUN_END="2100${SMONTH}${SDAY} $(printf "%02d" $(( SHOUR )))0000" + export RUN_END + export OUT_BEG=${RUN_BEG} + export OUT_END=${RUN_END} + export RST_BEG=${RUN_BEG} + export RST_2_BEG=${RUN_BEG} + export RST_END=${RUN_END} + export RST_2_END=${RUN_END} + export WW3_CUR='F' + export WW3_ICE='F' + export WW3_IC1='F' + export WW3_IC5='F' + # ATMW + export WW3_MULTIGRID=true + export WW3_MODDEF=mod_def.glo_1deg + export MESH_WAV=mesh.glo_1deg.nc + + # ATMA + export AOD_FRQ=060000 + + # Regional + export WRITE_RESTART_WITH_BCS=.false. + + # Diagnostics + export PRINT_DIFF_PGR=.false. + + # Coupling + export coupling_interval_fast_sec=0 + export CHOUR=06 + export MOM6_OUTPUT_DIR=./MOM6_OUTPUT } # Defaults for the CICE6 model namelist, mx100 export_cice6() { -export SECS=`expr $SHOUR \* 3600` -export DT_CICE=${DT_ATMOS} -export CICE_NPT=999 -export CICE_RUNTYPE=initial -export CICE_RUNID=unknown -export CICE_USE_RESTART_TIME=.false. -export CICE_RESTART_DIR=./RESTART/ -export CICE_RESTART_FILE=iced -export CICE_DUMPFREQ=d -export CICE_DUMPFREQ_N=1000 -export CICE_DIAGFREQ=`expr $FHMAX \* 3600 / $DT_CICE` -export CICE_HISTFREQ_N="0, 0, 6, 1, 1" -export CICE_HIST_AVG=.true. -export CICE_HISTORY_DIR=./history/ -export CICE_INCOND_DIR=./history/ -export CICE_GRID=grid_cice_NEMS_mx${OCNRES}.nc -export CICE_MASK=kmtu_cice_NEMS_mx${OCNRES}.nc -export CICE_GRIDATM=A -export CICE_GRIDOCN=A -export CICE_GRIDICE=B -export CICE_TR_POND_LVL=.true. -export CICE_RESTART_POND_LVL=.false. -# setting to true will allow Frazil FW and Salt to be included in fluxes sent to ocean -export CICE_FRAZIL_FWSALT=.true. -export CICE_KTHERM=2 -export CICE_TFREEZE_OPTION=mushy -# SlenderX2 -export CICE_NPROC=$ICE_tasks -export np2=`expr $CICE_NPROC / 2` -export CICE_BLCKX=`expr $NX_GLB / $np2` -export CICE_BLCKY=`expr $NY_GLB / 2` -export CICE_DECOMP=slenderX2 + SECS=$((SHOUR*3600)) + export SECS + export DT_CICE=${DT_ATMOS} + export CICE_NPT=999 + export CICE_RUNTYPE=initial + export CICE_RUNID=unknown + export CICE_USE_RESTART_TIME=.false. + export CICE_RESTART_DIR=./RESTART/ + export CICE_RESTART_FILE=iced + + export CICE_RESTART_FORMAT='pnetcdf2' + export CICE_RESTART_IOTASKS=-99 + export CICE_RESTART_REARR='box' + export CICE_RESTART_ROOT=-99 + export CICE_RESTART_STRIDE=-99 + export CICE_RESTART_CHUNK=0,0 + export CICE_RESTART_DEFLATE=0 + + export CICE_HISTORY_FORMAT='pnetcdf2' + if [[ ${MACHINE_ID} == wcoss2 ]]; then + export CICE_RESTART_FORMAT='hdf5' + export CICE_HISTORY_FORMAT='hdf5' + fi + export CICE_HISTORY_IOTASKS=-99 + export CICE_HISTORY_REARR='box' + export CICE_HISTORY_ROOT=-99 + export CICE_HISTORY_STRIDE=-99 + export CICE_HISTORY_CHUNK=0,0 + export CICE_HISTORY_DEFLATE=0 + export CICE_HISTORY_PREC=4 + + export CICE_DUMPFREQ=d + export CICE_DUMPFREQ_N=1000 + CICE_DIAGFREQ=$(( (FHMAX*3600)/DT_CICE )) + export CICE_DIAGFREQ + export CICE_HISTFREQ_N="0, 0, 6, 1, 1" + export CICE_HIST_AVG=.true. + export CICE_HISTORY_DIR=./history/ + export CICE_INCOND_DIR=./history/ + export CICE_GRID=grid_cice_NEMS_mx${OCNRES}.nc + export CICE_MASK=kmtu_cice_NEMS_mx${OCNRES}.nc + export CICE_GRIDATM=A + export CICE_GRIDOCN=A + export CICE_GRIDICE=B + export CICE_TR_POND_LVL=.true. + export CICE_RESTART_POND_LVL=.false. + # setting to true will allow Frazil FW and Salt to be included in fluxes sent to ocean + export CICE_FRAZIL_FWSALT=.true. + export CICE_KTHERM=2 + export CICE_TFREEZE_OPTION=mushy + # SlenderX2 + export CICE_NPROC=${ICE_tasks} + np2=$((CICE_NPROC/2)) + CICE_BLCKX=$((NX_GLB/np2)) + CICE_BLCKY=$((NY_GLB/2)) + export np2 + export CICE_BLCKX + export CICE_BLCKY + export CICE_DECOMP=slenderX2 } # Defaults for the MOM6 model namelist, mx100 export_mom6() { -export DT_DYNAM_MOM6=1800 -export DT_THERM_MOM6=3600 -export MOM6_INPUT=MOM_input_100.IN -export MOM6_OUTPUT_DIR=./MOM6_OUTPUT -export MOM6_RESTART_DIR=./RESTART/ -export MOM6_RESTART_SETTING=n -export MOM6_RIVER_RUNOFF=False -export MOM6_FRUNOFF='' -export MOM6_CHLCLIM=seawifs_1998-2006_smoothed_2X.nc -export MOM6_USE_LI2016=True -export MOM6_TOPOEDITS='' -# since CPL_SLOW is set to DT_THERM, this should be always be false -export MOM6_THERMO_SPAN=False -export MOM6_USE_WAVES=True -export MOM6_ALLOW_LANDMASK_CHANGES=False -# MOM6 diag -export MOM6_DIAG_COORD_DEF_Z_FILE=interpolate_zgrid_40L.nc -export MOM6_DIAG_MISVAL='-1e34' -# MOM6 IAU -export ODA_INCUPD=False -export ODA_INCUPD_NHOURS=6 -export ODA_TEMPINC_VAR="'pt_inc'" -export ODA_SALTINC_VAR="'s_inc'" -export ODA_THK_VAR="'h_fg'" -export ODA_INCUPD_UV=False -export ODA_UINC_VAR="'u_inc'" -export ODA_VINC_VAR="'v_inc'" -# MOM6 stochastics -export DO_OCN_SPPT=False -export PERT_EPBL=False -export OCN_SPPT=-999. -export EPBL=-999. + export DT_DYNAM_MOM6=1800 + export DT_THERM_MOM6=3600 + export MOM6_INPUT=MOM_input_100.IN + export MOM6_OUTPUT_DIR=./MOM6_OUTPUT + export MOM6_RESTART_DIR=./RESTART/ + export MOM6_RESTART_SETTING=n + export MOM6_RIVER_RUNOFF=False + export MOM6_FRUNOFF='' + export MOM6_CHLCLIM=seawifs_1998-2006_smoothed_2X.nc + export MOM6_USE_LI2016=True + export MOM6_TOPOEDITS='' + # since CPL_SLOW is set to DT_THERM, this should be always be false + export MOM6_THERMO_SPAN=False + export MOM6_USE_WAVES=True + export MOM6_ALLOW_LANDMASK_CHANGES=False + # MOM6 diag + export MOM6_DIAG_COORD_DEF_Z_FILE=interpolate_zgrid_40L.nc + export MOM6_DIAG_MISVAL='-1e34' + # MOM6 IAU + export ODA_INCUPD=False + export ODA_INCUPD_NHOURS=6 + export ODA_TEMPINC_VAR="'pt_inc'" + export ODA_SALTINC_VAR="'s_inc'" + export ODA_THK_VAR="'h_fg'" + export ODA_INCUPD_UV=False + export ODA_UINC_VAR="'u_inc'" + export ODA_VINC_VAR="'v_inc'" + # MOM6 stochastics + export DO_OCN_SPPT=False + export PERT_EPBL=False + export OCN_SPPT=-999. + export EPBL=-999. } # Defaults for the WW3 global model export_ww3() { -export WW3_DOMAIN=mx${OCNRES} -export WW3_MODDEF=mod_def.mx${OCNRES} -export WW3_RSTDTHR=3 -export WW3_DT_2_RST="$(printf "%02d" $(( ${WW3_RSTDTHR}*3600 )))" -export WW3_OUTDTHR=3 -export WW3_DTFLD="$(printf "%02d" $(( ${WW3_OUTDTHR}*3600 )))" -export WW3_DTPNT="$(printf "%02d" $(( ${WW3_OUTDTHR}*3600 )))" -export WW3_CUR='C' -export WW3_ICE='C' -export WW3_IC1='F' -export WW3_IC5='F' -export WW3_user_sets_restname="true" + export WW3_DOMAIN=mx${OCNRES} + export WW3_MODDEF=mod_def.mx${OCNRES} + export WW3_RSTDTHR=3 + WW3_DT_2_RST="$(printf "%02d" $(( WW3_RSTDTHR*3600 )) )" + export WW3_DT_2_RST + export WW3_OUTDTHR=3 + WW3_DTFLD="$(printf "%02d" $(( WW3_OUTDTHR*3600 )) )" + WW3_DTPNT="$(printf "%02d" $(( WW3_OUTDTHR*3600 )) )" + export WW3_DTFLD + export WW3_DTPNT + export WW3_CUR='C' + export WW3_ICE='C' + export WW3_IC1='F' + export WW3_IC5='F' + export WW3_user_sets_restname="true" } # Defaults for the coupled 5-component export_cmeps() { -export UFS_CONFIGURE=ufs.configure.s2swa_fast_esmf.IN -export med_model=cmeps -export atm_model=fv3 -export chm_model=gocart -export ocn_model=mom6 -export ice_model=cice6 -export wav_model=ww3 -export lnd_model=noahmp -export coupling_interval_slow_sec=${DT_THERM_MOM6} -export coupling_interval_fast_sec=${DT_ATMOS} -export MESH_OCN=mesh.mx${OCNRES}.nc -export MESH_ICE=mesh.mx${OCNRES}.nc -export MESH_WAV=mesh.${WW3_DOMAIN}.nc -export CPLMODE=ufs.frac -export pio_rearranger=box -export RUNTYPE=startup -export RESTART_N=${FHMAX} -export CMEPS_RESTART_DIR=./RESTART/ -export cap_dbug_flag=0 -# MOM6 attributes -export use_coldstart=false -export use_mommesh=true -# CICE attributes -export eps_imesh=1.0e-1 -# mediator AO flux -export flux_convergence=0.0 -export flux_iteration=2 -export flux_scheme=0 -# mediator ocean albedo -export ocean_albedo_limit=0.06 -export use_mean_albedos=.false. -# WW3 (used in run_test only) -export WW3_MULTIGRID=false + export UFS_CONFIGURE=ufs.configure.s2swa_fast_esmf.IN + export med_model=cmeps + export atm_model=fv3 + export chm_model=gocart + export ocn_model=mom6 + export ice_model=cice6 + export wav_model=ww3 + export lnd_model=noahmp + export coupling_interval_slow_sec=${DT_THERM_MOM6} + export coupling_interval_fast_sec=${DT_ATMOS} + export MESH_OCN=mesh.mx${OCNRES}.nc + export MESH_ICE=mesh.mx${OCNRES}.nc + export MESH_WAV=mesh.${WW3_DOMAIN}.nc + export CPLMODE=ufs.frac + export pio_rearranger=box + export RUNTYPE=startup + export RESTART_N=${FHMAX} + export CMEPS_RESTART_DIR=./RESTART/ + export cap_dbug_flag=0 + # MOM6 attributes + export use_coldstart=false + export use_mommesh=true + # CICE attributes + export eps_imesh=1.0e-1 + # mediator AO flux + export flux_convergence=0.0 + export flux_iteration=2 + export flux_scheme=0 + # mediator ocean albedo + export ocean_albedo_limit=0.06 + export use_mean_albedos=.false. + # WW3 (used in run_test only) + export WW3_MULTIGRID=false } export_cpl () { -export FV3=true -export S2S=true -export HAFS=false -export AQM=false -export DATM_CDEPS=false -export DOCN_CDEPS=false -export CDEPS_INLINE=false -export FV3BMIC='p8c' -export BMIC=.false. -export DAYS=1 - -#model configure -export MODEL_CONFIGURE=model_configure.IN -export SYEAR=2021 -export SMONTH=03 -export SDAY=22 -export SHOUR=06 -export CHOUR=06 -export FHMAX=24 -export FHROT=0 -export DT_ATMOS=720 -export QUILTING_RESTART=.false. -export WRTTASK_PER_GROUP=$WPG_cpl_dflt -export WRITE_NSFLIP=.true. -export OUTPUT_FH='6 -1' - -# default atm/ocn/ice resolution -export ATMRES=C96 -export OCNRES=100 -export ICERES=1.00 -export NX_GLB=360 -export NY_GLB=320 -export NPZ=127 -export NPZP=128 - -# default resources -export DOMAINS_STACK_SIZE=8000000 -export INPES=$INPES_cpl_dflt -export JNPES=$JNPES_cpl_dflt -export THRD=$THRD_cpl_dflt -OCN_tasks=$OCN_tasks_cpl_dflt -ICE_tasks=$ICE_tasks_cpl_dflt -WAV_tasks=$WAV_tasks_cpl_dflt - -# Set CICE6 component defaults -export_cice6 - -# Set MOM6 component defaults -export_mom6 - -# Set WW3 component defaults -export_ww3 - -# Set CMEPS component defauls -export_cmeps -export ATMTILESIZE=`expr $NPX - 1` - -# FV3 defaults -export FRAC_GRID=.true. -export CCPP_SUITE=FV3_GFS_v17_coupled_p8 -export INPUT_NML=cpld_control.nml.IN -export FIELD_TABLE=field_table_thompson_noaero_tke_GOCART -export DIAG_TABLE=diag_table_cpld.IN -export DIAG_TABLE_ADDITIONAL='' - -export FHZERO=6 -export DT_INNER=${DT_ATMOS} - -# P7 default -export IALB=2 -export IEMS=2 -export LSM=2 -export IOPT_DVEG=4 -export IOPT_CRS=2 -export IOPT_RAD=3 -export IOPT_ALB=1 -export IOPT_STC=3 -# P8 -export IOPT_SFC=3 -export IOPT_TRS=2 -export IOPT_DIAG=2 - -# FV3 P7 settings -export D2_BG_K1=0.20 -export D2_BG_K2=0.04 -#export DZ_MIN=2 -export PSM_BC=1 -export DDDMP=0.1 - -#P8 -export DZ_MIN=6 - -# P7 Merra2 Aerosols & NSST -export USE_MERRA2=.true. -export IAER=1011 -export NSTF_NAME=2,0,0,0,0 - -export LHEATSTRG=.false. -export LSEASPRAY=.true. - -# P7 UGWP1 -export GWD_OPT=2 -export KNOB_UGWP_NSLOPE=1 -export DO_GSL_DRAG_LS_BL=.true. -export DO_GSL_DRAG_SS=.true. -export DO_UGWP_V1_OROG_ONLY=.false. -export DO_UGWP_V0_NST_ONLY=.false. -export LDIAG_UGWP=.false. -#P8 -export DO_GSL_DRAG_TOFD=.false. -export CDMBWD=${CDMBWD_c96} - -# P8 RRTMGP -export DO_RRTMGP=.false. -export DOGP_CLDOPTICS_LUT=.true. -export DOGP_LWSCAT=.true. -export DOGP_SGS_CNV=.true. - -#P8 UGWD -export DO_UGWP_V0=.true. -export DO_UGWP_V1=.false. -export DO_GSL_DRAG_LS_BL=.false. -export KNOB_UGWP_VERSION=0 - -# P7 CA -export DO_CA=.true. -export CA_SGS=.true. -export CA_GLOBAL=.false. -export NCA=1 -export NCELLS=5 -export NLIVES=12 -export NTHRESH=18 -export NSEED=1 -export NFRACSEED=0.5 -export CA_TRIGGER=.true. -export NSPINUP=1 -export ISEED_CA=12345 - -# P7 settings -export FNALBC="'C96.snowfree_albedo.tileX.nc'" -export FNALBC2="'C96.facsf.tileX.nc'" -export FNTG3C="'C96.substrate_temperature.tileX.nc'" -export FNVEGC="'C96.vegetation_greenness.tileX.nc'" -export FNVETC="'C96.vegetation_type.tileX.nc'" -export FNSOTC="'C96.soil_type.tileX.nc'" -export FNSOCC="'C96.soil_color.tileX.nc'" -export FNSMCC=${FNSMCC_control} -export FNMSKH=${FNMSKH_control} -export FNVMNC="'C96.vegetation_greenness.tileX.nc'" -export FNVMXC="'C96.vegetation_greenness.tileX.nc'" -export FNSLPC="'C96.slope_type.tileX.nc'" -export FNABSC="'C96.maximum_snow_albedo.tileX.nc'" -export LANDICE=".false." -#P8 -export FSICL=0 -export FSICS=0 - -# P8 -export USE_CICE_ALB=.true. -export MIN_SEAICE=1.0e-6 -export DNATS=2 -export IMP_PHYSICS=8 -export LGFDLMPRAD=.false. -export DO_SAT_ADJ=.false. -export SATMEDMF=.true. - -# P7 default -export CPLFLX=.true. -export CPLICE=.true. -export CPL=.true. -export CPLWAV=.true. -export CPLWAV2ATM=.true. -export USE_MED_FLUX=.false. -export CPLCHM=.true. -export CPLLND=.false. - -# for FV3: default values will be changed if doing a warm-warm restart -export WARM_START=.false. -export MAKE_NH=.true. -export NA_INIT=1 -export EXTERNAL_IC=.true. -export NGGPS_IC=.true. -export MOUNTAIN=.false. -# gocart inst_aod output; uses AERO_HIST.rc.IN from parm/gocart directory -export AOD_FRQ=060000 - -# checkpoint restarts -export RESTART_FILE_PREFIX='' -export RESTART_FILE_SUFFIX_SECS='' -export RT35D='' + export FV3=true + export S2S=true + export HAFS=false + export AQM=false + export DATM_CDEPS=false + export DOCN_CDEPS=false + export CDEPS_INLINE=false + export FV3BMIC='p8c' + export BMIC=.false. + export DAYS=1 + + #model configure + export MODEL_CONFIGURE=model_configure.IN + export SYEAR=2021 + export SMONTH=03 + export SDAY=22 + export SHOUR=06 + export CHOUR=06 + export FHMAX=24 + export FHROT=0 + export DT_ATMOS=720 + export QUILTING_RESTART=.false. + export WRTTASK_PER_GROUP=${WPG_cpl_dflt} + export WRITE_NSFLIP=.true. + export OUTPUT_FH='6 -1' + + # default atm/ocn/ice resolution + export ATMRES=C96 + export OCNRES=100 + export ICERES=1.00 + export NX_GLB=360 + export NY_GLB=320 + export NPZ=127 + export NPZP=128 + + # default resources + export DOMAINS_STACK_SIZE=8000000 + export INPES=${INPES_cpl_dflt} + export JNPES=${JNPES_cpl_dflt} + export THRD=${THRD_cpl_dflt} + export OCN_tasks=${OCN_tasks_cpl_dflt} + export ICE_tasks=${ICE_tasks_cpl_dflt} + export WAV_tasks=${WAV_tasks_cpl_dflt} + + # Set CICE6 component defaults + export_cice6 + + # Set MOM6 component defaults + export_mom6 + + # Set WW3 component defaults + export_ww3 + + # Set CMEPS component defauls + export_cmeps + + # FV3 defaults + export FRAC_GRID=.true. + export CCPP_SUITE=FV3_GFS_v17_coupled_p8 + export INPUT_NML=cpld_control.nml.IN + export FIELD_TABLE=field_table_thompson_noaero_tke_GOCART + export DIAG_TABLE=diag_table_cpld.IN + export DIAG_TABLE_ADDITIONAL='' + + export FHZERO=6 + export DT_INNER=${DT_ATMOS} + + # P7 default + export IALB=2 + export IEMS=2 + export LSM=2 + export IOPT_DVEG=4 + export IOPT_CRS=2 + export IOPT_RAD=3 + export IOPT_ALB=1 + export IOPT_STC=3 + # P8 + export IOPT_SFC=3 + export IOPT_TRS=2 + export IOPT_DIAG=2 + + # FV3 P7 settings + export D2_BG_K1=0.20 + export D2_BG_K2=0.04 + #export DZ_MIN=2 + export PSM_BC=1 + export DDDMP=0.1 + + #P8 + export DZ_MIN=6 + + # P7 Merra2 Aerosols & NSST + export USE_MERRA2=.true. + export IAER=1011 + export NSTF_NAME=2,0,0,0,0 + + export LHEATSTRG=.false. + export LSEASPRAY=.true. + + # P7 UGWP1 + export GWD_OPT=2 + export KNOB_UGWP_NSLOPE=1 + export DO_GSL_DRAG_LS_BL=.true. + export DO_GSL_DRAG_SS=.true. + export DO_UGWP_V1_OROG_ONLY=.false. + export DO_UGWP_V0_NST_ONLY=.false. + export LDIAG_UGWP=.false. + #P8 + export DO_GSL_DRAG_TOFD=.false. + export CDMBWD=${CDMBWD_c96} + + # P8 RRTMGP + export DO_RRTMGP=.false. + export DOGP_CLDOPTICS_LUT=.true. + export DOGP_LWSCAT=.true. + export DOGP_SGS_CNV=.true. + + #P8 UGWD + export DO_UGWP_V0=.true. + export DO_UGWP_V1=.false. + export DO_GSL_DRAG_LS_BL=.false. + export KNOB_UGWP_VERSION=0 + + # P7 CA + export DO_CA=.true. + export CA_SGS=.true. + export CA_GLOBAL=.false. + export NCA=1 + export NCELLS=5 + export NLIVES=12 + export NTHRESH=18 + export NSEED=1 + export NFRACSEED=0.5 + export CA_TRIGGER=.true. + export NSPINUP=1 + export ISEED_CA=12345 + + # P7 settings + export FNALBC="'C96.snowfree_albedo.tileX.nc'" + export FNALBC2="'C96.facsf.tileX.nc'" + export FNTG3C="'C96.substrate_temperature.tileX.nc'" + export FNVEGC="'C96.vegetation_greenness.tileX.nc'" + export FNVETC="'C96.vegetation_type.tileX.nc'" + export FNSOTC="'C96.soil_type.tileX.nc'" + export FNSOCC="'C96.soil_color.tileX.nc'" + export FNSMCC=${FNSMCC_control} + export FNMSKH=${FNMSKH_control} + export FNVMNC="'C96.vegetation_greenness.tileX.nc'" + export FNVMXC="'C96.vegetation_greenness.tileX.nc'" + export FNSLPC="'C96.slope_type.tileX.nc'" + export FNABSC="'C96.maximum_snow_albedo.tileX.nc'" + export LANDICE=".false." + #P8 + export FSICL=0 + export FSICS=0 + + # P8 + export USE_CICE_ALB=.true. + export MIN_SEAICE=1.0e-6 + export DNATS=2 + export IMP_PHYSICS=8 + export LGFDLMPRAD=.false. + export DO_SAT_ADJ=.false. + export SATMEDMF=.true. + + # P7 default + export CPLFLX=.true. + export CPLICE=.true. + export CPL=.true. + export CPLWAV=.true. + export CPLWAV2ATM=.true. + export USE_MED_FLUX=.false. + export CPLCHM=.true. + export CPLLND=.false. + + # for FV3: default values will be changed if doing a warm-warm restart + export WARM_START=.false. + export MAKE_NH=.true. + export NA_INIT=1 + export EXTERNAL_IC=.true. + export NGGPS_IC=.true. + export MOUNTAIN=.false. + # gocart inst_aod output; uses AERO_HIST.rc.IN from parm/gocart directory + export AOD_FRQ=060000 + + # checkpoint restarts + export RESTART_FILE_PREFIX='' + export RESTART_FILE_SUFFIX_SECS='' + export RT35D='' } export_35d_run () { -export CNTL_DIR="" -export LIST_FILES="" + export CNTL_DIR="" + export LIST_FILES="" } export_datm_cdeps () { -export FV3=false -export S2S=false -export HAFS=false -export AQM=false -export DATM_CDEPS=true -export DOCN_CDEPS=false -export CDEPS_INLINE=false -export DAYS=1 - -# model configure -export MODEL_CONFIGURE=datm_cdeps_configure.IN -export SYEAR=2011 -export SMONTH=10 -export SDAY=01 -export SHOUR=00 -export FHMAX=24 -export DT_ATMOS=900 -export FHROT=0 - -# required but unused -export WARM_START=.false. -export CPLWAV=.false. -export CPLCHM=.false. - -# atm/ocn/ice resolution -export IATM=1760 -export JATM=880 -export ATM_NX_GLB=$IATM -export ATM_NY_GLB=$JATM -export ATMRES=${IATM}x${JATM} -export OCNRES=100 -export ICERES=1.00 -export NX_GLB=360 -export NY_GLB=320 - -# default resources -export ATM_compute_tasks=$ATM_compute_tasks_cdeps_100 -export OCN_tasks=$OCN_tasks_cdeps_100 -export ICE_tasks=$ICE_tasks_cdeps_100 - -# Set CICE6 component defaults -export_cice6 -# default non-mushy thermo for CICE -export CICE_KTHERM=1 -export CICE_TFREEZE_OPTION=linear_salt - -# Set MOM6 component defaults -export_mom6 -# default no waves -export MOM6_USE_LI2016=False -export MOM6_USE_WAVES=False -export WW3_DOMAIN='' - -# Set CMEPS component defauls -export_cmeps -# default configure -export UFS_CONFIGURE=ufs.configure.datm_cdeps.IN -export atm_model=datm -export CPLMODE=ufs.nfrac.aoflux - -# datm defaults -export INPUT_NML=input.mom6.nml.IN -export DIAG_TABLE=diag_table_template -export DATM_SRC=CFSR -export FILENAME_BASE=cfsr. -export MESH_ATM=${FILENAME_BASE//.}_mesh.nc -export atm_datamode=${DATM_SRC} -export stream_files=INPUT/${FILENAME_BASE}201110.nc -export EXPORT_ALL=.false. -export STREAM_OFFSET=0 - -export BL_SUFFIX="" -export RT_SUFFIX="" + export FV3=false + export S2S=false + export HAFS=false + export AQM=false + export DATM_CDEPS=true + export DOCN_CDEPS=false + export CDEPS_INLINE=false + export DAYS=1 + + # model configure + export MODEL_CONFIGURE=datm_cdeps_configure.IN + export SYEAR=2011 + export SMONTH=10 + export SDAY=01 + export SHOUR=00 + export FHMAX=24 + export DT_ATMOS=900 + export FHROT=0 + + # required but unused + export WARM_START=.false. + export CPLWAV=.false. + export CPLCHM=.false. + + # atm/ocn/ice resolution + export IATM=1760 + export JATM=880 + export ATM_NX_GLB=${IATM} + export ATM_NY_GLB=${JATM} + export ATMRES="${IATM}x${JATM}" + export OCNRES=100 + export ICERES=1.00 + export NX_GLB=360 + export NY_GLB=320 + + # default resources + export ATM_compute_tasks=${ATM_compute_tasks_cdeps_100} + export OCN_tasks=${OCN_tasks_cdeps_100} + export ICE_tasks=${ICE_tasks_cdeps_100} + + # Set CICE6 component defaults + export_cice6 + # default non-mushy thermo for CICE + export CICE_KTHERM=1 + export CICE_TFREEZE_OPTION=linear_salt + + # Set MOM6 component defaults + export_mom6 + # default no waves + export MOM6_USE_LI2016=False + export MOM6_USE_WAVES=False + export WW3_DOMAIN='' + + # Set CMEPS component defauls + export_cmeps + # default configure + export UFS_CONFIGURE=ufs.configure.datm_cdeps.IN + export atm_model=datm + export CPLMODE=ufs.nfrac.aoflux + + # datm defaults + export INPUT_NML=input.mom6.nml.IN + export DIAG_TABLE=diag_table_template + export DATM_SRC=CFSR + export FILENAME_BASE=cfsr. + export MESH_ATM=${FILENAME_BASE//.}_mesh.nc + export atm_datamode=${DATM_SRC} + export stream_files=INPUT/${FILENAME_BASE}201110.nc + export EXPORT_ALL=.false. + export STREAM_OFFSET=0 + + export BL_SUFFIX="" + export RT_SUFFIX="" } + export_hafs_datm_cdeps () { -export FV3=false -export S2S=false -export HAFS=true -export AQM=false -export DATM_CDEPS=true -export DOCN_CDEPS=false -export CDEPS_INLINE=false -export INPES=$INPES_dflt -export JNPES=$JNPES_dflt -export NTILES=1 - -export atm_model=datm -export DATM_IN_CONFIGURE=datm_in.IN -export DATM_STREAM_CONFIGURE=hafs_datm.streams.era5.IN -export EXPORT_ALL=.false. + export FV3=false + export S2S=false + export HAFS=true + export AQM=false + export DATM_CDEPS=true + export DOCN_CDEPS=false + export CDEPS_INLINE=false + export INPES=${INPES_dflt} + export JNPES=${JNPES_dflt} + export NTILES=1 + + export atm_model=datm + export DATM_IN_CONFIGURE=datm_in.IN + export DATM_STREAM_CONFIGURE=hafs_datm.streams.era5.IN + export EXPORT_ALL=.false. } + export_hafs_docn_cdeps () { -export FV3=true -export S2S=false -export HAFS=true -export AQM=false -export DOCN_CDEPS=true -export CDEPS_INLINE=false -export INPES=$INPES_dflt -export JNPES=$JNPES_dflt -export NTILES=1 - -export ocn_model=docn -export ocn_datamode=sstdata -export pio_rearranger=box -export DOCN_IN_CONFIGURE=docn_in.IN -export DOCN_STREAM_CONFIGURE=hafs_docn.streams.IN + export FV3=true + export S2S=false + export HAFS=true + export AQM=false + export DOCN_CDEPS=true + export CDEPS_INLINE=false + export INPES=${INPES_dflt} + export JNPES=${JNPES_dflt} + export NTILES=1 + + export ocn_model=docn + export ocn_datamode=sstdata + export pio_rearranger=box + export DOCN_IN_CONFIGURE=docn_in.IN + export DOCN_STREAM_CONFIGURE=hafs_docn.streams.IN } + export_hafs_regional () { -export FV3=true -export S2S=false -export HAFS=true -export AQM=false -export DATM_CDEPS=false -export DOCN_CDEPS=false -export CDEPS_INLINE=false -export INPES=$INPES_dflt -export JNPES=$JNPES_dflt -export NTILES=1 - -# model_configure -export SYEAR=2019 -export SMONTH=08 -export SDAY=29 -export SHOUR=00 -export SECS=`expr $SHOUR \* 3600` -export FHMAX=6 -export ENS_NUM=1 -export DT_ATMOS=900 -export CPL=.true. -export RESTART_INTERVAL=0 -export FHROT=0 -export coupling_interval_fast_sec=0 -export QUILTING=.true. -export WRITE_GROUP=1 -export WRTTASK_PER_GROUP=6 -export OUTPUT_HISTORY=.true. -export WRITE_DOPOST=.false. -export NUM_FILES=2 -export FILENAME_BASE="'atm' 'sfc'" -export OUTPUT_GRID="'regional_latlon'" -export OUTPUT_FILE="'netcdf'" -export IDEFLATE=0 -export QUANTIZE_NSD=0 -export CEN_LON=-62.0 -export CEN_LAT=25.0 -export LON1=-114.5 -export LAT1=-5.0 -export LON2=-9.5 -export LAT2=55.0 -export DLON=0.03 -export DLAT=0.03 - -# shel.inp -# input.nml -export CPL_IMP_MRG=.true. -export DIAG_TABLE=diag_table_hafs -export FIELD_TABLE=field_table_hafs - -export OCNRES='' -export ICERES='' -export DT_THERM_MOM6='' - -# Set WW3 component defaults -export_ww3 -# default hafs with no ice -export WW3_DOMAIN=natl_6m -export WW3_MODDEF=mod_def.${WW3_DOMAIN} -export WW3_ICE='F' -export WW3_OUTPARS="WND HS T01 T02 DIR FP DP PHS PTP PDIR UST CHA USP" - -# Set CMEPS component defaults -export_cmeps -# default hafs -export ocn_model=hycom -export CPLMODE=hafs -export MESH_WAV=mesh.hafs.nc + export FV3=true + export S2S=false + export HAFS=true + export AQM=false + export DATM_CDEPS=false + export DOCN_CDEPS=false + export CDEPS_INLINE=false + export INPES=${INPES_dflt} + export JNPES=${JNPES_dflt} + export NTILES=1 + + # model_configure + export SYEAR=2019 + export SMONTH=08 + export SDAY=29 + export SHOUR=00 + export SECS=$((SHOUR*3600)) + export FHMAX=6 + export ENS_NUM=1 + export DT_ATMOS=900 + export CPL=.true. + export RESTART_INTERVAL=0 + export FHROT=0 + export coupling_interval_fast_sec=0 + export QUILTING=.true. + export WRITE_GROUP=1 + export WRTTASK_PER_GROUP=6 + export OUTPUT_HISTORY=.true. + export WRITE_DOPOST=.false. + export NUM_FILES=2 + export FILENAME_BASE="'atm' 'sfc'" + export OUTPUT_GRID="'regional_latlon'" + export OUTPUT_FILE="'netcdf'" + export IDEFLATE=0 + export QUANTIZE_NSD=0 + export CEN_LON=-62.0 + export CEN_LAT=25.0 + export LON1=-114.5 + export LAT1=-5.0 + export LON2=-9.5 + export LAT2=55.0 + export DLON=0.03 + export DLAT=0.03 + + # shel.inp + # input.nml + export CPL_IMP_MRG=.true. + export DIAG_TABLE=diag_table_hafs + export FIELD_TABLE=field_table_hafs + + export OCNRES='' + export ICERES='' + export DT_THERM_MOM6='' + + # Set WW3 component defaults + export_ww3 + # default hafs with no ice + export WW3_DOMAIN=natl_6m + export WW3_MODDEF=mod_def.${WW3_DOMAIN} + export WW3_ICE='F' + export WW3_OUTPARS="WND HS T01 T02 DIR FP DP PHS PTP PDIR UST CHA USP" + + # Set CMEPS component defaults + export_cmeps + # default hafs + export ocn_model=hycom + export CPLMODE=hafs + export MESH_WAV=mesh.hafs.nc } export_hafs () { -export FV3=true -export S2S=false -export HAFS=true -export AQM=false -export DATM_CDEPS=false -export DOCN_CDEPS=false -export CDEPS_INLINE=false -export INPES=$INPES_dflt -export JNPES=$JNPES_dflt -export NTILES=1 -export IMFSHALCNV=2 -export IMFDEEPCNV=2 -export HYBEDMF=.false. -export SATMEDMF=.true. -export MONINQ_FAC=-1.0 -export HURR_PBL=.true. -export ISATMEDMF=1 -export IOPT_SFC=1 -export IOPT_DVEG=2 -export IOPT_CRS=1 -export IOPT_RAD=1 -export IOPT_ALB=2 -export IOPT_STC=1 -export LSM=1 -export DO_GSL_DRAG_LS_BL=.true. -export DO_GSL_DRAG_SS=.true. -export DO_GSL_DRAG_TOFD=.true. -export IMP_PHYSICS=11 -export IAER=111 -export CNVGWD=.false. -export LTAEROSOL=.false. -export CDMBWD=1.0,1.0,1.0,1.0 -export LHEATSTRG=.false. -export LRADAR=.true. - -export FV_CORE_TAU=5. -export RF_CUTOFF=30.e2 -export RF_CUTOFF_NEST=50.e2 - -export IS_MOVING_NEST=".false." -export VORTEX_TRACKER=0 -export NTRACK=0 -export MOVE_CD_X=0 -export MOVE_CD_Y=0 -export CPL_IMP_MRG=.true. - -export OUTPUT_GRID='' -export IMO='' -export JMO='' -export CEN_LON='' -export CEN_LAT='' -export LON1='' -export LAT1='' -export LON2='' -export LAT2='' -export DLON='' -export DLAT='' -export STDLAT1='' -export STDLAT2='' -export NX='' -export NY='' -export DX='' -export DY='' - -export OUTPUT_GRID_2='' -export IMO_2='' -export JMO_2='' -export CEN_LON_2='' -export CEN_LAT_2='' -export LON1_2='' -export LAT1_2='' -export LON2_2='' -export LAT2_2='' -export DLON_2='' -export DLAT_2='' -export STDLAT1_2='' -export STDLAT2_2='' -export NX_2='' -export NY_2='' -export DX_2='' -export DY_2='' - -export OUTPUT_GRID_3='' -export IMO_3='' -export JMO_3='' -export CEN_LON_3='' -export CEN_LAT_3='' -export LON1_3='' -export LAT1_3='' -export LON2_3='' -export LAT2_3='' -export DLON_3='' -export DLAT_3='' -export STDLAT1_3='' -export STDLAT2_3='' -export NX_3='' -export NY_3='' -export DX_3='' -export DY_3='' - -export OUTPUT_GRID_4='' -export IMO_4='' -export JMO_4='' -export CEN_LON_4='' -export CEN_LAT_4='' -export LON1_4='' -export LAT1_4='' -export LON2_4='' -export LAT2_4='' -export DLON_4='' -export DLAT_4='' -export STDLAT1_4='' -export STDLAT2_4='' -export NX_4='' -export NY_4='' -export DX_4='' -export DY_4='' - -export OUTPUT_GRID_5='' -export IMO_5='' -export JMO_5='' -export CEN_LON_5='' -export CEN_LAT_5='' -export LON1_5='' -export LAT1_5='' -export LON2_5='' -export LAT2_5='' -export DLON_5='' -export DLAT_5='' -export STDLAT1_5='' -export STDLAT2_5='' -export NX_5='' -export NY_5='' -export DX_5='' -export DY_5='' - -export OUTPUT_GRID_6='' -export IMO_6='' -export JMO_6='' -export CEN_LON_6='' -export CEN_LAT_6='' -export LON1_6='' -export LAT1_6='' -export LON2_6='' -export LAT2_6='' -export DLON_6='' -export DLAT_6='' -export STDLAT1_6='' -export STDLAT2_6='' -export NX_6='' -export NY_6='' -export DX_6='' -export DY_6='' - -export OUTPUT_FH='3 -1' + export FV3=true + export S2S=false + export HAFS=true + export AQM=false + export DATM_CDEPS=false + export DOCN_CDEPS=false + export CDEPS_INLINE=false + export INPES=${INPES_dflt} + export JNPES=${JNPES_dflt} + export NTILES=1 + export IMFSHALCNV=2 + export IMFDEEPCNV=2 + export HYBEDMF=.false. + export SATMEDMF=.true. + export MONINQ_FAC=-1.0 + export HURR_PBL=.true. + export ISATMEDMF=1 + export IOPT_SFC=1 + export IOPT_DVEG=2 + export IOPT_CRS=1 + export IOPT_RAD=1 + export IOPT_ALB=2 + export IOPT_STC=1 + export LSM=1 + export DO_GSL_DRAG_LS_BL=.true. + export DO_GSL_DRAG_SS=.true. + export DO_GSL_DRAG_TOFD=.true. + export IMP_PHYSICS=11 + export IAER=111 + export CNVGWD=.false. + export LTAEROSOL=.false. + export CDMBWD=1.0,1.0,1.0,1.0 + export LHEATSTRG=.false. + export LRADAR=.true. + + export FV_CORE_TAU=5. + export RF_CUTOFF=30.e2 + export RF_CUTOFF_NEST=50.e2 + + export IS_MOVING_NEST=".false." + export VORTEX_TRACKER=0 + export NTRACK=0 + export MOVE_CD_X=0 + export MOVE_CD_Y=0 + export CPL_IMP_MRG=.true. + + export OUTPUT_GRID='' + export IMO='' + export JMO='' + export CEN_LON='' + export CEN_LAT='' + export LON1='' + export LAT1='' + export LON2='' + export LAT2='' + export DLON='' + export DLAT='' + export STDLAT1='' + export STDLAT2='' + export NX='' + export NY='' + export DX='' + export DY='' + + export OUTPUT_GRID_2='' + export IMO_2='' + export JMO_2='' + export CEN_LON_2='' + export CEN_LAT_2='' + export LON1_2='' + export LAT1_2='' + export LON2_2='' + export LAT2_2='' + export DLON_2='' + export DLAT_2='' + export STDLAT1_2='' + export STDLAT2_2='' + export NX_2='' + export NY_2='' + export DX_2='' + export DY_2='' + + export OUTPUT_GRID_3='' + export IMO_3='' + export JMO_3='' + export CEN_LON_3='' + export CEN_LAT_3='' + export LON1_3='' + export LAT1_3='' + export LON2_3='' + export LAT2_3='' + export DLON_3='' + export DLAT_3='' + export STDLAT1_3='' + export STDLAT2_3='' + export NX_3='' + export NY_3='' + export DX_3='' + export DY_3='' + + export OUTPUT_GRID_4='' + export IMO_4='' + export JMO_4='' + export CEN_LON_4='' + export CEN_LAT_4='' + export LON1_4='' + export LAT1_4='' + export LON2_4='' + export LAT2_4='' + export DLON_4='' + export DLAT_4='' + export STDLAT1_4='' + export STDLAT2_4='' + export NX_4='' + export NY_4='' + export DX_4='' + export DY_4='' + + export OUTPUT_GRID_5='' + export IMO_5='' + export JMO_5='' + export CEN_LON_5='' + export CEN_LAT_5='' + export LON1_5='' + export LAT1_5='' + export LON2_5='' + export LAT2_5='' + export DLON_5='' + export DLAT_5='' + export STDLAT1_5='' + export STDLAT2_5='' + export NX_5='' + export NY_5='' + export DX_5='' + export DY_5='' + + export OUTPUT_GRID_6='' + export IMO_6='' + export JMO_6='' + export CEN_LON_6='' + export CEN_LAT_6='' + export LON1_6='' + export LAT1_6='' + export LON2_6='' + export LAT2_6='' + export DLON_6='' + export DLAT_6='' + export STDLAT1_6='' + export STDLAT2_6='' + export NX_6='' + export NY_6='' + export DX_6='' + export DY_6='' + + export OUTPUT_FH='3 -1' } + export_hrrr() { -export_fv3 -export NPZ=127 -export NPZP=128 -export DT_ATMOS=300 -export SYEAR=2021 -export SMONTH=03 -export SDAY=22 -export SHOUR=06 -export OUTPUT_GRID='gaussian_grid' -export NSTF_NAME='2,0,0,0,0' -export WRITE_DOPOST=.true. -export IAER=5111 -export FHMAX=12 - -export FRAC_GRID=.false. -export FRAC_ICE=.true. - -export FV_CORE_TAU=10. -export RF_CUTOFF=7.5e2 - -export FV3_RUN=lake_control_run.IN -export CCPP_SUITE=FV3_HRRR -export INPUT_NML=rap.nml.IN -export FIELD_TABLE=field_table_thompson_aero_tke -export NEW_DIAGTABLE=diag_table_rap - -export SFCLAY_COMPUTE_FLUX=.true. - -export LKM=1 -export IOPT_LAKE=2 -export IMP_PHYSICS=8 -export DNATS=0 -export DO_SAT_ADJ=.false. -export LRADAR=.true. -export LTAEROSOL=.true. -export IALB=2 -export IEMS=2 -export HYBEDMF=.false. -export DO_MYNNEDMF=.true. -export DO_MYNNSFCLAY=.true. -export DO_DEEP=.false. -export SHAL_CNV=.false. -export IMFSHALCNV=-1 -export IMFDEEPCNV=-1 -export LHEATSTRG=.false. -export LSM=3 -export LSOIL_LSM=9 -export KICE=9 - -export GWD_OPT=3 -export DO_UGWP_V0=.false. -export DO_UGWP_V0_OROG_ONLY=.false. -export DO_GSL_DRAG_LS_BL=.true. -export DO_GSL_DRAG_SS=.true. -export DO_GSL_DRAG_TOFD=.true. -export DO_UGWP_V1=.false. -export DO_UGWP_V1_OROG_ONLY=.false. + export_fv3 + export NPZ=127 + export NPZP=128 + export DT_ATMOS=300 + export SYEAR=2021 + export SMONTH=03 + export SDAY=22 + export SHOUR=06 + export OUTPUT_GRID='gaussian_grid' + export NSTF_NAME='2,0,0,0,0' + export WRITE_DOPOST=.true. + export IAER=5111 + export FHMAX=12 + + export FRAC_GRID=.false. + export FRAC_ICE=.true. + + export FV_CORE_TAU=10. + export RF_CUTOFF=7.5e2 + + export FV3_RUN=lake_control_run.IN + export CCPP_SUITE=FV3_HRRR + export INPUT_NML=rap.nml.IN + export FIELD_TABLE=field_table_thompson_aero_tke + export NEW_DIAGTABLE=diag_table_rap + + export SFCLAY_COMPUTE_FLUX=.true. + + export LKM=1 + export IOPT_LAKE=2 + export IMP_PHYSICS=8 + export DNATS=0 + export DO_SAT_ADJ=.false. + export LRADAR=.true. + export LTAEROSOL=.true. + export IALB=2 + export IEMS=2 + export HYBEDMF=.false. + export DO_MYNNEDMF=.true. + export DO_MYNNSFCLAY=.true. + export DO_DEEP=.false. + export SHAL_CNV=.false. + export IMFSHALCNV=-1 + export IMFDEEPCNV=-1 + export LHEATSTRG=.false. + export LSM=3 + export LSOIL_LSM=9 + export KICE=9 + + export GWD_OPT=3 + export DO_UGWP_V0=.false. + export DO_UGWP_V0_OROG_ONLY=.false. + export DO_GSL_DRAG_LS_BL=.true. + export DO_GSL_DRAG_SS=.true. + export DO_GSL_DRAG_TOFD=.true. + export DO_UGWP_V1=.false. + export DO_UGWP_V1_OROG_ONLY=.false. } + export_hrrr_conus13km() { -export_fv3 -export SYEAR=2021 -export SMONTH=05 -export SDAY=12 -export SHOUR=16 -export FHMAX=2 -export DT_ATMOS=120 -export RESTART_INTERVAL=1 -export QUILTING=.true. -export WRITE_GROUP=1 -export WRTTASK_PER_GROUP=6 -export NTILES=1 -export WRITE_DOPOST=.false. -export OUTPUT_HISTORY=.true. -export OUTPUT_GRID=lambert_conformal -export OUTPUT_FILE="'netcdf'" - -# Revert these two to GFS_typedefs defaults to avoid a crash: -export SEDI_SEMI=.false. -export DECFL=8 - -export RRFS_SMOKE=.true. -export SEAS_OPT=0 - -export LKM=1 -export SFCLAY_COMPUTE_FLUX=.true. -export IALB=2 -export ICLIQ_SW=2 -export IEMS=2 -export IOVR=3 -export KICE=9 -export LSM=3 -export LSOIL_LSM=9 -export DO_MYNNSFCLAY=.true. -export DO_MYNNEDMF=.true. -export HYBEDMF=.false. -export SHAL_CNV=.false. -export DO_SAT_ADJ=.false. -export DO_DEEP=.false. -export CCPP_SUITE='FV3_HRRR' -export INPES=12 -export JNPES=12 -export NPX=397 -export NPY=233 -export NPZ=65 -export MAKE_NH=.false. -export NA_INIT=0 -export DNATS=0 -export EXTERNAL_IC=.false. -export NGGPS_IC=.false. -export MOUNTAIN=.true. -export WARM_START=.true. -export READ_INCREMENT=.false. -export RES_LATLON_DYNAMICS="'fv3_increment.nc'" -export NPZP=66 -export FHZERO=1.0 -export IMP_PHYSICS=8 -export LDIAG3D=.false. -export QDIAG3D=.false. -export PRINT_DIFF_PGR=.true. -export FHCYC=0.0 -export IAER=1011 -export LHEATSTRG=.false. -export RANDOM_CLDS=.false. -export CNVCLD=.false. -export IMFSHALCNV=-1 -export IMFDEEPCNV=-1 -export CDMBWD='3.5,1.0' -export DO_SPPT=.false. -export DO_SHUM=.false. -export DO_SKEB=.false. -export LNDP_TYPE=0 -export N_VAR_LNDP=0 - -export GWD_OPT=3 -export DO_UGWP_V0=.false. -export DO_UGWP_V0_OROG_ONLY=.false. -export DO_GSL_DRAG_LS_BL=.true. -export DO_GSL_DRAG_SS=.true. -export DO_GSL_DRAG_TOFD=.true. -export DO_UGWP_V1=.false. -export DO_UGWP_V1_OROG_ONLY=.false. - -export FV3_RUN=rrfs_warm_run.IN -export INPUT_NML=rrfs_conus13km_hrrr.nml.IN -export FIELD_TABLE=field_table_thompson_aero_tke_smoke -export DIAG_TABLE=diag_table_hrrr -export MODEL_CONFIGURE=model_configure_rrfs_conus13km.IN -export DIAG_TABLE_ADDITIONAL=diag_additional_rrfs_smoke -export FRAC_ICE=.true. + export_fv3 + export SYEAR=2021 + export SMONTH=05 + export SDAY=12 + export SHOUR=16 + export FHMAX=2 + export DT_ATMOS=120 + export RESTART_INTERVAL=1 + export QUILTING=.true. + export WRITE_GROUP=1 + export WRTTASK_PER_GROUP=6 + export NTILES=1 + export WRITE_DOPOST=.false. + export OUTPUT_HISTORY=.true. + export OUTPUT_GRID=lambert_conformal + export OUTPUT_FILE="'netcdf'" + + # Revert these two to GFS_typedefs defaults to avoid a crash: + export SEDI_SEMI=.false. + export DECFL=8 + + export RRFS_SMOKE=.true. + export SEAS_OPT=0 + + export LKM=1 + export SFCLAY_COMPUTE_FLUX=.true. + export IALB=2 + export ICLIQ_SW=2 + export IEMS=2 + export IOVR=3 + export KICE=9 + export LSM=3 + export LSOIL_LSM=9 + export DO_MYNNSFCLAY=.true. + export DO_MYNNEDMF=.true. + export HYBEDMF=.false. + export SHAL_CNV=.false. + export DO_SAT_ADJ=.false. + export DO_DEEP=.false. + export CCPP_SUITE='FV3_HRRR' + export INPES=12 + export JNPES=12 + export NPX=397 + export NPY=233 + export NPZ=65 + export MAKE_NH=.false. + export NA_INIT=0 + export DNATS=0 + export EXTERNAL_IC=.false. + export NGGPS_IC=.false. + export MOUNTAIN=.true. + export WARM_START=.true. + export READ_INCREMENT=.false. + export RES_LATLON_DYNAMICS="'fv3_increment.nc'" + export NPZP=66 + export FHZERO=1.0 + export IMP_PHYSICS=8 + export LDIAG3D=.false. + export QDIAG3D=.false. + export PRINT_DIFF_PGR=.true. + export FHCYC=0.0 + export IAER=1011 + export LHEATSTRG=.false. + export RANDOM_CLDS=.false. + export CNVCLD=.false. + export IMFSHALCNV=-1 + export IMFDEEPCNV=-1 + export CDMBWD='3.5,1.0' + export DO_SPPT=.false. + export DO_SHUM=.false. + export DO_SKEB=.false. + export LNDP_TYPE=0 + export N_VAR_LNDP=0 + + export GWD_OPT=3 + export DO_UGWP_V0=.false. + export DO_UGWP_V0_OROG_ONLY=.false. + export DO_GSL_DRAG_LS_BL=.true. + export DO_GSL_DRAG_SS=.true. + export DO_GSL_DRAG_TOFD=.true. + export DO_UGWP_V1=.false. + export DO_UGWP_V1_OROG_ONLY=.false. + + export FV3_RUN=rrfs_warm_run.IN + export INPUT_NML=rrfs_conus13km_hrrr.nml.IN + export FIELD_TABLE=field_table_thompson_aero_tke_smoke + export DIAG_TABLE=diag_table_hrrr + export MODEL_CONFIGURE=model_configure_rrfs_conus13km.IN + export DIAG_TABLE_ADDITIONAL=diag_additional_rrfs_smoke + export FRAC_ICE=.true. } + export_rap_common() { export_fv3 -export NPZ=127 -export NPZP=128 -export DT_ATMOS=300 -export SYEAR=2021 -export SMONTH=03 -export SDAY=22 -export SHOUR=06 -export OUTPUT_GRID='gaussian_grid' -export NSTF_NAME='2,0,0,0,0' -export WRITE_DOPOST=.true. -export IAER=5111 - -export FV_CORE_TAU=10. -export RF_CUTOFF=7.5e2 - -export FV3_RUN=control_run.IN -export INPUT_NML=rap.nml.IN -export FIELD_TABLE=field_table_thompson_aero_tke - -export LHEATSTRG=.false. -export IMP_PHYSICS=8 -export DNATS=0 -export DO_SAT_ADJ=.false. -export LRADAR=.true. -export LTAEROSOL=.true. -export IALB=2 -export IEMS=2 -export HYBEDMF=.false. -export DO_MYNNEDMF=.true. -export DO_MYNNSFCLAY=.true. + export NPZ=127 + export NPZP=128 + export DT_ATMOS=300 + export SYEAR=2021 + export SMONTH=03 + export SDAY=22 + export SHOUR=06 + export OUTPUT_GRID='gaussian_grid' + export NSTF_NAME='2,0,0,0,0' + export WRITE_DOPOST=.true. + export IAER=5111 + + export FV_CORE_TAU=10. + export RF_CUTOFF=7.5e2 + + export FV3_RUN=control_run.IN + export INPUT_NML=rap.nml.IN + export FIELD_TABLE=field_table_thompson_aero_tke + + export LHEATSTRG=.false. + export IMP_PHYSICS=8 + export DNATS=0 + export DO_SAT_ADJ=.false. + export LRADAR=.true. + export LTAEROSOL=.true. + export IALB=2 + export IEMS=2 + export HYBEDMF=.false. + export DO_MYNNEDMF=.true. + export DO_MYNNSFCLAY=.true. } + export_rap() { -export_rap_common - -export DIAG_TABLE=diag_table_rap -export CCPP_SUITE=FV3_RAP - -export IMFSHALCNV=3 -export IMFDEEPCNV=3 -export LSM=3 -export LSOIL_LSM=9 -export KICE=9 - -export GWD_OPT=3 -export DO_UGWP_V0=.false. -export DO_UGWP_V0_OROG_ONLY=.false. -export DO_GSL_DRAG_LS_BL=.true. -export DO_GSL_DRAG_SS=.true. -export DO_GSL_DRAG_TOFD=.true. -export DO_UGWP_V1=.false. -export DO_UGWP_V1_OROG_ONLY=.false. + export_rap_common + + export DIAG_TABLE=diag_table_rap + export CCPP_SUITE=FV3_RAP + + export IMFSHALCNV=3 + export IMFDEEPCNV=3 + export LSM=3 + export LSOIL_LSM=9 + export KICE=9 + + export GWD_OPT=3 + export DO_UGWP_V0=.false. + export DO_UGWP_V0_OROG_ONLY=.false. + export DO_GSL_DRAG_LS_BL=.true. + export DO_GSL_DRAG_SS=.true. + export DO_GSL_DRAG_TOFD=.true. + export DO_UGWP_V1=.false. + export DO_UGWP_V1_OROG_ONLY=.false. } + export_rrfs_v1() { -export_rap_common - -export CCPP_SUITE=FV3_RRFS_v1beta -export DIAG_TABLE=diag_table_rap_noah - -export DO_DEEP=.false. -export SHAL_CNV=.false. -export IMFSHALCNV=-1 -export IMFDEEPCNV=-1 -export LHEATSTRG=.false. -export LSM=2 -export LSOIL_LSM=4 + export_rap_common + + export CCPP_SUITE=FV3_RRFS_v1beta + export DIAG_TABLE=diag_table_rap_noah + + export DO_DEEP=.false. + export SHAL_CNV=.false. + export IMFSHALCNV=-1 + export IMFDEEPCNV=-1 + export LHEATSTRG=.false. + export LSM=2 + export LSOIL_LSM=4 } diff --git a/tests/fv3_conf/compile_slurm.IN_hera b/tests/fv3_conf/compile_slurm.IN_hera index aa84ba5b00..f146fcbe15 100644 --- a/tests/fv3_conf/compile_slurm.IN_hera +++ b/tests/fv3_conf/compile_slurm.IN_hera @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -e err #SBATCH -o out #SBATCH --account=@[ACCNR] @@ -9,11 +9,14 @@ #SBATCH --job-name="@[JBNME]" set -eux +date_s_start=$(date +%s) +date_start=$(date) +echo -n "${date_s_start}," > job_timestamp.txt +echo "Compile started: ${date_start}" -echo -n " $( date +%s )," > job_timestamp.txt -echo "Compile started: " `date` +"@[PATHRT]/compile.sh" "@[MACHINE_ID]" "@[MAKE_OPT]" "@[COMPILE_ID]" "@[RT_COMPILER]" -@[PATHRT]/compile.sh @[MACHINE_ID] "@[MAKE_OPT]" @[COMPILE_ID] @[RT_COMPILER] - -echo "Compile ended: " `date` -echo -n " $( date +%s )," >> job_timestamp.txt +date_end=$(date) +echo "Compile ended: ${date_end}" +date_s_end=$(date +%s) +echo -n "${date_s_end}," >> job_timestamp.txt diff --git a/tests/fv3_conf/fv3_slurm.IN_hera b/tests/fv3_conf/fv3_slurm.IN_hera index 225acbd192..94c3827525 100644 --- a/tests/fv3_conf/fv3_slurm.IN_hera +++ b/tests/fv3_conf/fv3_slurm.IN_hera @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -e err #SBATCH -o out #SBATCH --account=@[ACCNR] @@ -11,21 +11,23 @@ ### #SBATCH --exclusive set -eux -echo -n " $( date +%s )," > job_timestamp.txt +date_s_start=$(date +%s) +echo -n "${date_s_start}," > job_timestamp.txt set +x -MACHINE_ID=hera +#MACHINE_ID=hera source ./module-setup.sh -module use $PWD/modulefiles +module use "@[PWD]/modulefiles" module load modules.fv3 module list set -x -echo "Model started: " `date` +date_start=$(date) +echo "Model started: ${date_start}" export MPI_TYPE_DEPTH=20 export OMP_STACKSIZE=512M -export OMP_NUM_THREADS=@[THRD] +export OMP_NUM_THREADS="@[THRD]" export ESMF_RUNTIME_COMPLIANCECHECK=OFF:depth=4 export ESMF_RUNTIME_PROFILE=ON export ESMF_RUNTIME_PROFILE_OUTPUT="SUMMARY" @@ -35,7 +37,9 @@ export PSM_SHAREDCONTEXTS=1 # Avoid job errors because of filesystem synchronization delays sync && sleep 1 -srun --label -n @[TASKS] ./fv3.exe +srun --label -n "@[TASKS]" ./fv3.exe -echo "Model ended: " `date` -echo -n " $( date +%s )," >> job_timestamp.txt +date_end=$(date) +echo "Model ended: ${date_end}" +date_s_end=$(date +%s) +echo -n "${date_s_end}," >> job_timestamp.txt diff --git a/tests/logs/OpnReqTests_control_p8_hera.log b/tests/logs/OpnReqTests_control_p8_hera.log index 3fc707bec8..ca3a06a77c 100644 --- a/tests/logs/OpnReqTests_control_p8_hera.log +++ b/tests/logs/OpnReqTests_control_p8_hera.log @@ -1,9 +1,9 @@ -Wed Mar 13 16:00:32 UTC 2024 +Thu Apr 18 13:16:52 UTC 2024 Start Operation Requirement Test baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_bit_base_gnu -working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_226640/bit_base_bit_base +working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_836892/bit_base_bit_base Checking test bit_base results .... Moving baseline bit_base files .... Moving sfcf000.nc .........OK @@ -51,14 +51,14 @@ Moving baseline bit_base files .... Moving RESTART/20210323.060000.sfc_data.tile5.nc .........OK Moving RESTART/20210323.060000.sfc_data.tile6.nc .........OK - 0: The total amount of wall time = 330.604077 - 0: The maximum resident set size (KB) = 1306700 + 0: The total amount of wall time = 273.642666 + 0: The maximum resident set size (KB) = 1250952 Test bit_base PASS baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_dbg_base_gnu -working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_226640/dbg_base_dbg_base +working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_836892/dbg_base_dbg_base Checking test dbg_base results .... Moving baseline dbg_base files .... Moving sfcf000.nc .........OK @@ -106,14 +106,14 @@ Moving baseline dbg_base files .... Moving RESTART/20210323.060000.sfc_data.tile5.nc .........OK Moving RESTART/20210323.060000.sfc_data.tile6.nc .........OK - 0: The total amount of wall time = 929.248031 - 0: The maximum resident set size (KB) = 1291568 + 0: The total amount of wall time = 951.737374 + 0: The maximum resident set size (KB) = 1234892 Test dbg_base PASS baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu -working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_226640/dcp_dcp +working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_836892/dcp_dcp Checking test dcp results .... Comparing sfcf000.nc .....USING NCCMP......OK Comparing sfcf021.nc .....USING NCCMP......OK @@ -160,14 +160,14 @@ Checking test dcp results .... Comparing RESTART/20210323.060000.sfc_data.tile5.nc .....USING NCCMP......OK Comparing RESTART/20210323.060000.sfc_data.tile6.nc .....USING NCCMP......OK - 0: The total amount of wall time = 250.255270 - 0: The maximum resident set size (KB) = 1278404 + 0: The total amount of wall time = 231.272825 + 0: The maximum resident set size (KB) = 1232708 Test dcp PASS baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu -working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_226640/mpi_mpi +working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_836892/mpi_mpi Checking test mpi results .... Comparing sfcf000.nc .....USING NCCMP......OK Comparing sfcf021.nc .....USING NCCMP......OK @@ -214,14 +214,14 @@ Checking test mpi results .... Comparing RESTART/20210323.060000.sfc_data.tile5.nc .....USING NCCMP......OK Comparing RESTART/20210323.060000.sfc_data.tile6.nc .....USING NCCMP......OK - 0: The total amount of wall time = 252.275080 - 0: The maximum resident set size (KB) = 1281536 + 0: The total amount of wall time = 237.359756 + 0: The maximum resident set size (KB) = 1240676 Test mpi PASS baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu -working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_226640/rst_rst +working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_836892/rst_rst Checking test rst results .... Comparing sfcf000.nc .....USING NCCMP......OK Comparing sfcf021.nc .....USING NCCMP......OK @@ -268,14 +268,14 @@ Checking test rst results .... Comparing RESTART/20210323.060000.sfc_data.tile5.nc .....USING NCCMP......OK Comparing RESTART/20210323.060000.sfc_data.tile6.nc .....USING NCCMP......OK - 0: The total amount of wall time = 257.921526 - 0: The maximum resident set size (KB) = 1278656 + 0: The total amount of wall time = 237.824946 + 0: The maximum resident set size (KB) = 1232292 Test rst PASS baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu -working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_226640/std_base_std_base +working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_836892/std_base_std_base Checking test std_base results .... Moving baseline std_base files .... Moving sfcf000.nc .........OK @@ -323,14 +323,14 @@ Moving baseline std_base files .... Moving RESTART/20210323.060000.sfc_data.tile5.nc .........OK Moving RESTART/20210323.060000.sfc_data.tile6.nc .........OK - 0: The total amount of wall time = 248.830644 - 0: The maximum resident set size (KB) = 1281968 + 0: The total amount of wall time = 240.136006 + 0: The maximum resident set size (KB) = 1230264 Test std_base PASS baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu -working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_226640/thr_thr +working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_836892/thr_thr Checking test thr results .... Comparing sfcf000.nc .....USING NCCMP......OK Comparing sfcf021.nc .....USING NCCMP......OK @@ -377,11 +377,11 @@ Checking test thr results .... Comparing RESTART/20210323.060000.sfc_data.tile5.nc .....USING NCCMP......OK Comparing RESTART/20210323.060000.sfc_data.tile6.nc .....USING NCCMP......OK - 0: The total amount of wall time = 250.246300 - 0: The maximum resident set size (KB) = 1282284 + 0: The total amount of wall time = 235.571519 + 0: The maximum resident set size (KB) = 1233056 Test thr PASS OPERATION REQUIREMENT TEST WAS SUCCESSFUL -Wed Mar 13 17:40:13 UTC 2024 -Elapsed time: 01h:39m:42s. Have a nice day! +Thu Apr 18 14:32:34 UTC 2024 +Elapsed time: 01h:15m:44s. Have a nice day! diff --git a/tests/logs/OpnReqTests_cpld_control_nowave_noaero_p8_hera.log b/tests/logs/OpnReqTests_cpld_control_nowave_noaero_p8_hera.log index b33f69d226..4890b07943 100644 --- a/tests/logs/OpnReqTests_cpld_control_nowave_noaero_p8_hera.log +++ b/tests/logs/OpnReqTests_cpld_control_nowave_noaero_p8_hera.log @@ -1,9 +1,9 @@ -Wed Mar 13 18:29:02 UTC 2024 +Thu Apr 18 17:53:39 UTC 2024 Start Operation Requirement Test baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/cpld_control_c96_noaero_p8_dbg_base_gnu -working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_216513/dbg_base_dbg_base +working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_2248263/dbg_base_dbg_base Checking test dbg_base results .... Moving baseline dbg_base files .... Moving sfcf021.tile1.nc .........OK @@ -66,14 +66,14 @@ Moving baseline dbg_base files .... Moving RESTART/iced.2021-03-23-21600.nc .........OK Moving RESTART/ufs.cpld.cpl.r.2021-03-23-21600.nc .........OK - 0: The total amount of wall time = 1390.651720 - 0: The maximum resident set size (KB) = 1411516 + 0: The total amount of wall time = 1575.086435 + 0: The maximum resident set size (KB) = 1345260 Test dbg_base PASS baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/cpld_control_c96_noaero_p8_std_base_gnu -working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_216513/rst_rst +working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_2248263/rst_rst Checking test rst results .... Comparing sfcf021.tile1.nc .....USING NCCMP......OK Comparing sfcf021.tile2.nc .....USING NCCMP......OK @@ -135,14 +135,14 @@ Checking test rst results .... Comparing RESTART/iced.2021-03-23-21600.nc .....USING NCCMP......OK Comparing RESTART/ufs.cpld.cpl.r.2021-03-23-21600.nc .....USING NCCMP......OK - 0: The total amount of wall time = 388.568533 - 0: The maximum resident set size (KB) = 1404964 + 0: The total amount of wall time = 412.335686 + 0: The maximum resident set size (KB) = 1345900 Test rst PASS baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/cpld_control_c96_noaero_p8_std_base_gnu -working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_216513/std_base_std_base +working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_2248263/std_base_std_base Checking test std_base results .... Moving baseline std_base files .... Moving sfcf021.tile1.nc .........OK @@ -205,11 +205,11 @@ Moving baseline std_base files .... Moving RESTART/iced.2021-03-23-21600.nc .........OK Moving RESTART/ufs.cpld.cpl.r.2021-03-23-21600.nc .........OK - 0: The total amount of wall time = 429.798207 - 0: The maximum resident set size (KB) = 1403184 + 0: The total amount of wall time = 416.527929 + 0: The maximum resident set size (KB) = 1341108 Test std_base PASS OPERATION REQUIREMENT TEST WAS SUCCESSFUL -Wed Mar 13 19:38:16 UTC 2024 -Elapsed time: 01h:09m:15s. Have a nice day! +Thu Apr 18 19:21:18 UTC 2024 +Elapsed time: 01h:27m:39s. Have a nice day! diff --git a/tests/logs/OpnReqTests_regional_control_hera.log b/tests/logs/OpnReqTests_regional_control_hera.log index 67221b9610..2fbba640bb 100644 --- a/tests/logs/OpnReqTests_regional_control_hera.log +++ b/tests/logs/OpnReqTests_regional_control_hera.log @@ -1,9 +1,9 @@ -Wed Mar 13 19:39:46 UTC 2024 +Thu Apr 18 15:29:26 UTC 2024 Start Operation Requirement Test baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/regional_control_std_base_gnu -working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_294049/dcp_dcp +working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_1412490/dcp_dcp Checking test dcp results .... Comparing dynf000.nc .....USING NCCMP......OK Comparing dynf006.nc .....USING NCCMP......OK @@ -14,14 +14,14 @@ Checking test dcp results .... Comparing NATLEV.GrbF00 .....USING CMP......OK Comparing NATLEV.GrbF06 .....USING CMP......OK - 0: The total amount of wall time = 518.481376 - 0: The maximum resident set size (KB) = 589344 + 0: The total amount of wall time = 2213.723834 + 0: The maximum resident set size (KB) = 542640 Test dcp PASS baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/regional_control_std_base_gnu -working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_294049/std_base_std_base +working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_1412490/std_base_std_base Checking test std_base results .... Moving baseline std_base files .... Moving dynf000.nc .........OK @@ -33,14 +33,14 @@ Moving baseline std_base files .... Moving NATLEV.GrbF00 .........OK Moving NATLEV.GrbF06 .........OK - 0: The total amount of wall time = 511.698032 - 0: The maximum resident set size (KB) = 588824 + 0: The total amount of wall time = 2173.765133 + 0: The maximum resident set size (KB) = 539832 Test std_base PASS baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/regional_control_std_base_gnu -working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_294049/thr_thr +working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_1412490/thr_thr Checking test thr results .... Comparing dynf000.nc .....USING NCCMP......OK Comparing dynf006.nc .....USING NCCMP......OK @@ -51,11 +51,11 @@ Checking test thr results .... Comparing NATLEV.GrbF00 .....USING CMP......OK Comparing NATLEV.GrbF06 .....USING CMP......OK - 0: The total amount of wall time = 514.740790 - 0: The maximum resident set size (KB) = 590320 + 0: The total amount of wall time = 2243.570995 + 0: The maximum resident set size (KB) = 541576 Test thr PASS OPERATION REQUIREMENT TEST WAS SUCCESSFUL -Wed Mar 13 20:34:36 UTC 2024 -Elapsed time: 00h:54m:51s. Have a nice day! +Thu Apr 18 17:37:11 UTC 2024 +Elapsed time: 02h:07m:46s. Have a nice day! diff --git a/tests/logs/RT-run-Orion.log b/tests/logs/RT-run-Orion.log deleted file mode 100644 index d6bd7eb96b..0000000000 --- a/tests/logs/RT-run-Orion.log +++ /dev/null @@ -1,2467 +0,0 @@ -Orion-login-1.HPC.MsState.Edu -Machine: orion Account: epic -Linking /work/noaa/epic/stmp/role-epic/stmp/role-epic/FV3_RT/rt_170319 to /work/noaa/epic/role-epic/jenkins/workspace/s-weather-model_pipeline_PR-2172/tests/run_dir -Run regression test in: /work/noaa/epic/stmp/role-epic/stmp/role-epic/FV3_RT/rt_170319 -No update needed to TESTS_FILE -COMPILING s2swa_32bit_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 199 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 200 -COMPILING s2swa_32bit_pdlib_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 239 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 240 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 239 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 240 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 239 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 240 -ATM_petlist_bounds: 0 197 -OCN_petlist_bounds: 198 231 -ICE_petlist_bounds: 232 251 -WAV_petlist_bounds: 252 301 -CHM_petlist_bounds: 0 191 -MED_petlist_bounds: 0 191 -AQM_petlist_bounds: 0 191 -LND_petlist_bounds: -UFS_tasks : 302 -COMPILING s2swa_32bit_pdlib_debug_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 257 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 258 -COMPILING s2swa_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 199 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 200 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 199 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 200 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 199 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 200 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 199 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 200 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 199 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 200 -ATM_petlist_bounds: 0 167 -OCN_petlist_bounds: 168 187 -ICE_petlist_bounds: 188 197 -WAV_petlist_bounds: 198 221 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 222 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 199 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 200 -ATM_petlist_bounds: 0 197 -OCN_petlist_bounds: 198 231 -ICE_petlist_bounds: 232 251 -WAV_petlist_bounds: 252 279 -CHM_petlist_bounds: 0 191 -MED_petlist_bounds: 0 191 -AQM_petlist_bounds: 0 191 -LND_petlist_bounds: -UFS_tasks : 280 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 199 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 200 -ATM_petlist_bounds: 0 623 -OCN_petlist_bounds: 624 683 -ICE_petlist_bounds: 684 707 -WAV_petlist_bounds: 708 787 -CHM_petlist_bounds: 0 575 -MED_petlist_bounds: 0 575 -AQM_petlist_bounds: 0 575 -LND_petlist_bounds: -UFS_tasks : 788 -ATM_petlist_bounds: 0 599 -OCN_petlist_bounds: 600 659 -ICE_petlist_bounds: 660 683 -WAV_petlist_bounds: 684 763 -CHM_petlist_bounds: 0 575 -MED_petlist_bounds: 0 575 -AQM_petlist_bounds: 0 575 -LND_petlist_bounds: -UFS_tasks : 764 -ATM_petlist_bounds: 0 959 -OCN_petlist_bounds: 960 1079 -ICE_petlist_bounds: 1080 1127 -WAV_petlist_bounds: 1128 1287 -CHM_petlist_bounds: 0 767 -MED_petlist_bounds: 0 767 -AQM_petlist_bounds: 0 767 -LND_petlist_bounds: -UFS_tasks : 1288 -ATM_petlist_bounds: 0 959 -OCN_petlist_bounds: 960 1079 -ICE_petlist_bounds: 1080 1127 -WAV_petlist_bounds: 1128 1287 -CHM_petlist_bounds: 0 767 -MED_petlist_bounds: 0 767 -AQM_petlist_bounds: 0 767 -LND_petlist_bounds: -UFS_tasks : 1288 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 180 -COMPILING s2sw_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 199 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 200 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 180 -COMPILING s2swa_debug_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 199 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 200 -COMPILING s2sw_debug_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 199 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 200 -COMPILING s2s_aoflux_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 199 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 200 -COMPILING s2s_intel -ATM_petlist_bounds: 0 11 -OCN_petlist_bounds: 12 15 -ICE_petlist_bounds: 16 19 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 5 -MED_petlist_bounds: 0 5 -AQM_petlist_bounds: 0 5 -LND_petlist_bounds: -UFS_tasks : 20 -COMPILING s2swa_faster_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 199 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 200 -COMPILING s2sw_pdlib_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 239 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 240 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 239 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 240 -ATM_petlist_bounds: 0 197 -OCN_petlist_bounds: 198 231 -ICE_petlist_bounds: 232 251 -WAV_petlist_bounds: 252 301 -CHM_petlist_bounds: 0 191 -MED_petlist_bounds: 0 191 -AQM_petlist_bounds: 0 191 -LND_petlist_bounds: -UFS_tasks : 302 -COMPILING s2sw_pdlib_debug_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: 150 169 -ICE_petlist_bounds: 170 179 -WAV_petlist_bounds: 180 257 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 258 -COMPILING atm_dyn32_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 7 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 5 -MED_petlist_bounds: 0 5 -AQM_petlist_bounds: 0 5 -LND_petlist_bounds: -UFS_tasks : 8 -ATM_petlist_bounds: 0 7 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 5 -MED_petlist_bounds: 0 5 -AQM_petlist_bounds: 0 5 -LND_petlist_bounds: -UFS_tasks : 8 -ATM_petlist_bounds: 0 203 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 191 -MED_petlist_bounds: 0 191 -AQM_petlist_bounds: 0 191 -LND_petlist_bounds: -UFS_tasks : 204 -ATM_petlist_bounds: 0 671 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 575 -MED_petlist_bounds: 0 575 -AQM_petlist_bounds: 0 575 -LND_petlist_bounds: -UFS_tasks : 672 -ATM_petlist_bounds: 0 671 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 575 -MED_petlist_bounds: 0 575 -AQM_petlist_bounds: 0 575 -LND_petlist_bounds: -UFS_tasks : 672 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 155 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 156 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 119 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 109 -MED_petlist_bounds: 0 109 -AQM_petlist_bounds: 0 109 -LND_petlist_bounds: -UFS_tasks : 120 -ATM_petlist_bounds: 0 119 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 109 -MED_petlist_bounds: 0 109 -AQM_petlist_bounds: 0 109 -LND_petlist_bounds: -UFS_tasks : 120 -ATM_petlist_bounds: 0 119 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 109 -MED_petlist_bounds: 0 109 -AQM_petlist_bounds: 0 109 -LND_petlist_bounds: -UFS_tasks : 120 -ATM_petlist_bounds: 0 239 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 219 -MED_petlist_bounds: 0 219 -AQM_petlist_bounds: 0 219 -LND_petlist_bounds: -UFS_tasks : 240 -ATM_petlist_bounds: 0 109 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 109 -MED_petlist_bounds: 0 109 -AQM_petlist_bounds: 0 109 -LND_petlist_bounds: -UFS_tasks : 110 -ATM_petlist_bounds: 0 119 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 109 -MED_petlist_bounds: 0 109 -AQM_petlist_bounds: 0 109 -LND_petlist_bounds: -UFS_tasks : 120 -ATM_petlist_bounds: 0 119 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 109 -MED_petlist_bounds: 0 109 -AQM_petlist_bounds: 0 109 -LND_petlist_bounds: -UFS_tasks : 120 -ATM_petlist_bounds: 0 119 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 109 -MED_petlist_bounds: 0 109 -AQM_petlist_bounds: 0 109 -LND_petlist_bounds: -UFS_tasks : 120 -COMPILING ifi_intel -COMPILING rrfs_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 383 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 359 -MED_petlist_bounds: 0 359 -AQM_petlist_bounds: 0 359 -LND_petlist_bounds: -UFS_tasks : 384 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 155 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 156 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 155 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 156 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -COMPILING csawmg_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -COMPILING wam_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -COMPILING atm_faster_dyn32_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 119 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 109 -MED_petlist_bounds: 0 109 -AQM_petlist_bounds: 0 109 -LND_petlist_bounds: -UFS_tasks : 120 -COMPILING atm_debug_dyn32_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 119 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 109 -MED_petlist_bounds: 0 109 -AQM_petlist_bounds: 0 109 -LND_petlist_bounds: -UFS_tasks : 120 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -COMPILING wam_debug_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -COMPILING rrfs_dyn32_phy32_intel -ATM_petlist_bounds: 0 383 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 359 -MED_petlist_bounds: 0 359 -AQM_petlist_bounds: 0 359 -LND_petlist_bounds: -UFS_tasks : 384 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 155 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 156 -ATM_petlist_bounds: 0 155 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 156 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -COMPILING rrfs_dyn32_phy32_faster_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 299 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 287 -MED_petlist_bounds: 0 287 -AQM_petlist_bounds: 0 287 -LND_petlist_bounds: -UFS_tasks : 300 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -COMPILING rrfs_dyn64_phy32_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -COMPILING rrfs_dyn32_phy32_debug_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 299 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 287 -MED_petlist_bounds: 0 287 -AQM_petlist_bounds: 0 287 -LND_petlist_bounds: -UFS_tasks : 300 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -COMPILING rrfs_dyn64_phy32_debug_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -COMPILING hafsw_intel -ATM_petlist_bounds: 0 599 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 479 -MED_petlist_bounds: 0 479 -AQM_petlist_bounds: 0 479 -LND_petlist_bounds: -UFS_tasks : 600 -ATM_petlist_bounds: 0 599 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 479 -MED_petlist_bounds: 0 479 -AQM_petlist_bounds: 0 479 -LND_petlist_bounds: -UFS_tasks : 600 -ATM_petlist_bounds: 0 299 -OCN_petlist_bounds: 300 359 -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 239 -MED_petlist_bounds: 0 239 -AQM_petlist_bounds: 0 239 -LND_petlist_bounds: -UFS_tasks : 360 -ATM_petlist_bounds: 0 299 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: 300 359 -CHM_petlist_bounds: 0 239 -MED_petlist_bounds: 0 239 -AQM_petlist_bounds: 0 239 -LND_petlist_bounds: -UFS_tasks : 360 -ATM_petlist_bounds: 0 299 -OCN_petlist_bounds: 300 359 -ICE_petlist_bounds: -WAV_petlist_bounds: 360 419 -CHM_petlist_bounds: 0 239 -MED_petlist_bounds: 0 239 -AQM_petlist_bounds: 0 239 -LND_petlist_bounds: -UFS_tasks : 420 -ATM_petlist_bounds: 0 359 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 239 -MED_petlist_bounds: 0 239 -AQM_petlist_bounds: 0 239 -LND_petlist_bounds: -UFS_tasks : 360 -ATM_petlist_bounds: 0 479 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 359 -MED_petlist_bounds: 0 359 -AQM_petlist_bounds: 0 359 -LND_petlist_bounds: -UFS_tasks : 480 -ATM_petlist_bounds: 0 479 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 359 -MED_petlist_bounds: 0 359 -AQM_petlist_bounds: 0 359 -LND_petlist_bounds: -UFS_tasks : 480 -ATM_petlist_bounds: 0 839 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 719 -MED_petlist_bounds: 0 719 -AQM_petlist_bounds: 0 719 -LND_petlist_bounds: -UFS_tasks : 840 -ATM_petlist_bounds: 0 359 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 239 -MED_petlist_bounds: 0 239 -AQM_petlist_bounds: 0 239 -LND_petlist_bounds: -UFS_tasks : 360 -ATM_petlist_bounds: 0 359 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 239 -MED_petlist_bounds: 0 239 -AQM_petlist_bounds: 0 239 -LND_petlist_bounds: -UFS_tasks : 360 -ATM_petlist_bounds: 0 479 -OCN_petlist_bounds: 480 599 -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 239 -MED_petlist_bounds: 0 239 -AQM_petlist_bounds: 0 239 -LND_petlist_bounds: -UFS_tasks : 600 -ATM_petlist_bounds: 0 479 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 359 -MED_petlist_bounds: 0 359 -AQM_petlist_bounds: 0 359 -LND_petlist_bounds: -UFS_tasks : 480 -ATM_petlist_bounds: 0 479 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 359 -MED_petlist_bounds: 0 359 -AQM_petlist_bounds: 0 359 -LND_petlist_bounds: -UFS_tasks : 480 -COMPILING hafsw_debug_intel -ATM_petlist_bounds: 0 479 -OCN_petlist_bounds: 480 599 -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 239 -MED_petlist_bounds: 0 239 -AQM_petlist_bounds: 0 239 -LND_petlist_bounds: -UFS_tasks : 600 -COMPILING hafsw_faster_intel -ATM_petlist_bounds: 0 359 -OCN_petlist_bounds: 360 479 -ICE_petlist_bounds: -WAV_petlist_bounds: 480 599 -CHM_petlist_bounds: 0 239 -MED_petlist_bounds: 0 239 -AQM_petlist_bounds: 0 239 -LND_petlist_bounds: -UFS_tasks : 600 -ATM_petlist_bounds: 0 359 -OCN_petlist_bounds: 360 479 -ICE_petlist_bounds: -WAV_petlist_bounds: 480 599 -CHM_petlist_bounds: 0 239 -MED_petlist_bounds: 0 239 -AQM_petlist_bounds: 0 239 -LND_petlist_bounds: -UFS_tasks : 600 -COMPILING hafs_mom6w_intel -ATM_petlist_bounds: 0 359 -OCN_petlist_bounds: 360 479 -ICE_petlist_bounds: -WAV_petlist_bounds: 480 599 -CHM_petlist_bounds: 0 239 -MED_petlist_bounds: 0 239 -AQM_petlist_bounds: 0 239 -LND_petlist_bounds: -UFS_tasks : 600 -COMPILING hafs_all_intel -ATM_petlist_bounds: 0 299 -OCN_petlist_bounds: 300 359 -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 239 -MED_petlist_bounds: 0 239 -AQM_petlist_bounds: 0 239 -LND_petlist_bounds: -UFS_tasks : 360 -ATM_petlist_bounds: 0 299 -OCN_petlist_bounds: 300 359 -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 239 -MED_petlist_bounds: 0 239 -AQM_petlist_bounds: 0 239 -LND_petlist_bounds: -UFS_tasks : 360 -ATM_petlist_bounds: 0 59 -OCN_petlist_bounds: 60 119 -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 59 -MED_petlist_bounds: 0 59 -AQM_petlist_bounds: 0 59 -LND_petlist_bounds: -UFS_tasks : 120 -COMPILING datm_cdeps_intel -ATM_petlist_bounds: 0 11 -OCN_petlist_bounds: 12 27 -ICE_petlist_bounds: 28 39 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 11 -MED_petlist_bounds: 0 11 -AQM_petlist_bounds: 0 11 -LND_petlist_bounds: -UFS_tasks : 40 -ATM_petlist_bounds: 0 11 -OCN_petlist_bounds: 12 27 -ICE_petlist_bounds: 28 39 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 11 -MED_petlist_bounds: 0 11 -AQM_petlist_bounds: 0 11 -LND_petlist_bounds: -UFS_tasks : 40 -ATM_petlist_bounds: 0 11 -OCN_petlist_bounds: 12 27 -ICE_petlist_bounds: 28 39 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 11 -MED_petlist_bounds: 0 11 -AQM_petlist_bounds: 0 11 -LND_petlist_bounds: -UFS_tasks : 40 -ATM_petlist_bounds: 0 11 -OCN_petlist_bounds: 12 27 -ICE_petlist_bounds: 28 39 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 11 -MED_petlist_bounds: 0 11 -AQM_petlist_bounds: 0 11 -LND_petlist_bounds: -UFS_tasks : 40 -ATM_petlist_bounds: 0 11 -OCN_petlist_bounds: 12 27 -ICE_petlist_bounds: 28 39 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 11 -MED_petlist_bounds: 0 11 -AQM_petlist_bounds: 0 11 -LND_petlist_bounds: -UFS_tasks : 40 -ATM_petlist_bounds: 0 11 -OCN_petlist_bounds: 12 27 -ICE_petlist_bounds: 28 39 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 11 -MED_petlist_bounds: 0 11 -AQM_petlist_bounds: 0 11 -LND_petlist_bounds: -UFS_tasks : 40 -ATM_petlist_bounds: 0 11 -OCN_petlist_bounds: 12 27 -ICE_petlist_bounds: 28 39 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 11 -MED_petlist_bounds: 0 11 -AQM_petlist_bounds: 0 11 -LND_petlist_bounds: -UFS_tasks : 40 -ATM_petlist_bounds: 0 11 -OCN_petlist_bounds: 12 27 -ICE_petlist_bounds: 28 39 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 11 -MED_petlist_bounds: 0 11 -AQM_petlist_bounds: 0 11 -LND_petlist_bounds: -UFS_tasks : 40 -ATM_petlist_bounds: 0 39 -OCN_petlist_bounds: 40 159 -ICE_petlist_bounds: 160 207 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 39 -MED_petlist_bounds: 0 39 -AQM_petlist_bounds: 0 39 -LND_petlist_bounds: -UFS_tasks : 208 -ATM_petlist_bounds: 0 39 -OCN_petlist_bounds: 40 159 -ICE_petlist_bounds: 160 207 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 39 -MED_petlist_bounds: 0 39 -AQM_petlist_bounds: 0 39 -LND_petlist_bounds: -UFS_tasks : 208 -ATM_petlist_bounds: 0 11 -OCN_petlist_bounds: 12 27 -ICE_petlist_bounds: 28 39 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 11 -MED_petlist_bounds: 0 11 -AQM_petlist_bounds: 0 11 -LND_petlist_bounds: -UFS_tasks : 40 -ATM_petlist_bounds: 0 11 -OCN_petlist_bounds: 12 27 -ICE_petlist_bounds: 28 39 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 11 -MED_petlist_bounds: 0 11 -AQM_petlist_bounds: 0 11 -LND_petlist_bounds: -UFS_tasks : 40 -ATM_petlist_bounds: 0 11 -OCN_petlist_bounds: 12 27 -ICE_petlist_bounds: 28 39 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 11 -MED_petlist_bounds: 0 11 -AQM_petlist_bounds: 0 11 -LND_petlist_bounds: -UFS_tasks : 40 -COMPILING datm_cdeps_debug_intel -ATM_petlist_bounds: 0 11 -OCN_petlist_bounds: 12 27 -ICE_petlist_bounds: 28 39 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 11 -MED_petlist_bounds: 0 11 -AQM_petlist_bounds: 0 11 -LND_petlist_bounds: -UFS_tasks : 40 -COMPILING datm_cdeps_faster_intel -ATM_petlist_bounds: 0 11 -OCN_petlist_bounds: 12 27 -ICE_petlist_bounds: 28 39 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 11 -MED_petlist_bounds: 0 11 -AQM_petlist_bounds: 0 11 -LND_petlist_bounds: -UFS_tasks : 40 -COMPILING datm_cdeps_land_intel -ATM_petlist_bounds: 0 143 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: 144 287 -UFS_tasks : 288 -ATM_petlist_bounds: 0 143 -OCN_petlist_bounds: 144 159 -ICE_petlist_bounds: 160 171 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: 172 315 -UFS_tasks : 316 -ATM_petlist_bounds: 0 143 -OCN_petlist_bounds: 144 159 -ICE_petlist_bounds: 160 171 -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: 172 315 -UFS_tasks : 316 -COMPILING atml_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: 150 293 -UFS_tasks : 294 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: 150 293 -UFS_tasks : 294 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: 150 293 -UFS_tasks : 294 -COMPILING atmw_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: 150 179 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 180 -COMPILING atmwm_intel -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: 150 179 -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 180 -COMPILING atmaero_intel -ATM_petlist_bounds: 0 197 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 191 -MED_petlist_bounds: 0 191 -AQM_petlist_bounds: 0 191 -LND_petlist_bounds: -UFS_tasks : 198 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -ATM_petlist_bounds: 0 149 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 143 -MED_petlist_bounds: 0 143 -AQM_petlist_bounds: 0 143 -LND_petlist_bounds: -UFS_tasks : 150 -COMPILING atmaq_intel -COMPILING atmaq_debug_intel -ATM_petlist_bounds: 0 271 -OCN_petlist_bounds: -ICE_petlist_bounds: -WAV_petlist_bounds: -CHM_petlist_bounds: 0 263 -MED_petlist_bounds: 0 263 -AQM_petlist_bounds: 0 263 -LND_petlist_bounds: -UFS_tasks : 272 -COMPILING atm_gnu -COMPILING rrfs_gnu -COMPILING atm_dyn32_debug_gnu -COMPILING wam_debug_gnu -COMPILING rrfs_dyn32_phy32_gnu -COMPILING atm_dyn64_phy32_gnu -COMPILING atm_dyn32_phy32_debug_gnu -COMPILING atm_dyn64_phy32_debug_gnu -COMPILING s2swa_gnu -COMPILING s2s_gnu -COMPILING s2swa_debug_gnu -COMPILING s2sw_pdlib_gnu -COMPILING s2sw_pdlib_debug_gnu -COMPILING datm_cdeps_gnu -ping server(Orion-login-1.HPC.MsState.Edu:11198) succeeded in 00:00:00.430490 ~430 milliseconds -ecflow_server is already running on Orion-login-1.HPC.MsState.Edu:11198 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 221 -ecflow tasks remaining: 219 -ecflow tasks remaining: 219 -ecflow tasks remaining: 219 -ecflow tasks remaining: 219 -ecflow tasks remaining: 219 -ecflow tasks remaining: 219 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 218 -ecflow tasks remaining: 216 -ecflow tasks remaining: 216 -ecflow tasks remaining: 216 -ecflow tasks remaining: 216 -ecflow tasks remaining: 216 -ecflow tasks remaining: 216 -ecflow tasks remaining: 216 -ecflow tasks remaining: 216 -ecflow tasks remaining: 216 -ecflow tasks remaining: 216 -ecflow tasks remaining: 216 -ecflow tasks remaining: 216 -ecflow tasks remaining: 213 -ecflow tasks remaining: 213 -ecflow tasks remaining: 213 -ecflow tasks remaining: 213 -ecflow tasks remaining: 213 -ecflow tasks remaining: 213 -ecflow tasks remaining: 213 -ecflow tasks remaining: 213 -ecflow tasks remaining: 213 -ecflow tasks remaining: 213 -ecflow tasks remaining: 213 -ecflow tasks remaining: 212 -ecflow tasks remaining: 212 -ecflow tasks remaining: 212 -ecflow tasks remaining: 212 -ecflow tasks remaining: 212 -ecflow tasks remaining: 212 -ecflow tasks remaining: 212 -ecflow tasks remaining: 212 -ecflow tasks remaining: 212 -ecflow tasks remaining: 212 -ecflow tasks remaining: 212 -ecflow tasks remaining: 212 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 211 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 210 -ecflow tasks remaining: 208 -ecflow tasks remaining: 208 -ecflow tasks remaining: 208 -ecflow tasks remaining: 208 -ecflow tasks remaining: 208 -ecflow tasks remaining: 208 -ecflow tasks remaining: 208 -ecflow tasks remaining: 207 -ecflow tasks remaining: 207 -ecflow tasks remaining: 207 -ecflow tasks remaining: 207 -ecflow tasks remaining: 207 -ecflow tasks remaining: 206 -ecflow tasks remaining: 206 -ecflow tasks remaining: 206 -ecflow tasks remaining: 206 -ecflow tasks remaining: 206 -ecflow tasks remaining: 206 -ecflow tasks remaining: 205 -ecflow tasks remaining: 205 -ecflow tasks remaining: 205 -ecflow tasks remaining: 205 -ecflow tasks remaining: 205 -ecflow tasks remaining: 205 -ecflow tasks remaining: 204 -ecflow tasks remaining: 204 -ecflow tasks remaining: 204 -ecflow tasks remaining: 204 -ecflow tasks remaining: 204 -ecflow tasks remaining: 204 -ecflow tasks remaining: 204 -ecflow tasks remaining: 203 -ecflow tasks remaining: 203 -ecflow tasks remaining: 203 -ecflow tasks remaining: 203 -ecflow tasks remaining: 203 -ecflow tasks remaining: 203 -ecflow tasks remaining: 203 -ecflow tasks remaining: 203 -ecflow tasks remaining: 203 -ecflow tasks remaining: 203 -ecflow tasks remaining: 202 -ecflow tasks remaining: 202 -ecflow tasks remaining: 202 -ecflow tasks remaining: 202 -ecflow tasks remaining: 202 -ecflow tasks remaining: 202 -ecflow tasks remaining: 201 -ecflow tasks remaining: 201 -ecflow tasks remaining: 201 -ecflow tasks remaining: 201 -ecflow tasks remaining: 201 -ecflow tasks remaining: 201 -ecflow tasks remaining: 201 -ecflow tasks remaining: 201 -ecflow tasks remaining: 201 -ecflow tasks remaining: 201 -ecflow tasks remaining: 201 -ecflow tasks remaining: 201 -ecflow tasks remaining: 200 -ecflow tasks remaining: 200 -ecflow tasks remaining: 200 -ecflow tasks remaining: 200 -ecflow tasks remaining: 200 -ecflow tasks remaining: 200 -ecflow tasks remaining: 200 -ecflow tasks remaining: 200 -ecflow tasks remaining: 199 -ecflow tasks remaining: 199 -ecflow tasks remaining: 199 -ecflow tasks remaining: 199 -ecflow tasks remaining: 199 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 198 -ecflow tasks remaining: 196 -ecflow tasks remaining: 196 -ecflow tasks remaining: 196 -ecflow tasks remaining: 196 -ecflow tasks remaining: 196 -ecflow tasks remaining: 196 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 195 -ecflow tasks remaining: 194 -ecflow tasks remaining: 194 -ecflow tasks remaining: 194 -ecflow tasks remaining: 194 -ecflow tasks remaining: 194 -ecflow tasks remaining: 194 -ecflow tasks remaining: 191 -ecflow tasks remaining: 191 -ecflow tasks remaining: 190 -ecflow tasks remaining: 190 -ecflow tasks remaining: 190 -ecflow tasks remaining: 190 -ecflow tasks remaining: 190 -ecflow tasks remaining: 190 -ecflow tasks remaining: 190 -ecflow tasks remaining: 190 -ecflow tasks remaining: 190 -ecflow tasks remaining: 190 -ecflow tasks remaining: 190 -ecflow tasks remaining: 190 -ecflow tasks remaining: 190 -ecflow tasks remaining: 190 -ecflow tasks remaining: 190 -ecflow tasks remaining: 190 -ecflow tasks remaining: 190 -ecflow tasks remaining: 189 -ecflow tasks remaining: 189 -ecflow tasks remaining: 189 -ecflow tasks remaining: 189 -ecflow tasks remaining: 189 -ecflow tasks remaining: 189 -ecflow tasks remaining: 189 -ecflow tasks remaining: 189 -ecflow tasks remaining: 189 -ecflow tasks remaining: 189 -ecflow tasks remaining: 188 -ecflow tasks remaining: 188 -ecflow tasks remaining: 188 -ecflow tasks remaining: 188 -ecflow tasks remaining: 188 -ecflow tasks remaining: 188 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 187 -ecflow tasks remaining: 186 -ecflow tasks remaining: 186 -ecflow tasks remaining: 186 -ecflow tasks remaining: 186 -ecflow tasks remaining: 186 -ecflow tasks remaining: 186 -ecflow tasks remaining: 186 -ecflow tasks remaining: 186 -ecflow tasks remaining: 186 -ecflow tasks remaining: 186 -ecflow tasks remaining: 186 -ecflow tasks remaining: 186 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 185 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -ecflow tasks remaining: 182 -rt.sh finished -SUITES=suite regtest_264799 -suite regtest_170319 diff --git a/tests/logs/RegressionTests_gaea.log b/tests/logs/RegressionTests_gaea.log index 9d9ca9cdaf..8416413b47 100755 --- a/tests/logs/RegressionTests_gaea.log +++ b/tests/logs/RegressionTests_gaea.log @@ -1,44 +1,32 @@ ====START OF GAEA REGRESSION TESTING LOG==== UFSWM hash used in testing: -c3745cd3e1ac1ebcc5578002003501f1a674414f +684ddd65adbf26b3a8003e05c8af6c4e19be63f8 Submodule hashes used in testing: 37cbb7d6840ae7515a9a8f0dfd4d89461b3396d1 AQM (v0.2.0-37-g37cbb7d) be5d28fd1b60522e6fc98aefeead20e6aac3530b AQM/src/model/CMAQ (CMAQv5.2.1_07Feb2018-198-gbe5d28fd1) 3d7067a523b8557058755289e4275f5f5c985daf CDEPS-interface/CDEPS (cdeps0.4.17-40-g3d7067a) - 7d4e5defc1c5ff6d67cd74470e8fdbce5de84be1 CICE-interface/CICE (CICE6.0.0-446-g7d4e5de) + c9e4679f449e30bb4cc0f22164b4401a8b50f7a6 CICE-interface/CICE (CICE6.0.0-447-gc9e4679) f6ff8f7c4d4cb6feabe3651b13204cf43fc948e3 CICE-interface/CICE/icepack (Icepack1.1.0-182-gf6ff8f7) - 758491ed6681dd6054b1ff877027e6da381e86f8 CMEPS-interface/CMEPS (cmeps_v0.4.1-2305-g758491e) + 4e19850cb083bc474b7cde5dc2f8506ec74cc442 CMEPS-interface/CMEPS (cmeps_v0.4.1-2306-g4e19850) cabd7753ae17f7bfcc6dad56daf10868aa51c3f4 CMakeModules (v1.0.0-28-gcabd775) - 2bafb6fa982fdd7b2cd9fc7801a4bbadcc230fc6 FV3 (remotes/origin/csawv2_gjf) - 6663459e58a04e3bda2157d5891d227e3abc3c7a FV3/atmos_cubed_sphere (201912_public_release-386-g6663459) - 221788f4e2539af797eb02efe42465b153533201 FV3/ccpp/framework (ccpp_transition_to_vlab_master_20190705-613-g221788f) - bbdec2ffceeb0cda70aaaa4f44e619a5468e7be3 FV3/ccpp/physics (master-tag-before-replacing-with-ipd-setup-step-fast-5134-gbbdec2ff) + 6e1bc3ebf0671c91a47ece876afef46300362e67 FV3 (remotes/origin/remove_nowarn) + b447c635161864f2de5e941f6dbe7387b5525167 FV3/atmos_cubed_sphere (201912_public_release-402-gb447c63) + 011db4f80a02cba6d65958ace56e8efb197be62b FV3/ccpp/framework (ccpp_transition_to_vlab_master_20190705-704-g011db4f) + 9b0ac7b16a45afe5e7f1abf9571d3484158a5b43 FV3/ccpp/physics (EP4-741-g9b0ac7b1) 74a0e098b2163425e4b5466c2dfcf8ae26d560a5 FV3/ccpp/physics/physics/Radiation/RRTMGP/rte-rrtmgp (v1.6) 945cb2cef5e8bd5949afd4f0fc35c4fb6e95a1bf FV3/upp (upp_v10.2.0-159-g945cb2c) -1ba8270870947b583cd51bc72ff8960f4c1fb36e FV3/upp/sorc/libIFI.fd -a9828705b587c451fc2a7267d1c374d737be425b FV3/upp/sorc/ncep_post.fd/post_gtg.fd 041422934cae1570f2f0e67239d5d89f11c6e1b7 GOCART (sdr_v2.1.2.6-119-g0414229) 35789c757766e07f688b4c0c7c5229816f224b09 HYCOM-interface/HYCOM (2.3.00-121-g35789c7) - 10521a921d2f442de19a0cda240d912fd918c40c MOM6-interface/MOM6 (dev/master/repository_split_2014.10.10-10030-g10521a921) + ab7bd14d209592d55490e75dbfaa61cb4a62df97 MOM6-interface/MOM6 (dev/master/repository_split_2014.10.10-10032-gab7bd14d2) 9423197f894112edfcb1502245f7d7b873d551f9 MOM6-interface/MOM6/pkg/CVMix-src (9423197) 29e64d652786e1d076a05128c920f394202bfe10 MOM6-interface/MOM6/pkg/GSW-Fortran (29e64d6) - 0cd3e23ae5d35ef93e205e4d0c3b13ccc0d851f5 NOAHMP-interface/noahmp (v3.7.1-423-g0cd3e23) - 4ffc47e10e3d3f3bbee50251aacb28b7e0165b92 WW3 (6.07.1-344-g4ffc47e1) - a5561802021d89a9a1e2b52cb69393efcdc6f71c stochastic_physics (ufs-v2.0.0-199-ga556180) - 37cbb7d6840ae7515a9a8f0dfd4d89461b3396d1 AQM (v0.2.0-37-g37cbb7d) - 3d7067a523b8557058755289e4275f5f5c985daf CDEPS-interface/CDEPS (cdeps0.4.17-40-g3d7067a) - 7d4e5defc1c5ff6d67cd74470e8fdbce5de84be1 CICE-interface/CICE (CICE6.0.0-446-g7d4e5de) - 758491ed6681dd6054b1ff877027e6da381e86f8 CMEPS-interface/CMEPS (cmeps_v0.4.1-2305-g758491e) - cabd7753ae17f7bfcc6dad56daf10868aa51c3f4 CMakeModules (v1.0.0-28-gcabd775) - 2bafb6fa982fdd7b2cd9fc7801a4bbadcc230fc6 FV3 (remotes/origin/csawv2_gjf) - 041422934cae1570f2f0e67239d5d89f11c6e1b7 GOCART (sdr_v2.1.2.6-119-g0414229) - 35789c757766e07f688b4c0c7c5229816f224b09 HYCOM-interface/HYCOM (2.3.00-121-g35789c7) - 10521a921d2f442de19a0cda240d912fd918c40c MOM6-interface/MOM6 (dev/master/repository_split_2014.10.10-10030-g10521a921) - 0cd3e23ae5d35ef93e205e4d0c3b13ccc0d851f5 NOAHMP-interface/noahmp (v3.7.1-423-g0cd3e23) - 4ffc47e10e3d3f3bbee50251aacb28b7e0165b92 WW3 (6.07.1-344-g4ffc47e1) - a5561802021d89a9a1e2b52cb69393efcdc6f71c stochastic_physics (ufs-v2.0.0-199-ga556180) + 6a51f0295bc1a877475b527157a33aa86eb532fe NOAHMP-interface/noahmp (v3.7.1-426-g6a51f02) + d9b3172f4197c65d471662c6952a668152d71230 WW3 (6.07.1-345-gd9b3172f) + 36d87e5665c359f9dd3201a9d27ceecacc0d8e62 stochastic_physics (ufs-v2.0.0-215-g36d87e5) NOTES: @@ -47,278 +35,278 @@ The first time is for the full script (prep+run+finalize). The second time is specifically for the run phase. Times/Memory will be empty for failed tests. -BASELINE DIRECTORY: /gpfs/f5/epic/world-shared/UFS-WM_RT/NEMSfv3gfs/develop-20240312 -COMPARISON DIRECTORY: /gpfs/f5/epic/scratch/Zachary.Shrader/FV3_RT/rt_42607 +BASELINE DIRECTORY: /gpfs/f5/epic/world-shared/UFS-WM_RT/NEMSfv3gfs/develop-20240408 +COMPARISON DIRECTORY: /gpfs/f5/epic/scratch/Fernando.Andrade-maldonado/RT_RUNDIRS/Fernando.Andrade-maldonado/FV3_RT/rt_100835 RT.SH OPTIONS USED: * (-a) - HPC PROJECT ACCOUNT: epic * (-l) - USE CONFIG FILE: rt.conf * (-e) - USE ECFLOW -PASS -- COMPILE 's2swa_32bit_intel' [22:11, 20:44] -PASS -- TEST 'cpld_control_p8_mixedmode_intel' [14:16, 11:07](3071 MB) - -PASS -- COMPILE 's2swa_32bit_pdlib_intel' [36:25, 34:46] -PASS -- TEST 'cpld_control_gfsv17_intel' [17:41, 13:41](1700 MB) -PASS -- TEST 'cpld_control_gfsv17_iau_intel' [19:41, 14:26](1812 MB) -PASS -- TEST 'cpld_restart_gfsv17_intel' [10:17, 06:47](949 MB) -PASS -- TEST 'cpld_mpi_gfsv17_intel' [19:23, 14:52](1668 MB) - -PASS -- COMPILE 's2swa_32bit_pdlib_debug_intel' [15:13, 14:00] -PASS -- TEST 'cpld_debug_gfsv17_intel' [27:59, 24:41](1700 MB) - -PASS -- COMPILE 's2swa_intel' [21:10, 19:45] -PASS -- TEST 'cpld_control_p8_intel' [17:10, 11:50](3097 MB) -PASS -- TEST 'cpld_control_p8.v2.sfc_intel' [16:51, 11:42](3096 MB) -PASS -- TEST 'cpld_restart_p8_intel' [08:37, 05:55](3155 MB) -PASS -- TEST 'cpld_control_qr_p8_intel' [16:37, 11:58](3123 MB) -PASS -- TEST 'cpld_restart_qr_p8_intel' [08:50, 05:27](3176 MB) -PASS -- TEST 'cpld_2threads_p8_intel' [14:03, 06:37](3414 MB) -PASS -- TEST 'cpld_decomp_p8_intel' [15:52, 12:06](3097 MB) -PASS -- TEST 'cpld_mpi_p8_intel' [15:52, 11:14](3019 MB) -PASS -- TEST 'cpld_control_ciceC_p8_intel' [17:21, 11:41](3097 MB) -PASS -- TEST 'cpld_control_c192_p8_intel' [18:48, 14:01](3271 MB) -PASS -- TEST 'cpld_restart_c192_p8_intel' [14:01, 07:17](3600 MB) -PASS -- TEST 'cpld_bmark_p8_intel' [21:00, 13:08](4036 MB) -PASS -- TEST 'cpld_restart_bmark_p8_intel' [17:33, 09:16](4345 MB) -PASS -- TEST 'cpld_s2sa_p8_intel' [12:25, 08:18](3066 MB) - -PASS -- COMPILE 's2sw_intel' [19:09, 17:47] -PASS -- TEST 'cpld_control_noaero_p8_intel' [07:45, 05:01](1682 MB) -PASS -- TEST 'cpld_control_nowave_noaero_p8_intel' [08:48, 05:26](1730 MB) - -PASS -- COMPILE 's2swa_debug_intel' [16:09, 14:33] -PASS -- TEST 'cpld_debug_p8_intel' [12:51, 10:04](3131 MB) - -PASS -- COMPILE 's2sw_debug_intel' [16:09, 14:20] -PASS -- TEST 'cpld_debug_noaero_p8_intel' [09:40, 06:07](1698 MB) - -PASS -- COMPILE 's2s_aoflux_intel' [18:13, 16:03] -PASS -- TEST 'cpld_control_noaero_p8_agrid_intel' [08:50, 05:30](1731 MB) - -PASS -- COMPILE 's2s_intel' [18:13, 16:40] -PASS -- TEST 'cpld_control_c48_intel' [09:23, 06:55](2661 MB) - -PASS -- COMPILE 's2swa_faster_intel' [25:15, 23:59] -PASS -- TEST 'cpld_control_p8_faster_intel' [15:01, 11:40](3099 MB) - -PASS -- COMPILE 's2sw_pdlib_intel' [24:14, 22:26] -PASS -- TEST 'cpld_control_pdlib_p8_intel' [19:48, 15:12](1704 MB) -PASS -- TEST 'cpld_restart_pdlib_p8_intel' [11:25, 07:47](1001 MB) -PASS -- TEST 'cpld_mpi_pdlib_p8_intel' [20:49, 17:27](1680 MB) - -PASS -- COMPILE 's2sw_pdlib_debug_intel' [14:13, 12:36] -PASS -- TEST 'cpld_debug_pdlib_p8_intel' [30:38, 27:08](1714 MB) - -PASS -- COMPILE 'atm_dyn32_intel' [20:15, 18:06] -PASS -- TEST 'control_flake_intel' [06:14, 03:40](675 MB) -PASS -- TEST 'control_CubedSphereGrid_intel' [06:04, 02:37](620 MB) -PASS -- TEST 'control_CubedSphereGrid_parallel_intel' [05:55, 02:38](627 MB) -PASS -- TEST 'control_latlon_intel' [05:51, 02:33](622 MB) -PASS -- TEST 'control_wrtGauss_netcdf_parallel_intel' [05:51, 02:34](623 MB) -PASS -- TEST 'control_c48_intel' [08:27, 05:38](727 MB) -PASS -- TEST 'control_c48.v2.sfc_intel' [08:38, 05:42](727 MB) -PASS -- TEST 'control_c192_intel' [11:16, 08:55](739 MB) -PASS -- TEST 'control_c384_intel' [20:02, 16:21](1042 MB) -PASS -- TEST 'control_c384gdas_intel' [20:02, 14:17](1184 MB) -PASS -- TEST 'control_stochy_intel' [04:02, 01:59](626 MB) -PASS -- TEST 'control_stochy_restart_intel' [03:58, 01:01](430 MB) -PASS -- TEST 'control_lndp_intel' [04:03, 01:51](628 MB) -PASS -- TEST 'control_iovr4_intel' [05:52, 02:34](623 MB) -PASS -- TEST 'control_iovr5_intel' [05:52, 02:38](622 MB) -PASS -- TEST 'control_p8_intel' [08:10, 04:11](1605 MB) -PASS -- TEST 'control_p8.v2.sfc_intel' [07:24, 04:02](1608 MB) -PASS -- TEST 'control_p8_ugwpv1_intel' [06:40, 03:58](1609 MB) -PASS -- TEST 'control_restart_p8_intel' [05:11, 02:07](790 MB) -PASS -- TEST 'control_noqr_p8_intel' [06:32, 03:48](1595 MB) -PASS -- TEST 'control_restart_noqr_p8_intel' [04:15, 01:44](792 MB) -PASS -- TEST 'control_decomp_p8_intel' [06:13, 03:24](1594 MB) -PASS -- TEST 'control_2threads_p8_intel' [05:12, 02:44](1685 MB) -PASS -- TEST 'control_p8_lndp_intel' [09:24, 05:43](1606 MB) -PASS -- TEST 'control_p8_rrtmgp_intel' [07:28, 04:13](1657 MB) -PASS -- TEST 'control_p8_mynn_intel' [06:23, 03:19](1615 MB) -PASS -- TEST 'merra2_thompson_intel' [06:21, 03:57](1616 MB) -PASS -- TEST 'regional_control_intel' [06:59, 04:40](615 MB) -PASS -- TEST 'regional_restart_intel' [04:40, 02:52](785 MB) -PASS -- TEST 'regional_decomp_intel' [06:57, 04:50](615 MB) -PASS -- TEST 'regional_2threads_intel' [04:50, 02:54](758 MB) -PASS -- TEST 'regional_noquilt_intel' [06:49, 04:35](1153 MB) -PASS -- TEST 'regional_netcdf_parallel_intel' [06:55, 04:56](615 MB) -PASS -- TEST 'regional_2dwrtdecomp_intel' [06:45, 04:43](614 MB) -PASS -- TEST 'regional_wofs_intel' [08:50, 06:09](1591 MB) - -PASS -- COMPILE 'rrfs_intel' [16:16, 14:22] -PASS -- TEST 'rap_control_intel' [10:08, 07:02](1009 MB) -PASS -- TEST 'regional_spp_sppt_shum_skeb_intel' [06:09, 03:56](1187 MB) -PASS -- TEST 'rap_decomp_intel' [09:57, 07:21](1009 MB) -PASS -- TEST 'rap_2threads_intel' [09:51, 06:12](1098 MB) -PASS -- TEST 'rap_restart_intel' [06:05, 03:26](880 MB) -PASS -- TEST 'rap_sfcdiff_intel' [09:45, 06:40](1007 MB) -PASS -- TEST 'rap_sfcdiff_decomp_intel' [09:45, 07:03](1005 MB) -PASS -- TEST 'rap_sfcdiff_restart_intel' [08:04, 05:11](880 MB) -PASS -- TEST 'hrrr_control_intel' [06:08, 03:49](1005 MB) -PASS -- TEST 'hrrr_control_decomp_intel' [06:04, 03:57](1006 MB) -PASS -- TEST 'hrrr_control_2threads_intel' [05:58, 03:06](1087 MB) -PASS -- TEST 'hrrr_control_restart_intel' [03:30, 01:58](837 MB) -PASS -- TEST 'rrfs_v1beta_intel' [09:08, 06:42](1003 MB) -PASS -- TEST 'rrfs_v1nssl_intel' [10:53, 08:15](1967 MB) -PASS -- TEST 'rrfs_v1nssl_nohailnoccn_intel' [09:50, 08:05](1950 MB) - -PASS -- COMPILE 'csawmg_intel' [18:13, 16:06] -PASS -- TEST 'control_csawmg_intel' [08:49, 06:41](695 MB) -PASS -- TEST 'control_csawmgt_intel' [08:44, 06:30](694 MB) -PASS -- TEST 'control_ras_intel' [05:33, 03:25](656 MB) - -PASS -- COMPILE 'wam_intel' [17:15, 15:08] -PASS -- TEST 'control_wam_intel' [04:32, 02:12](369 MB) - -PASS -- COMPILE 'atm_faster_dyn32_intel' [23:15, 20:55] -PASS -- TEST 'control_p8_faster_intel' [07:34, 03:16](1607 MB) -PASS -- TEST 'regional_control_faster_intel' [06:48, 04:26](614 MB) - -PASS -- COMPILE 'atm_debug_dyn32_intel' [18:09, 15:47] -PASS -- TEST 'control_CubedSphereGrid_debug_intel' [05:30, 02:48](779 MB) -PASS -- TEST 'control_wrtGauss_netcdf_parallel_debug_intel' [05:09, 02:50](782 MB) -PASS -- TEST 'control_stochy_debug_intel' [05:30, 03:13](786 MB) -PASS -- TEST 'control_lndp_debug_intel' [04:22, 02:50](790 MB) -PASS -- TEST 'control_csawmg_debug_intel' [06:47, 04:35](825 MB) -PASS -- TEST 'control_csawmgt_debug_intel' [07:01, 04:26](825 MB) -PASS -- TEST 'control_ras_debug_intel' [05:27, 03:02](796 MB) -PASS -- TEST 'control_diag_debug_intel' [05:44, 03:16](844 MB) -PASS -- TEST 'control_debug_p8_intel' [05:37, 03:50](1622 MB) -PASS -- TEST 'regional_debug_intel' [18:55, 16:41](635 MB) -PASS -- TEST 'rap_control_debug_intel' [07:28, 05:33](1167 MB) -PASS -- TEST 'hrrr_control_debug_intel' [07:32, 05:43](1165 MB) -PASS -- TEST 'hrrr_gf_debug_intel' [07:31, 05:25](1168 MB) -PASS -- TEST 'hrrr_c3_debug_intel' [07:31, 05:33](1167 MB) -PASS -- TEST 'rap_unified_drag_suite_debug_intel' [07:34, 05:30](1167 MB) -PASS -- TEST 'rap_diag_debug_intel' [09:03, 05:34](1253 MB) -PASS -- TEST 'rap_cires_ugwp_debug_intel' [07:54, 05:06](1167 MB) -PASS -- TEST 'rap_unified_ugwp_debug_intel' [07:44, 05:13](1168 MB) -PASS -- TEST 'rap_lndp_debug_intel' [06:38, 05:03](1169 MB) -PASS -- TEST 'rap_progcld_thompson_debug_intel' [07:39, 05:10](1167 MB) -PASS -- TEST 'rap_noah_debug_intel' [06:28, 05:01](1167 MB) -PASS -- TEST 'rap_sfcdiff_debug_intel' [06:34, 05:03](1166 MB) -PASS -- TEST 'rap_noah_sfcdiff_cires_ugwp_debug_intel' [09:32, 07:51](1166 MB) -PASS -- TEST 'rrfs_v1beta_debug_intel' [06:33, 04:56](1163 MB) -PASS -- TEST 'rap_clm_lake_debug_intel' [08:41, 06:15](1169 MB) -PASS -- TEST 'rap_flake_debug_intel' [06:39, 05:03](1167 MB) -PASS -- TEST 'gnv1_c96_no_nest_debug_intel' [11:14, 08:23](1172 MB) - -PASS -- COMPILE 'wam_debug_intel' [15:09, 13:16] -PASS -- TEST 'control_wam_debug_intel' [06:40, 04:55](397 MB) - -PASS -- COMPILE 'rrfs_dyn32_phy32_intel' [15:15, 13:56] -PASS -- TEST 'regional_spp_sppt_shum_skeb_dyn32_phy32_intel' [06:08, 03:49](1054 MB) -PASS -- TEST 'rap_control_dyn32_phy32_intel' [09:17, 06:20](888 MB) -PASS -- TEST 'hrrr_control_dyn32_phy32_intel' [06:06, 03:28](884 MB) -PASS -- TEST 'rap_2threads_dyn32_phy32_intel' [07:58, 05:27](945 MB) -PASS -- TEST 'hrrr_control_2threads_dyn32_phy32_intel' [05:00, 02:48](941 MB) -PASS -- TEST 'hrrr_control_decomp_dyn32_phy32_intel' [06:08, 03:43](887 MB) -PASS -- TEST 'rap_restart_dyn32_phy32_intel' [07:03, 04:10](784 MB) -PASS -- TEST 'hrrr_control_restart_dyn32_phy32_intel' [03:33, 01:43](764 MB) - -PASS -- COMPILE 'rrfs_dyn32_phy32_faster_intel' [14:11, 12:33] -PASS -- TEST 'conus13km_control_intel' [05:00, 02:02](1095 MB) -PASS -- TEST 'conus13km_2threads_intel' [04:22, 01:18](1075 MB) -PASS -- TEST 'conus13km_restart_mismatch_intel' [03:54, 01:21](974 MB) - -PASS -- COMPILE 'rrfs_dyn64_phy32_intel' [15:15, 13:16] -PASS -- TEST 'rap_control_dyn64_phy32_intel' [07:07, 04:22](904 MB) - -PASS -- COMPILE 'rrfs_dyn32_phy32_debug_intel' [11:13, 09:15] -PASS -- TEST 'rap_control_debug_dyn32_phy32_intel' [06:32, 05:00](1048 MB) -PASS -- TEST 'hrrr_control_debug_dyn32_phy32_intel' [06:32, 04:59](1048 MB) -PASS -- TEST 'conus13km_debug_intel' [16:55, 14:09](1130 MB) -PASS -- TEST 'conus13km_debug_qr_intel' [16:53, 14:30](805 MB) -PASS -- TEST 'conus13km_debug_2threads_intel' [10:40, 08:17](1112 MB) -PASS -- TEST 'conus13km_radar_tten_debug_intel' [15:42, 14:03](1196 MB) - -PASS -- COMPILE 'rrfs_dyn64_phy32_debug_intel' [11:13, 09:19] -PASS -- TEST 'rap_control_dyn64_phy32_debug_intel' [06:35, 04:56](1066 MB) - -PASS -- COMPILE 'hafsw_intel' [19:14, 17:54] -PASS -- TEST 'hafs_regional_atm_intel' [08:46, 05:17](707 MB) -PASS -- TEST 'hafs_regional_atm_thompson_gfdlsf_intel' [07:01, 04:28](1055 MB) -PASS -- TEST 'hafs_regional_atm_ocn_intel' [10:37, 07:53](752 MB) -PASS -- TEST 'hafs_regional_atm_wav_intel' [14:21, 11:46](788 MB) -PASS -- TEST 'hafs_regional_atm_ocn_wav_intel' [16:17, 12:57](796 MB) -PASS -- TEST 'hafs_regional_1nest_atm_intel' [08:23, 05:26](473 MB) -PASS -- TEST 'hafs_regional_telescopic_2nests_atm_intel' [09:37, 06:41](499 MB) -PASS -- TEST 'hafs_global_1nest_atm_intel' [06:04, 02:54](373 MB) -PASS -- TEST 'hafs_global_multiple_4nests_atm_intel' [14:03, 08:07](443 MB) -PASS -- TEST 'hafs_regional_specified_moving_1nest_atm_intel' [06:00, 03:50](509 MB) -PASS -- TEST 'hafs_regional_storm_following_1nest_atm_intel' [06:14, 03:39](507 MB) -PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_intel' [07:24, 04:42](575 MB) -PASS -- TEST 'hafs_global_storm_following_1nest_atm_intel' [04:45, 02:49](401 MB) -PASS -- TEST 'gnv1_nested_intel' [07:24, 04:21](764 MB) - -PASS -- COMPILE 'hafsw_debug_intel' [15:13, 13:22] -PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_debug_intel' [17:58, 12:50](584 MB) - -PASS -- COMPILE 'hafsw_faster_intel' [21:19, 19:29] -PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_wav_intel' [11:50, 07:58](616 MB) -PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_wav_inline_intel' [11:59, 07:54](786 MB) - -PASS -- COMPILE 'hafs_mom6w_intel' [20:15, 18:33] -PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_wav_mom6_intel' [09:44, 06:03](786 MB) - -PASS -- COMPILE 'hafs_all_intel' [19:13, 17:07] -PASS -- TEST 'hafs_regional_docn_intel' [11:02, 06:10](747 MB) -PASS -- TEST 'hafs_regional_docn_oisst_intel' [09:58, 06:12](730 MB) -PASS -- TEST 'hafs_regional_datm_cdeps_intel' [24:24, 21:56](893 MB) - -PASS -- COMPILE 'datm_cdeps_intel' [13:16, 11:29] -PASS -- TEST 'datm_cdeps_control_cfsr_intel' [04:24, 02:36](759 MB) -PASS -- TEST 'datm_cdeps_restart_cfsr_intel' [03:25, 01:34](747 MB) -PASS -- TEST 'datm_cdeps_control_gefs_intel' [04:23, 02:25](637 MB) -PASS -- TEST 'datm_cdeps_iau_gefs_intel' [04:21, 02:36](635 MB) -PASS -- TEST 'datm_cdeps_stochy_gefs_intel' [04:21, 02:38](635 MB) -PASS -- TEST 'datm_cdeps_ciceC_cfsr_intel' [04:22, 02:36](758 MB) -PASS -- TEST 'datm_cdeps_bulk_cfsr_intel' [04:22, 02:35](758 MB) -PASS -- TEST 'datm_cdeps_bulk_gefs_intel' [04:30, 02:26](637 MB) -PASS -- TEST 'datm_cdeps_mx025_cfsr_intel' [09:00, 06:18](693 MB) -PASS -- TEST 'datm_cdeps_mx025_gefs_intel' [08:01, 06:10](675 MB) -PASS -- TEST 'datm_cdeps_multiple_files_cfsr_intel' [04:20, 02:35](758 MB) -PASS -- TEST 'datm_cdeps_3072x1536_cfsr_intel' [06:35, 04:36](2013 MB) -PASS -- TEST 'datm_cdeps_gfs_intel' [06:32, 04:42](2013 MB) - -PASS -- COMPILE 'datm_cdeps_debug_intel' [11:13, 09:40] -PASS -- TEST 'datm_cdeps_debug_cfsr_intel' [07:24, 05:39](740 MB) - -PASS -- COMPILE 'datm_cdeps_faster_intel' [16:13, 13:46] -PASS -- TEST 'datm_cdeps_control_cfsr_faster_intel' [04:25, 02:34](756 MB) - -PASS -- COMPILE 'datm_cdeps_land_intel' [07:17, 04:50] -PASS -- TEST 'datm_cdeps_lnd_gswp3_intel' [05:21, 02:30](310 MB) -PASS -- TEST 'datm_cdeps_lnd_era5_intel' [03:52, 01:37](456 MB) -PASS -- TEST 'datm_cdeps_lnd_era5_rst_intel' [03:29, 01:02](456 MB) - -PASS -- COMPILE 'atml_intel' [18:21, 16:21] -PASS -- TEST 'control_p8_atmlnd_sbs_intel' [16:20, 11:27](1640 MB) -PASS -- TEST 'control_p8_atmlnd_intel' [12:03, 08:49](1640 MB) -PASS -- TEST 'control_restart_p8_atmlnd_intel' [05:51, 03:56](835 MB) - -PASS -- COMPILE 'atmw_intel' [18:12, 16:35] -PASS -- TEST 'atmwav_control_noaero_p8_intel' [05:02, 02:23](1647 MB) - -PASS -- COMPILE 'atmwm_intel' [16:10, 14:45] -PASS -- TEST 'control_atmwav_intel' [04:00, 01:56](640 MB) - -PASS -- COMPILE 'atmaero_intel' [17:10, 14:51] -PASS -- TEST 'atmaero_control_p8_intel' [12:18, 09:05](2944 MB) -PASS -- TEST 'atmaero_control_p8_rad_intel' [13:54, 09:06](3012 MB) -PASS -- TEST 'atmaero_control_p8_rad_micro_intel' [13:23, 09:08](3019 MB) - -PASS -- COMPILE 'atmaq_intel' [17:14, 15:16] - -PASS -- COMPILE 'atmaq_debug_intel' [13:18, 11:05] -PASS -- TEST 'regional_atmaq_debug_intel' [22:59, 19:38](4485 MB) +PASS -- COMPILE 's2swa_32bit_intel' [25:06, 24:37] +PASS -- TEST 'cpld_control_p8_mixedmode_intel' [11:14, 08:17](3070 MB) + +PASS -- COMPILE 's2swa_32bit_pdlib_intel' [24:06, 24:03] +PASS -- TEST 'cpld_control_gfsv17_intel' [16:28, 13:41](1687 MB) +PASS -- TEST 'cpld_control_gfsv17_iau_intel' [17:02, 14:24](1810 MB) +PASS -- TEST 'cpld_restart_gfsv17_intel' [10:29, 06:48](947 MB) +PASS -- TEST 'cpld_mpi_gfsv17_intel' [18:23, 14:53](1671 MB) + +PASS -- COMPILE 's2swa_32bit_pdlib_debug_intel' [15:10, 14:56] +PASS -- TEST 'cpld_debug_gfsv17_intel' [27:17, 23:53](1709 MB) + +PASS -- COMPILE 's2swa_intel' [20:06, 19:37] +PASS -- TEST 'cpld_control_p8_intel' [12:33, 08:41](3101 MB) +PASS -- TEST 'cpld_control_p8.v2.sfc_intel' [12:53, 08:38](3099 MB) +PASS -- TEST 'cpld_restart_p8_intel' [08:13, 05:53](3157 MB) +PASS -- TEST 'cpld_control_qr_p8_intel' [12:33, 08:34](3124 MB) +PASS -- TEST 'cpld_restart_qr_p8_intel' [08:13, 05:52](3178 MB) +PASS -- TEST 'cpld_2threads_p8_intel' [11:02, 07:03](3410 MB) +PASS -- TEST 'cpld_decomp_p8_intel' [12:19, 08:28](3101 MB) +PASS -- TEST 'cpld_mpi_p8_intel' [11:02, 07:41](3022 MB) +PASS -- TEST 'cpld_control_ciceC_p8_intel' [12:17, 08:39](3102 MB) +PASS -- TEST 'cpld_control_c192_p8_intel' [17:06, 10:58](3275 MB) +PASS -- TEST 'cpld_restart_c192_p8_intel' [12:44, 08:09](3605 MB) +PASS -- TEST 'cpld_bmark_p8_intel' [21:17, 13:19](4043 MB) +PASS -- TEST 'cpld_restart_bmark_p8_intel' [18:04, 09:47](4343 MB) +PASS -- TEST 'cpld_s2sa_p8_intel' [12:03, 08:29](3067 MB) + +PASS -- COMPILE 's2sw_intel' [19:06, 18:24] +PASS -- TEST 'cpld_control_noaero_p8_intel' [07:52, 05:21](1685 MB) +PASS -- TEST 'cpld_control_nowave_noaero_p8_intel' [08:04, 05:30](1730 MB) + +PASS -- COMPILE 's2swa_debug_intel' [15:10, 14:46] +PASS -- TEST 'cpld_debug_p8_intel' [12:55, 10:26](3131 MB) + +PASS -- COMPILE 's2sw_debug_intel' [20:06, 19:11] +PASS -- TEST 'cpld_debug_noaero_p8_intel' [09:36, 06:11](1701 MB) + +PASS -- COMPILE 's2s_aoflux_intel' [18:06, 17:51] +PASS -- TEST 'cpld_control_noaero_p8_agrid_intel' [08:10, 05:33](1729 MB) + +PASS -- COMPILE 's2s_intel' [24:06, 23:42] +PASS -- TEST 'cpld_control_c48_intel' [09:56, 06:56](2663 MB) + +PASS -- COMPILE 's2swa_faster_intel' [24:06, 23:20] +PASS -- TEST 'cpld_control_p8_faster_intel' [12:01, 08:29](3099 MB) + +PASS -- COMPILE 's2sw_pdlib_intel' [25:10, 24:54] +PASS -- TEST 'cpld_control_pdlib_p8_intel' [18:04, 15:26](1703 MB) +PASS -- TEST 'cpld_restart_pdlib_p8_intel' [11:59, 07:32](1000 MB) +PASS -- TEST 'cpld_mpi_pdlib_p8_intel' [21:50, 18:26](1682 MB) + +PASS -- COMPILE 's2sw_pdlib_debug_intel' [14:06, 13:57] +PASS -- TEST 'cpld_debug_pdlib_p8_intel' [31:15, 26:53](1720 MB) + +PASS -- COMPILE 'atm_dyn32_intel' [16:07, 15:52] +PASS -- TEST 'control_flake_intel' [05:03, 03:48](675 MB) +PASS -- TEST 'control_CubedSphereGrid_intel' [05:04, 02:35](619 MB) +PASS -- TEST 'control_CubedSphereGrid_parallel_intel' [04:00, 02:40](627 MB) +PASS -- TEST 'control_latlon_intel' [04:02, 02:39](622 MB) +PASS -- TEST 'control_wrtGauss_netcdf_parallel_intel' [05:32, 02:43](623 MB) +PASS -- TEST 'control_c48_intel' [07:24, 05:39](721 MB) +PASS -- TEST 'control_c48.v2.sfc_intel' [07:47, 05:38](721 MB) +PASS -- TEST 'control_c192_intel' [11:21, 08:51](738 MB) +PASS -- TEST 'control_c384_intel' [18:43, 16:51](1042 MB) +PASS -- TEST 'control_c384gdas_intel' [18:32, 14:32](1181 MB) +PASS -- TEST 'control_stochy_intel' [04:02, 01:57](626 MB) +PASS -- TEST 'control_stochy_restart_intel' [03:13, 01:26](429 MB) +PASS -- TEST 'control_lndp_intel' [04:02, 01:51](628 MB) +PASS -- TEST 'control_iovr4_intel' [04:45, 02:42](623 MB) +PASS -- TEST 'control_iovr5_intel' [04:39, 02:39](623 MB) +PASS -- TEST 'control_p8_intel' [06:07, 03:22](1605 MB) +PASS -- TEST 'control_p8.v2.sfc_intel' [07:38, 03:39](1608 MB) +PASS -- TEST 'control_p8_ugwpv1_intel' [06:07, 03:39](1609 MB) +PASS -- TEST 'control_restart_p8_intel' [04:27, 01:51](790 MB) +PASS -- TEST 'control_noqr_p8_intel' [06:24, 03:46](1595 MB) +PASS -- TEST 'control_restart_noqr_p8_intel' [04:37, 02:34](793 MB) +PASS -- TEST 'control_decomp_p8_intel' [05:19, 03:29](1594 MB) +PASS -- TEST 'control_2threads_p8_intel' [05:53, 03:17](1687 MB) +PASS -- TEST 'control_p8_lndp_intel' [07:56, 05:34](1607 MB) +PASS -- TEST 'control_p8_rrtmgp_intel' [07:23, 04:13](1657 MB) +PASS -- TEST 'control_p8_mynn_intel' [07:36, 03:59](1615 MB) +PASS -- TEST 'merra2_thompson_intel' [06:47, 04:15](1616 MB) +PASS -- TEST 'regional_control_intel' [06:50, 04:54](615 MB) +PASS -- TEST 'regional_restart_intel' [04:10, 02:37](789 MB) +PASS -- TEST 'regional_decomp_intel' [06:38, 04:58](615 MB) +PASS -- TEST 'regional_2threads_intel' [04:50, 02:59](758 MB) +PASS -- TEST 'regional_noquilt_intel' [06:52, 04:36](1153 MB) +PASS -- TEST 'regional_netcdf_parallel_intel' [07:03, 04:54](615 MB) +PASS -- TEST 'regional_2dwrtdecomp_intel' [07:01, 04:53](615 MB) +PASS -- TEST 'regional_wofs_intel' [11:03, 06:48](1591 MB) + +PASS -- COMPILE 'rrfs_intel' [17:06, 16:37] +PASS -- TEST 'rap_control_intel' [09:23, 07:09](1009 MB) +PASS -- TEST 'regional_spp_sppt_shum_skeb_intel' [06:13, 04:08](1185 MB) +PASS -- TEST 'rap_decomp_intel' [09:22, 07:17](1009 MB) +PASS -- TEST 'rap_2threads_intel' [08:17, 06:20](1100 MB) +PASS -- TEST 'rap_restart_intel' [05:14, 03:41](880 MB) +PASS -- TEST 'rap_sfcdiff_intel' [09:28, 06:55](1007 MB) +PASS -- TEST 'rap_sfcdiff_decomp_intel' [09:14, 07:22](1005 MB) +PASS -- TEST 'rap_sfcdiff_restart_intel' [08:54, 05:28](879 MB) +PASS -- TEST 'hrrr_control_intel' [06:10, 03:54](1005 MB) +PASS -- TEST 'hrrr_control_decomp_intel' [06:10, 04:28](1006 MB) +PASS -- TEST 'hrrr_control_2threads_intel' [05:10, 03:29](1086 MB) +PASS -- TEST 'hrrr_control_restart_intel' [03:38, 02:32](837 MB) +PASS -- TEST 'rrfs_v1beta_intel' [08:24, 06:47](1003 MB) +PASS -- TEST 'rrfs_v1nssl_intel' [09:38, 08:23](1963 MB) +PASS -- TEST 'rrfs_v1nssl_nohailnoccn_intel' [09:40, 08:29](1950 MB) + +PASS -- COMPILE 'csawmg_intel' [13:06, 12:56] +PASS -- TEST 'control_csawmg_intel' [07:50, 06:39](695 MB) +PASS -- TEST 'control_csawmgt_intel' [07:50, 06:37](691 MB) +PASS -- TEST 'control_ras_intel' [04:37, 03:25](657 MB) + +PASS -- COMPILE 'wam_intel' [14:07, 13:10] +PASS -- TEST 'control_wam_intel' [03:40, 02:31](369 MB) + +PASS -- COMPILE 'atm_faster_dyn32_intel' [18:08, 17:06] +PASS -- TEST 'control_p8_faster_intel' [06:02, 03:53](1608 MB) +PASS -- TEST 'regional_control_faster_intel' [06:00, 04:38](614 MB) + +PASS -- COMPILE 'atm_debug_dyn32_intel' [14:06, 13:40] +PASS -- TEST 'control_CubedSphereGrid_debug_intel' [04:51, 03:16](777 MB) +PASS -- TEST 'control_wrtGauss_netcdf_parallel_debug_intel' [04:47, 03:19](781 MB) +PASS -- TEST 'control_stochy_debug_intel' [04:31, 03:19](784 MB) +PASS -- TEST 'control_lndp_debug_intel' [03:25, 02:58](788 MB) +PASS -- TEST 'control_csawmg_debug_intel' [05:47, 04:29](823 MB) +PASS -- TEST 'control_csawmgt_debug_intel' [05:47, 04:22](825 MB) +PASS -- TEST 'control_ras_debug_intel' [03:26, 02:57](794 MB) +PASS -- TEST 'control_diag_debug_intel' [03:36, 03:00](842 MB) +PASS -- TEST 'control_debug_p8_intel' [04:43, 03:22](1620 MB) +PASS -- TEST 'regional_debug_intel' [19:24, 17:01](634 MB) +PASS -- TEST 'rap_control_debug_intel' [06:31, 05:14](1166 MB) +PASS -- TEST 'hrrr_control_debug_intel' [06:31, 05:25](1165 MB) +PASS -- TEST 'hrrr_gf_debug_intel' [06:35, 05:06](1167 MB) +PASS -- TEST 'hrrr_c3_debug_intel' [06:47, 05:27](1167 MB) +PASS -- TEST 'rap_unified_drag_suite_debug_intel' [08:10, 05:25](1166 MB) +PASS -- TEST 'rap_diag_debug_intel' [06:33, 05:24](1255 MB) +PASS -- TEST 'rap_cires_ugwp_debug_intel' [08:03, 05:29](1166 MB) +PASS -- TEST 'rap_unified_ugwp_debug_intel' [07:52, 05:32](1167 MB) +PASS -- TEST 'rap_lndp_debug_intel' [07:52, 05:09](1168 MB) +PASS -- TEST 'rap_progcld_thompson_debug_intel' [08:36, 05:28](1166 MB) +PASS -- TEST 'rap_noah_debug_intel' [07:30, 04:59](1165 MB) +PASS -- TEST 'rap_sfcdiff_debug_intel' [07:30, 05:27](1164 MB) +PASS -- TEST 'rap_noah_sfcdiff_cires_ugwp_debug_intel' [10:28, 08:11](1166 MB) +PASS -- TEST 'rrfs_v1beta_debug_intel' [06:48, 05:19](1163 MB) +PASS -- TEST 'rap_clm_lake_debug_intel' [08:35, 06:32](1168 MB) +PASS -- TEST 'rap_flake_debug_intel' [06:38, 05:11](1166 MB) +PASS -- TEST 'gnv1_c96_no_nest_debug_intel' [11:04, 08:51](1169 MB) + +PASS -- COMPILE 'wam_debug_intel' [10:07, 09:24] +PASS -- TEST 'control_wam_debug_intel' [07:33, 05:27](396 MB) + +PASS -- COMPILE 'rrfs_dyn32_phy32_intel' [16:06, 15:33] +PASS -- TEST 'regional_spp_sppt_shum_skeb_dyn32_phy32_intel' [07:09, 04:12](1052 MB) +PASS -- TEST 'rap_control_dyn32_phy32_intel' [09:00, 06:00](889 MB) +PASS -- TEST 'hrrr_control_dyn32_phy32_intel' [07:06, 03:52](886 MB) +PASS -- TEST 'rap_2threads_dyn32_phy32_intel' [07:58, 05:31](947 MB) +PASS -- TEST 'hrrr_control_2threads_dyn32_phy32_intel' [06:07, 03:07](938 MB) +PASS -- TEST 'hrrr_control_decomp_dyn32_phy32_intel' [05:58, 04:12](887 MB) +PASS -- TEST 'rap_restart_dyn32_phy32_intel' [07:02, 04:35](783 MB) +PASS -- TEST 'hrrr_control_restart_dyn32_phy32_intel' [03:37, 02:03](765 MB) + +PASS -- COMPILE 'rrfs_dyn32_phy32_faster_intel' [17:06, 16:50] +PASS -- TEST 'conus13km_control_intel' [04:58, 03:02](1094 MB) +PASS -- TEST 'conus13km_2threads_intel' [03:58, 01:41](1073 MB) +PASS -- TEST 'conus13km_restart_mismatch_intel' [03:48, 01:40](974 MB) + +PASS -- COMPILE 'rrfs_dyn64_phy32_intel' [14:10, 13:53] +PASS -- TEST 'rap_control_dyn64_phy32_intel' [06:10, 04:35](904 MB) + +PASS -- COMPILE 'rrfs_dyn32_phy32_debug_intel' [11:05, 10:37] +PASS -- TEST 'rap_control_debug_dyn32_phy32_intel' [06:23, 05:15](1047 MB) +PASS -- TEST 'hrrr_control_debug_dyn32_phy32_intel' [06:23, 05:26](1048 MB) +PASS -- TEST 'conus13km_debug_intel' [17:00, 15:05](1129 MB) +PASS -- TEST 'conus13km_debug_qr_intel' [16:48, 14:59](805 MB) +PASS -- TEST 'conus13km_debug_2threads_intel' [10:15, 08:28](1110 MB) +PASS -- TEST 'conus13km_radar_tten_debug_intel' [16:08, 14:26](1195 MB) + +PASS -- COMPILE 'rrfs_dyn64_phy32_debug_intel' [11:05, 10:45] +PASS -- TEST 'rap_control_dyn64_phy32_debug_intel' [06:38, 05:23](1067 MB) + +PASS -- COMPILE 'hafsw_intel' [19:07, 18:27] +PASS -- TEST 'hafs_regional_atm_intel' [07:33, 05:20](707 MB) +PASS -- TEST 'hafs_regional_atm_thompson_gfdlsf_intel' [05:57, 04:46](1057 MB) +PASS -- TEST 'hafs_regional_atm_ocn_intel' [11:02, 07:57](753 MB) +PASS -- TEST 'hafs_regional_atm_wav_intel' [14:40, 12:09](784 MB) +PASS -- TEST 'hafs_regional_atm_ocn_wav_intel' [17:09, 13:08](803 MB) +PASS -- TEST 'hafs_regional_1nest_atm_intel' [09:15, 05:36](478 MB) +PASS -- TEST 'hafs_regional_telescopic_2nests_atm_intel' [10:43, 07:00](497 MB) +PASS -- TEST 'hafs_global_1nest_atm_intel' [06:27, 03:03](373 MB) +PASS -- TEST 'hafs_global_multiple_4nests_atm_intel' [13:22, 08:20](444 MB) +PASS -- TEST 'hafs_regional_specified_moving_1nest_atm_intel' [06:00, 04:06](507 MB) +PASS -- TEST 'hafs_regional_storm_following_1nest_atm_intel' [06:13, 03:39](510 MB) +PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_intel' [07:27, 04:38](575 MB) +PASS -- TEST 'hafs_global_storm_following_1nest_atm_intel' [02:41, 01:45](401 MB) +PASS -- TEST 'gnv1_nested_intel' [07:16, 04:10](763 MB) + +PASS -- COMPILE 'hafsw_debug_intel' [19:06, 18:29] +PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_debug_intel' [15:09, 13:17](587 MB) + +PASS -- COMPILE 'hafsw_faster_intel' [23:07, 22:44] +PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_wav_intel' [10:26, 07:53](622 MB) +PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_wav_inline_intel' [10:26, 07:49](787 MB) + +PASS -- COMPILE 'hafs_mom6w_intel' [21:10, 20:40] +PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_wav_mom6_intel' [08:08, 06:13](788 MB) + +PASS -- COMPILE 'hafs_all_intel' [19:06, 18:46] +PASS -- TEST 'hafs_regional_docn_intel' [08:16, 06:21](748 MB) +PASS -- TEST 'hafs_regional_docn_oisst_intel' [08:19, 06:33](729 MB) +PASS -- TEST 'hafs_regional_datm_cdeps_intel' [23:15, 20:13](893 MB) + +PASS -- COMPILE 'datm_cdeps_intel' [14:09, 13:26] +PASS -- TEST 'datm_cdeps_control_cfsr_intel' [03:53, 02:38](758 MB) +PASS -- TEST 'datm_cdeps_restart_cfsr_intel' [11:22, 01:45](747 MB) +PASS -- TEST 'datm_cdeps_control_gefs_intel' [03:52, 02:35](637 MB) +PASS -- TEST 'datm_cdeps_iau_gefs_intel' [04:24, 02:42](637 MB) +PASS -- TEST 'datm_cdeps_stochy_gefs_intel' [04:26, 02:35](637 MB) +PASS -- TEST 'datm_cdeps_ciceC_cfsr_intel' [04:26, 02:38](756 MB) +PASS -- TEST 'datm_cdeps_bulk_cfsr_intel' [04:21, 02:40](758 MB) +PASS -- TEST 'datm_cdeps_bulk_gefs_intel' [03:27, 02:41](637 MB) +PASS -- TEST 'datm_cdeps_mx025_cfsr_intel' [19:14, 06:31](691 MB) +PASS -- TEST 'datm_cdeps_mx025_gefs_intel' [19:15, 06:32](674 MB) +PASS -- TEST 'datm_cdeps_multiple_files_cfsr_intel' [14:21, 02:47](758 MB) +PASS -- TEST 'datm_cdeps_3072x1536_cfsr_intel' [15:30, 04:38](1952 MB) +PASS -- TEST 'datm_cdeps_gfs_intel' [16:28, 04:48](2012 MB) + +PASS -- COMPILE 'datm_cdeps_debug_intel' [10:06, 09:14] +PASS -- TEST 'datm_cdeps_debug_cfsr_intel' [17:26, 06:01](739 MB) + +PASS -- COMPILE 'datm_cdeps_faster_intel' [15:10, 14:14] +PASS -- TEST 'datm_cdeps_control_cfsr_faster_intel' [14:26, 02:53](758 MB) + +PASS -- COMPILE 'datm_cdeps_land_intel' [05:10, 04:10] +PASS -- TEST 'datm_cdeps_lnd_gswp3_intel' [16:04, 04:17](318 MB) +PASS -- TEST 'datm_cdeps_lnd_era5_intel' [14:55, 02:47](455 MB) +PASS -- TEST 'datm_cdeps_lnd_era5_rst_intel' [03:04, 01:24](456 MB) + +PASS -- COMPILE 'atml_intel' [16:10, 16:01] +PASS -- TEST 'control_p8_atmlnd_sbs_intel' [20:56, 08:37](1633 MB) +PASS -- TEST 'control_p8_atmlnd_intel' [22:57, 07:41](1633 MB) +PASS -- TEST 'control_restart_p8_atmlnd_intel' [06:00, 04:10](837 MB) + +PASS -- COMPILE 'atmw_intel' [19:10, 18:08] +PASS -- TEST 'atmwav_control_noaero_p8_intel' [15:25, 03:18](1648 MB) + +PASS -- COMPILE 'atmwm_intel' [17:10, 16:58] +PASS -- TEST 'control_atmwav_intel' [14:20, 02:58](640 MB) + +PASS -- COMPILE 'atmaero_intel' [22:10, 21:21] +PASS -- TEST 'atmaero_control_p8_intel' [14:33, 06:48](2943 MB) +PASS -- TEST 'atmaero_control_p8_rad_intel' [15:27, 07:33](3012 MB) +PASS -- TEST 'atmaero_control_p8_rad_micro_intel' [14:12, 08:01](3019 MB) + +PASS -- COMPILE 'atmaq_intel' [16:10, 15:21] + +PASS -- COMPILE 'atmaq_debug_intel' [12:10, 11:16] +PASS -- TEST 'regional_atmaq_debug_intel' [32:42, 18:39](4477 MB) SYNOPSIS: -Starting Date/Time: 20240314 08:29:02 -Ending Date/Time: 20240314 10:21:41 -Total Time: 01h:53m:35s +Starting Date/Time: 20240415 16:40:32 +Ending Date/Time: 20240415 18:27:41 +Total Time: 01h:47m:54s Compiles Completed: 39/39 Tests Completed: 182/182 diff --git a/tests/logs/RegressionTests_hercules.log b/tests/logs/RegressionTests_hercules.log index 0c7977b8c3..caab4b10f9 100644 --- a/tests/logs/RegressionTests_hercules.log +++ b/tests/logs/RegressionTests_hercules.log @@ -1,44 +1,32 @@ ====START OF HERCULES REGRESSION TESTING LOG==== UFSWM hash used in testing: -19159d93d74d6f3c37fdf74fb3475e000435f07e +d164b650b97d4c4a68ab86c55f2254f29767da2b Submodule hashes used in testing: 37cbb7d6840ae7515a9a8f0dfd4d89461b3396d1 AQM (v0.2.0-37-g37cbb7d) be5d28fd1b60522e6fc98aefeead20e6aac3530b AQM/src/model/CMAQ (CMAQv5.2.1_07Feb2018-198-gbe5d28fd1) 3d7067a523b8557058755289e4275f5f5c985daf CDEPS-interface/CDEPS (cdeps0.4.17-40-g3d7067a) - 7d4e5defc1c5ff6d67cd74470e8fdbce5de84be1 CICE-interface/CICE (CICE6.0.0-446-g7d4e5de) + c9e4679f449e30bb4cc0f22164b4401a8b50f7a6 CICE-interface/CICE (CICE6.0.0-447-gc9e4679) f6ff8f7c4d4cb6feabe3651b13204cf43fc948e3 CICE-interface/CICE/icepack (Icepack1.1.0-182-gf6ff8f7) - 758491ed6681dd6054b1ff877027e6da381e86f8 CMEPS-interface/CMEPS (cmeps_v0.4.1-2305-g758491e) + 4e19850cb083bc474b7cde5dc2f8506ec74cc442 CMEPS-interface/CMEPS (cmeps_v0.4.1-2306-g4e19850) cabd7753ae17f7bfcc6dad56daf10868aa51c3f4 CMakeModules (v1.0.0-28-gcabd775) - 2bafb6fa982fdd7b2cd9fc7801a4bbadcc230fc6 FV3 (remotes/origin/csawv2_gjf) - 6663459e58a04e3bda2157d5891d227e3abc3c7a FV3/atmos_cubed_sphere (201912_public_release-386-g6663459) - 221788f4e2539af797eb02efe42465b153533201 FV3/ccpp/framework (ccpp_transition_to_vlab_master_20190705-613-g221788f) - bbdec2ffceeb0cda70aaaa4f44e619a5468e7be3 FV3/ccpp/physics (master-tag-before-replacing-with-ipd-setup-step-fast-5134-gbbdec2ff) + 5307022358c6d95c9b423ec8bf32e0f0f7d60989 FV3 (remotes/origin/upp_HR4) + 97114888f529c2df70ed4a350fd2428df74839ff FV3/atmos_cubed_sphere (201912_public_release-389-g9711488) + 011db4f80a02cba6d65958ace56e8efb197be62b FV3/ccpp/framework (ccpp_transition_to_vlab_master_20190705-704-g011db4f) + 9b0ac7b16a45afe5e7f1abf9571d3484158a5b43 FV3/ccpp/physics (EP4-741-g9b0ac7b1) 74a0e098b2163425e4b5466c2dfcf8ae26d560a5 FV3/ccpp/physics/physics/Radiation/RRTMGP/rte-rrtmgp (v1.6) - 945cb2cef5e8bd5949afd4f0fc35c4fb6e95a1bf FV3/upp (upp_v10.2.0-159-g945cb2c) + 5faac752d9550d3570705358fa1eb3f5ac78a786 FV3/upp (upp_v10.2.0-185-g5faac75) -1ba8270870947b583cd51bc72ff8960f4c1fb36e FV3/upp/sorc/libIFI.fd --a9828705b587c451fc2a7267d1c374d737be425b FV3/upp/sorc/ncep_post.fd/post_gtg.fd +-7476b8f2790a47d788f79cebfdbb551567ae7cf8 FV3/upp/sorc/ncep_post.fd/post_gtg.fd 041422934cae1570f2f0e67239d5d89f11c6e1b7 GOCART (sdr_v2.1.2.6-119-g0414229) 35789c757766e07f688b4c0c7c5229816f224b09 HYCOM-interface/HYCOM (2.3.00-121-g35789c7) - 10521a921d2f442de19a0cda240d912fd918c40c MOM6-interface/MOM6 (dev/master/repository_split_2014.10.10-10030-g10521a921) + ab7bd14d209592d55490e75dbfaa61cb4a62df97 MOM6-interface/MOM6 (dev/master/repository_split_2014.10.10-10032-gab7bd14d2) 9423197f894112edfcb1502245f7d7b873d551f9 MOM6-interface/MOM6/pkg/CVMix-src (9423197) 29e64d652786e1d076a05128c920f394202bfe10 MOM6-interface/MOM6/pkg/GSW-Fortran (29e64d6) - 0cd3e23ae5d35ef93e205e4d0c3b13ccc0d851f5 NOAHMP-interface/noahmp (v3.7.1-423-g0cd3e23) - 4ffc47e10e3d3f3bbee50251aacb28b7e0165b92 WW3 (6.07.1-344-g4ffc47e1) - a5561802021d89a9a1e2b52cb69393efcdc6f71c stochastic_physics (ufs-v2.0.0-199-ga556180) - 37cbb7d6840ae7515a9a8f0dfd4d89461b3396d1 AQM (v0.2.0-37-g37cbb7d) - 3d7067a523b8557058755289e4275f5f5c985daf CDEPS-interface/CDEPS (cdeps0.4.17-40-g3d7067a) - 7d4e5defc1c5ff6d67cd74470e8fdbce5de84be1 CICE-interface/CICE (CICE6.0.0-446-g7d4e5de) - 758491ed6681dd6054b1ff877027e6da381e86f8 CMEPS-interface/CMEPS (cmeps_v0.4.1-2305-g758491e) - cabd7753ae17f7bfcc6dad56daf10868aa51c3f4 CMakeModules (v1.0.0-28-gcabd775) - 2bafb6fa982fdd7b2cd9fc7801a4bbadcc230fc6 FV3 (remotes/origin/csawv2_gjf) - 041422934cae1570f2f0e67239d5d89f11c6e1b7 GOCART (sdr_v2.1.2.6-119-g0414229) - 35789c757766e07f688b4c0c7c5229816f224b09 HYCOM-interface/HYCOM (2.3.00-121-g35789c7) - 10521a921d2f442de19a0cda240d912fd918c40c MOM6-interface/MOM6 (dev/master/repository_split_2014.10.10-10030-g10521a921) - 0cd3e23ae5d35ef93e205e4d0c3b13ccc0d851f5 NOAHMP-interface/noahmp (v3.7.1-423-g0cd3e23) - 4ffc47e10e3d3f3bbee50251aacb28b7e0165b92 WW3 (6.07.1-344-g4ffc47e1) - a5561802021d89a9a1e2b52cb69393efcdc6f71c stochastic_physics (ufs-v2.0.0-199-ga556180) + 6a51f0295bc1a877475b527157a33aa86eb532fe NOAHMP-interface/noahmp (v3.7.1-426-g6a51f02) + d9b3172f4197c65d471662c6952a668152d71230 WW3 (6.07.1-345-gd9b3172f) + 31e4e3e57bad8a7cdaa0ce2d3c4efbca63b5f74a stochastic_physics (ufs-v2.0.0-216-g31e4e3e) NOTES: @@ -47,368 +35,367 @@ The first time is for the full script (prep+run+finalize). The second time is specifically for the run phase. Times/Memory will be empty for failed tests. -BASELINE DIRECTORY: /work/noaa/epic/hercules/UFS-WM_RT/NEMSfv3gfs/develop-20240312 -COMPARISON DIRECTORY: /work2/noaa/stmp/zshrader/stmp/zshrader/FV3_RT/rt_941138 +BASELINE DIRECTORY: /work/noaa/epic/hercules/UFS-WM_RT/NEMSfv3gfs/develop-20240417 +COMPARISON DIRECTORY: /work2/noaa/stmp/zshrader/stmp/zshrader/FV3_RT/rt_463802 RT.SH OPTIONS USED: * (-a) - HPC PROJECT ACCOUNT: epic * (-l) - USE CONFIG FILE: rt.conf * (-e) - USE ECFLOW -PASS -- COMPILE 's2swa_32bit_intel' [13:06, 11:07] -PASS -- TEST 'cpld_control_p8_mixedmode_intel' [09:56, 07:44](1889 MB) - -PASS -- COMPILE 's2swa_32bit_pdlib_intel' [20:06, 18:08] -PASS -- TEST 'cpld_control_gfsv17_intel' [21:02, 13:18](1769 MB) -PASS -- TEST 'cpld_control_gfsv17_iau_intel' [17:15, 14:04](2183 MB) -PASS -- TEST 'cpld_restart_gfsv17_intel' [11:19, 06:33](1189 MB) -PASS -- TEST 'cpld_mpi_gfsv17_intel' [22:08, 14:54](1692 MB) - -PASS -- COMPILE 's2swa_32bit_pdlib_debug_intel' [06:06, 04:43] -PASS -- TEST 'cpld_debug_gfsv17_intel' [23:11, 20:23](1739 MB) - -PASS -- COMPILE 's2swa_intel' [13:06, 12:00] -PASS -- TEST 'cpld_control_p8_intel' [09:46, 07:40](2088 MB) -PASS -- TEST 'cpld_control_p8.v2.sfc_intel' [09:57, 07:36](2063 MB) -PASS -- TEST 'cpld_restart_p8_intel' [11:08, 04:17](1960 MB) -PASS -- TEST 'cpld_control_qr_p8_intel' [09:45, 07:45](1977 MB) -PASS -- TEST 'cpld_restart_qr_p8_intel' [11:10, 04:18](1731 MB) -PASS -- TEST 'cpld_2threads_p8_intel' [10:44, 08:52](2499 MB) -PASS -- TEST 'cpld_decomp_p8_intel' [09:43, 07:43](2064 MB) -PASS -- TEST 'cpld_mpi_p8_intel' [08:50, 06:28](1906 MB) -PASS -- TEST 'cpld_control_ciceC_p8_intel' [09:58, 07:35](2063 MB) -PASS -- TEST 'cpld_control_c192_p8_intel' [25:31, 15:20](2810 MB) -PASS -- TEST 'cpld_restart_c192_p8_intel' [09:01, 05:51](2926 MB) -PASS -- TEST 'cpld_bmark_p8_intel' [20:33, 08:57](3635 MB) -PASS -- TEST 'cpld_restart_bmark_p8_intel' [13:45, 05:12](3617 MB) -PASS -- TEST 'cpld_s2sa_p8_intel' [06:45, 05:00](2033 MB) - -PASS -- COMPILE 's2sw_intel' [13:06, 11:09] -PASS -- TEST 'cpld_control_noaero_p8_intel' [09:47, 07:10](1772 MB) -PASS -- TEST 'cpld_control_nowave_noaero_p8_intel' [05:47, 03:59](1816 MB) - -PASS -- COMPILE 's2swa_debug_intel' [07:06, 05:19] -PASS -- TEST 'cpld_debug_p8_intel' [08:47, 06:56](2052 MB) - -PASS -- COMPILE 's2sw_debug_intel' [07:06, 05:17] -PASS -- TEST 'cpld_debug_noaero_p8_intel' [06:47, 04:47](1799 MB) - -PASS -- COMPILE 's2s_aoflux_intel' [11:06, 09:13] -PASS -- TEST 'cpld_control_noaero_p8_agrid_intel' [05:44, 04:04](1817 MB) - -PASS -- COMPILE 's2s_intel' [10:06, 08:12] -PASS -- TEST 'cpld_control_c48_intel' [09:34, 07:17](2838 MB) - -PASS -- COMPILE 's2swa_faster_intel' [13:06, 11:39] -PASS -- TEST 'cpld_control_p8_faster_intel' [09:59, 07:14](2065 MB) - -PASS -- COMPILE 's2sw_pdlib_intel' [17:06, 15:48] -PASS -- TEST 'cpld_control_pdlib_p8_intel' [19:47, 13:49](1808 MB) -PASS -- TEST 'cpld_restart_pdlib_p8_intel' [11:11, 06:47](1285 MB) -PASS -- TEST 'cpld_mpi_pdlib_p8_intel' [19:51, 15:26](1729 MB) - -PASS -- COMPILE 's2sw_pdlib_debug_intel' [05:05, 04:03] -PASS -- TEST 'cpld_debug_pdlib_p8_intel' [23:43, 21:41](1761 MB) - -PASS -- COMPILE 'atm_dyn32_intel' [09:05, 07:54] -PASS -- TEST 'control_flake_intel' [15:20, 02:50](713 MB) -PASS -- TEST 'control_CubedSphereGrid_intel' [14:20, 02:09](659 MB) -PASS -- TEST 'control_CubedSphereGrid_parallel_intel' [11:24, 02:11](671 MB) -PASS -- TEST 'control_latlon_intel' [13:17, 02:07](661 MB) -PASS -- TEST 'control_wrtGauss_netcdf_parallel_intel' [14:24, 02:10](665 MB) -PASS -- TEST 'control_c48_intel' [10:22, 05:41](860 MB) -PASS -- TEST 'control_c48.v2.sfc_intel' [18:38, 05:45](855 MB) -PASS -- TEST 'control_c192_intel' [15:27, 08:12](982 MB) -PASS -- TEST 'control_c384_intel' [15:13, 08:15](1442 MB) -PASS -- TEST 'control_c384gdas_intel' [14:51, 07:19](1520 MB) -PASS -- TEST 'control_stochy_intel' [09:16, 01:27](680 MB) -PASS -- TEST 'control_stochy_restart_intel' [05:19, 00:52](532 MB) -PASS -- TEST 'control_lndp_intel' [11:18, 01:23](665 MB) -PASS -- TEST 'control_iovr4_intel' [14:18, 02:08](658 MB) -PASS -- TEST 'control_iovr5_intel' [11:15, 02:07](655 MB) -PASS -- TEST 'control_p8_intel' [11:49, 02:32](1643 MB) -PASS -- TEST 'control_p8.v2.sfc_intel' [11:48, 02:34](1626 MB) -PASS -- TEST 'control_p8_ugwpv1_intel' [09:49, 02:28](1658 MB) -PASS -- TEST 'control_restart_p8_intel' [03:45, 01:25](922 MB) -PASS -- TEST 'control_noqr_p8_intel' [09:46, 02:33](1625 MB) -PASS -- TEST 'control_restart_noqr_p8_intel' [03:42, 01:26](973 MB) -PASS -- TEST 'control_decomp_p8_intel' [09:42, 02:40](1618 MB) -PASS -- TEST 'control_2threads_p8_intel' [09:41, 02:22](1730 MB) -PASS -- TEST 'control_p8_lndp_intel' [11:36, 04:31](1644 MB) -PASS -- TEST 'control_p8_rrtmgp_intel' [07:52, 03:36](1717 MB) -PASS -- TEST 'control_p8_mynn_intel' [05:47, 02:31](1644 MB) -PASS -- TEST 'merra2_thompson_intel' [06:55, 02:59](1658 MB) -PASS -- TEST 'regional_control_intel' [06:23, 04:33](957 MB) -PASS -- TEST 'regional_restart_intel' [04:28, 02:29](1105 MB) -PASS -- TEST 'regional_decomp_intel' [06:22, 04:46](945 MB) -PASS -- TEST 'regional_2threads_intel' [04:26, 03:00](915 MB) -PASS -- TEST 'regional_noquilt_intel' [06:25, 04:29](1488 MB) -PASS -- TEST 'regional_netcdf_parallel_intel' [06:27, 04:39](955 MB) -PASS -- TEST 'regional_2dwrtdecomp_intel' [06:22, 04:30](959 MB) -PASS -- TEST 'regional_wofs_intel' [07:23, 05:36](2089 MB) - -PASS -- COMPILE 'rrfs_intel' [08:05, 07:03] -PASS -- TEST 'rap_control_intel' [08:47, 06:46](1207 MB) -PASS -- TEST 'regional_spp_sppt_shum_skeb_intel' [05:38, 03:47](1439 MB) -PASS -- TEST 'rap_decomp_intel' [08:28, 06:51](1163 MB) -PASS -- TEST 'rap_2threads_intel' [08:31, 06:12](1368 MB) -PASS -- TEST 'rap_restart_intel' [05:52, 03:27](1147 MB) -PASS -- TEST 'rap_sfcdiff_intel' [08:47, 06:39](1203 MB) -PASS -- TEST 'rap_sfcdiff_decomp_intel' [08:30, 06:50](1151 MB) -PASS -- TEST 'rap_sfcdiff_restart_intel' [07:50, 05:06](1187 MB) -PASS -- TEST 'hrrr_control_intel' [05:35, 03:21](1081 MB) -PASS -- TEST 'hrrr_control_decomp_intel' [05:35, 03:26](1035 MB) -PASS -- TEST 'hrrr_control_2threads_intel' [05:28, 03:03](1125 MB) -PASS -- TEST 'hrrr_control_restart_intel' [03:17, 01:56](1035 MB) -PASS -- TEST 'rrfs_v1beta_intel' [08:48, 06:19](1184 MB) -PASS -- TEST 'rrfs_v1nssl_intel' [09:18, 07:38](2006 MB) -PASS -- TEST 'rrfs_v1nssl_nohailnoccn_intel' [09:20, 07:30](2156 MB) - -PASS -- COMPILE 'csawmg_intel' [08:05, 06:35] -PASS -- TEST 'control_csawmg_intel' [07:25, 05:21](833 MB) -PASS -- TEST 'control_csawmgt_intel' [07:23, 05:14](848 MB) -PASS -- TEST 'control_ras_intel' [04:13, 02:53](806 MB) - -PASS -- COMPILE 'csawmg_gnu' [06:05, 04:08] -PASS -- TEST 'control_csawmg_gnu' [08:26, 06:27](811 MB) -PASS -- TEST 'control_csawmgt_gnu' [08:25, 06:18](811 MB) - -PASS -- COMPILE 'wam_intel' [08:05, 06:33] -PASS -- TEST 'control_wam_intel' [03:17, 01:48](796 MB) - -PASS -- COMPILE 'atm_faster_dyn32_intel' [11:06, 09:30] -PASS -- TEST 'control_p8_faster_intel' [04:46, 02:15](1641 MB) -PASS -- TEST 'regional_control_faster_intel' [06:21, 04:02](961 MB) - -PASS -- COMPILE 'atm_debug_dyn32_intel' [05:05, 03:43] -PASS -- TEST 'control_CubedSphereGrid_debug_intel' [05:16, 02:16](819 MB) -PASS -- TEST 'control_wrtGauss_netcdf_parallel_debug_intel' [05:18, 02:12](825 MB) -PASS -- TEST 'control_stochy_debug_intel' [05:12, 02:26](823 MB) -PASS -- TEST 'control_lndp_debug_intel' [05:12, 02:20](821 MB) -PASS -- TEST 'control_csawmg_debug_intel' [05:24, 03:24](882 MB) -PASS -- TEST 'control_csawmgt_debug_intel' [05:22, 03:20](879 MB) -PASS -- TEST 'control_ras_debug_intel' [04:11, 02:19](834 MB) -PASS -- TEST 'control_diag_debug_intel' [04:20, 02:20](880 MB) -PASS -- TEST 'control_debug_p8_intel' [04:27, 02:22](1657 MB) -PASS -- TEST 'regional_debug_intel' [16:30, 14:13](891 MB) -PASS -- TEST 'rap_control_debug_intel' [05:18, 03:59](1218 MB) -PASS -- TEST 'hrrr_control_debug_intel' [05:15, 03:57](1218 MB) -PASS -- TEST 'hrrr_gf_debug_intel' [05:12, 03:59](1220 MB) -PASS -- TEST 'hrrr_c3_debug_intel' [06:13, 04:05](1218 MB) -PASS -- TEST 'rap_unified_drag_suite_debug_intel' [05:13, 03:58](1221 MB) -PASS -- TEST 'rap_diag_debug_intel' [06:22, 04:13](1299 MB) -PASS -- TEST 'rap_cires_ugwp_debug_intel' [06:17, 04:08](1218 MB) -PASS -- TEST 'rap_unified_ugwp_debug_intel' [06:16, 04:09](1212 MB) -PASS -- TEST 'rap_lndp_debug_intel' [06:15, 04:04](1218 MB) -PASS -- TEST 'rap_progcld_thompson_debug_intel' [05:14, 04:03](1222 MB) -PASS -- TEST 'rap_noah_debug_intel' [05:15, 03:57](1213 MB) -PASS -- TEST 'rap_sfcdiff_debug_intel' [06:15, 04:05](1227 MB) -PASS -- TEST 'rap_noah_sfcdiff_cires_ugwp_debug_intel' [08:17, 06:31](1223 MB) -PASS -- TEST 'rrfs_v1beta_debug_intel' [05:15, 04:00](1209 MB) -PASS -- TEST 'rap_clm_lake_debug_intel' [06:15, 04:51](1211 MB) -PASS -- TEST 'rap_flake_debug_intel' [06:15, 04:03](1222 MB) -PASS -- TEST 'gnv1_c96_no_nest_debug_intel' [10:45, 06:56](1220 MB) - -PASS -- COMPILE 'atm_debug_dyn32_gnu' [05:05, 03:19] -PASS -- TEST 'control_csawmg_debug_gnu' [05:26, 01:45](788 MB) -PASS -- TEST 'control_csawmgt_debug_gnu' [05:27, 01:45](786 MB) - -PASS -- COMPILE 'wam_debug_intel' [07:06, 02:46] - -PASS -- COMPILE 'rrfs_dyn32_phy32_intel' [09:06, 06:52] -PASS -- TEST 'regional_spp_sppt_shum_skeb_dyn32_phy32_intel' [07:45, 03:38](1273 MB) -PASS -- TEST 'rap_control_dyn32_phy32_intel' [08:49, 05:28](1146 MB) -PASS -- TEST 'hrrr_control_dyn32_phy32_intel' [05:53, 02:52](1034 MB) -PASS -- TEST 'rap_2threads_dyn32_phy32_intel' [08:32, 05:11](1274 MB) -PASS -- TEST 'hrrr_control_2threads_dyn32_phy32_intel' [05:33, 02:42](1039 MB) -PASS -- TEST 'hrrr_control_decomp_dyn32_phy32_intel' [06:31, 03:03](1001 MB) -PASS -- TEST 'rap_restart_dyn32_phy32_intel' [11:46, 04:12](1104 MB) -PASS -- TEST 'hrrr_control_restart_dyn32_phy32_intel' [08:20, 01:39](960 MB) - -PASS -- COMPILE 'rrfs_dyn32_phy32_faster_intel' [12:06, 09:19] -PASS -- TEST 'conus13km_control_intel' [03:34, 01:44](1285 MB) -PASS -- TEST 'conus13km_2threads_intel' [07:24, 00:53](1209 MB) -PASS -- TEST 'conus13km_restart_mismatch_intel' [07:25, 01:04](1156 MB) - -PASS -- COMPILE 'rrfs_dyn64_phy32_intel' [09:06, 06:58] -PASS -- TEST 'rap_control_dyn64_phy32_intel' [05:29, 03:45](1070 MB) - -PASS -- COMPILE 'rrfs_dyn32_phy32_debug_intel' [05:06, 02:56] -PASS -- TEST 'rap_control_debug_dyn32_phy32_intel' [06:20, 03:56](1108 MB) -PASS -- TEST 'hrrr_control_debug_dyn32_phy32_intel' [06:13, 03:52](1085 MB) -PASS -- TEST 'conus13km_debug_intel' [18:28, 11:50](1346 MB) -PASS -- TEST 'conus13km_debug_qr_intel' [19:27, 12:09](999 MB) -PASS -- TEST 'conus13km_debug_2threads_intel' [14:26, 06:50](1246 MB) -PASS -- TEST 'conus13km_radar_tten_debug_intel' [19:31, 11:56](1400 MB) - -PASS -- COMPILE 'rrfs_dyn64_phy32_debug_intel' [04:06, 02:52] -PASS -- TEST 'rap_control_dyn64_phy32_debug_intel' [11:16, 03:58](1148 MB) - -PASS -- COMPILE 'hafsw_intel' [15:06, 09:36] -PASS -- TEST 'hafs_regional_atm_intel' [08:59, 05:30](878 MB) -PASS -- TEST 'hafs_regional_atm_thompson_gfdlsf_intel' [10:16, 05:24](1265 MB) -PASS -- TEST 'hafs_regional_atm_ocn_intel' [15:09, 06:34](956 MB) -PASS -- TEST 'hafs_regional_atm_wav_intel' [22:01, 14:00](989 MB) -PASS -- TEST 'hafs_regional_atm_ocn_wav_intel' [21:07, 15:27](991 MB) -PASS -- TEST 'hafs_regional_1nest_atm_intel' [13:47, 05:36](607 MB) -PASS -- TEST 'hafs_regional_telescopic_2nests_atm_intel' [13:13, 07:11](619 MB) -PASS -- TEST 'hafs_global_1nest_atm_intel' [10:34, 02:54](438 MB) -PASS -- TEST 'hafs_global_multiple_4nests_atm_intel' [11:54, 08:02](543 MB) -PASS -- TEST 'hafs_regional_specified_moving_1nest_atm_intel' [09:36, 03:58](616 MB) -PASS -- TEST 'hafs_regional_storm_following_1nest_atm_intel' [11:38, 03:47](621 MB) -PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_intel' [10:43, 04:54](675 MB) -PASS -- TEST 'hafs_global_storm_following_1nest_atm_intel' [07:21, 01:21](447 MB) - -PASS -- COMPILE 'hafsw_debug_intel' [07:06, 02:57] -PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_debug_intel' [16:43, 11:20](636 MB) - -PASS -- COMPILE 'hafsw_faster_intel' [13:05, 10:14] -PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_wav_intel' [23:54, 17:50](731 MB) -PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_wav_inline_intel' [23:51, 16:02](845 MB) - -PASS -- COMPILE 'hafs_mom6w_intel' [11:05, 09:03] -PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_wav_mom6_intel' [17:53, 10:01](814 MB) - -PASS -- COMPILE 'hafs_all_intel' [12:05, 09:24] -PASS -- TEST 'hafs_regional_docn_intel' [13:04, 05:34](948 MB) -PASS -- TEST 'hafs_regional_docn_oisst_intel' [11:59, 05:41](920 MB) -PASS -- TEST 'hafs_regional_datm_cdeps_intel' [21:39, 16:31](1342 MB) - -PASS -- COMPILE 'datm_cdeps_intel' [08:06, 05:43] -PASS -- TEST 'datm_cdeps_control_cfsr_intel' [08:11, 02:08](1150 MB) -PASS -- TEST 'datm_cdeps_restart_cfsr_intel' [05:11, 01:21](1094 MB) -PASS -- TEST 'datm_cdeps_control_gefs_intel' [08:10, 02:04](1010 MB) -PASS -- TEST 'datm_cdeps_iau_gefs_intel' [07:10, 02:05](1011 MB) -PASS -- TEST 'datm_cdeps_stochy_gefs_intel' [07:11, 02:08](1010 MB) -PASS -- TEST 'datm_cdeps_ciceC_cfsr_intel' [07:10, 02:10](1147 MB) -PASS -- TEST 'datm_cdeps_bulk_cfsr_intel' [08:10, 02:08](1143 MB) -PASS -- TEST 'datm_cdeps_bulk_gefs_intel' [08:09, 02:06](1008 MB) -PASS -- TEST 'datm_cdeps_mx025_cfsr_intel' [06:46, 04:51](1168 MB) -PASS -- TEST 'datm_cdeps_mx025_gefs_intel' [07:46, 04:56](1142 MB) -PASS -- TEST 'datm_cdeps_multiple_files_cfsr_intel' [08:13, 02:10](1143 MB) -PASS -- TEST 'datm_cdeps_3072x1536_cfsr_intel' [08:14, 03:01](2441 MB) -PASS -- TEST 'datm_cdeps_gfs_intel' [09:10, 03:04](2388 MB) - -PASS -- COMPILE 'datm_cdeps_debug_intel' [05:05, 03:36] -PASS -- TEST 'datm_cdeps_debug_cfsr_intel' [11:11, 05:02](1083 MB) - -PASS -- COMPILE 'datm_cdeps_faster_intel' [08:05, 05:03] -PASS -- TEST 'datm_cdeps_control_cfsr_faster_intel' [09:12, 02:10](1147 MB) - -PASS -- COMPILE 'datm_cdeps_land_intel' [03:05, 00:43] -PASS -- TEST 'datm_cdeps_lnd_gswp3_intel' [04:21, 00:52](336 MB) -PASS -- TEST 'datm_cdeps_lnd_era5_intel' [04:17, 00:51](560 MB) -PASS -- TEST 'datm_cdeps_lnd_era5_rst_intel' [03:15, 00:36](560 MB) - -PASS -- COMPILE 'atml_intel' [10:05, 07:27] -PASS -- TEST 'control_p8_atmlnd_sbs_intel' [09:54, 06:07](1644 MB) -PASS -- TEST 'control_p8_atmlnd_intel' [08:56, 06:06](1653 MB) -PASS -- TEST 'control_restart_p8_atmlnd_intel' [04:36, 02:58](956 MB) - -PASS -- COMPILE 'atmw_intel' [10:05, 08:56] -PASS -- TEST 'atmwav_control_noaero_p8_intel' [03:49, 01:36](1688 MB) - -PASS -- COMPILE 'atmwm_intel' [12:06, 10:06] -PASS -- TEST 'control_atmwav_intel' [03:39, 01:29](700 MB) - -PASS -- COMPILE 'atmaero_intel' [10:06, 08:34] -PASS -- TEST 'atmaero_control_p8_intel' [06:48, 03:36](1801 MB) -PASS -- TEST 'atmaero_control_p8_rad_intel' [06:46, 04:16](1807 MB) -PASS -- TEST 'atmaero_control_p8_rad_micro_intel' [07:38, 04:29](1818 MB) - -PASS -- COMPILE 'atmaq_intel' [08:05, 07:02] - -PASS -- COMPILE 'atmaq_debug_intel' [04:05, 02:34] -PASS -- TEST 'regional_atmaq_debug_intel' [20:18, 16:36](4591 MB) - -PASS -- COMPILE 'atm_gnu' [06:06, 03:53] -PASS -- TEST 'control_c48_gnu' [13:23, 09:28](882 MB) -PASS -- TEST 'control_stochy_gnu' [05:13, 02:20](729 MB) -PASS -- TEST 'control_ras_gnu' [07:13, 03:50](732 MB) -PASS -- TEST 'control_p8_gnu' [07:53, 03:39](1515 MB) -PASS -- TEST 'control_p8_ugwpv1_gnu' [06:37, 03:29](1517 MB) -PASS -- TEST 'control_flake_gnu' [07:13, 04:25](808 MB) - -PASS -- COMPILE 'rrfs_gnu' [05:06, 03:49] -PASS -- TEST 'rap_control_gnu' [10:47, 07:44](1084 MB) -PASS -- TEST 'rap_decomp_gnu' [10:32, 07:53](1085 MB) -PASS -- TEST 'rap_2threads_gnu' [09:31, 07:16](1124 MB) -PASS -- TEST 'rap_restart_gnu' [05:37, 03:55](885 MB) -PASS -- TEST 'rap_sfcdiff_gnu' [09:47, 07:39](1086 MB) -PASS -- TEST 'rap_sfcdiff_decomp_gnu' [09:32, 07:54](1086 MB) -PASS -- TEST 'rap_sfcdiff_restart_gnu' [07:38, 05:47](884 MB) -PASS -- TEST 'hrrr_control_gnu' [06:29, 04:07](1072 MB) -PASS -- TEST 'hrrr_control_noqr_gnu' [05:34, 04:01](1139 MB) -PASS -- TEST 'hrrr_control_2threads_gnu' [05:32, 03:39](1038 MB) -PASS -- TEST 'hrrr_control_decomp_gnu' [05:35, 04:04](1072 MB) -PASS -- TEST 'hrrr_control_restart_gnu' [04:15, 02:07](881 MB) -PASS -- TEST 'hrrr_control_restart_noqr_gnu' [03:14, 02:03](934 MB) -PASS -- TEST 'rrfs_v1beta_gnu' [09:47, 07:37](1081 MB) - -PASS -- COMPILE 'atm_dyn32_debug_gnu' [07:06, 04:58] -PASS -- TEST 'control_diag_debug_gnu' [03:22, 01:11](774 MB) -PASS -- TEST 'regional_debug_gnu' [08:24, 06:27](921 MB) -PASS -- TEST 'rap_control_debug_gnu' [03:14, 01:58](1097 MB) -PASS -- TEST 'hrrr_control_debug_gnu' [03:12, 02:00](1088 MB) -PASS -- TEST 'hrrr_gf_debug_gnu' [04:14, 02:03](1094 MB) -PASS -- TEST 'hrrr_c3_debug_gnu' [03:14, 02:00](1093 MB) -PASS -- TEST 'rap_diag_debug_gnu' [04:24, 02:03](1268 MB) -PASS -- TEST 'rap_noah_sfcdiff_cires_ugwp_debug_gnu' [05:15, 03:07](1094 MB) -PASS -- TEST 'rap_progcld_thompson_debug_gnu' [03:15, 01:58](1097 MB) -PASS -- TEST 'rrfs_v1beta_debug_gnu' [03:15, 01:56](1092 MB) -PASS -- TEST 'control_ras_debug_gnu' [03:12, 01:13](722 MB) -PASS -- TEST 'control_stochy_debug_gnu' [03:13, 01:15](721 MB) -PASS -- TEST 'control_debug_p8_gnu' [03:26, 01:16](1502 MB) -PASS -- TEST 'rap_flake_debug_gnu' [03:16, 01:58](1096 MB) -PASS -- TEST 'rap_clm_lake_debug_gnu' [04:17, 02:10](1097 MB) -PASS -- TEST 'gnv1_c96_no_nest_debug_gnu' [05:44, 03:17](1101 MB) - -PASS -- COMPILE 'wam_debug_gnu' [05:05, 02:17] - -PASS -- COMPILE 'rrfs_dyn32_phy32_gnu' [06:05, 04:35] -PASS -- TEST 'rap_control_dyn32_phy32_gnu' [09:32, 07:21](965 MB) -PASS -- TEST 'hrrr_control_dyn32_phy32_gnu' [05:49, 03:50](952 MB) -PASS -- TEST 'rap_2threads_dyn32_phy32_gnu' [08:45, 06:46](975 MB) -PASS -- TEST 'hrrr_control_2threads_dyn32_phy32_gnu' [05:31, 03:27](873 MB) -PASS -- TEST 'hrrr_control_decomp_dyn32_phy32_gnu' [05:32, 03:49](953 MB) -PASS -- TEST 'rap_restart_dyn32_phy32_gnu' [07:39, 05:31](858 MB) -PASS -- TEST 'hrrr_control_restart_dyn32_phy32_gnu' [06:22, 02:06](857 MB) -PASS -- TEST 'conus13km_control_gnu' [04:38, 02:31](1266 MB) -PASS -- TEST 'conus13km_2threads_gnu' [04:23, 01:12](1175 MB) -PASS -- TEST 'conus13km_restart_mismatch_gnu' [05:24, 01:33](926 MB) - -PASS -- COMPILE 'atm_dyn64_phy32_gnu' [10:05, 08:53] -PASS -- TEST 'rap_control_dyn64_phy32_gnu' [06:31, 04:21](987 MB) - -PASS -- COMPILE 'atm_dyn32_phy32_debug_gnu' [06:05, 04:26] -PASS -- TEST 'rap_control_debug_dyn32_phy32_gnu' [03:15, 02:01](976 MB) -PASS -- TEST 'hrrr_control_debug_dyn32_phy32_gnu' [03:14, 01:56](968 MB) -PASS -- TEST 'conus13km_debug_gnu' [07:27, 05:28](1281 MB) -PASS -- TEST 'conus13km_debug_qr_gnu' [07:27, 05:37](970 MB) -PASS -- TEST 'conus13km_debug_2threads_gnu' [05:26, 03:15](1192 MB) -PASS -- TEST 'conus13km_radar_tten_debug_gnu' [07:26, 05:20](1348 MB) - -PASS -- COMPILE 'atm_dyn64_phy32_debug_gnu' [06:05, 04:43] -PASS -- TEST 'rap_control_dyn64_phy32_debug_gnu' [03:15, 01:59](1005 MB) - -PASS -- COMPILE 's2swa_gnu' [16:06, 14:49] - -PASS -- COMPILE 's2s_gnu' [16:06, 14:39] - -PASS -- COMPILE 's2swa_debug_gnu' [07:05, 05:54] - -PASS -- COMPILE 's2sw_pdlib_gnu' [16:07, 15:02] - -PASS -- COMPILE 's2sw_pdlib_debug_gnu' [05:05, 03:47] - -PASS -- COMPILE 'datm_cdeps_gnu' [16:06, 14:52] +PASS -- COMPILE 's2swa_32bit_intel' [12:11, 12:05] +PASS -- TEST 'cpld_control_p8_mixedmode_intel' [09:17, 07:41](1900 MB) + +PASS -- COMPILE 's2swa_32bit_pdlib_intel' [18:11, 17:31] +PASS -- TEST 'cpld_control_gfsv17_intel' [15:37, 14:00](1769 MB) +PASS -- TEST 'cpld_control_gfsv17_iau_intel' [16:54, 14:47](2192 MB) +PASS -- TEST 'cpld_restart_gfsv17_intel' [08:49, 06:35](1175 MB) +PASS -- TEST 'cpld_mpi_gfsv17_intel' [16:07, 15:11](1694 MB) + +PASS -- COMPILE 's2swa_32bit_pdlib_debug_intel' [06:11, 05:52] +PASS -- TEST 'cpld_debug_gfsv17_intel' [22:48, 20:59](1724 MB) + +PASS -- COMPILE 's2swa_intel' [12:11, 11:36] +PASS -- TEST 'cpld_control_p8_intel' [09:09, 07:51](2062 MB) +PASS -- TEST 'cpld_control_p8.v2.sfc_intel' [09:23, 07:39](2066 MB) +PASS -- TEST 'cpld_restart_p8_intel' [06:36, 04:11](1964 MB) +PASS -- TEST 'cpld_control_qr_p8_intel' [09:09, 07:50](1985 MB) +PASS -- TEST 'cpld_restart_qr_p8_intel' [06:37, 04:18](1732 MB) +PASS -- TEST 'cpld_2threads_p8_intel' [11:09, 09:24](2485 MB) +PASS -- TEST 'cpld_decomp_p8_intel' [09:04, 07:46](2060 MB) +PASS -- TEST 'cpld_mpi_p8_intel' [08:18, 06:33](1890 MB) +PASS -- TEST 'cpld_control_ciceC_p8_intel' [09:21, 07:47](2091 MB) +PASS -- TEST 'cpld_control_c192_p8_intel' [18:07, 15:38](2983 MB) +PASS -- TEST 'cpld_restart_c192_p8_intel' [08:52, 05:51](2924 MB) +PASS -- TEST 'cpld_bmark_p8_intel' [16:44, 09:11](3639 MB) +PASS -- TEST 'cpld_restart_bmark_p8_intel' [15:28, 06:20](3625 MB) +PASS -- TEST 'cpld_s2sa_p8_intel' [07:14, 05:11](2049 MB) + +PASS -- COMPILE 's2sw_intel' [13:11, 12:09] +PASS -- TEST 'cpld_control_noaero_p8_intel' [09:10, 07:13](1789 MB) +PASS -- TEST 'cpld_control_nowave_noaero_p8_intel' [05:21, 04:04](1818 MB) + +PASS -- COMPILE 's2swa_debug_intel' [06:11, 05:52] +PASS -- TEST 'cpld_debug_p8_intel' [08:31, 07:02](2044 MB) + +PASS -- COMPILE 's2sw_debug_intel' [06:11, 05:49] +PASS -- TEST 'cpld_debug_noaero_p8_intel' [06:16, 04:51](1792 MB) + +PASS -- COMPILE 's2s_aoflux_intel' [11:11, 10:19] +PASS -- TEST 'cpld_control_noaero_p8_agrid_intel' [05:16, 04:08](1829 MB) + +PASS -- COMPILE 's2s_intel' [10:11, 09:29] +PASS -- TEST 'cpld_control_c48_intel' [08:55, 07:20](2839 MB) + +PASS -- COMPILE 's2swa_faster_intel' [14:11, 14:06] +PASS -- TEST 'cpld_control_p8_faster_intel' [09:23, 07:30](2067 MB) + +PASS -- COMPILE 's2sw_pdlib_intel' [17:11, 16:12] +PASS -- TEST 'cpld_control_pdlib_p8_intel' [15:09, 13:52](1825 MB) +PASS -- TEST 'cpld_restart_pdlib_p8_intel' [08:25, 06:41](1287 MB) +PASS -- TEST 'cpld_mpi_pdlib_p8_intel' [17:13, 15:37](1745 MB) + +PASS -- COMPILE 's2sw_pdlib_debug_intel' [05:11, 04:17] +PASS -- TEST 'cpld_debug_pdlib_p8_intel' [23:09, 21:34](1774 MB) + +PASS -- COMPILE 'atm_dyn32_intel' [09:11, 08:19] +PASS -- TEST 'control_flake_intel' [03:22, 02:58](707 MB) +PASS -- TEST 'control_CubedSphereGrid_intel' [03:26, 02:18](663 MB) +PASS -- TEST 'control_CubedSphereGrid_parallel_intel' [03:29, 02:20](682 MB) +PASS -- TEST 'control_latlon_intel' [03:22, 02:17](670 MB) +PASS -- TEST 'control_wrtGauss_netcdf_parallel_intel' [03:29, 02:16](675 MB) +PASS -- TEST 'control_c48_intel' [06:29, 05:50](858 MB) +PASS -- TEST 'control_c48.v2.sfc_intel' [06:30, 05:46](860 MB) +PASS -- TEST 'control_c192_intel' [08:32, 07:58](987 MB) +PASS -- TEST 'control_c384_intel' [10:13, 08:14](1447 MB) +PASS -- TEST 'control_c384gdas_intel' [10:10, 07:39](1524 MB) +PASS -- TEST 'control_stochy_intel' [02:22, 01:33](674 MB) +PASS -- TEST 'control_stochy_restart_intel' [01:30, 00:54](534 MB) +PASS -- TEST 'control_lndp_intel' [02:22, 01:27](663 MB) +PASS -- TEST 'control_iovr4_intel' [03:26, 02:11](661 MB) +PASS -- TEST 'control_iovr5_intel' [03:23, 02:11](666 MB) +PASS -- TEST 'control_p8_intel' [04:04, 02:36](1635 MB) +PASS -- TEST 'control_p8.v2.sfc_intel' [04:01, 02:33](1633 MB) +PASS -- TEST 'control_p8_ugwpv1_intel' [04:13, 02:30](1647 MB) +PASS -- TEST 'control_restart_p8_intel' [03:02, 01:23](916 MB) +PASS -- TEST 'control_noqr_p8_intel' [04:00, 02:28](1622 MB) +PASS -- TEST 'control_restart_noqr_p8_intel' [03:02, 01:24](974 MB) +PASS -- TEST 'control_decomp_p8_intel' [03:53, 02:37](1632 MB) +PASS -- TEST 'control_2threads_p8_intel' [03:53, 02:25](1729 MB) +PASS -- TEST 'control_p8_lndp_intel' [05:37, 04:37](1647 MB) +PASS -- TEST 'control_p8_rrtmgp_intel' [05:02, 03:27](1716 MB) +PASS -- TEST 'control_p8_mynn_intel' [04:00, 02:41](1643 MB) +PASS -- TEST 'merra2_thompson_intel' [05:13, 03:09](1653 MB) +PASS -- TEST 'regional_control_intel' [05:36, 04:41](956 MB) +PASS -- TEST 'regional_restart_intel' [03:34, 02:39](1100 MB) +PASS -- TEST 'regional_decomp_intel' [05:34, 04:46](948 MB) +PASS -- TEST 'regional_2threads_intel' [03:34, 02:54](910 MB) +PASS -- TEST 'regional_noquilt_intel' [05:38, 04:22](1486 MB) +PASS -- TEST 'regional_netcdf_parallel_intel' [05:40, 04:31](960 MB) +PASS -- TEST 'regional_2dwrtdecomp_intel' [05:34, 04:33](955 MB) +PASS -- TEST 'regional_wofs_intel' [06:37, 05:54](2078 MB) + +PASS -- COMPILE 'rrfs_intel' [08:11, 07:51] +PASS -- TEST 'rap_control_intel' [07:56, 06:48](1204 MB) +PASS -- TEST 'regional_spp_sppt_shum_skeb_intel' [04:58, 03:36](1400 MB) +PASS -- TEST 'rap_decomp_intel' [07:47, 06:52](1135 MB) +PASS -- TEST 'rap_2threads_intel' [07:42, 06:29](1370 MB) +PASS -- TEST 'rap_restart_intel' [05:00, 03:25](1155 MB) +PASS -- TEST 'rap_sfcdiff_intel' [07:58, 06:49](1194 MB) +PASS -- TEST 'rap_sfcdiff_decomp_intel' [07:49, 06:55](1166 MB) +PASS -- TEST 'rap_sfcdiff_restart_intel' [06:00, 05:02](1189 MB) +PASS -- TEST 'hrrr_control_intel' [04:50, 03:25](1064 MB) +PASS -- TEST 'hrrr_control_decomp_intel' [04:42, 03:35](1052 MB) +PASS -- TEST 'hrrr_control_2threads_intel' [04:40, 03:10](1129 MB) +PASS -- TEST 'hrrr_control_restart_intel' [02:32, 01:53](1022 MB) +PASS -- TEST 'rrfs_v1beta_intel' [08:10, 06:24](1205 MB) +PASS -- TEST 'rrfs_v1nssl_intel' [08:24, 07:42](2012 MB) +PASS -- TEST 'rrfs_v1nssl_nohailnoccn_intel' [08:24, 07:27](2155 MB) + +PASS -- COMPILE 'csawmg_intel' [08:11, 07:34] +PASS -- TEST 'control_csawmg_intel' [06:35, 05:20](811 MB) +PASS -- TEST 'control_csawmgt_intel' [06:35, 05:20](834 MB) +PASS -- TEST 'control_ras_intel' [03:20, 03:00](807 MB) + +PASS -- COMPILE 'csawmg_gnu' [06:10, 05:23] +PASS -- TEST 'control_csawmg_gnu' [07:39, 06:39](813 MB) +PASS -- TEST 'control_csawmgt_gnu' [07:38, 06:31](813 MB) + +PASS -- COMPILE 'wam_intel' [07:10, 07:07] +PASS -- TEST 'control_wam_intel' [02:26, 01:59](785 MB) + +PASS -- COMPILE 'atm_faster_dyn32_intel' [10:10, 09:56] +PASS -- TEST 'control_p8_faster_intel' [04:06, 02:26](1632 MB) +PASS -- TEST 'regional_control_faster_intel' [05:35, 04:21](957 MB) + +PASS -- COMPILE 'atm_debug_dyn32_intel' [05:10, 04:17] +PASS -- TEST 'control_CubedSphereGrid_debug_intel' [03:26, 02:19](824 MB) +PASS -- TEST 'control_wrtGauss_netcdf_parallel_debug_intel' [03:28, 02:18](822 MB) +PASS -- TEST 'control_stochy_debug_intel' [03:20, 02:33](831 MB) +PASS -- TEST 'control_lndp_debug_intel' [03:20, 02:17](822 MB) +PASS -- TEST 'control_csawmg_debug_intel' [04:34, 03:26](869 MB) +PASS -- TEST 'control_csawmgt_debug_intel' [04:34, 03:24](878 MB) +PASS -- TEST 'control_ras_debug_intel' [03:20, 02:18](843 MB) +PASS -- TEST 'control_diag_debug_intel' [03:26, 02:21](881 MB) +PASS -- TEST 'control_debug_p8_intel' [03:47, 02:24](1664 MB) +PASS -- TEST 'regional_debug_intel' [15:35, 14:11](894 MB) +PASS -- TEST 'rap_control_debug_intel' [04:22, 04:00](1216 MB) +PASS -- TEST 'hrrr_control_debug_intel' [04:21, 03:58](1227 MB) +PASS -- TEST 'hrrr_gf_debug_intel' [04:21, 03:58](1224 MB) +PASS -- TEST 'hrrr_c3_debug_intel' [04:20, 04:02](1218 MB) +PASS -- TEST 'rap_unified_drag_suite_debug_intel' [04:20, 04:00](1221 MB) +PASS -- TEST 'rap_diag_debug_intel' [05:30, 04:16](1298 MB) +PASS -- TEST 'rap_cires_ugwp_debug_intel' [04:21, 04:04](1219 MB) +PASS -- TEST 'rap_unified_ugwp_debug_intel' [04:20, 04:06](1210 MB) +PASS -- TEST 'rap_lndp_debug_intel' [04:23, 04:03](1210 MB) +PASS -- TEST 'rap_progcld_thompson_debug_intel' [04:20, 04:03](1208 MB) +PASS -- TEST 'rap_noah_debug_intel' [04:22, 03:55](1212 MB) +PASS -- TEST 'rap_sfcdiff_debug_intel' [04:23, 04:01](1215 MB) +PASS -- TEST 'rap_noah_sfcdiff_cires_ugwp_debug_intel' [07:24, 06:31](1210 MB) +PASS -- TEST 'rrfs_v1beta_debug_intel' [04:21, 04:00](1220 MB) +PASS -- TEST 'rap_clm_lake_debug_intel' [05:24, 04:57](1226 MB) +PASS -- TEST 'rap_flake_debug_intel' [04:21, 04:01](1222 MB) +PASS -- TEST 'gnv1_c96_no_nest_debug_intel' [07:59, 06:50](1220 MB) + +PASS -- COMPILE 'atm_debug_dyn32_gnu' [04:10, 03:54] +PASS -- TEST 'control_csawmg_debug_gnu' [02:32, 01:45](791 MB) +PASS -- TEST 'control_csawmgt_debug_gnu' [02:33, 01:43](788 MB) + +PASS -- COMPILE 'wam_debug_intel' [03:11, 02:41] + +PASS -- COMPILE 'rrfs_dyn32_phy32_intel' [07:11, 06:57] +PASS -- TEST 'regional_spp_sppt_shum_skeb_dyn32_phy32_intel' [05:01, 03:20](1268 MB) +PASS -- TEST 'rap_control_dyn32_phy32_intel' [06:59, 05:33](1140 MB) +PASS -- TEST 'hrrr_control_dyn32_phy32_intel' [04:10, 02:52](1031 MB) +PASS -- TEST 'rap_2threads_dyn32_phy32_intel' [06:40, 05:20](1295 MB) +PASS -- TEST 'hrrr_control_2threads_dyn32_phy32_intel' [03:45, 02:42](1045 MB) +PASS -- TEST 'hrrr_control_decomp_dyn32_phy32_intel' [03:48, 03:03](977 MB) +PASS -- TEST 'rap_restart_dyn32_phy32_intel' [05:58, 04:12](1097 MB) +PASS -- TEST 'hrrr_control_restart_dyn32_phy32_intel' [02:26, 01:37](963 MB) + +PASS -- COMPILE 'rrfs_dyn32_phy32_faster_intel' [10:11, 09:27] +PASS -- TEST 'conus13km_control_intel' [02:48, 01:50](1297 MB) +PASS -- TEST 'conus13km_2threads_intel' [01:33, 00:45](1195 MB) +PASS -- TEST 'conus13km_restart_mismatch_intel' [01:35, 01:02](1155 MB) + +PASS -- COMPILE 'rrfs_dyn64_phy32_intel' [08:11, 07:14] +PASS -- TEST 'rap_control_dyn64_phy32_intel' [04:38, 03:44](1068 MB) + +PASS -- COMPILE 'rrfs_dyn32_phy32_debug_intel' [04:11, 03:14] +PASS -- TEST 'rap_control_debug_dyn32_phy32_intel' [04:22, 03:58](1089 MB) +PASS -- TEST 'hrrr_control_debug_dyn32_phy32_intel' [04:21, 03:51](1087 MB) +PASS -- TEST 'conus13km_debug_intel' [12:40, 11:34](1346 MB) +PASS -- TEST 'conus13km_debug_qr_intel' [12:36, 12:07](997 MB) +PASS -- TEST 'conus13km_debug_2threads_intel' [07:34, 06:35](1242 MB) +PASS -- TEST 'conus13km_radar_tten_debug_intel' [12:33, 11:36](1406 MB) + +PASS -- COMPILE 'rrfs_dyn64_phy32_debug_intel' [03:10, 02:57] +PASS -- TEST 'rap_control_dyn64_phy32_debug_intel' [04:20, 04:05](1145 MB) + +PASS -- COMPILE 'hafsw_intel' [11:11, 10:28] +PASS -- TEST 'hafs_regional_atm_intel' [07:11, 05:35](873 MB) +PASS -- TEST 'hafs_regional_atm_thompson_gfdlsf_intel' [06:24, 05:20](1273 MB) +PASS -- TEST 'hafs_regional_atm_ocn_intel' [08:24, 06:23](953 MB) +PASS -- TEST 'hafs_regional_atm_wav_intel' [15:07, 13:58](985 MB) +PASS -- TEST 'hafs_regional_atm_ocn_wav_intel' [16:18, 14:59](1003 MB) +PASS -- TEST 'hafs_regional_1nest_atm_intel' [07:02, 05:43](604 MB) +PASS -- TEST 'hafs_regional_telescopic_2nests_atm_intel' [09:24, 07:09](615 MB) +PASS -- TEST 'hafs_global_1nest_atm_intel' [03:53, 02:58](432 MB) +PASS -- TEST 'hafs_global_multiple_4nests_atm_intel' [11:21, 08:15](542 MB) +PASS -- TEST 'hafs_regional_specified_moving_1nest_atm_intel' [04:51, 03:58](616 MB) +PASS -- TEST 'hafs_regional_storm_following_1nest_atm_intel' [04:51, 03:43](621 MB) +PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_intel' [05:59, 04:48](681 MB) +PASS -- TEST 'hafs_global_storm_following_1nest_atm_intel' [02:28, 01:30](447 MB) + +PASS -- COMPILE 'hafsw_debug_intel' [04:11, 03:12] +PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_debug_intel' [12:54, 11:20](626 MB) + +PASS -- COMPILE 'hafsw_faster_intel' [11:11, 10:48] +PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_wav_intel' [18:07, 16:44](738 MB) +PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_wav_inline_intel' [19:02, 17:49](812 MB) + +PASS -- COMPILE 'hafs_mom6w_intel' [10:11, 09:50] +PASS -- TEST 'hafs_regional_storm_following_1nest_atm_ocn_wav_mom6_intel' [11:09, 09:36](793 MB) + +PASS -- COMPILE 'hafs_all_intel' [11:11, 10:41] +PASS -- TEST 'hafs_regional_docn_intel' [07:09, 05:24](962 MB) +PASS -- TEST 'hafs_regional_docn_oisst_intel' [07:08, 05:29](914 MB) +PASS -- TEST 'hafs_regional_datm_cdeps_intel' [17:55, 16:35](1339 MB) + +PASS -- COMPILE 'datm_cdeps_intel' [07:10, 06:18] +PASS -- TEST 'datm_cdeps_control_cfsr_intel' [02:17, 02:09](1155 MB) +PASS -- TEST 'datm_cdeps_restart_cfsr_intel' [02:17, 01:19](1092 MB) +PASS -- TEST 'datm_cdeps_control_gefs_intel' [02:16, 02:06](1008 MB) +PASS -- TEST 'datm_cdeps_iau_gefs_intel' [02:18, 02:07](1011 MB) +PASS -- TEST 'datm_cdeps_stochy_gefs_intel' [02:16, 02:06](1007 MB) +PASS -- TEST 'datm_cdeps_ciceC_cfsr_intel' [03:16, 02:10](1151 MB) +PASS -- TEST 'datm_cdeps_bulk_cfsr_intel' [02:17, 02:07](1133 MB) +PASS -- TEST 'datm_cdeps_bulk_gefs_intel' [02:16, 02:05](1015 MB) +PASS -- TEST 'datm_cdeps_mx025_cfsr_intel' [06:00, 05:03](1154 MB) +PASS -- TEST 'datm_cdeps_mx025_gefs_intel' [06:01, 04:58](1141 MB) +PASS -- TEST 'datm_cdeps_multiple_files_cfsr_intel' [02:14, 02:09](1144 MB) +PASS -- TEST 'datm_cdeps_3072x1536_cfsr_intel' [03:19, 03:04](2380 MB) +PASS -- TEST 'datm_cdeps_gfs_intel' [03:18, 03:03](2439 MB) + +PASS -- COMPILE 'datm_cdeps_debug_intel' [04:10, 03:48] +PASS -- TEST 'datm_cdeps_debug_cfsr_intel' [06:17, 05:14](1072 MB) + +PASS -- COMPILE 'datm_cdeps_faster_intel' [07:10, 06:15] +PASS -- TEST 'datm_cdeps_control_cfsr_faster_intel' [03:17, 02:10](1150 MB) + +PASS -- COMPILE 'datm_cdeps_land_intel' [01:10, 00:46] +PASS -- TEST 'datm_cdeps_lnd_gswp3_intel' [01:35, 01:02](334 MB) +PASS -- TEST 'datm_cdeps_lnd_era5_intel' [01:26, 00:58](561 MB) +PASS -- TEST 'datm_cdeps_lnd_era5_rst_intel' [01:24, 00:36](558 MB) + +PASS -- COMPILE 'atml_intel' [08:10, 07:48] +PASS -- TEST 'control_p8_atmlnd_sbs_intel' [07:21, 06:03](1652 MB) +PASS -- TEST 'control_p8_atmlnd_intel' [07:23, 05:57](1633 MB) +PASS -- TEST 'control_restart_p8_atmlnd_intel' [04:53, 03:16](938 MB) + +PASS -- COMPILE 'atmw_intel' [10:10, 09:43] +PASS -- TEST 'atmwav_control_noaero_p8_intel' [03:04, 01:37](1697 MB) + +PASS -- COMPILE 'atmwm_intel' [10:10, 09:52] +PASS -- TEST 'control_atmwav_intel' [02:53, 01:31](685 MB) + +PASS -- COMPILE 'atmaero_intel' [08:11, 07:26] +PASS -- TEST 'atmaero_control_p8_intel' [05:00, 03:38](1786 MB) +PASS -- TEST 'atmaero_control_p8_rad_intel' [05:58, 04:25](1819 MB) +PASS -- TEST 'atmaero_control_p8_rad_micro_intel' [05:48, 04:27](1822 MB) + +PASS -- COMPILE 'atmaq_debug_intel' [04:11, 03:22] +PASS -- TEST 'regional_atmaq_debug_intel' [18:38, 16:44](4605 MB) + +PASS -- COMPILE 'atm_gnu' [05:11, 04:36] +PASS -- TEST 'control_c48_gnu' [10:35, 09:34](864 MB) +PASS -- TEST 'control_stochy_gnu' [03:24, 02:15](729 MB) +PASS -- TEST 'control_ras_gnu' [04:20, 03:40](737 MB) +PASS -- TEST 'control_p8_gnu' [05:06, 03:38](1515 MB) +PASS -- TEST 'control_p8_ugwpv1_gnu' [04:51, 03:32](1524 MB) +PASS -- TEST 'control_flake_gnu' [05:22, 04:27](811 MB) + +PASS -- COMPILE 'rrfs_gnu' [05:10, 04:26] +PASS -- TEST 'rap_control_gnu' [08:44, 07:52](1087 MB) +PASS -- TEST 'rap_decomp_gnu' [08:46, 07:55](1088 MB) +PASS -- TEST 'rap_2threads_gnu' [07:58, 07:09](1124 MB) +PASS -- TEST 'rap_restart_gnu' [04:54, 03:55](885 MB) +PASS -- TEST 'rap_sfcdiff_gnu' [08:53, 07:54](1087 MB) +PASS -- TEST 'rap_sfcdiff_decomp_gnu' [08:48, 07:56](1090 MB) +PASS -- TEST 'rap_sfcdiff_restart_gnu' [07:00, 05:46](884 MB) +PASS -- TEST 'hrrr_control_gnu' [05:46, 04:09](1076 MB) +PASS -- TEST 'hrrr_control_noqr_gnu' [05:01, 04:08](1138 MB) +PASS -- TEST 'hrrr_control_2threads_gnu' [04:44, 03:40](1046 MB) +PASS -- TEST 'hrrr_control_decomp_gnu' [04:43, 04:01](1073 MB) +PASS -- TEST 'hrrr_control_restart_gnu' [02:25, 02:06](891 MB) +PASS -- TEST 'hrrr_control_restart_noqr_gnu' [02:26, 02:07](933 MB) +PASS -- TEST 'rrfs_v1beta_gnu' [09:12, 07:48](1084 MB) + +PASS -- COMPILE 'atm_dyn32_debug_gnu' [06:11, 05:31] +PASS -- TEST 'control_diag_debug_gnu' [02:23, 01:17](774 MB) +PASS -- TEST 'regional_debug_gnu' [07:37, 06:26](927 MB) +PASS -- TEST 'rap_control_debug_gnu' [02:20, 02:04](1096 MB) +PASS -- TEST 'hrrr_control_debug_gnu' [02:21, 01:55](1088 MB) +PASS -- TEST 'hrrr_gf_debug_gnu' [02:18, 02:01](1096 MB) +PASS -- TEST 'hrrr_c3_debug_gnu' [02:18, 02:03](1096 MB) +PASS -- TEST 'rap_diag_debug_gnu' [02:28, 02:04](1269 MB) +PASS -- TEST 'rap_noah_sfcdiff_cires_ugwp_debug_gnu' [03:19, 03:03](1093 MB) +PASS -- TEST 'rap_progcld_thompson_debug_gnu' [02:21, 01:57](1094 MB) +PASS -- TEST 'rrfs_v1beta_debug_gnu' [03:20, 02:09](1091 MB) +PASS -- TEST 'control_ras_debug_gnu' [02:18, 01:10](723 MB) +PASS -- TEST 'control_stochy_debug_gnu' [02:20, 01:21](721 MB) +PASS -- TEST 'control_debug_p8_gnu' [02:44, 01:15](1501 MB) +PASS -- TEST 'rap_flake_debug_gnu' [02:21, 01:59](1096 MB) +PASS -- TEST 'rap_clm_lake_debug_gnu' [03:22, 02:19](1099 MB) +PASS -- TEST 'gnv1_c96_no_nest_debug_gnu' [05:03, 03:17](1102 MB) + +PASS -- COMPILE 'wam_debug_gnu' [03:11, 02:48] +PASS -- TEST 'control_wam_debug_gnu' [02:27, 02:00](500 MB) + +PASS -- COMPILE 'rrfs_dyn32_phy32_gnu' [05:11, 04:59] +PASS -- TEST 'rap_control_dyn32_phy32_gnu' [08:41, 07:19](965 MB) +PASS -- TEST 'hrrr_control_dyn32_phy32_gnu' [04:56, 03:53](950 MB) +PASS -- TEST 'rap_2threads_dyn32_phy32_gnu' [07:52, 06:54](970 MB) +PASS -- TEST 'hrrr_control_2threads_dyn32_phy32_gnu' [04:43, 03:37](890 MB) +PASS -- TEST 'hrrr_control_decomp_dyn32_phy32_gnu' [04:44, 03:55](950 MB) +PASS -- TEST 'rap_restart_dyn32_phy32_gnu' [06:53, 05:28](858 MB) +PASS -- TEST 'hrrr_control_restart_dyn32_phy32_gnu' [02:31, 02:02](856 MB) +PASS -- TEST 'conus13km_control_gnu' [03:48, 02:33](1267 MB) +PASS -- TEST 'conus13km_2threads_gnu' [01:33, 01:04](1172 MB) +PASS -- TEST 'conus13km_restart_mismatch_gnu' [02:34, 01:33](926 MB) + +PASS -- COMPILE 'atm_dyn64_phy32_gnu' [11:11, 10:15] +PASS -- TEST 'rap_control_dyn64_phy32_gnu' [05:41, 04:24](988 MB) + +PASS -- COMPILE 'atm_dyn32_phy32_debug_gnu' [07:10, 07:04] +PASS -- TEST 'rap_control_debug_dyn32_phy32_gnu' [02:21, 02:00](975 MB) +PASS -- TEST 'hrrr_control_debug_dyn32_phy32_gnu' [02:24, 01:56](968 MB) +PASS -- TEST 'conus13km_debug_gnu' [06:38, 05:21](1280 MB) +PASS -- TEST 'conus13km_debug_qr_gnu' [06:39, 05:37](955 MB) +PASS -- TEST 'conus13km_debug_2threads_gnu' [04:32, 03:14](1190 MB) +PASS -- TEST 'conus13km_radar_tten_debug_gnu' [06:34, 05:24](1346 MB) + +PASS -- COMPILE 'atm_dyn64_phy32_debug_gnu' [07:10, 07:00] +PASS -- TEST 'rap_control_dyn64_phy32_debug_gnu' [02:20, 02:00](1001 MB) + +PASS -- COMPILE 's2swa_gnu' [16:11, 15:26] + +PASS -- COMPILE 's2s_gnu' [16:11, 15:54] + +PASS -- COMPILE 's2swa_debug_gnu' [06:11, 05:39] + +PASS -- COMPILE 's2sw_pdlib_gnu' [16:11, 15:56] + +PASS -- COMPILE 's2sw_pdlib_debug_gnu' [06:11, 05:18] + +PASS -- COMPILE 'datm_cdeps_gnu' [15:11, 14:55] SYNOPSIS: -Starting Date/Time: 20240314 07:27:36 -Ending Date/Time: 20240314 09:02:12 -Total Time: 01h:35m:02s -Compiles Completed: 55/55 -Tests Completed: 238/238 +Starting Date/Time: 20240418 10:13:12 +Ending Date/Time: 20240418 11:26:55 +Total Time: 01h:14m:32s +Compiles Completed: 54/54 +Tests Completed: 239/239 NOTES: A file 'test_changes.list' was generated but is empty. diff --git a/tests/module-setup.sh b/tests/module-setup.sh index f392a6c084..57e02965c7 100755 --- a/tests/module-setup.sh +++ b/tests/module-setup.sh @@ -1,42 +1,42 @@ #!/bin/bash set -eu -if [[ $MACHINE_ID = jet ]] ; then +if [[ ${MACHINE_ID} = jet ]] ; then # We are on NOAA Jet if ( ! eval module help > /dev/null 2>&1 ) ; then source /apps/lmod/lmod/init/bash fi module purge -elif [[ $MACHINE_ID = hera ]] ; then +elif [[ ${MACHINE_ID} = hera ]] ; then # We are on NOAA Hera if ( ! eval module help > /dev/null 2>&1 ) ; then source /apps/lmod/lmod/init/bash fi module purge -elif [[ $MACHINE_ID = orion ]] ; then +elif [[ ${MACHINE_ID} = orion ]] ; then # We are on Orion if ( ! eval module help > /dev/null 2>&1 ) ; then source /apps/lmod/init/bash fi module purge -elif [[ $MACHINE_ID = hercules ]] ; then +elif [[ ${MACHINE_ID} = hercules ]] ; then # We are on Hercules if ( ! eval module help > /dev/null 2>&1 ) ; then source /apps/other/lmod/lmod/init/bash fi module purge -elif [[ $MACHINE_ID = s4 ]] ; then +elif [[ ${MACHINE_ID} = s4 ]] ; then # We are on SSEC Wisconsin S4 if ( ! eval module help > /dev/null 2>&1 ) ; then source /usr/share/lmod/lmod/init/bash fi module purge -elif [[ $MACHINE_ID = wcoss2 || $MACHINE_ID = acorn ]] ; then +elif [[ ${MACHINE_ID} = wcoss2 || ${MACHINE_ID} = acorn ]] ; then # We are on NOAA Cactus or Dogwood if ( ! eval module help > /dev/null 2>&1 ) ; then source /usr/share/lmod/lmod/init/bash @@ -44,28 +44,28 @@ elif [[ $MACHINE_ID = wcoss2 || $MACHINE_ID = acorn ]] ; then module purge module reset -elif [[ $MACHINE_ID = derecho ]] ; then +elif [[ ${MACHINE_ID} = derecho ]] ; then # We are on NCAR Derecho if ( ! eval module help > /dev/null 2>&1 ) ; then source /usr/share/lmod/lmod/init/bash fi module purge -elif [[ $MACHINE_ID = noaacloud ]] ; then +elif [[ ${MACHINE_ID} = noaacloud ]] ; then # We are on NOAA Cloud if ( ! eval module help > /dev/null 2>&1 ) ; then source /apps/lmod/8.5.2/init/bash fi module purge -elif [[ $MACHINE_ID = stampede ]] ; then +elif [[ ${MACHINE_ID} = stampede ]] ; then # We are on TACC Stampede if ( ! eval module help > /dev/null 2>&1 ) ; then source /opt/apps/lmod/lmod/init/bash fi module purge -elif [[ $MACHINE_ID = gaea ]] ; then +elif [[ ${MACHINE_ID} = gaea ]] ; then # We are on GAEA if ( ! eval module help > /dev/null 2>&1 ) ; then # We cannot simply load the module command. The GAEA @@ -77,7 +77,7 @@ elif [[ $MACHINE_ID = gaea ]] ; then fi module reset -elif [[ $MACHINE_ID = expanse ]]; then +elif [[ ${MACHINE_ID} = expanse ]]; then # We are on SDSC Expanse if ( ! eval module help > /dev/null 2>&1 ) ; then source /etc/profile.d/modules.sh diff --git a/tests/opnReqTest b/tests/opnReqTest index b9a003b706..db44db7c0b 100755 --- a/tests/opnReqTest +++ b/tests/opnReqTest @@ -78,7 +78,7 @@ find_build() { build_opnReqTests() { rm -f fv3_std.exe fv3_dbg.exe fv3_bit.exe modules.fv3_std modules.fv3_dbg modules.fv3_bit - + export RTVERBOSE=false model_found=false base_opt= find_build diff --git a/tests/parm/ice_in.IN b/tests/parm/ice_in.IN index f82edf479d..7910561fe0 100644 --- a/tests/parm/ice_in.IN +++ b/tests/parm/ice_in.IN @@ -1,48 +1,61 @@ &setup_nml - days_per_year = 365 - use_leap_years = .true. - year_init = @[SYEAR] - month_init = @[SMONTH] - day_init = @[SDAY] - sec_init = @[SECS] - dt = @[DT_CICE] - npt = @[CICE_NPT] - ndtd = 1 - runtype = '@[CICE_RUNTYPE]' - runid = '@[CICE_RUNID]' - ice_ic = 'cice_model.res.nc' - restart = .true. - restart_ext = .false. - use_restart_time = @[CICE_USE_RESTART_TIME] - restart_format = 'nc' - lcdf64 = .false. - numin = 21 - numax = 89 - restart_dir = '@[CICE_RESTART_DIR]' - restart_file = '@[CICE_RESTART_FILE]' - pointer_file = './ice.restart_file' - dumpfreq = '@[CICE_DUMPFREQ]' - dumpfreq_n = @[CICE_DUMPFREQ_N] - dump_last = .false. - bfbflag = 'off' - diagfreq = @[CICE_DIAGFREQ] - diag_type = 'file' - diag_file = 'ice_diag.d' - print_global = .true. - print_points = .true. - latpnt(1) = 90. - lonpnt(1) = 0. - latpnt(2) = -65. - lonpnt(2) = -45. - histfreq = 'm','d','h','x','x' - histfreq_n = @[CICE_HISTFREQ_N] - hist_avg = @[CICE_HIST_AVG] - history_dir = '@[CICE_HISTORY_DIR]' - history_file = 'iceh' - write_ic = .true. - incond_dir = '@[CICE_INCOND_DIR]' - incond_file = 'iceh_ic' - version_name = 'CICE_6.0.2' + days_per_year = 365 + use_leap_years = .true. + year_init = @[SYEAR] + month_init = @[SMONTH] + day_init = @[SDAY] + sec_init = @[SECS] + dt = @[DT_CICE] + npt = @[CICE_NPT] + ndtd = 1 + runtype = '@[CICE_RUNTYPE]' + runid = '@[CICE_RUNID]' + ice_ic = 'cice_model.res.nc' + restart = .true. + restart_ext = .false. + use_restart_time = @[CICE_USE_RESTART_TIME] + numin = 21 + numax = 89 + restart_format = '@[CICE_RESTART_FORMAT]' + restart_iotasks = @[CICE_RESTART_IOTASKS] + restart_rearranger = '@[CICE_RESTART_REARR]' + restart_root = @[CICE_RESTART_ROOT] + restart_stride = @[CICE_RESTART_STRIDE] + restart_chunksize = @[CICE_RESTART_CHUNK] + restart_deflate = @[CICE_RESTART_DEFLATE] + restart_dir = '@[CICE_RESTART_DIR]' + restart_file = '@[CICE_RESTART_FILE]' + pointer_file = './ice.restart_file' + dumpfreq = '@[CICE_DUMPFREQ]' + dumpfreq_n = @[CICE_DUMPFREQ_N] + dump_last = .false. + bfbflag = 'off' + diagfreq = @[CICE_DIAGFREQ] + diag_type = 'file' + diag_file = 'ice_diag.d' + print_global = .true. + print_points = .true. + latpnt(1) = 90. + lonpnt(1) = 0. + latpnt(2) = -65. + lonpnt(2) = -45. + history_format = '@[CICE_HISTORY_FORMAT]' + history_iotasks = @[CICE_HISTORY_IOTASKS] + history_rearranger = '@[CICE_HISTORY_REARR]' + history_root = @[CICE_HISTORY_ROOT] + history_stride = @[CICE_HISTORY_STRIDE] + history_chunksize = @[CICE_HISTORY_CHUNK] + history_deflate = @[CICE_HISTORY_DEFLATE] + history_precision = @[CICE_HISTORY_PREC] + histfreq = 'm','d','h','x','x' + histfreq_n = @[CICE_HISTFREQ_N] + hist_avg = @[CICE_HIST_AVG] + history_dir = '@[CICE_HISTORY_DIR]' + history_file = 'iceh' + write_ic = .true. + incond_dir = '@[CICE_INCOND_DIR]' + incond_file = 'iceh_ic' + version_name = 'CICE_6.0.2' / &grid_nml diff --git a/tests/parm/ufs.configure.atm_lnd.IN b/tests/parm/ufs.configure.atm_lnd.IN index 586e873c15..de2991fcac 100644 --- a/tests/parm/ufs.configure.atm_lnd.IN +++ b/tests/parm/ufs.configure.atm_lnd.IN @@ -45,7 +45,7 @@ LND_attributes:: Verbosity = 1 Diagnostic = 0 mosaic_file = @[mosaic_file] - input_dir = @[lnd_input_dir] + input_dir = @[lnd_input_dir] ic_type = @[lnd_ic_type] layout = @[layout_x]:@[layout_y] # need to be consistent with number of PEs num_soil_levels = 4 @@ -67,7 +67,7 @@ LND_attributes:: surface_evap_resistance_option = 1 # not used, it is fixed to 4 in sfc_noahmp_drv.F90 glacier_option = 1 surface_thermal_roughness_option = 2 - output_freq = 3600 + output_freq = 3600 restart_freq = -1 calc_snet = @[CALC_SNET] initial_albedo = @[initial_albedo] @@ -96,10 +96,11 @@ DRIVER_attributes:: :: ALLCOMP_attributes:: - ScalarFieldCount = 3 + ScalarFieldCount = 4 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 - ScalarFieldIdxNextSwCday = 3 # required for data atmosphere configurations + ScalarFieldIdxGridNTile = 3 + ScalarFieldIdxNextSwCday = 4 # required for data atmosphere configurations ScalarFieldName = cpl_scalars start_type = @[RUNTYPE] restart_dir = @[CMEPS_RESTART_DIR] diff --git a/tests/parm/ufs.configure.atmw.IN b/tests/parm/ufs.configure.atmw.IN index 8434d5a7cb..bd1c554ecc 100644 --- a/tests/parm/ufs.configure.atmw.IN +++ b/tests/parm/ufs.configure.atmw.IN @@ -66,14 +66,14 @@ MED_attributes:: ATM_model = @[atm_model] WAV_model = @[wav_model] coupling_mode = @[CPLMODE] - history_tile_atm = @[ATMTILESIZE] pio_rearranger = @[pio_rearranger] :: ALLCOMP_attributes:: - ScalarFieldCount = 2 + ScalarFieldCount = 3 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 + ScalarFieldIdxGridNTile = 3 ScalarFieldName = cpl_scalars start_type = @[RUNTYPE] restart_dir = @[CMEPS_RESTART_DIR] diff --git a/tests/parm/ufs.configure.hafs_atm_docn.IN b/tests/parm/ufs.configure.hafs_atm_docn.IN index 9a0cd26b3e..5f5aebefc0 100644 --- a/tests/parm/ufs.configure.hafs_atm_docn.IN +++ b/tests/parm/ufs.configure.hafs_atm_docn.IN @@ -80,10 +80,11 @@ ALLCOMP_attributes:: ATM_model = @[atm_model] OCN_model = @[ocn_model] MED_model = cmeps - ScalarFieldCount = 3 + ScalarFieldCount = 4 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 - ScalarFieldIdxNextSwCday = 3 + ScalarFieldIdxGridNTile = 3 + ScalarFieldIdxNextSwCday = 4 ScalarFieldName = cpl_scalars start_type = startup case_name = ufs.hafs diff --git a/tests/parm/ufs.configure.hafs_atm_ocn.IN b/tests/parm/ufs.configure.hafs_atm_ocn.IN index 955b0c6bd2..04404e63a4 100644 --- a/tests/parm/ufs.configure.hafs_atm_ocn.IN +++ b/tests/parm/ufs.configure.hafs_atm_ocn.IN @@ -109,10 +109,11 @@ ALLCOMP_attributes:: ATM_model = @[atm_model] OCN_model = @[ocn_model] MED_model = cmeps - ScalarFieldCount = 3 + ScalarFieldCount = 4 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 - ScalarFieldIdxNextSwCday = 3 + ScalarFieldIdxGridNTile = 3 + ScalarFieldIdxNextSwCday = 4 ScalarFieldName = cpl_scalars start_type = startup case_name = ufs.hafs diff --git a/tests/parm/ufs.configure.hafs_atm_ocn_wav.IN b/tests/parm/ufs.configure.hafs_atm_ocn_wav.IN index 20ae2f0ae5..a4398c369b 100644 --- a/tests/parm/ufs.configure.hafs_atm_ocn_wav.IN +++ b/tests/parm/ufs.configure.hafs_atm_ocn_wav.IN @@ -122,10 +122,11 @@ ALLCOMP_attributes:: OCN_model = @[ocn_model] WAV_model = @[wav_model] MED_model = cmeps - ScalarFieldCount = 3 + ScalarFieldCount = 4 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 - ScalarFieldIdxNextSwCday = 3 + ScalarFieldIdxGridNTile = 3 + ScalarFieldIdxNextSwCday = 4 ScalarFieldName = cpl_scalars start_type = startup case_name = ufs.hafs diff --git a/tests/parm/ufs.configure.hafs_atm_ocn_wav_inline.IN b/tests/parm/ufs.configure.hafs_atm_ocn_wav_inline.IN index 894f510fb1..dd24683169 100644 --- a/tests/parm/ufs.configure.hafs_atm_ocn_wav_inline.IN +++ b/tests/parm/ufs.configure.hafs_atm_ocn_wav_inline.IN @@ -126,10 +126,11 @@ ALLCOMP_attributes:: OCN_model = @[ocn_model] WAV_model = @[wav_model] MED_model = cmeps - ScalarFieldCount = 3 + ScalarFieldCount = 4 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 - ScalarFieldIdxNextSwCday = 3 + ScalarFieldIdxGridNTile = 3 + ScalarFieldIdxNextSwCday = 4 ScalarFieldName = cpl_scalars start_type = startup case_name = ufs.hafs diff --git a/tests/parm/ufs.configure.hafs_atm_ocn_wav_mom6.IN b/tests/parm/ufs.configure.hafs_atm_ocn_wav_mom6.IN index 1ca0848395..673d864573 100644 --- a/tests/parm/ufs.configure.hafs_atm_ocn_wav_mom6.IN +++ b/tests/parm/ufs.configure.hafs_atm_ocn_wav_mom6.IN @@ -113,9 +113,10 @@ ALLCOMP_attributes:: OCN_model = @[ocn_model] WAV_model = @[wav_model] MED_model = cmeps - ScalarFieldCount = 2 + ScalarFieldCount = 3 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 + ScalarFieldIdxGridNTile = 3 ScalarFieldName = cpl_scalars start_type = startup case_name = ufs.hafs diff --git a/tests/parm/ufs.configure.hafs_atm_wav.IN b/tests/parm/ufs.configure.hafs_atm_wav.IN index e925a53478..b57d6c685d 100644 --- a/tests/parm/ufs.configure.hafs_atm_wav.IN +++ b/tests/parm/ufs.configure.hafs_atm_wav.IN @@ -84,10 +84,11 @@ ALLCOMP_attributes:: ATM_model = @[atm_model] WAV_model = @[wav_model] MED_model = cmeps - ScalarFieldCount = 3 + ScalarFieldCount = 4 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 - ScalarFieldIdxNextSwCday = 3 + ScalarFieldIdxGridNTile = 3 + ScalarFieldIdxNextSwCday = 4 ScalarFieldName = cpl_scalars start_type = startup case_name = ufs.hafs diff --git a/tests/parm/ufs.configure.s2s.IN b/tests/parm/ufs.configure.s2s.IN index 995d3bd750..3efa42e6fe 100644 --- a/tests/parm/ufs.configure.s2s.IN +++ b/tests/parm/ufs.configure.s2s.IN @@ -91,15 +91,15 @@ MED_attributes:: ICE_model = @[ice_model] OCN_model = @[ocn_model] coupling_mode = @[CPLMODE] - history_tile_atm = @[ATMTILESIZE] pio_rearranger = @[pio_rearranger] ocean_albedo_limit = @[ocean_albedo_limit] :: ALLCOMP_attributes:: - ScalarFieldCount = 2 + ScalarFieldCount = 3 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 + ScalarFieldIdxGridNTile = 3 ScalarFieldName = cpl_scalars start_type = @[RUNTYPE] restart_dir = @[CMEPS_RESTART_DIR] diff --git a/tests/parm/ufs.configure.s2s_aoflux_esmf.IN b/tests/parm/ufs.configure.s2s_aoflux_esmf.IN index 3b71b40aee..d1be7c7b86 100644 --- a/tests/parm/ufs.configure.s2s_aoflux_esmf.IN +++ b/tests/parm/ufs.configure.s2s_aoflux_esmf.IN @@ -96,7 +96,6 @@ MED_attributes:: ICE_model = @[ice_model] OCN_model = @[ocn_model] coupling_mode = @[CPLMODE] - history_tile_atm = @[ATMTILESIZE] aoflux_grid = 'agrid' aoflux_code = 'ccpp' aoflux_ccpp_suite = 'FV3_sfc_ocean' @@ -112,9 +111,10 @@ MED_attributes:: :: ALLCOMP_attributes:: - ScalarFieldCount = 2 + ScalarFieldCount = 3 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 + ScalarFieldIdxGridNTile = 3 ScalarFieldName = cpl_scalars start_type = @[RUNTYPE] restart_dir = @[CMEPS_RESTART_DIR] diff --git a/tests/parm/ufs.configure.s2s_esmf.IN b/tests/parm/ufs.configure.s2s_esmf.IN index 6a0234e120..bf17be2a5e 100644 --- a/tests/parm/ufs.configure.s2s_esmf.IN +++ b/tests/parm/ufs.configure.s2s_esmf.IN @@ -95,15 +95,15 @@ MED_attributes:: ICE_model = @[ice_model] OCN_model = @[ocn_model] coupling_mode = @[CPLMODE] - history_tile_atm = @[ATMTILESIZE] pio_rearranger = @[pio_rearranger] ocean_albedo_limit = @[ocean_albedo_limit] :: ALLCOMP_attributes:: - ScalarFieldCount = 2 + ScalarFieldCount = 3 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 + ScalarFieldIdxGridNTile = 3 ScalarFieldName = cpl_scalars start_type = @[RUNTYPE] restart_dir = @[CMEPS_RESTART_DIR] diff --git a/tests/parm/ufs.configure.s2sa.IN b/tests/parm/ufs.configure.s2sa.IN index 0d3d3f313f..419a11f6c5 100644 --- a/tests/parm/ufs.configure.s2sa.IN +++ b/tests/parm/ufs.configure.s2sa.IN @@ -102,15 +102,15 @@ MED_attributes:: ICE_model = @[ice_model] OCN_model = @[ocn_model] coupling_mode = @[CPLMODE] - history_tile_atm = @[ATMTILESIZE] pio_rearranger = @[pio_rearranger] ocean_albedo_limit = @[ocean_albedo_limit] :: ALLCOMP_attributes:: - ScalarFieldCount = 2 + ScalarFieldCount = 3 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 + ScalarFieldIdxGridNTile = 3 ScalarFieldName = cpl_scalars start_type = @[RUNTYPE] restart_dir = @[CMEPS_RESTART_DIR] diff --git a/tests/parm/ufs.configure.s2sa_esmf.IN b/tests/parm/ufs.configure.s2sa_esmf.IN index 1cfe5047e9..bac867307e 100644 --- a/tests/parm/ufs.configure.s2sa_esmf.IN +++ b/tests/parm/ufs.configure.s2sa_esmf.IN @@ -107,15 +107,15 @@ MED_attributes:: ICE_model = @[ice_model] OCN_model = @[ocn_model] coupling_mode = @[CPLMODE] - history_tile_atm = @[ATMTILESIZE] pio_rearranger = @[pio_rearranger] ocean_albedo_limit = @[ocean_albedo_limit] :: ALLCOMP_attributes:: - ScalarFieldCount = 2 + ScalarFieldCount = 3 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 + ScalarFieldIdxGridNTile = 3 ScalarFieldName = cpl_scalars start_type = @[RUNTYPE] restart_dir = @[CMEPS_RESTART_DIR] diff --git a/tests/parm/ufs.configure.s2sw.IN b/tests/parm/ufs.configure.s2sw.IN index 885e8c3f22..95f35864bf 100644 --- a/tests/parm/ufs.configure.s2sw.IN +++ b/tests/parm/ufs.configure.s2sw.IN @@ -108,15 +108,15 @@ MED_attributes:: OCN_model = @[ocn_model] WAV_model = @[wav_model] coupling_mode = @[CPLMODE] - history_tile_atm = @[ATMTILESIZE] pio_rearranger = @[pio_rearranger] ocean_albedo_limit = @[ocean_albedo_limit] :: ALLCOMP_attributes:: - ScalarFieldCount = 2 + ScalarFieldCount = 3 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 + ScalarFieldIdxGridNTile = 3 ScalarFieldName = cpl_scalars start_type = @[RUNTYPE] restart_dir = @[CMEPS_RESTART_DIR] diff --git a/tests/parm/ufs.configure.s2sw_esmf.IN b/tests/parm/ufs.configure.s2sw_esmf.IN index 47c08442dd..e62fca65af 100644 --- a/tests/parm/ufs.configure.s2sw_esmf.IN +++ b/tests/parm/ufs.configure.s2sw_esmf.IN @@ -112,14 +112,14 @@ MED_attributes:: OCN_model = @[ocn_model] WAV_model = @[wav_model] coupling_mode = @[CPLMODE] - history_tile_atm = @[ATMTILESIZE] pio_rearranger = @[pio_rearranger] ocean_albedo_limit = @[ocean_albedo_limit] :: ALLCOMP_attributes:: - ScalarFieldCount = 2 + ScalarFieldCount = 3 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 + ScalarFieldIdxGridNTile = 3 ScalarFieldName = cpl_scalars start_type = @[RUNTYPE] restart_dir = @[CMEPS_RESTART_DIR] diff --git a/tests/parm/ufs.configure.s2sw_fast_esmf.IN b/tests/parm/ufs.configure.s2sw_fast_esmf.IN index 5c4c17a2a6..6338a000c8 100644 --- a/tests/parm/ufs.configure.s2sw_fast_esmf.IN +++ b/tests/parm/ufs.configure.s2sw_fast_esmf.IN @@ -112,14 +112,14 @@ MED_attributes:: OCN_model = @[ocn_model] WAV_model = @[wav_model] coupling_mode = @[CPLMODE] - history_tile_atm = @[ATMTILESIZE] pio_rearranger = @[pio_rearranger] ocean_albedo_limit = @[ocean_albedo_limit] :: ALLCOMP_attributes:: - ScalarFieldCount = 2 + ScalarFieldCount = 3 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 + ScalarFieldIdxGridNTile = 3 ScalarFieldName = cpl_scalars start_type = @[RUNTYPE] restart_dir = @[CMEPS_RESTART_DIR] diff --git a/tests/parm/ufs.configure.s2swa.IN b/tests/parm/ufs.configure.s2swa.IN index 5960da0118..7f6627ca37 100644 --- a/tests/parm/ufs.configure.s2swa.IN +++ b/tests/parm/ufs.configure.s2swa.IN @@ -118,14 +118,14 @@ MED_attributes:: OCN_model = @[ocn_model] WAV_model = @[wav_model] coupling_mode = @[CPLMODE] - history_tile_atm = @[ATMTILESIZE] pio_rearranger = @[pio_rearranger] ocean_albedo_limit = @[ocean_albedo_limit] :: ALLCOMP_attributes:: - ScalarFieldCount = 2 + ScalarFieldCount = 3 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 + ScalarFieldIdxGridNTile = 3 ScalarFieldName = cpl_scalars start_type = @[RUNTYPE] restart_dir = @[CMEPS_RESTART_DIR] diff --git a/tests/parm/ufs.configure.s2swa_esmf.IN b/tests/parm/ufs.configure.s2swa_esmf.IN index 69a4851dec..69156317e3 100644 --- a/tests/parm/ufs.configure.s2swa_esmf.IN +++ b/tests/parm/ufs.configure.s2swa_esmf.IN @@ -124,14 +124,14 @@ MED_attributes:: OCN_model = @[ocn_model] WAV_model = @[wav_model] coupling_mode = @[CPLMODE] - history_tile_atm = @[ATMTILESIZE] pio_rearranger = @[pio_rearranger] ocean_albedo_limit = @[ocean_albedo_limit] :: ALLCOMP_attributes:: - ScalarFieldCount = 2 + ScalarFieldCount = 3 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 + ScalarFieldIdxGridNTile = 3 ScalarFieldName = cpl_scalars start_type = @[RUNTYPE] restart_dir = @[CMEPS_RESTART_DIR] diff --git a/tests/parm/ufs.configure.s2swa_fast_esmf.IN b/tests/parm/ufs.configure.s2swa_fast_esmf.IN index cba72ec139..ce8c6607d3 100644 --- a/tests/parm/ufs.configure.s2swa_fast_esmf.IN +++ b/tests/parm/ufs.configure.s2swa_fast_esmf.IN @@ -124,15 +124,15 @@ MED_attributes:: OCN_model = @[ocn_model] WAV_model = @[wav_model] coupling_mode = @[CPLMODE] - history_tile_atm = @[ATMTILESIZE] pio_rearranger = @[pio_rearranger] ocean_albedo_limit = @[ocean_albedo_limit] :: ALLCOMP_attributes:: - ScalarFieldCount = 2 + ScalarFieldCount = 3 ScalarFieldIdxGridNX = 1 ScalarFieldIdxGridNY = 2 + ScalarFieldIdxGridNTile = 3 ScalarFieldName = cpl_scalars start_type = @[RUNTYPE] restart_dir = @[CMEPS_RESTART_DIR] diff --git a/tests/rt.conf b/tests/rt.conf index df432cff3d..1dc257527b 100644 --- a/tests/rt.conf +++ b/tests/rt.conf @@ -320,7 +320,7 @@ RUN | atmaero_control_p8_rad | - noaacloud RUN | atmaero_control_p8_rad_micro | - noaacloud | baseline | ### ATM-CMAQ tests ### -COMPILE | atmaq | intel | -DAPP=ATMAQ -DCCPP_SUITES=FV3_GFS_v15p2 -D32BIT=ON | - jet s4 | fv3 | +#COMPILE | atmaq | intel | -DAPP=ATMAQ -DCCPP_SUITES=FV3_GFS_v15p2 -D32BIT=ON | - jet s4 | fv3 | #RUN | regional_atmaq | - jet s4 | baseline | COMPILE | atmaq_debug | intel | -DAPP=ATMAQ -DCCPP_SUITES=FV3_GFS_v15p2 -DDEBUG=ON -D32BIT=ON | - jet noaacloud s4 | fv3 | @@ -374,7 +374,7 @@ RUN | gnv1_c96_no_nest_debug | + hera hercules COMPILE | wam_debug | gnu | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_v16_fv3wam -D32BIT=ON -DMULTI_GASES=ON -DDEBUG=ON | + hera hercules | fv3 | -RUN | control_wam_debug | + hera | baseline | +RUN | control_wam_debug | + hercules | baseline | ### 32-bit physics tests ### @@ -413,13 +413,13 @@ RUN | rap_control_dyn64_phy32_debug | + hera hercules ### S2S tests ### COMPILE | s2swa | gnu | -DAPP=S2SWA -DCCPP_SUITES=FV3_GFS_v17_coupled_p8 | + hera hercules | fv3 | -RUN | cpld_control_p8 | + hera | baseline | +# RUN | cpld_control_p8 | + hera | baseline | COMPILE | s2s | gnu | -DAPP=S2S -DCCPP_SUITES=FV3_GFS_v17_coupled_p8 | + hera hercules | fv3 | RUN | cpld_control_nowave_noaero_p8 | + hera | baseline | COMPILE | s2swa_debug | gnu | -DAPP=S2SWA -DDEBUG=ON -DCCPP_SUITES=FV3_GFS_v17_coupled_p8 | + hera hercules | fv3 | -RUN | cpld_debug_p8 | + hera | baseline | +# RUN | cpld_debug_p8 | + hera | baseline | # Unstructured WW3 COMPILE | s2sw_pdlib | gnu | -DAPP=S2SW -DCCPP_SUITES=FV3_GFS_v17_coupled_p8 -DPDLIB=ON | + hera hercules | fv3 | diff --git a/tests/rt_utils.sh b/tests/rt_utils.sh index 238f8ed695..24f8c8d286 100755 --- a/tests/rt_utils.sh +++ b/tests/rt_utils.sh @@ -1,3 +1,4 @@ +#!/bin/bash set -eu if [[ "$0" = "${BASH_SOURCE[0]}" ]]; then @@ -9,23 +10,23 @@ fi # are not dependent on the caller. Most regression test variables # (such as ACCNR) are not set until after rt.sh sources this file. -qsub_id=0 -slurm_id=0 -bsub_id=0 +jobid=0 function compute_petbounds_and_tasks() { - + echo "rt_utils.sh: ${TEST_ID}: Computing PET bounds and tasks." + [[ -o xtrace ]] && set_x='set -x' || set_x='set +x' + set +x # each test MUST define ${COMPONENT}_tasks variable for all components it is using # and MUST NOT define those that it's not using or set the value to 0. # ATM is a special case since it is running on the sum of compute and io tasks. # CHM component and mediator are running on ATM compute tasks only. - if [[ $DATM_CDEPS = 'false' ]]; then + if [[ ${DATM_CDEPS} = 'false' ]]; then if [[ ${ATM_compute_tasks:-0} -eq 0 ]]; then ATM_compute_tasks=$((INPES * JNPES * NTILES)) fi - if [[ $QUILTING = '.true.' ]]; then + if [[ ${QUILTING} = '.true.' ]]; then ATM_io_tasks=$((WRITE_GROUP * WRTTASK_PER_GROUP)) fi fi @@ -79,38 +80,45 @@ function compute_petbounds_and_tasks() { UFS_tasks=${n} - echo "ATM_petlist_bounds: ${atm_petlist_bounds:-}" - echo "OCN_petlist_bounds: ${ocn_petlist_bounds:-}" - echo "ICE_petlist_bounds: ${ice_petlist_bounds:-}" - echo "WAV_petlist_bounds: ${wav_petlist_bounds:-}" - echo "CHM_petlist_bounds: ${chm_petlist_bounds:-}" - echo "MED_petlist_bounds: ${med_petlist_bounds:-}" - echo "AQM_petlist_bounds: ${aqm_petlist_bounds:-}" - echo "LND_petlist_bounds: ${lnd_petlist_bounds:-}" - echo "UFS_tasks : ${UFS_tasks:-}" + if [[ ${RTVERBOSE} == true ]]; then + echo "ATM_petlist_bounds: ${atm_petlist_bounds:-}" + echo "OCN_petlist_bounds: ${ocn_petlist_bounds:-}" + echo "ICE_petlist_bounds: ${ice_petlist_bounds:-}" + echo "WAV_petlist_bounds: ${wav_petlist_bounds:-}" + echo "CHM_petlist_bounds: ${chm_petlist_bounds:-}" + echo "MED_petlist_bounds: ${med_petlist_bounds:-}" + echo "AQM_petlist_bounds: ${aqm_petlist_bounds:-}" + echo "LND_petlist_bounds: ${lnd_petlist_bounds:-}" + echo "UFS_tasks : ${UFS_tasks:-}" + fi # TASKS is now set to UFS_TASKS - export TASKS=$UFS_tasks + export TASKS=${UFS_tasks} + eval "${set_x}" } interrupt_job() { + echo "rt_utils.sh: Job ${jobid} interupted" set -x - if [[ $SCHEDULER = 'pbs' ]]; then - echo "run_util.sh: interrupt_job qsub_id = ${qsub_id}" - qdel ${qsub_id} - elif [[ $SCHEDULER = 'slurm' ]]; then - echo "run_util.sh: interrupt_job slurm_id = ${slurm_id}" - scancel ${slurm_id} - else - echo "run_util.sh: interrupt_job unknown SCHEDULER $SCHEDULER" - fi + #echo "run_util.sh: interrupt_job called | Job#: ${jobid}" + case ${SCHEDULER} in + pbs) + qdel "${jobid}" + ;; + slurm) + scancel "${jobid}" + ;; + *) + echo "Unsupported scheduler, job may have not terminated properly." + ;; + esac } submit_and_wait() { - + echo "rt_utils.sh: Submitting job on scheduler: ${SCHEDULER}" [[ -z $1 ]] && exit 1 - [ -o xtrace ] && set_x='set -x' || set_x='set +x' + [[ -o xtrace ]] && set_x='set -x' || set_x='set +x' set +x local -r job_card=$1 @@ -119,147 +127,137 @@ submit_and_wait() { ECFLOW=${ECFLOW:-false} local test_status='PASS' + case ${SCHEDULER} in + pbs) + qsubout=$( qsub "${job_card}" ) + re='^([0-9]+)(\.[a-zA-Z0-9\.-]+)$' + [[ "${qsubout}" =~ ${re} ]] && jobid=${BASH_REMATCH[1]} + ;; + slurm) + slurmout=$( sbatch "${job_card}" ) + re='Submitted batch job ([0-9]+)' + [[ "${slurmout}" =~ ${re} ]] && jobid=${BASH_REMATCH[1]} + ;; + *) + echo "Unsupported scheduler: ${SCHEDULER}" + exit 1 + ;; + esac - if [[ $SCHEDULER = 'pbs' ]]; then - qsubout=$( qsub $job_card ) - re='^([0-9]+)(\.[a-zA-Z0-9\.-]+)$' - [[ "${qsubout}" =~ $re ]] && qsub_id=${BASH_REMATCH[1]} - echo "Job id ${qsub_id}" - elif [[ $SCHEDULER = 'slurm' ]]; then - slurmout=$( sbatch $job_card ) - re='Submitted batch job ([0-9]+)' - [[ "${slurmout}" =~ $re ]] && slurm_id=${BASH_REMATCH[1]} - echo "Job id ${slurm_id}" - else - echo "Unknown SCHEDULER $SCHEDULER" - exit 1 - fi - + echo "rt_utils.sh: Submitted Job. ID is ${jobid}." + sleep 10 # wait for the job to enter the queue local count=0 - local job_running=0 - until [[ $job_running -eq 1 ]] + local job_running='' + echo "rt_utils.sh: Job is waiting to enter the queue..." + until [[ ${job_running} == 'true' ]] do - echo "Job is waiting to enter the queue" - [[ ${ECFLOW:-false} == true ]] && ecflow_client --label=job_status "waiting to enter the queue" - if [[ $SCHEDULER = 'pbs' ]]; then - job_running=$( qstat ${qsub_id} | grep ${qsub_id} | wc -l ) - elif [[ $SCHEDULER = 'slurm' ]]; then - job_running=$( squeue -u ${USER} -j ${slurm_id} | grep ${slurm_id} | wc -l) + case ${SCHEDULER} in + pbs) + set +e + job_info=$( qstat "${jobid}" ) + set -e + ;; + slurm) + job_info=$( squeue -u "${USER}" -j "${jobid}" ) + ;; + *) + ;; + esac + if grep -q "${jobid}" <<< "${job_info}"; then + job_running=true + continue else - echo "Unknown SCHEDULER $SCHEDULER" - exit 1 + job_running=false fi + sleep 5 (( count=count+1 )) - if [[ $count -eq 13 ]]; then echo "No job in queue after one minute, exiting..."; exit 2; fi + if [[ ${count} -eq 13 ]]; then echo "No job in queue after one minute, exiting..."; exit 2; fi done - - # find jobid - if [[ $SCHEDULER = 'pbs' ]]; then - jobid=${qsub_id} - elif [[ $SCHEDULER = 'slurm' ]]; then - jobid=${slurm_id} - else - echo "Unknown SCHEDULER $SCHEDULER" - exit 1 - fi - echo "Job is submitted " - if [[ ${ECFLOW:-false} == true ]]; then - ecflow_client --label=job_id "${jobid}" - ecflow_client --label=job_status "submitted" - fi + echo "rt_utils.sh Job (${jobid}) is now in the queue." # wait for the job to finish and compare results - job_running=1 local n=1 - until [[ $job_running -eq 0 ]] + until [[ ${job_running} == 'false' ]] do - - if [[ $SCHEDULER = 'pbs' ]]; then - job_running=$( qstat ${qsub_id} | grep ${qsub_id} | wc -l ) - elif [[ $SCHEDULER = 'slurm' ]]; then - job_running=$( squeue -u ${USER} -j ${slurm_id} | grep ${slurm_id} | wc -l) + case ${SCHEDULER} in + pbs) + set +e + job_info=$( qstat "${jobid}" ) + set -e + ;; + slurm) + job_info=$( squeue -u "${USER}" -j "${jobid}" ) + ;; + *) + ;; + esac + + + if grep -q "${jobid}" <<< "${job_info}"; then + job_running=true else - echo "Unknown SCHEDULER $SCHEDULER" - exit 1 + job_running=false + continue fi - if [[ $SCHEDULER = 'pbs' ]]; then - - status=$( qstat ${qsub_id} | grep ${qsub_id} | awk '{print $5}' ); status=${status:--} - if [[ $status = 'Q' ]]; then - status_label='waiting in a queue' - elif [[ $status = 'H' ]]; then - status_label='held in a queue' - elif [[ $status = 'R' ]]; then - status_label='running' - elif [[ $status = 'E' ]] || [[ $status = 'C' ]] || [[ $status = '-' ]]; then - status_label='finished' - test_status='DONE' - exit_status=$( qstat ${jobid} -x -f | grep Exit_status | awk '{print $3}') - if [[ $exit_status != 0 ]]; then - test_status='FAIL' - fi - else - status_label='finished' - fi - - elif [[ $SCHEDULER = 'slurm' ]]; then - - status=$( squeue -u ${USER} -j ${slurm_id} 2>/dev/null | grep ${slurm_id} | awk '{print $5}' ); status=${status:--} - if [[ $status = 'R' ]]; then - status_label='running' - elif [[ $status = 'PD' ]]; then - status_label='pending' - elif [[ $status = 'F' ]]; then - status_label='failed' - test_status='FAIL' - elif [[ $status = 'C' ]]; then - status_label='finished' - test_status='DONE' - else - echo "Slurm unknown status ${status}. Check sacct ..." - sacct -n -j ${slurm_id} --format=JobID,state%20,Jobname%20 - status_label=$( sacct -n -j ${slurm_id} --format=JobID,state%20,Jobname%20 | grep "^${slurm_id}" | grep ${JBNME} | awk '{print $2}' ) - if [[ $status_label = 'FAILED' ]] || [[ $status_label = 'TIMEOUT' ]] || [[ $status_label = 'CANCELLED' ]] ; then - test_status='FAIL' - fi - fi - - else - echo "Unknown SCHEDULER $SCHEDULER" - exit 1 - - fi - - echo "$n min. Job is ${status_label}, status: $status jobid ${jobid}" - [[ ${ECFLOW:-false} == true ]] && ecflow_client --label=job_status "$status_label" - - if [[ $test_status = 'FAIL' || $test_status = 'DONE' ]]; then - break - fi + # Getting the status letter from scheduler info + status=$( grep "${jobid}" <<< "${job_info}" ) + status=$( awk '{print $5}' <<< "${status}" ) + + case ${status} in + #waiting cases + #pbs: Q + #Slurm: (old: PD, new: PENDING) + Q|PD|PENDING) + status_label='Job waiting to start' + ;; + #running cases + #pbs: R + #slurm: (old: R, new: RUNNING) + R|RUNNING) + status_label='Job running' + ;; + #held cases + #pbs only: H + H) + status_label='Job being held' + echo "rt_utils.sh: *** WARNING ***: Job in a HELD state. Might want to stop manually." + ;; + #fail/completed cases + #pbs: E + #slurm: F/FAILED TO/TIMEOUT CA/CANCELLED + E|F|TO|CA|FAILED|TIMEOUT|CANCELLED) + echo "rt_utils.sh: !!!!!!!!!!JOB TERMINATED!!!!!!!!!!" + job_running=false #Trip the loop to end with these status flags + interrupt_job + exit 1 + ;; + #completed + #pbs only: C + C) + status_label='Completed' + ;; + *) + status_label="Unknown" + echo "rt_utils.sh: *** WARNING ***: Job status unsupported: ${status}" + echo "rt_utils.sh: *** WARNING ***: Status might be non-terminating, please manually stop if needed" + ;; + esac + + echo "${n} min. ${SCHEDULER^} Job ${jobid} Status: ${status_label} (${status})" (( n=n+1 )) sleep 60 & wait $! done - if [[ $test_status = 'FAIL' ]]; then - echo "Job FAIL" >> ${RT_LOG} - echo;echo;echo >> ${RT_LOG} - echo "Job FAIL" - - if [[ $ROCOTO == true || $ECFLOW == true ]]; then - exit 1 - fi - fi - - eval "$set_x" + eval "${set_x}" } check_results() { - - [ -o xtrace ] && set_x='set -x' || set_x='set +x' + echo "rt_utils.sh: Checking results of the regression test: ${TEST_ID}" + [[ -o xtrace ]] && set_x='set -x' || set_x='set +x' set +x ROCOTO=${ROCOTO:-false} @@ -270,10 +268,12 @@ check_results() { # Give one minute for data to show up on file system #sleep 60 - echo > ${RT_LOG} - echo "baseline dir = ${RTPWD}/${CNTL_DIR}_${RT_COMPILER}" >> ${RT_LOG} - echo "working dir = ${RUNDIR}" >> ${RT_LOG} - echo "Checking test ${TEST_ID} results ...." >> ${RT_LOG} + { + echo + echo "baseline dir = ${RTPWD}/${CNTL_DIR}_${RT_COMPILER}" + echo "working dir = ${RUNDIR}" + echo "Checking test ${TEST_ID} results ...." + } > "${RT_LOG}" echo echo "baseline dir = ${RTPWD}/${CNTL_DIR}_${RT_COMPILER}" echo "working dir = ${RUNDIR}" @@ -284,55 +284,55 @@ check_results() { # --- regression test comparison # for i in ${LIST_FILES} ; do - printf %s " Comparing " $i " ....." >> ${RT_LOG} - printf %s " Comparing " $i " ....." + printf %s " Comparing ${i} ....." >> "${RT_LOG}" + printf %s " Comparing ${i} ....." - if [[ ! -f ${RUNDIR}/$i ]] ; then + if [[ ! -f ${RUNDIR}/${i} ]] ; then - echo ".......MISSING file" >> ${RT_LOG} + echo ".......MISSING file" >> "${RT_LOG}" echo ".......MISSING file" test_status='FAIL' - elif [[ ! -f ${RTPWD}/${CNTL_DIR}_${RT_COMPILER}/$i ]] ; then + elif [[ ! -f ${RTPWD}/${CNTL_DIR}_${RT_COMPILER}/${i} ]] ; then - echo ".......MISSING baseline" >> ${RT_LOG} + echo ".......MISSING baseline" >> "${RT_LOG}" echo ".......MISSING baseline" test_status='FAIL' else - if [[ ${i##*.} == 'nc' ]] ; then - if [[ " orion hercules hera wcoss2 acorn derecho gaea jet s4 noaacloud " =~ " ${MACHINE_ID} " ]]; then - printf "USING NCCMP.." >> ${RT_LOG} + if [[ ${i##*.} == nc* ]] ; then + if [[ " orion hercules hera wcoss2 acorn derecho gaea jet s4 noaacloud " =~ ${MACHINE_ID} ]]; then + printf "USING NCCMP.." >> "${RT_LOG}" printf "USING NCCMP.." - if [[ $CMP_DATAONLY == false ]]; then - nccmp -d -S -q -f -g -B --Attribute=checksum --warn=format ${RTPWD}/${CNTL_DIR}_${RT_COMPILER}/${i} ${RUNDIR}/${i} > ${i}_nccmp.log 2>&1 && d=$? || d=$? + if [[ ${CMP_DATAONLY} == false ]]; then + nccmp -d -S -q -f -g -B --Attribute=checksum --warn=format "${RTPWD}/${CNTL_DIR}_${RT_COMPILER}/${i}" "${RUNDIR}/${i}" > "${i}_nccmp.log" 2>&1 && d=$? || d=$? else - nccmp -d -S -q -f -B --Attribute=checksum --warn=format ${RTPWD}/${CNTL_DIR}_${RT_COMPILER}/${i} ${RUNDIR}/${i} > ${i}_nccmp.log 2>&1 && d=$? || d=$? + nccmp -d -S -q -f -B --Attribute=checksum --warn=format "${RTPWD}/${CNTL_DIR}_${RT_COMPILER}/${i}" "${RUNDIR}/${i}" > "${i}_nccmp.log" 2>&1 && d=$? || d=$? fi - if [[ $d -ne 0 && $d -ne 1 ]]; then - printf "....ERROR" >> ${RT_LOG} + if [[ ${d} -ne 0 && ${d} -ne 1 ]]; then + printf "....ERROR" >> "${RT_LOG}" printf "....ERROR" test_status='FAIL' fi fi else - printf "USING CMP.." >> ${RT_LOG} + printf "USING CMP.." >> "${RT_LOG}" printf "USING CMP.." - cmp ${RTPWD}/${CNTL_DIR}_${RT_COMPILER}/$i ${RUNDIR}/$i >/dev/null 2>&1 && d=$? || d=$? - if [[ $d -eq 2 ]]; then - printf "....ERROR" >> ${RT_LOG} + cmp "${RTPWD}/${CNTL_DIR}_${RT_COMPILER}/${i}" "${RUNDIR}/${i}" >/dev/null 2>&1 && d=$? || d=$? + if [[ ${d} -eq 2 ]]; then + printf "....ERROR" >> "${RT_LOG}" printf "....ERROR" test_status='FAIL' fi fi - if [[ $d -ne 0 ]]; then - echo "....NOT IDENTICAL" >> ${RT_LOG} + if [[ ${d} -ne 0 ]]; then + echo "....NOT IDENTICAL" >> "${RT_LOG}" echo "....NOT IDENTICAL" test_status='FAIL' else - echo "....OK" >> ${RT_LOG} + echo "....OK" >> "${RT_LOG}" echo "....OK" fi @@ -345,72 +345,74 @@ check_results() { # --- create baselines # echo;echo "Moving baseline ${TEST_ID} files ...." - echo;echo "Moving baseline ${TEST_ID} files ...." >> ${RT_LOG} + echo;echo "Moving baseline ${TEST_ID} files ...." >> "${RT_LOG}" for i in ${LIST_FILES} ; do - printf %s " Moving " $i " ....." - printf %s " Moving " $i " ....." >> ${RT_LOG} - if [[ -f ${RUNDIR}/$i ]] ; then - mkdir -p ${NEW_BASELINE}/${CNTL_DIR}_${RT_COMPILER}/$(dirname ${i}) - cp ${RUNDIR}/${i} ${NEW_BASELINE}/${CNTL_DIR}_${RT_COMPILER}/${i} - echo "....OK" >>${RT_LOG} + printf %s " Moving ${i} ....." + printf %s " Moving ${i} ....." >> "${RT_LOG}" + if [[ -f ${RUNDIR}/${i} ]] ; then + mkdir -p "${NEW_BASELINE}/${CNTL_DIR}_${RT_COMPILER}/$(dirname "${i}")" + cp "${RUNDIR}/${i}" "${NEW_BASELINE}/${CNTL_DIR}_${RT_COMPILER}/${i}" + echo "....OK" >> "${RT_LOG}" echo "....OK" else - echo "....NOT OK. Missing " ${RUNDIR}/$i >>${RT_LOG} - echo "....NOT OK. Missing " ${RUNDIR}/$i + echo "....NOT OK. Missing ${RUNDIR}/${i}" >> "${RT_LOG}" + echo "....NOT OK. Missing ${RUNDIR}/${i}" test_status='FAIL' fi done fi - echo >> ${RT_LOG} - grep "The total amount of wall time" ${RUNDIR}/out >> ${RT_LOG} - grep "The maximum resident set size" ${RUNDIR}/out >> ${RT_LOG} - echo >> ${RT_LOG} + { + echo + grep "The total amount of wall time" "${RUNDIR}/out" + grep "The maximum resident set size" "${RUNDIR}/out" + echo + } >> "${RT_LOG}" TRIES='' - if [[ $ECFLOW == true ]]; then - if [[ $ECF_TRYNO -gt 1 ]]; then - TRIES=" Tries: $ECF_TRYNO" + if [[ ${ECFLOW} == true ]]; then + if [[ ${ECF_TRYNO} -gt 1 ]]; then + TRIES=" Tries: ${ECF_TRYNO}" fi fi - echo "Test ${TEST_ID} ${test_status}${TRIES}" >> ${RT_LOG} - echo >> ${RT_LOG} + echo "Test ${TEST_ID} ${test_status}${TRIES}" >> "${RT_LOG}" + echo >> "${RT_LOG}" echo "Test ${TEST_ID} ${test_status}${TRIES}" echo - if [[ $test_status = 'FAIL' ]]; then - echo "${TEST_ID} failed in check_result" >> $PATHRT/fail_test_${TEST_ID} + if [[ ${test_status} = 'FAIL' ]]; then + echo "${TEST_ID} failed in check_result" >> "${PATHRT}/fail_test_${TEST_ID}" - if [[ $ROCOTO = true || $ECFLOW == true ]]; then + if [[ ${ROCOTO} = true || ${ECFLOW} == true ]]; then exit 1 fi fi - eval "$set_x" + eval "${set_x}" } kill_job() { - + echo "rt_utils.sh: Killing job: ${jobid} on ${SCHEDULER}..." [[ -z $1 ]] && exit 1 local -r jobid=$1 - if [[ $SCHEDULER = 'pbs' ]]; then - qdel ${jobid} - elif [[ $SCHEDULER = 'slurm' ]]; then - scancel ${jobid} + if [[ ${SCHEDULER} = 'pbs' ]]; then + qdel "${jobid}" + elif [[ ${SCHEDULER} = 'slurm' ]]; then + scancel "${jobid}" fi } rocoto_create_compile_task() { - - new_compile=true - if [[ $in_metatask == true ]]; then + echo "rt_utils.sh: ${COMPILE_ID}: Creating ROCOTO compile task." + #new_compile=true + if [[ ${in_metatask} == true ]]; then in_metatask=false - echo " " >> $ROCOTO_XML + echo " " >> "${ROCOTO_XML}" fi NATIVE="" @@ -431,31 +433,31 @@ rocoto_create_compile_task() { if [[ ${MACHINE_ID} == s4 ]]; then BUILD_WALLTIME="01:00:00" fi - if [[ $MACHINE_ID == gaea ]]; then + if [[ ${MACHINE_ID} == gaea ]]; then BUILD_WALLTIME="01:00:00" fi - cat << EOF >> $ROCOTO_XML + cat << EOF >> "${ROCOTO_XML}" - &PATHRT;/run_compile.sh &PATHRT; &RUNDIR_ROOT; "${MAKE_OPT}" ${COMPILE_ID} > &LOG;/compile_${COMPILE_ID}.log + &PATHRT;/run_compile.sh &PATHRT; &RUNDIR_ROOT; "${MAKE_OPT}" ${COMPILE_ID} 2>&1 | tee &LOG;/compile_${COMPILE_ID}.log compile_${COMPILE_ID} ${ACCNR} ${COMPILE_QUEUE} EOF - if [[ "$MACHINE_ID" == gaea ]] ; then - cat << EOF >> $ROCOTO_XML + if [[ "${MACHINE_ID}" == gaea ]] ; then + cat << EOF >> "${ROCOTO_XML}" --clusters=es eslogin_c5 EOF - else - cat << EOF >> $ROCOTO_XML + elif [[ -n "${PARTITION}" || ${MACHINE_ID} != hera ]] ; then + cat << EOF >> "${ROCOTO_XML}" ${PARTITION} EOF fi - cat << EOF >> $ROCOTO_XML + cat << EOF >> "${ROCOTO_XML}" ${BUILD_CORES} ${BUILD_WALLTIME} &RUNDIR_ROOT;/compile_${COMPILE_ID}.log @@ -465,46 +467,46 @@ EOF } rocoto_create_run_task() { - - if [[ $DEP_RUN != '' ]]; then + echo "rt_utils.sh: ${TEST_ID}: Creating ROCOTO run task." + if [[ ${DEP_RUN} != '' ]]; then DEP_STRING=" " else DEP_STRING="" fi - CORES=$(( ${TASKS} * ${THRD} )) + CORES=$((TASKS*THRD)) if (( TPN > CORES )); then - TPN=$CORES + TPN=${CORES} fi NATIVE="" - cat << EOF >> $ROCOTO_XML + cat << EOF >> "${ROCOTO_XML}" - $DEP_STRING - &PATHRT;/run_test.sh &PATHRT; &RUNDIR_ROOT; ${TEST_NAME} ${TEST_ID} ${COMPILE_ID} > &LOG;/run_${TEST_ID}${RT_SUFFIX}.log + ${DEP_STRING} + &PATHRT;/run_test.sh &PATHRT; &RUNDIR_ROOT; ${TEST_NAME} ${TEST_ID} ${COMPILE_ID} 2>&1 | tee &LOG;/run_${TEST_ID}${RT_SUFFIX}.log ${TEST_ID}${RT_SUFFIX} ${ACCNR} - ${ROCOTO_NODESIZE:+$ROCOTO_NODESIZE} + ${ROCOTO_NODESIZE:+${ROCOTO_NODESIZE}} EOF - if [[ "$MACHINE_ID" == gaea ]] ; then - cat << EOF >> $ROCOTO_XML + if [[ "${MACHINE_ID}" == gaea ]] ; then + cat << EOF >> "${ROCOTO_XML}" --clusters=${PARTITION} --partition=batch EOF - else - cat << EOF >> $ROCOTO_XML + + elif [[ -n "${PARTITION}" || ${MACHINE_ID} != hera ]] ; then + cat << EOF >> "${ROCOTO_XML}" ${QUEUE} ${PARTITION} EOF fi - cat << EOF >> $ROCOTO_XML + cat << EOF >> "${ROCOTO_XML}" ${NODES}:ppn=${TPN} 00:${WLCLK}:00 - &RUNDIR_ROOT;/${TEST_ID}${RT_SUFFIX}.out - &RUNDIR_ROOT;/${TEST_ID}${RT_SUFFIX}.err + &RUNDIR_ROOT;/${TEST_ID}${RT_SUFFIX}.log ${NATIVE} EOF @@ -512,23 +514,32 @@ EOF } rocoto_kill() { - for jobid in $( $ROCOTOSTAT -w $ROCOTO_XML -d $ROCOTO_DB | grep 197001010000 | grep -E 'QUEUED|RUNNING' | awk -F" " '{print $3}' ); do - kill_job ${jobid} + echo "rt_utils.sh: Killing ROCOTO Workflow..." + job_id_in=$( "${ROCOTOSTAT}" -w "${ROCOTO_XML}" -d "${ROCOTO_DB}" ) + job_id_in=$(grep 197001010000 <<< "${job_id_in}" ) + job_id_in=$(grep -E 'QUEUED|RUNNING' <<< "${job_id_in}" ) + job_id_in=$(awk -F" " '{print $3}' <<< "${job_id_in}" ) + for jobid in ${job_id_in}; do + kill_job "${jobid}" done } rocoto_step() { + echo "rt_utils.sh: Runnung one iteration of rocotorun and rocotostat..." set -e echo "Unknown" > rocoto_workflow.state # Run one iteration of rocotorun and rocotostat. - $ROCOTORUN -v 10 -w $ROCOTO_XML -d $ROCOTO_DB + ${ROCOTORUN} -v 10 -w "${ROCOTO_XML}" -d "${ROCOTO_DB}" sleep 1 # Is it done? - state=$($ROCOTOSTAT -w $ROCOTO_XML -d $ROCOTO_DB -s | grep 197001010000 | awk -F" " '{print $2}') - echo "$state" > $ROCOTO_STATE + state=$( "${ROCOTOSTAT}" -w "${ROCOTO_XML}" -d "${ROCOTO_DB}" -s ) + state=$( grep 197001010000 <<< "${state}" ) + state=$( awk -F" " '{print $2}' <<< "${state}" ) + echo "${state}" > "${ROCOTO_STATE}" } rocoto_run() { + echo "rt_utils.sh: Running ROCOTO workflow" # Run the rocoto workflow until it is complete local naptime=60 local step_attempts=0 @@ -538,18 +549,18 @@ rocoto_run() { local max_time=3600 # seconds to wait for Rocoto to start working again local result=0 state="Active" - while [[ $state != "Done" ]]; do + while [[ ${state} != "Done" ]]; do # Run one iteration of rocotorun and rocotostat. Use an # exponential backoff algorithm to handle temporary system # failures breaking Rocoto. start_time=$( env TZ=UTC date +%s ) - for step_attempts in $( seq 1 "$max_step_attempts" ) ; do + for step_attempts in $( seq 1 "${max_step_attempts}" ) ; do now_time=$( env TZ=UTC date +%s ) set +e ( rocoto_step ) result=$? - state=$( cat $ROCOTO_STATE ) + state=$( cat "${ROCOTO_STATE}" ) set -e if [[ "${state:-Unknown}" == Done ]] ; then @@ -557,131 +568,194 @@ rocoto_run() { echo "Rocoto workflow has completed." set -x return 0 - elif [[ $result == 0 ]] ; then + elif [[ ${result} == 0 ]] ; then break # rocoto_step succeeded elif (( now_time-start_time > max_time || step_attempts >= max_step_attempts )) ; then set +x - echo "Rocoto commands have failed $step_attempts times, for $(( (now_time-start_time+30)/60 )) minutes." - echo "There may be something wrong with the $( hostname ) node or the batch system." + hostnamein=$(hostname) + echo "Rocoto commands have failed ${step_attempts} times, for $(( (now_time-start_time+30)/60 )) minutes." + echo "There may be something wrong with the ${hostnamein} node or the batch system." echo "I'm giving up. Sorry." set -x return 2 fi sleep $(( naptime * 2**((step_attempts-1)%4) * RANDOM/32767 )) done - sleep $naptime + sleep "${naptime}" done } ecflow_create_compile_task() { + echo "rt_utils.sh: ${COMPILE_ID}: Creating ECFLOW compile task" + export new_compile=true - new_compile=true - - cat << EOF > ${ECFLOW_RUN}/${ECFLOW_SUITE}/compile_${COMPILE_ID}.ecf + cat << EOF > "${ECFLOW_RUN}/${ECFLOW_SUITE}/compile_${COMPILE_ID}.ecf" %include -$PATHRT/run_compile.sh ${PATHRT} ${RUNDIR_ROOT} "${MAKE_OPT}" $COMPILE_ID > ${LOG_DIR}/compile_${COMPILE_ID}.log 2>&1 & +${PATHRT}/run_compile.sh "${PATHRT}" "${RUNDIR_ROOT}" "${MAKE_OPT}" "${COMPILE_ID}" > "${LOG_DIR}/compile_${COMPILE_ID}.log" 2>&1 & %include EOF - - echo " task compile_${COMPILE_ID}" >> ${ECFLOW_RUN}/${ECFLOW_SUITE}.def - echo " label build_options '${MAKE_OPT}'" >> ${ECFLOW_RUN}/${ECFLOW_SUITE}.def - echo " label job_id ''" >> ${ECFLOW_RUN}/${ECFLOW_SUITE}.def - echo " label job_status ''" >> ${ECFLOW_RUN}/${ECFLOW_SUITE}.def - echo " inlimit max_builds" >> ${ECFLOW_RUN}/${ECFLOW_SUITE}.def + { + echo " task compile_${COMPILE_ID}" + echo " label build_options '${MAKE_OPT}'" + echo " label job_id ''" + echo " label job_status ''" + echo " inlimit max_builds" + } >> "${ECFLOW_RUN}/${ECFLOW_SUITE}.def" } ecflow_create_run_task() { - - cat << EOF > ${ECFLOW_RUN}/${ECFLOW_SUITE}/${TEST_ID}${RT_SUFFIX}.ecf + echo "rt_utils.sh: ${TEST_ID}: Creating ECFLOW run task" + cat << EOF > "${ECFLOW_RUN}/${ECFLOW_SUITE}/${TEST_ID}${RT_SUFFIX}.ecf" %include -$PATHRT/run_test.sh ${PATHRT} ${RUNDIR_ROOT} ${TEST_NAME} ${TEST_ID} ${COMPILE_ID} > ${LOG_DIR}/run_${TEST_ID}${RT_SUFFIX}.log 2>&1 & +${PATHRT}/run_test.sh "${PATHRT}" "${RUNDIR_ROOT}" "${TEST_NAME}" "${TEST_ID}" "${COMPILE_ID}" > "${LOG_DIR}/run_${TEST_ID}${RT_SUFFIX}.log" 2>&1 & %include EOF - - echo " task ${TEST_ID}${RT_SUFFIX}" >> ${ECFLOW_RUN}/${ECFLOW_SUITE}.def - echo " label job_id ''" >> ${ECFLOW_RUN}/${ECFLOW_SUITE}.def - echo " label job_status ''" >> ${ECFLOW_RUN}/${ECFLOW_SUITE}.def - echo " inlimit max_jobs" >> ${ECFLOW_RUN}/${ECFLOW_SUITE}.def - if [[ $DEP_RUN != '' ]]; then - echo " trigger compile_${COMPILE_ID} == complete and ${DEP_RUN} == complete" >> ${ECFLOW_RUN}/${ECFLOW_SUITE}.def + { + echo " task ${TEST_ID}${RT_SUFFIX}" + echo " label job_id ''" + echo " label job_status ''" + echo " inlimit max_jobs" + } >> "${ECFLOW_RUN}/${ECFLOW_SUITE}.def" + if [[ ${DEP_RUN} != '' ]]; then + echo " trigger compile_${COMPILE_ID} == complete and ${DEP_RUN} == complete" >> "${ECFLOW_RUN}/${ECFLOW_SUITE}.def" else - echo " trigger compile_${COMPILE_ID} == complete" >> ${ECFLOW_RUN}/${ECFLOW_SUITE}.def + echo " trigger compile_${COMPILE_ID} == complete" >> "${ECFLOW_RUN}/${ECFLOW_SUITE}.def" fi + } ecflow_run() { + echo "rt_utils.sh: Starting ECFLOW run" + # NOTE: ECFLOW IS NOT SAFE TO RUN WITH set -e, PLEASE AVOID + #ECF_HOST="${ECF_HOST:-${HOSTNAME}}" + + + # Make sure ECF_HOST and ECF_PORT are set/ready on systems that have an + # explicit ecflow node + if [[ ${MACHINE_ID} == wcoss2 || ${MACHINE_ID} == acorn ]]; then + readarray -t ECFHOSTLIST < "${ECF_HOSTFILE}" + for ECF_HOST in "${ECFHOSTLIST[@]}" + do + if ssh -q "${ECF_HOST}" "exit"; then + export ECF_HOST + break + else + ECF_HOST='' + fi + done + elif [[ ${MACHINE_ID} == hera || ${MACHINE_ID} == jet ]]; then + module load ecflow + fi + if [[ -z ${ECF_HOST} || -z ${ECF_PORT} ]]; then + echo "ERROR: ECF_HOST or ECF_PORT are not set, and rt.sh cannot continue with ECFLOW" + exit 1 + else + echo "ECF_HOST: ${ECF_HOST}, ECF_PORT: ${ECF_PORT}" + export ECF_HOST + export ECF_PORT + fi - ECF_HOST="${ECF_HOST:-$HOSTNAME}" - + # Start the ecflow_server set +e - ecflow_client --ping --host=${ECF_HOST} --port=${ECF_PORT} + ecflow_client --ping --host="${ECF_HOST}" --port="${ECF_PORT}" not_running=$? - if [[ $not_running -eq 1 ]]; then + set -e + + if [[ ${not_running} -eq 1 ]]; then echo "ecflow_server is NOT running on ${ECF_HOST}:${ECF_PORT}" + if [[ ${MACHINE_ID} == wcoss2 || ${MACHINE_ID} == acorn ]]; then - if [[ "${HOST::1}" == "a" ]]; then - export ECF_HOST=aecflow01 - elif [[ "${HOST::1}" == "c" ]]; then - export ECF_HOST=cdecflow01 - elif [[ "${HOST::1}" == "d" ]]; then - export ECF_HOST=ddecflow01 - fi - MYCOMM="bash -l -c \"module load ecflow && ecflow_start.sh -p ${ECF_PORT} \"" - ssh $ECF_HOST "${MYCOMM}" + #shellcheck disable=SC2029 + ssh "${ECF_HOST}" "bash -l -c \"module load ecflow && ${ECFLOW_START} -p ${ECF_PORT}\"" elif [[ ${MACHINE_ID} == hera || ${MACHINE_ID} == jet ]]; then - module load ecflow - echo "On ${MACHINE_ID}, start ecFlow server on dedicated node ${ECF_HOST}" - MYCOMM="bash -l -c \"module load ecflow && ${ECFLOW_START} -d ${RUNDIR_ROOT}/ecflow_server\"" - ssh $ECF_HOST "${MYCOMM}" + #shellcheck disable=SC2029 + ssh "${ECF_HOST}" "bash -l -c \"module load ecflow && ${ECFLOW_START} -d ${RUNDIR_ROOT}/ecflow_server\"" else - ${ECFLOW_START} -p ${ECF_PORT} -d ${RUNDIR_ROOT}/ecflow_server + ${ECFLOW_START} -p "${ECF_PORT}" -d "${RUNDIR_ROOT}/ecflow_server" + fi + echo "Since this script is starting the ecflow_server, we will stop it at the end" + export STOP_ECFLOW_AT_END=true + # Try pinging ecflow server now, and erroring out if not there. + set +e + ecflow_client --ping --host="${ECF_HOST}" --port="${ECF_PORT}" + not_running=$? + set -e + + if [[ ${not_running} -eq 1 ]]; then + echo "ERROR: Failure to start ecflow, exiting..." + exit 1 fi else echo "ecflow_server is already running on ${ECF_HOST}:${ECF_PORT}" fi - set -e - + ECFLOW_RUNNING=true - - export ECF_PORT - export ECF_HOST - - ecflow_client --load=${ECFLOW_RUN}/${ECFLOW_SUITE}.def - ecflow_client --begin=${ECFLOW_SUITE} - ecflow_client --restart + set +e + ecflow_client --load="${ECFLOW_RUN}/${ECFLOW_SUITE}.def" --host="${ECF_HOST}" --port="${ECF_PORT}" + ecflow_client --begin="${ECFLOW_SUITE}" --host="${ECF_HOST}" --port="${ECF_PORT}" + ecflow_client --restart --host="${ECF_HOST}" --port="${ECF_PORT}" + set -e active_tasks=1 - while [[ $active_tasks -ne 0 ]] + sleep 10 + max_active_tasks=$( ecflow_client --get_state "/${ECFLOW_SUITE}" ) + max_active_tasks=$( grep "task " <<< "${max_active_tasks}" ) + max_active_tasks=$( grep -cP 'state:active|state:submitted|state:queued' <<< "${max_active_tasks}" ) + while [[ "${active_tasks}" -ne 0 ]] do sleep 10 & wait $! - active_tasks=$( ecflow_client --get_state /${ECFLOW_SUITE} | grep "task " | grep -E 'state:active|state:submitted|state:queued' | wc -l ) - echo "ecflow tasks remaining: ${active_tasks}" - ${PATHRT}/abort_dep_tasks.py + set +e + active_tasks=$( ecflow_client --get_state "/${ECFLOW_SUITE}" ) + active_tasks=$( grep "task " <<< "${active_tasks}" ) + active_tasks=$( grep -cP 'state:active|state:submitted|state:queued' <<< "${active_tasks}" ) + set -e + echo "ECFLOW Tasks Remaining: ${active_tasks}/${max_active_tasks}" + "${PATHRT}/abort_dep_tasks.py" done + sleep 65 # wait one ECF_INTERVAL plus 5 seconds - ecflow_client --delete=yes /${ECFLOW_SUITE} + set +e + ecflow_client --delete=force yes "/${ECFLOW_SUITE}" + set -e sleep 5 } ecflow_kill() { + echo "rt_utils.sh: Killing ECFLOW Workflow..." [[ ${ECFLOW_RUNNING:-false} == true ]] || return set +e - ecflow_client --suspend /${ECFLOW_SUITE} - ecflow_client --kill /${ECFLOW_SUITE} + ecflow_client --suspend "/${ECFLOW_SUITE}" + ecflow_client --kill "/${ECFLOW_SUITE}" sleep 20 - ecflow_client --delete=force yes /${ECFLOW_SUITE} + ecflow_client --delete=force yes "/${ECFLOW_SUITE}" + set -e } ecflow_stop() { - [[ ${ECFLOW_RUNNING:-false} == true ]] || return - set +e - SUITES=$( ecflow_client --get | grep "^suite" ) - echo "SUITES=${SUITES}" - if [ -z "${SUITES}" ]; then - ecflow_client --halt=yes - ecflow_client --check_pt - ecflow_client --terminate=yes - fi + echo "rt_utils.sh: Stopping ECFLOW Workflow..." + [[ ${ECFLOW_RUNNING:-false} == true ]] || return + set +e + SUITES=$( ecflow_client --get ) + SUITES=$( grep "^suite" <<< "${SUITES}" ) + echo "SUITES=${SUITES}" + if [[ -z "${SUITES}" ]]; then + ecflow_client --halt=yes + ecflow_client --check_pt + ecflow_client --terminate=yes + fi + if [[ ${STOP_ECFLOW_AT_END} == true ]]; then + echo "rt_utils.sh: Stopping ECFLOW Server..." + case ${MACHINE_ID} in + wcoss2|acorn|hera|jet) + #shellcheck disable=SC2029 + ssh "${ECF_HOST}" "bash -l -c \"${ECFLOW_STOP} -p ${ECF_PORT}\"" + ;; + *) + ${ECFLOW_STOP} -p "${ECF_PORT}" + ;; + esac + fi + set -e } diff --git a/tests/run_compile.sh b/tests/run_compile.sh index 795353a32a..a9bf0070b6 100755 --- a/tests/run_compile.sh +++ b/tests/run_compile.sh @@ -9,19 +9,19 @@ trap 'echo "run_compile.sh interrupted PID=$$"; cleanup' INT trap 'echo "run_compile.sh terminated PID=$$"; cleanup' TERM cleanup() { - [[ $ROCOTO = 'false' ]] && interrupt_job + [[ ${ROCOTO} = 'false' ]] && interrupt_job trap 0 exit } write_fail_test() { - echo "compile_${COMPILE_ID} failed in run_compile" >> $PATHRT/fail_compile_${COMPILE_ID} + echo "${JBNME} failed in run_compile" >> "${PATHRT}/fail_${JBNME}" exit 1 } remove_fail_test() { - echo "Removing test failure flag file for compile_${COMPILE_ID}" - rm -f $PATHRT/fail_compile_${COMPILE_ID} + echo "Removing test failure flag file for ${JBNME}" + rm -f "${PATHRT}/fail_${JBNME}" } if [[ $# != 4 ]]; then @@ -34,76 +34,71 @@ export RUNDIR_ROOT=$2 export MAKE_OPT=$3 export COMPILE_ID=$4 -cd ${PATHRT} +export JBNME="compile_${COMPILE_ID}" + +cd "${PATHRT}" remove_fail_test -[[ -e ${RUNDIR_ROOT}/compile_${COMPILE_ID}.env ]] && source ${RUNDIR_ROOT}/compile_${COMPILE_ID}.env +[[ -e ${RUNDIR_ROOT}/${JBNME}.env ]] && source "${RUNDIR_ROOT}/${JBNME}.env" source default_vars.sh -[[ -e ${RUNDIR_ROOT}/compile_${COMPILE_ID}.env ]] && source ${RUNDIR_ROOT}/compile_${COMPILE_ID}.env +[[ -e ${RUNDIR_ROOT}/${JBNME}.env ]] && source "${RUNDIR_ROOT}/${JBNME}.env" -export JBNME="compile_${COMPILE_ID}" -export RUNDIR=${RUNDIR_ROOT}/compile_${COMPILE_ID} -echo -n "${JBNME}, $( date +%s )," > ${LOG_DIR}/compile_${COMPILE_ID}_timestamp.txt +export RUNDIR=${RUNDIR_ROOT}/${JBNME} +date_s=$( date +%s ) +echo -n "${JBNME}, ${date_s}," > "${LOG_DIR}/${JBNME}_timestamp.txt" -export RT_LOG=${LOG_DIR}/compile_${COMPILE_ID}.log +export RT_LOG=${LOG_DIR}/${JBNME}.log source rt_utils.sh source atparse.bash -rm -rf ${RUNDIR} -mkdir -p ${RUNDIR} -cd $RUNDIR +rm -rf "${RUNDIR}" +mkdir -p "${RUNDIR}" +cd "${RUNDIR}" -if [[ $SCHEDULER = 'pbs' ]]; then - if [[ -e $PATHRT/fv3_conf/compile_qsub.IN_${MACHINE_ID} ]]; then - atparse < $PATHRT/fv3_conf/compile_qsub.IN_${MACHINE_ID} > job_card +if [[ ${SCHEDULER} = 'pbs' ]]; then + if [[ -e ${PATHRT}/fv3_conf/compile_qsub.IN_${MACHINE_ID} ]]; then + atparse < "${PATHRT}/fv3_conf/compile_qsub.IN_${MACHINE_ID}" > job_card else echo "Looking for fv3_conf/compile_qsub.IN_${MACHINE_ID} but it is not found. Exiting" exit 1 fi -elif [[ $SCHEDULER = 'slurm' ]]; then - if [[ -e $PATHRT/fv3_conf/compile_slurm.IN_${MACHINE_ID} ]]; then - atparse < $PATHRT/fv3_conf/compile_slurm.IN_${MACHINE_ID} > job_card +elif [[ ${SCHEDULER} = 'slurm' ]]; then + if [[ -e ${PATHRT}/fv3_conf/compile_slurm.IN_${MACHINE_ID} ]]; then + atparse < "${PATHRT}/fv3_conf/compile_slurm.IN_${MACHINE_ID}" > job_card else echo "Looking for fv3_conf/compile_slurm.IN_${MACHINE_ID} but it is not found. Exiting" exit 1 fi -elif [[ $SCHEDULER = 'lsf' ]]; then - if [[ -e $PATHRT/fv3_conf/compile_bsub.IN_${MACHINE_ID} ]]; then - atparse < $PATHRT/fv3_conf/compile_bsub.IN_${MACHINE_ID} > job_card - else - echo "Looking for fv3_conf/compile_bsub.IN_${MACHINE_ID} but it is not found. Exiting" - exit 1 - fi fi ################################################################################ # Submit compile job ################################################################################ -if [[ $ROCOTO = 'false' ]]; then +if [[ ${ROCOTO} = 'false' ]]; then submit_and_wait job_card else chmod u+x job_card - ( ./job_card 2>&1 1>&3 3>&- | tee err ) 3>&1 1>&2 | tee out + ( ./job_card 2>&1 1>&3 3>&- | tee err || true ) 3>&1 1>&2 | tee out # The above shell redirection copies stdout to "out" and stderr to "err" # while still sending them to stdout and stderr. It does this without # relying on bash-specific extensions or non-standard OS features. fi +#ls -l "${PATHTR}/tests/fv3_${COMPILE_ID}.exe" -ls -l ${PATHTR}/tests/fv3_${COMPILE_ID}.exe - -cp ${RUNDIR}/compile_*_time.log ${LOG_DIR} -cat ${RUNDIR}/job_timestamp.txt >> ${LOG_DIR}/compile_${COMPILE_ID}_timestamp.txt +cp "${RUNDIR}/${JBNME}_time.log" "${LOG_DIR}" +cat "${RUNDIR}/job_timestamp.txt" >> "${LOG_DIR}/${JBNME}_timestamp.txt" remove_fail_test ################################################################################ # End compile job ################################################################################ +date_s=$( date +%s ) +echo " ${date_s}, 1" >> "${LOG_DIR}/${JBNME}_timestamp.txt" -echo " $( date +%s ), 1" >> ${LOG_DIR}/compile_${COMPILE_ID}_timestamp.txt - -elapsed=$SECONDS -echo "Elapsed time $elapsed seconds. Compile ${COMPILE_ID}" +elapsed=${SECONDS} +echo "run_compile.sh: Compile ${COMPILE_ID} Completed." +echo "run_compile.sh: Compile ${COMPILE_ID} Elapsed time ${elapsed} seconds." diff --git a/tests/run_test.sh b/tests/run_test.sh index d4ea64068c..4735a08c4d 100755 --- a/tests/run_test.sh +++ b/tests/run_test.sh @@ -9,19 +9,19 @@ trap 'echo "run_test.sh interrupted PID=$$"; cleanup' INT trap 'echo "run_test.sh terminated PID=$$"; cleanup' TERM cleanup() { - [[ $ROCOTO = 'false' ]] && interrupt_job + [[ ${ROCOTO} = 'false' ]] && interrupt_job trap 0 exit } write_fail_test() { - echo "${TEST_ID} failed in run_test" >> $PATHRT/fail_test_${TEST_ID} + echo "${TEST_ID} failed in run_test" >> "${PATHRT}/fail_test_${TEST_ID}" exit 1 } remove_fail_test() { echo "Removing test failure flag file for ${TEST_ID}" - rm -f $PATHRT/fail_test_${TEST_ID} + rm -f "${PATHRT}/fail_test_${TEST_ID}" } if [[ $# != 5 ]]; then @@ -41,16 +41,16 @@ echo "TEST_NAME: ${TEST_NAME}" echo "TEST_ID: ${TEST_ID}" echo "COMPILE_ID: ${COMPILE_ID}" -cd ${PATHRT} +cd "${PATHRT}" unset MODEL_CONFIGURE unset UFS_CONFIGURE -[[ -e ${RUNDIR_ROOT}/run_test_${TEST_ID}.env ]] && source ${RUNDIR_ROOT}/run_test_${TEST_ID}.env +[[ -e ${RUNDIR_ROOT}/run_test_${TEST_ID}.env ]] && source "${RUNDIR_ROOT}/run_test_${TEST_ID}.env" source default_vars.sh -[[ -e ${RUNDIR_ROOT}/run_test_${TEST_ID}.env ]] && source ${RUNDIR_ROOT}/run_test_${TEST_ID}.env -source tests/$TEST_NAME +[[ -e ${RUNDIR_ROOT}/run_test_${TEST_ID}.env ]] && source "${RUNDIR_ROOT}/run_test_${TEST_ID}.env" +source "tests/${TEST_NAME}" remove_fail_test @@ -63,9 +63,10 @@ export INPUT_DIR=${CNTL_DIR} export RUNDIR=${RUNDIR_ROOT}/${TEST_ID}${RT_SUFFIX} export CNTL_DIR=${CNTL_DIR}${BL_SUFFIX} -export JBNME=$(basename $RUNDIR_ROOT)_${TEST_ID} - -echo -n "${TEST_ID}, $( date +%s )," > ${LOG_DIR}/run_${TEST_ID}_timestamp.txt +JBNME="run_${TEST_ID}" +export JBNME +date_s=$( date +%s ) +echo -n "${TEST_ID}, ${date_s}," > "${LOG_DIR}/${JBNME}_timestamp.txt" export RT_LOG=${LOG_DIR}/rt_${TEST_ID}${RT_SUFFIX}.log echo "Test ${TEST_ID} ${TEST_DESCR}" @@ -73,58 +74,62 @@ echo "Test ${TEST_ID} ${TEST_DESCR}" source rt_utils.sh source atparse.bash -rm -rf ${RUNDIR} -mkdir -p ${RUNDIR} -cd $RUNDIR +rm -rf "${RUNDIR}" +mkdir -p "${RUNDIR}" +cd "${RUNDIR}" ############################################################################### # Make configure and run files ############################################################################### # FV3 executable: -cp ${PATHRT}/fv3_${COMPILE_ID}.exe fv3.exe +cp "${PATHRT}/fv3_${COMPILE_ID}.exe" "fv3.exe" # modulefile for FV3 prerequisites: mkdir -p modulefiles -if [[ $MACHINE_ID == linux ]]; then - cp ${PATHRT}/modules.fv3_${COMPILE_ID} ./modulefiles/modules.fv3 +if [[ ${MACHINE_ID} == linux ]]; then + cp "${PATHRT}/modules.fv3_${COMPILE_ID}" "./modulefiles/modules.fv3" else - cp ${PATHRT}/modules.fv3_${COMPILE_ID}.lua ./modulefiles/modules.fv3.lua + cp "${PATHRT}/modules.fv3_${COMPILE_ID}.lua" "./modulefiles/modules.fv3.lua" fi -cp ${PATHTR}/modulefiles/ufs_common* ./modulefiles/. +cp "${PATHTR}/modulefiles/ufs_common.lua" "./modulefiles/." # Get the shell file that loads the "module" command and purges modules: -cp ${PATHRT}/module-setup.sh module-setup.sh +cp "${PATHRT}/module-setup.sh" "module-setup.sh" -# load nccmp module -if [[ " s4 hera orion hercules gaea jet derecho acorn wcoss2 " =~ " $MACHINE_ID " ]]; then - if [[ " wcoss2 acorn " =~ " ${MACHINE_ID} " ]] ; then +case ${MACHINE_ID} in + wcoss2|acorn) module load intel/19.1.3.304 netcdf/4.7.4 module load nccmp - elif [[ " s4 " =~ " ${MACHINE_ID} " ]] ; then + ;; + s4) module use /data/prod/jedi/spack-stack/spack-stack-1.4.1/envs/ufs-pio-2.5.10/install/modulefiles/Core module load stack-intel/2021.5.0 stack-intel-oneapi-mpi/2021.5.0 module load miniconda/3.9.12 module load nccmp/1.9.0.1 - elif [[ " hera orion hercules gaea jet " =~ " ${MACHINE_ID} " ]] ; then + ;; + stampede|expanse|noaacloud) + echo "No special nccmp load necessary" + ;; + gaea) module use modulefiles module load modules.fv3 - if [[ " gaea " =~ " ${MACHINE_ID} " ]]; then - module load gcc/12.2.0 - fi - else + module load gcc/12.2.0 + ;; + derecho) module load nccmp - fi -fi - -SRCD="${PATHTR}" -RUND="${RUNDIR}" + ;; + *) + module use modulefiles + module load modules.fv3 + ;; +esac # FV3_RUN could have multiple entry seperated by space -if [ ! -z "$FV3_RUN" ]; then +if [[ -n "${FV3_RUN}" ]]; then for i in ${FV3_RUN} do - atparse < ${PATHRT}/fv3_conf/${i} >> fv3_run + atparse < "${PATHRT}/fv3_conf/${i}" >> fv3_run done else echo "No FV3_RUN set in test file" @@ -140,14 +145,14 @@ else export HIDE_UGWPV1='!' fi -if [[ $DATM_CDEPS = 'true' ]] || [[ $FV3 = 'true' ]] || [[ $S2S = 'true' ]]; then - if [[ $HAFS = 'false' ]] || [[ $FV3 = 'true' && $HAFS = 'true' ]]; then - atparse < ${PATHRT}/parm/${INPUT_NML:-input.nml.IN} > input.nml +if [[ ${DATM_CDEPS} = 'true' ]] || [[ ${FV3} = 'true' ]] || [[ ${S2S} = 'true' ]]; then + if [[ ${HAFS} = 'false' ]] || [[ ${FV3} = 'true' && ${HAFS} = 'true' ]]; then + atparse < "${PATHRT}/parm/${INPUT_NML:-input.nml.IN}" > input.nml fi fi if [[ -f ${PATHRT}/parm/${MODEL_CONFIGURE} ]]; then - atparse < ${PATHRT}/parm/${MODEL_CONFIGURE} > model_configure + atparse < "${PATHRT}/parm/${MODEL_CONFIGURE}" > model_configure else echo "Cannot find file ${MODEL_CONFIGURE} set by variable MODEL_CONFIGURE" exit 1 @@ -156,144 +161,159 @@ fi compute_petbounds_and_tasks if [[ -f ${PATHRT}/parm/${UFS_CONFIGURE} ]]; then - atparse < ${PATHRT}/parm/${UFS_CONFIGURE} > ufs.configure + atparse < "${PATHRT}/parm/${UFS_CONFIGURE}" > ufs.configure else echo "Cannot find file ${UFS_CONFIGURE} set by variable UFS_CONFIGURE" exit 1 fi -if [[ "Q${INPUT_NEST02_NML:-}" != Q ]] ; then - INPES_NEST=$INPES_NEST02; JNPES_NEST=$JNPES_NEST02 - NPX_NEST=$NPX_NEST02; NPY_NEST=$NPY_NEST02 - K_SPLIT_NEST=$K_SPLIT_NEST02; N_SPLIT_NEST=$N_SPLIT_NEST02 - atparse < ${PATHRT}/parm/${INPUT_NEST02_NML} > input_nest02.nml +if [[ "Q${INPUT_NEST02_NML:-}" != Q ]]; then + export INPES_NEST=${INPES_NEST02:-} + export JNPES_NEST=${JNPES_NEST02:-} + export NPX_NEST=${NPX_NEST02:-} + export NPY_NEST=${NPY_NEST02:-} + export K_SPLIT_NEST=${K_SPLIT_NEST02:-} + export N_SPLIT_NEST=${N_SPLIT_NEST02:-} + atparse < "${PATHRT}/parm/${INPUT_NEST02_NML}" > input_nest02.nml else sed -i -e "//,/<\/output_grid_02>/d" model_configure fi -if [[ "Q${INPUT_NEST03_NML:-}" != Q ]] ; then - INPES_NEST=$INPES_NEST03; JNPES_NEST=$JNPES_NEST03 - NPX_NEST=$NPX_NEST03; NPY_NEST=$NPY_NEST03 - K_SPLIT_NEST=$K_SPLIT_NEST03; N_SPLIT_NEST=$N_SPLIT_NEST03 - atparse < ${PATHRT}/parm/${INPUT_NEST03_NML} > input_nest03.nml +if [[ "Q${INPUT_NEST03_NML:-}" != Q ]]; then + export INPES_NEST=${INPES_NEST03:-} + export JNPES_NEST=${JNPES_NEST03:-} + export NPX_NEST=${NPX_NEST03:-} + export NPY_NEST=${NPY_NEST03:-} + export K_SPLIT_NEST=${K_SPLIT_NEST03:-} + export N_SPLIT_NEST=${N_SPLIT_NEST03:-} + atparse < "${PATHRT}/parm/${INPUT_NEST03_NML}" > input_nest03.nml else sed -i -e "//,/<\/output_grid_03>/d" model_configure fi -if [[ "Q${INPUT_NEST04_NML:-}" != Q ]] ; then - INPES_NEST=$INPES_NEST04; JNPES_NEST=$JNPES_NEST04 - NPX_NEST=$NPX_NEST04; NPY_NEST=$NPY_NEST04 - K_SPLIT_NEST=$K_SPLIT_NEST04; N_SPLIT_NEST=$N_SPLIT_NEST04 - atparse < ${PATHRT}/parm/${INPUT_NEST04_NML} > input_nest04.nml +if [[ "Q${INPUT_NEST04_NML:-}" != Q ]]; then + export INPES_NEST=${INPES_NEST04:-} + export JNPES_NEST=${JNPES_NEST04:-} + export NPX_NEST=${NPX_NEST04:-} + export NPY_NEST=${NPY_NEST04:-} + export K_SPLIT_NEST=${K_SPLIT_NEST04:-} + export N_SPLIT_NEST=${N_SPLIT_NEST04:-} + atparse < "${PATHRT}/parm/${INPUT_NEST04_NML}" > input_nest04.nml else sed -i -e "//,/<\/output_grid_04>/d" model_configure fi -if [[ "Q${INPUT_NEST05_NML:-}" != Q ]] ; then - INPES_NEST=$INPES_NEST05; JNPES_NEST=$JNPES_NEST05 - NPX_NEST=$NPX_NEST05; NPY_NEST=$NPY_NEST05 - K_SPLIT_NEST=$K_SPLIT_NEST05; N_SPLIT_NEST=$N_SPLIT_NEST05 - atparse < ${PATHRT}/parm/${INPUT_NEST05_NML} > input_nest05.nml +if [[ "Q${INPUT_NEST05_NML:-}" != Q ]]; then + export INPES_NEST=${INPES_NEST05:-} + export JNPES_NEST=${JNPES_NEST05:-} + export NPX_NEST=${NPX_NEST05:-} + export NPY_NEST=${NPY_NEST05:-} + export K_SPLIT_NEST=${K_SPLIT_NEST05:-} + export N_SPLIT_NEST=${N_SPLIT_NEST05:-} + atparse < "${PATHRT}/parm/${INPUT_NEST05_NML}" > input_nest05.nml else sed -i -e "//,/<\/output_grid_05>/d" model_configure fi -if [[ "Q${INPUT_NEST06_NML:-}" != Q ]] ; then - INPES_NEST=$INPES_NEST06; JNPES_NEST=$JNPES_NEST06 - NPX_NEST=$NPX_NEST06; NPY_NEST=$NPY_NEST06 - K_SPLIT_NEST=$K_SPLIT_NEST06; N_SPLIT_NEST=$N_SPLIT_NEST06 - atparse < ${PATHRT}/parm/${INPUT_NEST06_NML} > input_nest06.nml +if [[ "Q${INPUT_NEST06_NML:-}" != Q ]]; then + export INPES_NEST=${INPES_NEST06:-} + export JNPES_NEST=${JNPES_NEST06:-} + export NPX_NEST=${NPX_NEST06:-} + export NPY_NEST=${NPY_NEST06:-} + export K_SPLIT_NEST=${K_SPLIT_NEST06:-} + export N_SPLIT_NEST=${N_SPLIT_NEST06:-} + atparse < "${PATHRT}/parm/${INPUT_NEST06_NML}" > input_nest06.nml else sed -i -e "//,/<\/output_grid_06>/d" model_configure fi # diag table -if [[ "Q${DIAG_TABLE:-}" != Q ]] ; then - atparse < ${PATHRT}/parm/diag_table/${DIAG_TABLE} > diag_table +if [[ "Q${DIAG_TABLE:-}" != Q ]]; then + atparse < "${PATHRT}/parm/diag_table/${DIAG_TABLE}" > diag_table fi # Field table -if [[ "Q${FIELD_TABLE:-}" != Q ]] ; then - cp ${PATHRT}/parm/field_table/${FIELD_TABLE} field_table +if [[ "Q${FIELD_TABLE:-}" != Q ]]; then + cp "${PATHRT}/parm/field_table/${FIELD_TABLE}" field_table fi # fix files -if [[ $FV3 == true ]]; then - cp ${INPUTDATA_ROOT}/FV3_fix/*.txt . - cp ${INPUTDATA_ROOT}/FV3_fix/*.f77 . - cp ${INPUTDATA_ROOT}/FV3_fix/*.dat . - cp ${INPUTDATA_ROOT}/FV3_fix/fix_co2_proj/* . - if [[ $TILEDFIX != .true. ]]; then - cp ${INPUTDATA_ROOT}/FV3_fix/*.grb . +if [[ ${FV3} == true ]]; then + cp "${INPUTDATA_ROOT}"/FV3_fix/*.txt . + cp "${INPUTDATA_ROOT}"/FV3_fix/*.f77 . + cp "${INPUTDATA_ROOT}"/FV3_fix/*.dat . + cp "${INPUTDATA_ROOT}"/FV3_fix/fix_co2_proj/* . + if [[ ${TILEDFIX} != .true. ]]; then + cp "${INPUTDATA_ROOT}"/FV3_fix/*.grb . fi fi # NoahMP table file - cp ${PATHRT}/parm/noahmptable.tbl . + cp "${PATHRT}/parm/noahmptable.tbl" . # AQM -if [[ $AQM == .true. ]]; then - cp ${PATHRT}/parm/aqm/aqm.rc . +if [[ ${AQM} == .true. ]]; then + cp "${PATHRT}/parm/aqm/aqm.rc" . fi # Field Dictionary -cp ${PATHRT}/parm/fd_ufs.yaml fd_ufs.yaml +cp "${PATHRT}/parm/fd_ufs.yaml" fd_ufs.yaml # Set up the run directory source ./fv3_run -if [[ $CPLWAV == .true. ]]; then - if [[ $WW3_MULTIGRID = 'true' ]]; then - atparse < ${PATHRT}/parm/ww3_multi.inp.IN > ww3_multi.inp +if [[ ${CPLWAV} == .true. ]]; then + if [[ ${WW3_MULTIGRID} = 'true' ]]; then + atparse < "${PATHRT}/parm/ww3_multi.inp.IN" > ww3_multi.inp else - atparse < ${PATHRT}/parm/ww3_shel.nml.IN > ww3_shel.nml - cp ${PATHRT}/parm/ww3_points.list . + atparse < "${PATHRT}/parm/ww3_shel.nml.IN" > ww3_shel.nml + cp "${PATHRT}/parm/ww3_points.list" . fi fi -if [[ $CPLCHM == .true. ]]; then - cp ${PATHRT}/parm/gocart/*.rc . - atparse < ${PATHRT}/parm/gocart/AERO_HISTORY.rc.IN > AERO_HISTORY.rc +if [[ ${CPLCHM} == .true. ]]; then + cp "${PATHRT}"/parm/gocart/*.rc . + atparse < "${PATHRT}/parm/gocart/AERO_HISTORY.rc.IN" > AERO_HISTORY.rc fi #TODO: this logic needs to be cleaned up for datm applications w/o #ocean or ice -if [[ $DATM_CDEPS = 'true' ]] || [[ $S2S = 'true' ]]; then - if [[ $HAFS = 'false' ]]; then - atparse < ${PATHRT}/parm/ice_in.IN > ice_in - atparse < ${PATHRT}/parm/${MOM6_INPUT:-MOM_input_$OCNRES.IN} > INPUT/MOM_input - atparse < ${PATHRT}/parm/diag_table/${DIAG_TABLE:-diag_table_template} > diag_table - atparse < ${PATHRT}/parm/MOM6_data_table.IN > data_table +if [[ ${DATM_CDEPS} = 'true' ]] || [[ ${S2S} = 'true' ]]; then + if [[ ${HAFS} = 'false' ]]; then + atparse < "${PATHRT}/parm/ice_in.IN" > ice_in + atparse < "${PATHRT}/parm/${MOM6_INPUT:-MOM_input_${OCNRES}.IN}" > INPUT/MOM_input + atparse < "${PATHRT}/parm/diag_table/${DIAG_TABLE:-diag_table_template}" > diag_table + atparse < "${PATHRT}/parm/MOM6_data_table.IN" > data_table fi fi -if [[ $HAFS = 'true' ]] && [[ $DATM_CDEPS = 'false' ]]; then - atparse < ${PATHRT}/parm/diag_table/${DIAG_TABLE:-diag_table_template} > diag_table +if [[ ${HAFS} = 'true' ]] && [[ ${DATM_CDEPS} = 'false' ]]; then + atparse < "${PATHRT}/parm/diag_table/${DIAG_TABLE:-diag_table_template}" > diag_table fi -if [[ "${DIAG_TABLE_ADDITIONAL:-}Q" != Q ]] ; then +if [[ "${DIAG_TABLE_ADDITIONAL:-}Q" != Q ]]; then # Append diagnostic outputs, to support tests that vary from others # only by adding diagnostics. atparse < "${PATHRT}/parm/diag_table/${DIAG_TABLE_ADDITIONAL:-}" >> diag_table fi # ATMAERO -if [[ $CPLCHM == .true. ]] && [[ $S2S = 'false' ]]; then - atparse < ${PATHRT}/parm/diag_table/${DIAG_TABLE:-diag_table_template} > diag_table +if [[ ${CPLCHM} == .true. ]] && [[ ${S2S} = 'false' ]]; then + atparse < "${PATHRT}/parm/diag_table/${DIAG_TABLE:-diag_table_template}" > diag_table fi -if [[ $DATM_CDEPS = 'true' ]]; then - atparse < ${PATHRT}/parm/${DATM_IN_CONFIGURE:-datm_in.IN} > datm_in - atparse < ${PATHRT}/parm/${DATM_STREAM_CONFIGURE:-datm.streams.IN} > datm.streams +if [[ ${DATM_CDEPS} = 'true' ]]; then + atparse < "${PATHRT}/parm/${DATM_IN_CONFIGURE:-datm_in.IN}" > datm_in + atparse < "${PATHRT}/parm/${DATM_STREAM_CONFIGURE:-datm.streams.IN}" > datm.streams fi -if [[ $DOCN_CDEPS = 'true' ]]; then - atparse < ${PATHRT}/parm/${DOCN_IN_CONFIGURE:-docn_in.IN} > docn_in - atparse < ${PATHRT}/parm/${DOCN_STREAM_CONFIGURE:-docn.streams.IN} > docn.streams +if [[ ${DOCN_CDEPS} = 'true' ]]; then + atparse < "${PATHRT}/parm/${DOCN_IN_CONFIGURE:-docn_in.IN}" > docn_in + atparse < "${PATHRT}/parm/${DOCN_STREAM_CONFIGURE:-docn.streams.IN}" > docn.streams fi -if [[ $CDEPS_INLINE = 'true' ]]; then - atparse < ${PATHRT}/parm/${CDEPS_INLINE_CONFIGURE:-stream.config.IN} > stream.config +if [[ ${CDEPS_INLINE} = 'true' ]]; then + atparse < "${PATHRT}/parm/${CDEPS_INLINE_CONFIGURE:-stream.config.IN}" > stream.config fi TPN=$(( TPN / THRD )) @@ -319,74 +339,69 @@ fi export PPN export UFS_TASKS -if [[ $SCHEDULER = 'pbs' ]]; then - if [[ -e $PATHRT/fv3_conf/fv3_qsub.IN_${MACHINE_ID} ]]; then - atparse < $PATHRT/fv3_conf/fv3_qsub.IN_${MACHINE_ID} > job_card +if [[ ${SCHEDULER} = 'pbs' ]]; then + if [[ -e ${PATHRT}/fv3_conf/fv3_qsub.IN_${MACHINE_ID} ]]; then + atparse < "${PATHRT}/fv3_conf/fv3_qsub.IN_${MACHINE_ID}" > job_card else echo "Looking for fv3_conf/fv3_qsub.IN_${MACHINE_ID} but it is not found. Exiting" exit 1 fi -elif [[ $SCHEDULER = 'slurm' ]]; then - if [[ -e $PATHRT/fv3_conf/fv3_slurm.IN_${MACHINE_ID} ]]; then - atparse < $PATHRT/fv3_conf/fv3_slurm.IN_${MACHINE_ID} > job_card +elif [[ ${SCHEDULER} = 'slurm' ]]; then + if [[ -e ${PATHRT}/fv3_conf/fv3_slurm.IN_${MACHINE_ID} ]]; then + atparse < "${PATHRT}/fv3_conf/fv3_slurm.IN_${MACHINE_ID}" > job_card else echo "Looking for fv3_conf/fv3_slurm.IN_${MACHINE_ID} but it is not found. Exiting" exit 1 fi -elif [[ $SCHEDULER = 'lsf' ]]; then - if [[ -e $PATHRT/fv3_conf/fv3_bsub.IN_${MACHINE_ID} ]]; then - atparse < $PATHRT/fv3_conf/fv3_bsub.IN_${MACHINE_ID} > job_card - else - echo "Looking for fv3_conf/fv3_bsub.IN_${MACHINE_ID} but it is not found. Exiting" - exit 1 - fi fi ################################################################################ # Submit test job ################################################################################ export OMP_ENV=${OMP_ENV:-""} -if [[ $SCHEDULER = 'none' ]]; then +if [[ ${SCHEDULER} = 'none' ]]; then ulimit -s unlimited - if [[ $CI_TEST = 'true' ]]; then - eval ${OMP_ENV} mpiexec -n ${TASKS} ./fv3.exe >out 2> >(tee err >&3) + if [[ ${CI_TEST} = 'true' ]]; then + eval "${OMP_ENV}" mpiexec -n "${TASKS}" ./fv3.exe >out 2> >(tee err >&3 || true) else - mpiexec -n ${TASKS} ./fv3.exe >out 2> >(tee err >&3) + mpiexec -n "${TASKS}" ./fv3.exe >out 2> >(tee err >&3 || true) fi else - if [[ $ROCOTO = 'false' ]]; then + if [[ ${ROCOTO} = 'false' ]]; then submit_and_wait job_card else chmod u+x job_card - ( ./job_card 2>&1 1>&3 3>&- | tee err ) 3>&1 1>&2 | tee out + ( ./job_card 2>&1 1>&3 3>&- | tee err || true ) 3>&1 1>&2 | tee out # The above shell redirection copies stdout to "out" and stderr to "err" # while still sending them to stdout and stderr. It does this without # relying on bash-specific extensions or non-standard OS features. fi fi - -if [[ $skip_check_results = false ]]; then +skip_check_results=${skip_check_results:-false} +if [[ ${skip_check_results} = false ]]; then check_results || true # The above call will exit with an error on its own and does # not need to cause run_test to TRAP the failure and error out itself. else - echo >> ${RT_LOG} - grep "The total amount of wall time" ${RUNDIR}/out >> ${RT_LOG} - grep "The maximum resident set size" ${RUNDIR}/out >> ${RT_LOG} - echo >> ${RT_LOG} - echo "Test ${TEST_ID} RUN_SUCCESS" >> ${RT_LOG} - echo;echo;echo >> ${RT_LOG} + { + echo + grep "The total amount of wall time" "${RUNDIR}/out" + grep "The maximum resident set size" "${RUNDIR}/out" + echo + echo "Test ${TEST_ID} RUN_SUCCESS" + echo;echo;echo + } >> "${RT_LOG}" fi -if [[ $SCHEDULER != 'none' ]]; then - cat ${RUNDIR}/job_timestamp.txt >> ${LOG_DIR}/run_${TEST_ID}_timestamp.txt +if [[ ${SCHEDULER} != 'none' ]]; then + cat "${RUNDIR}/job_timestamp.txt" >> "${LOG_DIR}/${JBNME}_timestamp.txt" fi -if [[ $ROCOTO = true ]]; then +if [[ ${ROCOTO} = true ]]; then remove_fail_test fi @@ -394,24 +409,27 @@ fi # End test ################################################################################ -echo " $( date +%s ), ${NODES}" >> ${LOG_DIR}/run_${TEST_ID}_timestamp.txt +date_s=$( date +%s ) +echo " ${date_s}, ${NODES}" >> "${LOG_DIR}/${JBNME}_timestamp.txt" ################################################################################ # Remove RUN_DIRs if they are no longer needed by other tests ################################################################################ +delete_rundir=${delete_rundir:-false} if [[ ${delete_rundir} = true ]]; then keep_run_dir=false while read -r line; do - keep_test=$(echo $line| sed -e 's/^ *//' -e 's/ *$//') - if [[ $TEST_NAME == ${keep_test} ]]; then + keep_test=$(echo "${line}" | sed -e 's/^ *//' -e 's/ *$//') + if [[ ${TEST_NAME} == "${keep_test}" ]]; then keep_run_dir=true fi - done < ${PATHRT}/keep_tests.tmp + done < "${PATHRT}/keep_tests.tmp" if [[ ${keep_run_dir} == false ]]; then - rm -rf ${RUNDIR} + rm -rf "${RUNDIR}" fi fi -elapsed=$SECONDS -echo "Elapsed time $elapsed seconds. Test ${TEST_ID}" +elapsed=${SECONDS} +echo "run_test.sh: Test ${TEST_ID} Completed." +echo "run_test.sh: Test ${TEST_ID} Elapsed time ${elapsed} seconds." diff --git a/tests/test_changes.list b/tests/test_changes.list index b961de3298..f822a534c3 100644 --- a/tests/test_changes.list +++ b/tests/test_changes.list @@ -1,8 +1,13 @@ -control_csawmg intel -control_csawmgt intel -control_csawmg gnu -control_csawmgt gnu -control_csawmg_debug intel -control_csawmgt_debug intel -control_csawmg_debug gnu -control_csawmgt_debug gnu +regional_control intel +regional_restart intel +regional_decomp intel +regional_2threads intel +regional_2dwrtdecomp intel +regional_wofs intel +regional_spp_sppt_shum_skeb intel +regional_control_faster intel +rap_clm_lake_debug intel +regional_spp_sppt_shum_skeb_dyn32_phy32 intel +hafs_regional_atm intel +hafs_global_multiple_4nests_atm intel +hafs_regional_specified_moving_1nest_atm intel diff --git a/tests/tests/atmwav_control_noaero_p8 b/tests/tests/atmwav_control_noaero_p8 index 2dde79ca1a..9924a60ff9 100644 --- a/tests/tests/atmwav_control_noaero_p8 +++ b/tests/tests/atmwav_control_noaero_p8 @@ -77,7 +77,6 @@ export med_model=cmeps export atm_model=fv3 export wav_model=ww3 -export ATMTILESIZE=`expr $NPX - 1` export WW3_MULTIGRID=false export WW3_MODDEF=mod_def.glo_1deg export MESH_WAV=mesh.glo_1deg.nc diff --git a/tests/tests/cpld_bmark_p8 b/tests/tests/cpld_bmark_p8 index 810ea89113..722fa03662 100644 --- a/tests/tests/cpld_bmark_p8 +++ b/tests/tests/cpld_bmark_p8 @@ -93,7 +93,6 @@ export NPY=385 export IMO=1536 export JMO=768 export OUTPUT_GRID="'gaussian_grid'" -export ATMTILESIZE=`expr $NPX - 1` export OCNRES=025 export ICERES=0.25 diff --git a/tests/tests/cpld_bmark_p8_35d b/tests/tests/cpld_bmark_p8_35d index 47324a0cb8..6aa2ce2f5f 100644 --- a/tests/tests/cpld_bmark_p8_35d +++ b/tests/tests/cpld_bmark_p8_35d @@ -49,7 +49,6 @@ export NPY=385 export IMO=1536 export JMO=768 export OUTPUT_GRID="'gaussian_grid'" -export ATMTILESIZE=`expr $NPX - 1` export OCNRES=025 export ICERES=0.25 diff --git a/tests/tests/cpld_control_c192_p8 b/tests/tests/cpld_control_c192_p8 index 5dc87183b2..1aec6e3e71 100644 --- a/tests/tests/cpld_control_c192_p8 +++ b/tests/tests/cpld_control_c192_p8 @@ -87,7 +87,6 @@ export NPX=193 export NPY=193 export IMO=768 export JMO=384 -export ATMTILESIZE=`expr $NPX - 1` export OCNRES=050 export ICERES=0.50 @@ -142,4 +141,3 @@ export FV3_RUN=cpld_control_run.IN if [[ $MACHINE_ID = derecho ]]; then TPN=96 fi - diff --git a/tests/tests/cpld_control_c48 b/tests/tests/cpld_control_c48 index 1b8fd090af..cf1484d37e 100644 --- a/tests/tests/cpld_control_c48 +++ b/tests/tests/cpld_control_c48 @@ -76,7 +76,6 @@ export NPX=49 export NPY=49 export IMO=192 export JMO=94 -export ATMTILESIZE=`expr $NPX - 1` export OCNRES=500 export ICERES=5.00 diff --git a/tests/tests/cpld_debug_pdlib_p8 b/tests/tests/cpld_debug_pdlib_p8 index fcede8710c..fa7be3c086 100644 --- a/tests/tests/cpld_debug_pdlib_p8 +++ b/tests/tests/cpld_debug_pdlib_p8 @@ -96,5 +96,5 @@ export UFS_CONFIGURE=ufs.configure.s2sw_fast_esmf.IN export FV3_RUN=cpld_control_run.IN if [[ $MACHINE_ID = hera && $RT_COMPILER = gnu ]] || [[ $MACHINE_ID = jet ]]; then - WLCLK=40 + WLCLK=50 fi diff --git a/tests/tests/cpld_restart_bmark_p8 b/tests/tests/cpld_restart_bmark_p8 index 2ae3534b78..0d71a41f5c 100644 --- a/tests/tests/cpld_restart_bmark_p8 +++ b/tests/tests/cpld_restart_bmark_p8 @@ -97,7 +97,6 @@ export NPY=385 export IMO=1536 export JMO=768 export OUTPUT_GRID="'gaussian_grid'" -export ATMTILESIZE=`expr $NPX - 1` export OCNRES=025 export ICERES=0.25 diff --git a/tests/tests/cpld_restart_c192_p8 b/tests/tests/cpld_restart_c192_p8 index 57f9459c64..54415221ac 100644 --- a/tests/tests/cpld_restart_c192_p8 +++ b/tests/tests/cpld_restart_c192_p8 @@ -89,7 +89,6 @@ export NPX=193 export NPY=193 export IMO=768 export JMO=384 -export ATMTILESIZE=`expr $NPX - 1` export OCNRES=050 export ICERES=0.50 diff --git a/tests/tests/cpld_restart_c48 b/tests/tests/cpld_restart_c48 index eeb2626a8f..a9e891519d 100644 --- a/tests/tests/cpld_restart_c48 +++ b/tests/tests/cpld_restart_c48 @@ -91,7 +91,6 @@ export NPX=49 export NPY=49 export IMO=192 export JMO=94 -export ATMTILESIZE=`expr $NPX - 1` export OCNRES=500 export ICERES=5.00 diff --git a/tests/tests/cpld_warmstart_c48 b/tests/tests/cpld_warmstart_c48 index ea963defc4..94aa503d8f 100644 --- a/tests/tests/cpld_warmstart_c48 +++ b/tests/tests/cpld_warmstart_c48 @@ -88,7 +88,6 @@ export NPX=49 export NPY=49 export IMO=192 export JMO=94 -export ATMTILESIZE=`expr $NPX - 1` export OCNRES=500 export ICERES=5.00 diff --git a/tests/tests/regional_atmaq_debug b/tests/tests/regional_atmaq_debug index 5f74ffa8c2..77563156bd 100644 --- a/tests/tests/regional_atmaq_debug +++ b/tests/tests/regional_atmaq_debug @@ -98,6 +98,7 @@ export CCPP_SUITE=FV3_GFS_v15p2 if [[ $MACHINE_ID = hera ]]; then TPN=30 + WLCLK=45 elif [[ $MACHINE_ID = gaea ]]; then TPN=16 fi