diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04.yml b/.github/workflows/ci_build_scm_ubuntu_22.04.yml index 6c33a30e5..7eaabd29d 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04.yml @@ -21,8 +21,7 @@ jobs: sp_ROOT: /home/runner/NCEPLIBS-sp w3emc_ROOT: /home/runner/myw3emc SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm - intel_ROOT: /home/runner/intel - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps + suites: kingfisher,raven,bluebird,bald_eagle,pigeon,albatross,hummingbird,kingfisher_ps,raven_ps,bluebird_ps,bald_eagle_ps,pigeon_ps,albatross_ps,hummingbird_ps # Workflow steps steps: @@ -57,33 +56,17 @@ jobs: ####################################################################################### # Install FORTRAN dependencies ####################################################################################### - - name: Environment for ifort compiler - if: contains(matrix.fortran-compiler, 'ifort') + - name: Install openmpi run: | - echo "CC=icx" >> $GITHUB_ENV - echo "FC=ifort" >> $GITHUB_ENV - echo "NFVERSION=v4.4.4" >> $GITHUB_ENV - - - name: Cache Intel compilers - id: cache-intel-compilers - if: contains(matrix.fortran-compiler, 'ifort') - uses: actions/cache@v2 - with: - path: /home/runner/intel - key: intel-${{ runner.os }}-compilers-b - - # https://software.intel.com/content/www/us/en/develop/articles/installing-intel-oneapi-toolkits-via-apt.html - # List of packages from Docker file at - # https://github.com/intel/oneapi-containers/blob/master/images/docker/hpckit-devel-ubuntu18.04/Dockerfile - - name: Install Intel compilers and libraries - if: contains(matrix.fortran-compiler, 'ifort') && steps.cache-intel-compilers.outputs.cache-hit != 'true' - run: | - wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB - sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB - sudo add-apt-repository "deb https://apt.repos.intel.com/oneapi all main" - sudo apt-get update - sudo apt-get install intel-hpckit-getting-started intel-oneapi-clck intel-oneapi-common-licensing intel-oneapi-common-vars - sudo apt-get install intel-oneapi-dev-utilities intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-compiler-fortran intel-oneapi-itac + wget https://github.com/open-mpi/ompi/archive/refs/tags/v4.1.6.tar.gz + tar -xvf v4.1.6.tar.gz + cd ompi-4.1.6 + ./autogen.pl + ./configure --prefix=/home/runner/ompi-4.1.6 + make -j4 + make install + echo "LD_LIBRARY_PATH=/home/runner/ompi-4.1.6/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV + echo "PATH=/home/runner/ompi-4.1.6/bin:$PATH" >> $GITHUB_ENV - name: Cache bacio library v2.4.1 id: cache-bacio-fortran @@ -158,6 +141,11 @@ jobs: sudo make install export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NFHOME}/lib + - name: Environment for openmpi compiler + run: | + echo "FC=mpif90" >> $GITHUB_ENV + echo "CC=mpicc" >> $GITHUB_ENV + ####################################################################################### # Build SCM. ####################################################################################### diff --git a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml index 8bb7fcedb..f5a808aad 100644 --- a/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml +++ b/.github/workflows/ci_build_scm_ubuntu_22.04_nvidia.yml @@ -23,8 +23,8 @@ jobs: SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm zlib_ROOT: /home/runner/zlib HDF5_ROOT: /home/runner/hdf5 - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0 - suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps + suites: kingfisher,raven,bluebird,bald_eagle,pigeon,albatross,hummingbird + suites_ps: kingfisher_ps,raven_ps,bluebird_ps,bald_eagle_ps,pigeon_ps,albatross_ps,hummingbird_ps # Workflow steps steps: diff --git a/.github/workflows/ci_run_scm_DEPHY.yml b/.github/workflows/ci_run_scm_DEPHY.yml index eeba4c7fe..ebf97c9a1 100644 --- a/.github/workflows/ci_run_scm_DEPHY.yml +++ b/.github/workflows/ci_run_scm_DEPHY.yml @@ -20,7 +20,7 @@ jobs: sp_ROOT: /home/runner/NCEPLIBS-sp w3emc_ROOT: /home/runner/myw3emc SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm - suites: SCM_GFS_v16,SCM_GFS_v16_ps + suites: raven,raven_ps # Workflow steps steps: @@ -51,9 +51,22 @@ jobs: - name: Update system packages run: sudo apt-get update + ####################################################################################### # Install FORTRAN dependencies ####################################################################################### + - name: Install openmpi + run: | + wget https://github.com/open-mpi/ompi/archive/refs/tags/v4.1.6.tar.gz + tar -xvf v4.1.6.tar.gz + cd ompi-4.1.6 + ./autogen.pl + ./configure --prefix=/home/runner/ompi-4.1.6 + make -j4 + make install + echo "LD_LIBRARY_PATH=/home/runner/ompi-4.1.6/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV + echo "PATH=/home/runner/ompi-4.1.6/bin:$PATH" >> $GITHUB_ENV + - name: Cache bacio library v2.4.1 id: cache-bacio-fortran uses: actions/cache@v3 @@ -128,6 +141,11 @@ jobs: ####################################################################################### # Build SCM. Run DEPHYv1 case. ####################################################################################### + - name: Environment for openmpi compiler + run: | + echo "FC=mpif90" >> $GITHUB_ENV + echo "CC=mpicc" >> $GITHUB_ENV + - name: Download data for SCM run: | cd ${SCM_ROOT} diff --git a/.github/workflows/ci_run_scm_rts.yml b/.github/workflows/ci_run_scm_rts.yml index 9e9efd9aa..7f44478eb 100644 --- a/.github/workflows/ci_run_scm_rts.yml +++ b/.github/workflows/ci_run_scm_rts.yml @@ -21,8 +21,8 @@ jobs: sp_ROOT: /home/runner/NCEPLIBS-sp w3emc_ROOT: /home/runner/myw3emc SCM_ROOT: /home/runner/work/ccpp-scm/ccpp-scm - suites: SCM_GFS_v15p2,SCM_GFS_v16,SCM_GFS_v17_p8,SCM_HRRR,SCM_RRFS_v1beta,SCM_RAP,SCM_WoFS_v0,SCM_RRFS_v1,SCM_GFS_v17_HR3,SCM_GFS_v17_HR3_RRTMGP - suites_ps: SCM_GFS_v15p2_ps,SCM_GFS_v16_ps,SCM_GFS_v17_p8_ps,SCM_HRRR_ps,SCM_RRFS_v1beta_ps,SCM_RAP_ps,SCM_WoFS_v0_ps,SCM_RRFS_v1_ps,SCM_GFS_v17_HR3_ps,SCM_GFS_v17_HR3_RRTMGP_ps + suites: kingfisher,raven,bluebird,bald_eagle,pigeon,albatross,hummingbird,magpie,robin,warbler + suites_ps: kingfisher_ps,raven_ps,bluebird_ps,bald_eagle_ps,pigeon_ps,albatross_ps,hummingbird_ps,magpie_ps,robin_ps,warbler_ps dir_rt: /home/runner/work/ccpp-scm/ccpp-scm/test/artifact-${{matrix.build-type}} dir_bl: /home/runner/work/ccpp-scm/ccpp-scm/test/BL-${{matrix.build-type}} @@ -59,17 +59,22 @@ jobs: ####################################################################################### # Install FORTRAN dependencies ####################################################################################### - - name: Environment for gfortran compiler - if: contains(matrix.fortran-compiler, 'gnu') - run: | - echo "FC=gfortran-11" >> $GITHUB_ENV - echo "CC=gcc-11" >> $GITHUB_ENV - - name: Environment for ifort compiler - if: contains(matrix.fortran-compiler, 'intel') + - name: Install openmpi run: | - echo "CC=icx" >> $GITHUB_ENV - echo "FC=ifort" >> $GITHUB_ENV + wget https://github.com/open-mpi/ompi/archive/refs/tags/v4.1.6.tar.gz + tar -xvf v4.1.6.tar.gz + cd ompi-4.1.6 + ./autogen.pl + ./configure --prefix=/home/runner/ompi-4.1.6 + make -j4 + make install + echo "LD_LIBRARY_PATH=/home/runner/ompi-4.1.6/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV + echo "PATH=/home/runner/ompi-4.1.6/bin:$PATH" >> $GITHUB_ENV + + ####################################################################################### + # Install FORTRAN dependencies + ####################################################################################### - name: Cache bacio library v2.4.1 id: cache-bacio-fortran @@ -142,16 +147,14 @@ jobs: sudo make install export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NFHOME}/lib + - name: Environment for openmpi compiler + run: | + echo "FC=mpif90" >> $GITHUB_ENV + echo "CC=mpicc" >> $GITHUB_ENV + ####################################################################################### # Build SCM. Run regression tests. ####################################################################################### - - name: Download data for SCM - run: | - cd ${SCM_ROOT} - ./contrib/get_all_static_data.sh - ./contrib/get_thompson_tables.sh - ./contrib/get_aerosol_climo.sh - - name: Configure build with CMake (Release) if: contains(matrix.build-type, 'Release') run: | @@ -171,6 +174,13 @@ jobs: cd ${SCM_ROOT}/scm/bin make -j4 + - name: Download data for SCM + run: | + cd ${SCM_ROOT} + ./contrib/get_all_static_data.sh + ./contrib/get_thompson_tables.sh + ./contrib/get_aerosol_climo.sh + - name: Run SCM RTs run: | cd ${SCM_ROOT}/scm/bin diff --git a/.github/workflows/ci_run_scm_ufs_replay.yml b/.github/workflows/ci_run_scm_ufs_replay.yml index 0bd6a161d..d252e1425 100644 --- a/.github/workflows/ci_run_scm_ufs_replay.yml +++ b/.github/workflows/ci_run_scm_ufs_replay.yml @@ -72,4 +72,4 @@ jobs: ####################################################################################### # Done - ####################################################################################### \ No newline at end of file + ####################################################################################### diff --git a/.gitmodules b/.gitmodules index dc0798c32..97b396bf3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,11 +1,11 @@ [submodule "ccpp-framework"] path = ccpp/framework - url = https://github.com/NCAR/ccpp-framework - branch = main + url = https://github.com/mkavulich/ccpp-framework + branch = feature/suite_names_update [submodule "ccpp-physics"] path = ccpp/physics - url = https://github.com/NCAR/ccpp-physics - branch = main + url = https://github.com/grantfirl/ccpp-physics + branch = ufs-dev-PR184 [submodule "CMakeModules"] path = CMakeModules url = https://github.com/noaa-emc/CMakeModules diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index 41736151a..d68aaf98b 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -33,6 +33,7 @@ TYPEDEFS_NEW_METADATA = { 'ccpp_types' : { 'ccpp_types' : '', + 'MPI_Comm' : '', 'ccpp_t' : 'cdata', }, 'machine' : { diff --git a/ccpp/framework b/ccpp/framework index f0b9a18b0..67fa30988 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit f0b9a18b005d950cb9b0038fbc827b6b37500f43 +Subproject commit 67fa3098890c2aa48f74d2bb04a7190cdf25619b diff --git a/ccpp/physics b/ccpp/physics index 6d8fccbea..a3760b8b8 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 6d8fccbea12c11387c0bc457dcb3855574cd29aa +Subproject commit a3760b8b8f4d7c7e35503283d90f5836573e665c diff --git a/ccpp/suites/suite_SCM_RAP.xml b/ccpp/suites/albatross.xml similarity index 89% rename from ccpp/suites/suite_SCM_RAP.xml rename to ccpp/suites/albatross.xml index 68040872d..646f9c909 100644 --- a/ccpp/suites/suite_SCM_RAP.xml +++ b/ccpp/suites/albatross.xml @@ -1,6 +1,9 @@ - - + + diff --git a/ccpp/suites/suite_SCM_RAP_ps.xml b/ccpp/suites/albatross_ps.xml similarity index 79% rename from ccpp/suites/suite_SCM_RAP_ps.xml rename to ccpp/suites/albatross_ps.xml index 6855b1167..0820e3b57 100644 --- a/ccpp/suites/suite_SCM_RAP_ps.xml +++ b/ccpp/suites/albatross_ps.xml @@ -1,6 +1,11 @@ + + diff --git a/ccpp/suites/alias.json b/ccpp/suites/alias.json new file mode 100644 index 000000000..434a10fe0 --- /dev/null +++ b/ccpp/suites/alias.json @@ -0,0 +1,33 @@ +{ + "HAFS_v0_hwrf_thompson_ps.xml": "sunbird_ps.xml", + "HAFS_v0_hwrf_thompson.xml": "sunbird.xml", + "SCM_GFS_v15p2_ps.xml": "kingfisher_ps.xml", + "SCM_GFS_v15p2.xml": "kingfisher.xml", + "SCM_GFS_v16_no_nsst_ps.xml": "nuthatch_ps.xml", + "SCM_GFS_v16_no_nsst.xml": "nuthatch.xml", + "SCM_GFS_v16_ps.xml": "raven_ps.xml", + "SCM_GFS_v16_RRTMGP_ps.xml": "mallard_ps.xml", + "SCM_GFS_v16_RRTMGP.xml": "mallard.xml", + "SCM_GFS_v16.xml": "raven.xml", + "SCM_GFS_v17_HR3_ps.xml": "magpie_ps.xml", + "SCM_GFS_v17_HR3_RRTMGP_ps.xml": "robin_ps.xml", + "SCM_GFS_v17_HR3_RRTMGP.xml": "robin.xml", + "SCM_GFS_v17_HR3.xml": "magpie.xml", + "SCM_GFS_v17_p8_c3_ps.xml": "parakeet_ps.xml", + "SCM_GFS_v17_p8_c3.xml": "parakeet.xml", + "SCM_GFS_v17_p8_ps.xml": "bluebird_ps.xml", + "SCM_GFS_v17_p8.xml": "bluebird.xml", + "SCM_HRRR_ps.xml": "bald_eagle_ps.xml", + "SCM_HRRR.xml": "bald_eagle.xml", + "SCM_RAP_ps.xml": "albatross_ps.xml", + "SCM_RAP.xml": "albatross.xml", + "SCM_RRFS_v1alpha_ps.xml": "towhee_ps.xml", + "SCM_RRFS_v1alpha.xml": "towhee.xml", + "SCM_RRFS_v1beta_ps.xml": "pigeon_ps.xml", + "SCM_RRFS_v1beta.xml": "pigeon.xml", + "SCM_RRFS_v1nssl.xml": "crossbill.xml", + "SCM_RRFS_v1_ps.xml": "warbler_ps.xml", + "SCM_RRFS_v1.xml": "warbler.xml", + "SCM_WoFS_v0_ps.xml": "hummingbird_ps.xml", + "SCM_WoFS_v0.xml": "hummingbird.xml" +} diff --git a/ccpp/suites/suite_SCM_HRRR.xml b/ccpp/suites/bald_eagle.xml similarity index 86% rename from ccpp/suites/suite_SCM_HRRR.xml rename to ccpp/suites/bald_eagle.xml index 7904da3f3..b722049fc 100644 --- a/ccpp/suites/suite_SCM_HRRR.xml +++ b/ccpp/suites/bald_eagle.xml @@ -1,6 +1,9 @@ - - + + diff --git a/ccpp/suites/suite_SCM_HRRR_ps.xml b/ccpp/suites/bald_eagle_ps.xml similarity index 74% rename from ccpp/suites/suite_SCM_HRRR_ps.xml rename to ccpp/suites/bald_eagle_ps.xml index e1f930dbf..62388215b 100644 --- a/ccpp/suites/suite_SCM_HRRR_ps.xml +++ b/ccpp/suites/bald_eagle_ps.xml @@ -1,6 +1,11 @@ + + diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8.xml b/ccpp/suites/bluebird.xml similarity index 88% rename from ccpp/suites/suite_SCM_GFS_v17_p8.xml rename to ccpp/suites/bluebird.xml index 17eb9993b..12e678691 100644 --- a/ccpp/suites/suite_SCM_GFS_v17_p8.xml +++ b/ccpp/suites/bluebird.xml @@ -1,6 +1,9 @@ - - + + diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_ps.xml b/ccpp/suites/bluebird_ps.xml similarity index 79% rename from ccpp/suites/suite_SCM_GFS_v17_p8_ps.xml rename to ccpp/suites/bluebird_ps.xml index 35c3941a8..f7d038c20 100644 --- a/ccpp/suites/suite_SCM_GFS_v17_p8_ps.xml +++ b/ccpp/suites/bluebird_ps.xml @@ -1,6 +1,11 @@ + + diff --git a/ccpp/suites/suite_SCM_RRFS_v1nssl.xml b/ccpp/suites/crossbill.xml similarity index 85% rename from ccpp/suites/suite_SCM_RRFS_v1nssl.xml rename to ccpp/suites/crossbill.xml index 439f34737..92a3a0ed5 100644 --- a/ccpp/suites/suite_SCM_RRFS_v1nssl.xml +++ b/ccpp/suites/crossbill.xml @@ -1,6 +1,9 @@ - - + + diff --git a/ccpp/suites/suite_SCM_WoFS_v0.xml b/ccpp/suites/hummingbird.xml similarity index 91% rename from ccpp/suites/suite_SCM_WoFS_v0.xml rename to ccpp/suites/hummingbird.xml index a16c8b116..eb3029bdb 100644 --- a/ccpp/suites/suite_SCM_WoFS_v0.xml +++ b/ccpp/suites/hummingbird.xml @@ -1,6 +1,9 @@ - - + + @@ -70,4 +73,4 @@ - \ No newline at end of file + diff --git a/ccpp/suites/suite_SCM_WoFS_v0_ps.xml b/ccpp/suites/hummingbird_ps.xml similarity index 79% rename from ccpp/suites/suite_SCM_WoFS_v0_ps.xml rename to ccpp/suites/hummingbird_ps.xml index 3592ac2b5..8113d1eb3 100644 --- a/ccpp/suites/suite_SCM_WoFS_v0_ps.xml +++ b/ccpp/suites/hummingbird_ps.xml @@ -1,6 +1,11 @@ + + @@ -51,4 +56,4 @@ - \ No newline at end of file + diff --git a/ccpp/suites/suite_SCM_GFS_v15p2.xml b/ccpp/suites/kingfisher.xml similarity index 89% rename from ccpp/suites/suite_SCM_GFS_v15p2.xml rename to ccpp/suites/kingfisher.xml index 087e25d4a..c26fd9a27 100644 --- a/ccpp/suites/suite_SCM_GFS_v15p2.xml +++ b/ccpp/suites/kingfisher.xml @@ -1,6 +1,9 @@ - - + + GFS_time_vary_pre diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_ps.xml b/ccpp/suites/kingfisher_ps.xml similarity index 78% rename from ccpp/suites/suite_SCM_GFS_v15p2_ps.xml rename to ccpp/suites/kingfisher_ps.xml index 9fb1ac66b..61d78741d 100644 --- a/ccpp/suites/suite_SCM_GFS_v15p2_ps.xml +++ b/ccpp/suites/kingfisher_ps.xml @@ -1,6 +1,11 @@ + + GFS_time_vary_pre diff --git a/ccpp/suites/suite_SCM_GFS_v17_HR3.xml b/ccpp/suites/magpie.xml similarity index 89% rename from ccpp/suites/suite_SCM_GFS_v17_HR3.xml rename to ccpp/suites/magpie.xml index 92effe13c..27f38fea8 100644 --- a/ccpp/suites/suite_SCM_GFS_v17_HR3.xml +++ b/ccpp/suites/magpie.xml @@ -1,6 +1,9 @@ - - + + diff --git a/ccpp/suites/suite_SCM_GFS_v17_HR3_ps.xml b/ccpp/suites/magpie_ps.xml similarity index 79% rename from ccpp/suites/suite_SCM_GFS_v17_HR3_ps.xml rename to ccpp/suites/magpie_ps.xml index d9e833936..c673bfaf6 100644 --- a/ccpp/suites/suite_SCM_GFS_v17_HR3_ps.xml +++ b/ccpp/suites/magpie_ps.xml @@ -1,6 +1,11 @@ + + diff --git a/ccpp/suites/suite_SCM_GFS_v16_RRTMGP.xml b/ccpp/suites/mallard.xml similarity index 89% rename from ccpp/suites/suite_SCM_GFS_v16_RRTMGP.xml rename to ccpp/suites/mallard.xml index b427bcf25..15bd1cec0 100644 --- a/ccpp/suites/suite_SCM_GFS_v16_RRTMGP.xml +++ b/ccpp/suites/mallard.xml @@ -1,6 +1,9 @@ - - + + GFS_time_vary_pre diff --git a/ccpp/suites/suite_SCM_GFS_v16_RRTMGP_ps.xml b/ccpp/suites/mallard_ps.xml similarity index 79% rename from ccpp/suites/suite_SCM_GFS_v16_RRTMGP_ps.xml rename to ccpp/suites/mallard_ps.xml index 31ea5c712..081e9f5f6 100644 --- a/ccpp/suites/suite_SCM_GFS_v16_RRTMGP_ps.xml +++ b/ccpp/suites/mallard_ps.xml @@ -1,6 +1,12 @@ + + GFS_time_vary_pre diff --git a/ccpp/suites/suite_SCM_GFS_v16_no_nsst.xml b/ccpp/suites/nuthatch.xml similarity index 91% rename from ccpp/suites/suite_SCM_GFS_v16_no_nsst.xml rename to ccpp/suites/nuthatch.xml index 19733a6eb..b3d8c3dd4 100644 --- a/ccpp/suites/suite_SCM_GFS_v16_no_nsst.xml +++ b/ccpp/suites/nuthatch.xml @@ -1,6 +1,9 @@ - - + + GFS_time_vary_pre diff --git a/ccpp/suites/suite_SCM_GFS_v16_ps.xml b/ccpp/suites/nuthatch_ps.xml similarity index 80% rename from ccpp/suites/suite_SCM_GFS_v16_ps.xml rename to ccpp/suites/nuthatch_ps.xml index 6320bf6a6..f45b13669 100644 --- a/ccpp/suites/suite_SCM_GFS_v16_ps.xml +++ b/ccpp/suites/nuthatch_ps.xml @@ -1,6 +1,12 @@ + + GFS_time_vary_pre diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_c3.xml b/ccpp/suites/parakeet.xml similarity index 88% rename from ccpp/suites/suite_SCM_GFS_v17_p8_c3.xml rename to ccpp/suites/parakeet.xml index 5105ec520..7a174ab34 100644 --- a/ccpp/suites/suite_SCM_GFS_v17_p8_c3.xml +++ b/ccpp/suites/parakeet.xml @@ -1,6 +1,9 @@ - - + + diff --git a/ccpp/suites/suite_SCM_GFS_v17_p8_c3_ps.xml b/ccpp/suites/parakeet_ps.xml similarity index 79% rename from ccpp/suites/suite_SCM_GFS_v17_p8_c3_ps.xml rename to ccpp/suites/parakeet_ps.xml index 4a759285c..fbed13f8f 100644 --- a/ccpp/suites/suite_SCM_GFS_v17_p8_c3_ps.xml +++ b/ccpp/suites/parakeet_ps.xml @@ -1,6 +1,11 @@ + + diff --git a/ccpp/suites/suite_SCM_RRFS_v1beta.xml b/ccpp/suites/pigeon.xml similarity index 93% rename from ccpp/suites/suite_SCM_RRFS_v1beta.xml rename to ccpp/suites/pigeon.xml index 1921f3f56..ca8b73801 100644 --- a/ccpp/suites/suite_SCM_RRFS_v1beta.xml +++ b/ccpp/suites/pigeon.xml @@ -1,6 +1,9 @@ - - + + diff --git a/ccpp/suites/suite_SCM_RRFS_v1beta_ps.xml b/ccpp/suites/pigeon_ps.xml similarity index 81% rename from ccpp/suites/suite_SCM_RRFS_v1beta_ps.xml rename to ccpp/suites/pigeon_ps.xml index 4c554c438..481de14a9 100644 --- a/ccpp/suites/suite_SCM_RRFS_v1beta_ps.xml +++ b/ccpp/suites/pigeon_ps.xml @@ -1,6 +1,11 @@ + + diff --git a/ccpp/suites/suite_SCM_GFS_v16.xml b/ccpp/suites/raven.xml similarity index 89% rename from ccpp/suites/suite_SCM_GFS_v16.xml rename to ccpp/suites/raven.xml index 723dbd910..9cfdab67d 100644 --- a/ccpp/suites/suite_SCM_GFS_v16.xml +++ b/ccpp/suites/raven.xml @@ -1,6 +1,9 @@ - - + + GFS_time_vary_pre diff --git a/ccpp/suites/suite_SCM_GFS_v16_no_nsst_ps.xml b/ccpp/suites/raven_ps.xml similarity index 78% rename from ccpp/suites/suite_SCM_GFS_v16_no_nsst_ps.xml rename to ccpp/suites/raven_ps.xml index 5437699c1..07441714e 100644 --- a/ccpp/suites/suite_SCM_GFS_v16_no_nsst_ps.xml +++ b/ccpp/suites/raven_ps.xml @@ -1,6 +1,11 @@ + + GFS_time_vary_pre diff --git a/ccpp/suites/rename.sh b/ccpp/suites/rename.sh new file mode 100755 index 000000000..178d2dbb5 --- /dev/null +++ b/ccpp/suites/rename.sh @@ -0,0 +1,8 @@ +#!/bin/bash +oldname=$1 +newname=$2 +sed -i.backup "s/$oldname/$newname/g" suite_${oldname}.xml || exit 1 +gsed -i "2i " suite_${oldname}.xml || exit 2 +git mv suite_${oldname}.xml ${newname}.xml +git add ${newname}.xml +echo " \"${oldname}.xml\": \"${newname}.xml\"," >> alias.json diff --git a/ccpp/suites/suite_SCM_GFS_v17_HR3_RRTMGP.xml b/ccpp/suites/robin.xml similarity index 90% rename from ccpp/suites/suite_SCM_GFS_v17_HR3_RRTMGP.xml rename to ccpp/suites/robin.xml index 09bcbfa64..e38afb031 100644 --- a/ccpp/suites/suite_SCM_GFS_v17_HR3_RRTMGP.xml +++ b/ccpp/suites/robin.xml @@ -1,6 +1,9 @@ - - + + diff --git a/ccpp/suites/suite_SCM_GFS_v17_HR3_RRTMGP_ps.xml b/ccpp/suites/robin_ps.xml similarity index 81% rename from ccpp/suites/suite_SCM_GFS_v17_HR3_RRTMGP_ps.xml rename to ccpp/suites/robin_ps.xml index 0ba77dff3..333d378ee 100644 --- a/ccpp/suites/suite_SCM_GFS_v17_HR3_RRTMGP_ps.xml +++ b/ccpp/suites/robin_ps.xml @@ -1,6 +1,11 @@ + + diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_FA.xml b/ccpp/suites/suite_SCM_GFS_v15p2_FA.xml deleted file mode 100644 index 19d469bc6..000000000 --- a/ccpp/suites/suite_SCM_GFS_v15p2_FA.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - GFS_time_vary_pre - GFS_rrtmg_setup - GFS_rad_time_vary - GFS_phys_time_vary - - - - - GFS_suite_interstitial_rad_reset - GFS_rrtmg_pre - GFS_radiation_surface - rad_sw_pre - rrtmg_sw - rrtmg_sw_post - rrtmg_lw - rrtmg_lw_post - GFS_rrtmg_post - - - - - GFS_suite_interstitial_phys_reset - GFS_suite_stateout_reset - get_prs_fv3 - GFS_suite_interstitial_1 - GFS_surface_generic_pre - GFS_surface_composites_pre - dcyc2t3 - GFS_surface_composites_inter - GFS_suite_interstitial_2 - - - - sfc_diff - GFS_surface_loop_control_part1 - sfc_nst_pre - sfc_nst - sfc_nst_post - lsm_noah - sfc_sice - GFS_surface_loop_control_part2 - - - - GFS_surface_composites_post - sfc_diag - sfc_diag_post - GFS_surface_generic_post - GFS_PBL_generic_pre - hedmf - GFS_PBL_generic_post - GFS_GWD_generic_pre - cires_ugwp - cires_ugwp_post - GFS_GWD_generic_post - GFS_suite_stateout_update - h2ophys - get_phi_fv3 - GFS_suite_interstitial_3 - GFS_DCNV_generic_pre - samfdeepcnv - GFS_DCNV_generic_post - GFS_SCNV_generic_pre - samfshalcnv - GFS_SCNV_generic_post - GFS_suite_interstitial_4 - cnvc90 - GFS_MP_generic_pre - mp_fer_hires - GFS_MP_generic_post - maximum_hourly_diagnostics - GFS_physics_post - - - diff --git a/ccpp/suites/suite_HAFS_v0_hwrf_thompson.xml b/ccpp/suites/sunbird.xml similarity index 92% rename from ccpp/suites/suite_HAFS_v0_hwrf_thompson.xml rename to ccpp/suites/sunbird.xml index e59f0ebfe..14d7e7ce1 100644 --- a/ccpp/suites/suite_HAFS_v0_hwrf_thompson.xml +++ b/ccpp/suites/sunbird.xml @@ -1,6 +1,9 @@ - - + + diff --git a/ccpp/suites/suite_HAFS_v0_hwrf_thompson_ps.xml b/ccpp/suites/sunbird_ps.xml similarity index 83% rename from ccpp/suites/suite_HAFS_v0_hwrf_thompson_ps.xml rename to ccpp/suites/sunbird_ps.xml index 1831f8829..caeb17540 100644 --- a/ccpp/suites/suite_HAFS_v0_hwrf_thompson_ps.xml +++ b/ccpp/suites/sunbird_ps.xml @@ -1,6 +1,11 @@ + + diff --git a/ccpp/suites/suite_SCM_RRFS_v1.xml b/ccpp/suites/warbler.xml similarity index 89% rename from ccpp/suites/suite_SCM_RRFS_v1.xml rename to ccpp/suites/warbler.xml index ef1c73157..87de20ccc 100644 --- a/ccpp/suites/suite_SCM_RRFS_v1.xml +++ b/ccpp/suites/warbler.xml @@ -1,6 +1,9 @@ - - + + GFS_time_vary_pre @@ -76,4 +79,4 @@ GFS_physics_post - \ No newline at end of file + diff --git a/ccpp/suites/suite_SCM_RRFS_v1_ps.xml b/ccpp/suites/warbler_ps.xml similarity index 79% rename from ccpp/suites/suite_SCM_RRFS_v1_ps.xml rename to ccpp/suites/warbler_ps.xml index 91918a6b8..b2715b3ca 100644 --- a/ccpp/suites/suite_SCM_RRFS_v1_ps.xml +++ b/ccpp/suites/warbler_ps.xml @@ -1,6 +1,11 @@ + + GFS_time_vary_pre @@ -60,4 +65,4 @@ GFS_physics_post - \ No newline at end of file + diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_ACM_ps.xml b/ccpp/suites_not_used/suite_SCM_GFS_v15p2_ACM_ps.xml similarity index 100% rename from ccpp/suites/suite_SCM_GFS_v15p2_ACM_ps.xml rename to ccpp/suites_not_used/suite_SCM_GFS_v15p2_ACM_ps.xml diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_MYJ.xml b/ccpp/suites_not_used/suite_SCM_GFS_v15p2_MYJ.xml similarity index 100% rename from ccpp/suites/suite_SCM_GFS_v15p2_MYJ.xml rename to ccpp/suites_not_used/suite_SCM_GFS_v15p2_MYJ.xml diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP.xml b/ccpp/suites_not_used/suite_SCM_GFS_v15p2_RRTMGP.xml similarity index 100% rename from ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP.xml rename to ccpp/suites_not_used/suite_SCM_GFS_v15p2_RRTMGP.xml diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP_ps.xml b/ccpp/suites_not_used/suite_SCM_GFS_v15p2_RRTMGP_ps.xml similarity index 100% rename from ccpp/suites/suite_SCM_GFS_v15p2_RRTMGP_ps.xml rename to ccpp/suites_not_used/suite_SCM_GFS_v15p2_RRTMGP_ps.xml diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_YSU_ps.xml b/ccpp/suites_not_used/suite_SCM_GFS_v15p2_YSU_ps.xml similarity index 100% rename from ccpp/suites/suite_SCM_GFS_v15p2_YSU_ps.xml rename to ccpp/suites_not_used/suite_SCM_GFS_v15p2_YSU_ps.xml diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst.xml b/ccpp/suites_not_used/suite_SCM_GFS_v15p2_no_nsst.xml similarity index 100% rename from ccpp/suites/suite_SCM_GFS_v15p2_no_nsst.xml rename to ccpp/suites_not_used/suite_SCM_GFS_v15p2_no_nsst.xml diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_no_nsst_ps.xml b/ccpp/suites_not_used/suite_SCM_GFS_v15p2_no_nsst_ps.xml similarity index 100% rename from ccpp/suites/suite_SCM_GFS_v15p2_no_nsst_ps.xml rename to ccpp/suites_not_used/suite_SCM_GFS_v15p2_no_nsst_ps.xml diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_noahmp.xml b/ccpp/suites_not_used/suite_SCM_GFS_v15p2_noahmp.xml similarity index 100% rename from ccpp/suites/suite_SCM_GFS_v15p2_noahmp.xml rename to ccpp/suites_not_used/suite_SCM_GFS_v15p2_noahmp.xml diff --git a/ccpp/suites/suite_SCM_GFS_v15p2_saYSU_ps.xml b/ccpp/suites_not_used/suite_SCM_GFS_v15p2_saYSU_ps.xml similarity index 100% rename from ccpp/suites/suite_SCM_GFS_v15p2_saYSU_ps.xml rename to ccpp/suites_not_used/suite_SCM_GFS_v15p2_saYSU_ps.xml diff --git a/ccpp/suites/suite_SCM_GFS_v16_ugwpv1.xml b/ccpp/suites_not_used/suite_SCM_GFS_v16_ugwpv1.xml similarity index 100% rename from ccpp/suites/suite_SCM_GFS_v16_ugwpv1.xml rename to ccpp/suites_not_used/suite_SCM_GFS_v16_ugwpv1.xml diff --git a/ccpp/suites/suite_SCM_GSD_v1.xml b/ccpp/suites_not_used/suite_SCM_GSD_v1.xml similarity index 100% rename from ccpp/suites/suite_SCM_GSD_v1.xml rename to ccpp/suites_not_used/suite_SCM_GSD_v1.xml diff --git a/ccpp/suites/suite_SCM_GSD_v1_ps.xml b/ccpp/suites_not_used/suite_SCM_GSD_v1_ps.xml similarity index 100% rename from ccpp/suites/suite_SCM_GSD_v1_ps.xml rename to ccpp/suites_not_used/suite_SCM_GSD_v1_ps.xml diff --git a/ccpp/suites/suite_SCM_GSD_v1nssl.xml b/ccpp/suites_not_used/suite_SCM_GSD_v1nssl.xml similarity index 100% rename from ccpp/suites/suite_SCM_GSD_v1nssl.xml rename to ccpp/suites_not_used/suite_SCM_GSD_v1nssl.xml diff --git a/ccpp/suites/suite_SCM_GSD_v1nssl_ps.xml b/ccpp/suites_not_used/suite_SCM_GSD_v1nssl_ps.xml similarity index 100% rename from ccpp/suites/suite_SCM_GSD_v1nssl_ps.xml rename to ccpp/suites_not_used/suite_SCM_GSD_v1nssl_ps.xml diff --git a/ccpp/suites/suite_HAFS_v0_hwrf.xml b/ccpp/suites_not_used/suite_SCM_HAFS_v0_hwrf.xml similarity index 89% rename from ccpp/suites/suite_HAFS_v0_hwrf.xml rename to ccpp/suites_not_used/suite_SCM_HAFS_v0_hwrf.xml index c96348cfd..da92ea019 100644 --- a/ccpp/suites/suite_HAFS_v0_hwrf.xml +++ b/ccpp/suites_not_used/suite_SCM_HAFS_v0_hwrf.xml @@ -1,5 +1,8 @@ - + diff --git a/ccpp/suites/suite_HAFS_v0_hwrf_ps.xml b/ccpp/suites_not_used/suite_SCM_HAFS_v0_hwrf_ps.xml similarity index 78% rename from ccpp/suites/suite_HAFS_v0_hwrf_ps.xml rename to ccpp/suites_not_used/suite_SCM_HAFS_v0_hwrf_ps.xml index cfae0831a..f119aaf5a 100644 --- a/ccpp/suites/suite_HAFS_v0_hwrf_ps.xml +++ b/ccpp/suites_not_used/suite_SCM_HAFS_v0_hwrf_ps.xml @@ -1,5 +1,10 @@ + diff --git a/ccpp/suites/suite_SCM_RRFS_v1alpha.xml b/ccpp/suites_not_used/suite_SCM_RRFS_v1alpha.xml similarity index 95% rename from ccpp/suites/suite_SCM_RRFS_v1alpha.xml rename to ccpp/suites_not_used/suite_SCM_RRFS_v1alpha.xml index 7b0ec9db9..b9c9ee2d4 100644 --- a/ccpp/suites/suite_SCM_RRFS_v1alpha.xml +++ b/ccpp/suites_not_used/suite_SCM_RRFS_v1alpha.xml @@ -1,5 +1,8 @@ - + diff --git a/ccpp/suites/suite_SCM_RRFS_v1alpha_ps.xml b/ccpp/suites_not_used/suite_SCM_RRFS_v1alpha_ps.xml similarity index 85% rename from ccpp/suites/suite_SCM_RRFS_v1alpha_ps.xml rename to ccpp/suites_not_used/suite_SCM_RRFS_v1alpha_ps.xml index f21105dba..a85660c91 100644 --- a/ccpp/suites/suite_SCM_RRFS_v1alpha_ps.xml +++ b/ccpp/suites_not_used/suite_SCM_RRFS_v1alpha_ps.xml @@ -1,5 +1,9 @@ - + diff --git a/ccpp/suites/suite_SCM_csawmg.xml b/ccpp/suites_not_used/suite_SCM_csawmg.xml similarity index 100% rename from ccpp/suites/suite_SCM_csawmg.xml rename to ccpp/suites_not_used/suite_SCM_csawmg.xml diff --git a/ccpp/suites/suite_SCM_csawmg_ps.xml b/ccpp/suites_not_used/suite_SCM_csawmg_ps.xml similarity index 100% rename from ccpp/suites/suite_SCM_csawmg_ps.xml rename to ccpp/suites_not_used/suite_SCM_csawmg_ps.xml diff --git a/scm/src/CMakeLists.txt b/scm/src/CMakeLists.txt index 2ef20bb84..095c0cb53 100644 --- a/scm/src/CMakeLists.txt +++ b/scm/src/CMakeLists.txt @@ -105,6 +105,9 @@ ADD_DEFINITIONS(-DCCPP) # Add host-model specific preprocessor flag (needed for some physics schemes) ADD_DEFINITIONS(-DSCM) +ADD_DEFINITIONS(-DMPI) + + #------------------------------------------------------------------------------ # Add model-specific flags for C/C++/Fortran preprocessor ADD_DEFINITIONS(-DMOIST_CAPPA -DUSE_COND -DNEMS_GSM) @@ -241,6 +244,13 @@ else() set(CMAKE_Fortran_FLAGS_DYNAMICS "") endif() +#------------------------------------------------------------------------------ +# Set MPI flags for Fortran with MPI F08 interface +find_package(MPI REQUIRED Fortran) +if(NOT MPI_Fortran_HAVE_F08_MODULE) + message(FATAL_ERROR "MPI implementation does not support the Fortran 2008 mpi_f08 interface") +endif() + #------------------------------------------------------------------------------ # Set netCDF flags for preprocessor ADD_DEFINITIONS(-DNETCDF) @@ -257,6 +267,7 @@ endif() # How about using proper compile targets etc? #------------------------------------------------------------------------------ # Configure sources + ADD_SUBDIRECTORY(${CCPP_FRAMEWORK_SRC} ${CMAKE_BINARY_DIR}/ccpp/framework) ADD_SUBDIRECTORY(${CCPP_PHYSICS_SRC} ${CMAKE_BINARY_DIR}/ccpp/physics) ADD_DEPENDENCIES(ccpp_physics ccpp_framework) diff --git a/scm/src/GFS_typedefs.F90 b/scm/src/GFS_typedefs.F90 index cf4a6db0c..51e6ae1ed 100644 --- a/scm/src/GFS_typedefs.F90 +++ b/scm/src/GFS_typedefs.F90 @@ -1,5 +1,6 @@ module GFS_typedefs + use mpi_f08 use machine, only: kind_phys, kind_dbl_prec, kind_sngl_prec use module_radsw_parameters, only: topfsw_type, sfcfsw_type @@ -85,7 +86,7 @@ module GFS_typedefs type GFS_init_type integer :: me !< my MPI-rank integer :: master !< master MPI-rank - integer :: fcst_mpi_comm !< forecast tasks mpi communicator + type(MPI_Comm) :: fcst_mpi_comm !< forecast tasks mpi communicator integer :: fcst_ntasks !< total number of forecast tasks integer :: tile_num !< tile number for this MPI rank integer :: isc !< starting i-index for this MPI-domain @@ -693,7 +694,7 @@ module GFS_typedefs integer :: me !< MPI rank designator integer :: master !< MPI rank of master atmosphere processor - integer :: communicator !< MPI communicator + type(MPI_Comm) :: communicator !< MPI communicator integer :: ntasks !< MPI size in communicator integer :: nthreads !< OpenMP threads available for physics integer :: nlunit !< unit for namelist @@ -1153,6 +1154,7 @@ module GFS_typedefs logical :: lheatstrg !< flag for canopy heat storage parameterization logical :: lseaspray !< flag for sea spray parameterization logical :: cnvcld + logical :: xr_cnvcld !< flag for adding suspended convective clouds to Xu-Randall cloud fraction logical :: random_clds !< flag controls whether clouds are random logical :: shal_cnv !< flag for calling shallow convection logical :: do_deep !< whether to do deep convection @@ -2582,7 +2584,6 @@ subroutine sfcprop_create (Sfcprop, IM, Model) allocate(Sfcprop%iceprv (IM)) allocate(Sfcprop%snowprv (IM)) allocate(Sfcprop%graupelprv(IM)) - Sfcprop%iceprv = clear_val Sfcprop%snowprv = clear_val Sfcprop%graupelprv = clear_val @@ -3297,7 +3298,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & real(kind=kind_phys), dimension(:), intent(in) :: bk logical, intent(in) :: restart logical, intent(in) :: hydrostatic - integer, intent(in) :: communicator + type(MPI_Comm), intent(in) :: communicator integer, intent(in) :: ntasks integer, intent(in) :: nthreads @@ -3307,9 +3308,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & integer :: seed0 logical :: exists real(kind=kind_phys) :: tem - real(kind=kind_phys) :: rinc(5) - real(kind=kind_sngl_prec) :: rinc4(5) - real(kind=kind_dbl_prec) :: rinc8(5) + real(kind=kind_dbl_prec) :: rinc(5) real(kind=kind_phys) :: wrk(1) real(kind=kind_phys), parameter :: con_hr = 3600. @@ -3673,6 +3672,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & logical :: lheatstrg = .false. !< flag for canopy heat storage parameterization logical :: lseaspray = .false. !< flag for sea spray parameterization logical :: cnvcld = .false. + logical :: xr_cnvcld = .true. !< flag for including suspended convective clouds in Xu-Randall cloud fraction logical :: random_clds = .false. !< flag controls whether clouds are random logical :: shal_cnv = .false. !< flag for calling shallow convection integer :: imfshalcnv = 1 !< flag for mass-flux shallow convection scheme @@ -3979,7 +3979,6 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & real(kind=kind_phys) :: radar_tten_limits(2) = (/ limit_unspecified, limit_unspecified /) integer :: itime - integer :: w3kindreal,w3kindint !--- END NAMELIST VARIABLES @@ -4069,8 +4068,8 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & hwrf_samfdeep, hwrf_samfshal,progsigma,betascu,betamcu, & betadcu,h2o_phys, pdfcld, shcnvcw, redrag, hybedmf, satmedmf,& shinhong, do_ysu, dspheat, lheatstrg, lseaspray, cnvcld, & - random_clds, shal_cnv, imfshalcnv, imfdeepcnv, isatmedmf, & - do_deep, jcap, & + xr_cnvcld, random_clds, shal_cnv, imfshalcnv, imfdeepcnv, & + isatmedmf, do_deep, jcap, & cs_parm, flgmin, cgwf, ccwf, cdmbgwd, sup, ctei_rm, crtrh, & dlqf, rbcr, shoc_parm, psauras, prauras, wminras, & do_sppt, do_shum, do_skeb, & @@ -4949,6 +4948,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & Model%lheatstrg = lheatstrg Model%lseaspray = lseaspray Model%cnvcld = cnvcld + Model%xr_cnvcld = xr_cnvcld Model%random_clds = random_clds Model%shal_cnv = shal_cnv Model%imfshalcnv = imfshalcnv @@ -5664,19 +5664,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & Model%cdec = -9999. Model%clstp = -9999 rinc(1:5) = 0 - call w3kind(w3kindreal,w3kindint) - if (w3kindreal == 8) then - rinc8(1:5) = 0 - call w3difdat(jdat,idat,4,rinc8) - rinc = rinc8 - else if (w3kindreal == 4) then - rinc4(1:5) = 0 - call w3difdat(jdat,idat,4,rinc4) - rinc = rinc4 - else - write(0,*)' FATAL ERROR: Invalid w3kindreal' - call abort - endif + call w3difdat(jdat,idat,4,rinc) Model%phour = rinc(4)/con_hr Model%fhour = (rinc(4) + Model%dtp)/con_hr Model%zhour = mod(Model%phour,Model%fhzero) @@ -6251,7 +6239,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & ' do_shoc=', Model%do_shoc, ' nshoc3d=', Model%nshoc_3d, & ' nshoc_2d=', Model%nshoc_2d, ' shoc_cld=', Model%shoc_cld, & ' nkbfshoc=', Model%nkbfshoc, ' nahdshoc=', Model%nahdshoc, & - ' nscfshoc=', Model%nscfshoc, & + ' nscfshoc=', Model%nscfshoc, ' xr_cnvcld=',Model%xr_cnvcld, & ' uni_cld=', Model%uni_cld, & ' ntot3d=', Model%ntot3d, ' ntot2d=', Model%ntot2d, & ' shocaftcnv=',Model%shocaftcnv,' indcld=', Model%indcld, & @@ -6474,7 +6462,7 @@ subroutine control_print(Model) print *, 'basic control parameters' print *, ' me : ', Model%me print *, ' master : ', Model%master - print *, ' communicator : ', Model%communicator + print *, ' communicator : ', Model%communicator%mpi_val print *, ' nlunit : ', Model%nlunit print *, ' fn_nml : ', trim(Model%fn_nml) print *, ' fhzero : ', Model%fhzero @@ -7192,7 +7180,6 @@ subroutine tbd_create (Tbd, IM, Model) allocate (Tbd%h2opl (IM,levh2o,h2o_coeff)) Tbd%h2opl = clear_val Tbd%ozpl = clear_val - !--- ccn and in needs ! DH* allocate only for MG? *DH diff --git a/scm/src/GFS_typedefs.meta b/scm/src/GFS_typedefs.meta index 02f58b37a..2b2d485bf 100644 --- a/scm/src/GFS_typedefs.meta +++ b/scm/src/GFS_typedefs.meta @@ -3346,7 +3346,7 @@ long_name = MPI communicator units = index dimensions = () - type = integer + type = MPI_Comm [ntasks] standard_name = number_of_mpi_tasks long_name = number of MPI tasks in communicator @@ -5424,6 +5424,12 @@ units = flag dimensions = () type = logical +[xr_cnvcld] + standard_name = flag_for_suspended_convective_clouds_in_Xu_Randall + long_name = flag for using suspended convective clouds in Xu Randall + units = flag + dimensions = () + type = logical [shal_cnv] standard_name = flag_for_simplified_arakawa_schubert_shallow_convection long_name = flag for calling shallow convection @@ -10047,7 +10053,7 @@ [ltg1_max] standard_name = lightning_threat_index_1 long_name = lightning threat index 1 - units = flashes 5 min-1 + units = flashes min-1 dimensions = (horizontal_loop_extent) type = real kind = kind_phys @@ -10056,7 +10062,7 @@ [ltg2_max] standard_name = lightning_threat_index_2 long_name = lightning threat index 2 - units = flashes 5 min-1 + units = flashes min-1 dimensions = (horizontal_loop_extent) type = real kind = kind_phys @@ -10065,7 +10071,7 @@ [ltg3_max] standard_name = lightning_threat_index_3 long_name = lightning threat index 3 - units = flashes 5 min-1 + units = flashes min-1 dimensions = (horizontal_loop_extent) type = real kind = kind_phys diff --git a/scm/src/example_multi_run.py b/scm/src/example_multi_run.py index 342183c32..af5faea22 100644 --- a/scm/src/example_multi_run.py +++ b/scm/src/example_multi_run.py @@ -1,3 +1,3 @@ cases = ["bomex"] -suites = ["SCM_GFS_v16","SCM_GFS_v17_p8"] +suites = ["raven","bluebird"] namelists = ["input_GFS_v16.nml","input_GFS_v17_p8.nml"] diff --git a/scm/src/run_scm.py b/scm/src/run_scm.py index 926fb68ba..9acc5b64a 100755 --- a/scm/src/run_scm.py +++ b/scm/src/run_scm.py @@ -70,7 +70,7 @@ PHYSICS_SUITE_DIR = 'ccpp/suites' # Default suite to use if none is specified -DEFAULT_SUITE = 'SCM_GFS_v16' +DEFAULT_SUITE = 'raven' # Path to physics data files (relative to scm_root) PHYSICS_DATA_DIR = 'scm/data/physics_input_data' @@ -588,18 +588,6 @@ def setup_rundir(self): cmd = "ln -sf {0} {1}".format(os.path.join(SCM_ROOT, VERT_COORD_DATA_DIR, self._vert_coord_file), os.path.join(SCM_RUN, self._vert_coord_file)) execute(cmd) - # Link physics SDF to run directory - physics_suite = 'suite_' + self._suite + '.xml' - logging.debug('Linking physics suite {0} to run directory'.format(physics_suite)) - if os.path.isfile(os.path.join(SCM_RUN, physics_suite)): - os.remove(os.path.join(SCM_RUN, physics_suite)) - if not os.path.isfile(os.path.join(SCM_ROOT, PHYSICS_SUITE_DIR, physics_suite)): - message = 'Physics suite {0} not found in directory {1}'.format(physics_suite, os.path.join(SCM_ROOT, PHYSICS_SUITE_DIR)) - logging.critical(message) - raise Exception(message) - cmd = "ln -sf {0} {1}".format(os.path.join(SCM_ROOT, PHYSICS_SUITE_DIR, physics_suite), os.path.join(SCM_RUN, physics_suite)) - execute(cmd) - # Link physics data needed for schemes to run directory logging.debug('Linking physics input data from {0} into run directory'.format(os.path.join(SCM_ROOT, PHYSICS_DATA_DIR))) for entry in os.listdir(os.path.join(SCM_ROOT, PHYSICS_DATA_DIR)): @@ -720,7 +708,7 @@ def launch_executable(use_gdb, gdb, ignore_error = False): if use_gdb: cmd = '(cd {scm_run} && {gdb} {executable})'.format(scm_run=SCM_RUN, gdb=gdb, executable=EXECUTABLE) else: - cmd = '(cd {scm_run} && time {executable})'.format(scm_run=SCM_RUN, executable=EXECUTABLE) + cmd = '(cd {scm_run} && time mpirun -n 1 {executable})'.format(scm_run=SCM_RUN, executable=EXECUTABLE) logging.info('Passing control to "{0}"'.format(cmd)) time.sleep(1) # This will abort in 'execute' in the event of an error if ignore_error = False diff --git a/scm/src/scm.F90 b/scm/src/scm.F90 index ba152f1c1..9a05e974a 100644 --- a/scm/src/scm.F90 +++ b/scm/src/scm.F90 @@ -15,7 +15,8 @@ subroutine scm_main_sub() use scm_time_integration use scm_output use scm_type_defs - + use mpi_f08 + use :: ccpp_static_api, & only: ccpp_physics_init, & ccpp_physics_timestep_init, & @@ -30,6 +31,8 @@ subroutine scm_main_sub() type(scm_input_type), target :: scm_input_instance type(scm_reference_type), target :: scm_reference + type(MPI_Comm) :: fcst_mpi_comm + integer :: i, j, kdt_rad, idtend, itrac real(kind=8) :: rinc(5) !(DAYS, HOURS, MINUTES, SECONDS, MILLISECONDS) integer :: jdat(1:8) @@ -39,6 +42,13 @@ subroutine scm_main_sub() character(len=16) :: logfile_name logical :: in_spinup + call MPI_INIT(ierr) + if (ierr/=0) then + write(*,*) 'An error occurred in MPI_INIT: ', ierr + stop 1 + end if + fcst_mpi_comm = MPI_COMM_WORLD + call get_config_nml(scm_state) select case(scm_state%input_type) @@ -94,6 +104,7 @@ subroutine scm_main_sub() open(unit=physics%Init_parm%logunit, file=trim(scm_state%output_dir)//'/'//logfile_name, action='write', status='replace') end if + physics%Init_parm%fcst_mpi_comm = fcst_mpi_comm physics%Init_parm%levs = scm_state%n_levels physics%Init_parm%bdat(1) = scm_state%init_year physics%Init_parm%bdat(2) = scm_state%init_month @@ -120,7 +131,7 @@ subroutine scm_main_sub() call GFS_suite_setup(physics%Model, physics%Statein, physics%Stateout, & physics%Sfcprop, physics%Coupling, physics%Grid, & physics%Tbd, physics%Cldprop, physics%Radtend, & - physics%Diag, physics%Interstitial, 0, 1, 1, & + physics%Diag, physics%Interstitial, 1, 1, & physics%Init_parm, scm_state%n_cols, scm_state%lon, & scm_state%lat, scm_state%area) @@ -418,6 +429,12 @@ subroutine scm_main_sub() write(*,'(a,i0,a)') 'An error occurred in ccpp_physics_finalize: ' // trim(cdata%errmsg) // '. Exiting...' stop 1 end if + + call MPI_FINALIZE(ierr) + if (ierr/=0) then + write(*,*) 'An error occurred in MPI_FINALIZE: ', ierr + stop 1 + end if end subroutine scm_main_sub @@ -429,5 +446,7 @@ end module scm_main !! subroutine \ref scm_main_sub above. program scm use scm_main + use mpi_f08 + call scm_main_sub() end program scm diff --git a/scm/src/scm_setup.F90 b/scm/src/scm_setup.F90 index 30ebf3d47..5f4423e29 100644 --- a/scm/src/scm_setup.F90 +++ b/scm/src/scm_setup.F90 @@ -279,7 +279,7 @@ end subroutine patch_in_ref !-------------- subroutine GFS_suite_setup (Model, Statein, Stateout, Sfcprop, & Coupling, Grid, Tbd, Cldprop, Radtend, Diag, & - Interstitial, communicator, ntasks, nthreads, & + Interstitial, ntasks, nthreads, & Init_parm, n_cols, lon, lat, area) use machine, only: kind_phys @@ -311,7 +311,6 @@ subroutine GFS_suite_setup (Model, Statein, Stateout, Sfcprop, type(GFS_interstitial_type), intent(inout) :: Interstitial type(GFS_init_type), intent(in) :: Init_parm - integer, intent(in) :: communicator integer, intent(in) :: ntasks, nthreads, n_cols real(kind=dp), dimension(n_cols), intent(in) :: lon, lat, area @@ -334,7 +333,7 @@ subroutine GFS_suite_setup (Model, Statein, Stateout, Sfcprop, Init_parm%input_nml_file, Init_parm%tile_num, & Init_parm%blksz, Init_parm%ak, Init_parm%bk, & Init_parm%restart, Init_parm%hydrostatic, & - communicator, ntasks, nthreads) + Init_parm%fcst_mpi_comm, ntasks, nthreads) !--- initialize DDTs diff --git a/scm/src/suite_info.py b/scm/src/suite_info.py index 5564287f2..fa5636cb3 100755 --- a/scm/src/suite_info.py +++ b/scm/src/suite_info.py @@ -42,32 +42,22 @@ def timestep(self, value): raise Exception(message) suite_list = [] -suite_list.append(suite('SCM_GFS_v16', 'tracers_GFS_v16.txt', 'input_GFS_v16.nml', 600.0, 1800.0, True )) -suite_list.append(suite('SCM_GFS_v17_p8', 'tracers_GFS_v17_p8.txt', 'input_GFS_v17_p8.nml', 600.0, 600.0, True )) -suite_list.append(suite('SCM_GFS_v17_HR3', 'tracers_GFS_v17_HR3.txt', 'input_GFS_v17_HR3.nml', 600.0, 600.0, True )) -suite_list.append(suite('SCM_GFS_v17_HR3_RRTMGP','tracers_GFS_v17_HR3.txt', 'input_GFS_v17_HR3_RRTMGP.nml', 600.0, 600.0, True )) -suite_list.append(suite('SCM_RAP', 'tracers_RAP.txt', 'input_RAP.nml', 600.0, 600.0 , True )) -suite_list.append(suite('SCM_RRFS_v1', 'tracers_RRFS_v1.txt', 'input_RRFS_v1.nml', 600.0, 600.0 , True )) -suite_list.append(suite('SCM_RRFS_v1beta', 'tracers_RRFS_v1beta.txt', 'input_RRFS_v1beta.nml', 600.0, 600.0 , True )) -suite_list.append(suite('SCM_WoFS_v0', 'tracers_WoFS_v0.txt', 'input_WoFS_v0.nml', 600.0, 600.0 , True )) -suite_list.append(suite('SCM_HRRR', 'tracers_HRRR.txt', 'input_HRRR.nml', 600.0, 600.0 , True )) +suite_list.append(suite('raven', 'tracers_GFS_v16.txt', 'input_GFS_v16.nml', 600.0, 1800.0, True )) +suite_list.append(suite('bluebird', 'tracers_GFS_v17_p8.txt', 'input_GFS_v17_p8.nml', 600.0, 600.0, True )) +suite_list.append(suite('magpie', 'tracers_GFS_v17_HR3.txt', 'input_GFS_v17_HR3.nml', 600.0, 600.0, True )) +suite_list.append(suite('robin', 'tracers_GFS_v17_p8.txt', 'input_GFS_v17_HR3_RRTMGP.nml', 600.0, 600.0, True )) +suite_list.append(suite('albatross', 'tracers_RAP.txt', 'input_RAP.nml', 600.0, 600.0 , True )) +suite_list.append(suite('warbler', 'tracers_RRFS_v1.txt', 'input_RRFS_v1.nml', 600.0, 600.0 , True )) +suite_list.append(suite('pigeon', 'tracers_RRFS_v1beta.txt', 'input_RRFS_v1beta.nml', 600.0, 600.0 , True )) +suite_list.append(suite('hummingbird', 'tracers_WoFS_v0.txt', 'input_WoFS_v0.nml', 600.0, 600.0 , True )) +suite_list.append(suite('bald_eagle', 'tracers_HRRR.txt', 'input_HRRR.nml', 600.0, 600.0 , True )) -suite_list.append(suite('SCM_GFS_v15p2', 'tracers_GFS_v15p2.txt', 'input_GFS_v15p2.nml', 600.0, 1800.0, False)) -suite_list.append(suite('SCM_GFS_v15p2_RRTMGP', 'tracers_GFS_v15p2.txt', 'input_GFS_v15p2_RRTMGP.nml', 600.0, 1800.0, False)) -suite_list.append(suite('SCM_GFS_v15p2_no_nsst', 'tracers_GFS_v15p2.txt', 'input_GFS_v15p2.nml', 600.0, 1800.0, False)) -suite_list.append(suite('SCM_GFS_v15p2_noahmp', 'tracers_GFS_v15p2.txt', 'input_GFS_v15p2_noahmp.nml', 600.0, 1800.0, False)) -suite_list.append(suite('SCM_GFS_v15p2_MYJ', 'tracers_GFS_v15p2.txt', 'input_GFS_v15p2_MYJ.nml', 600.0, 1800.0, False)) -suite_list.append(suite('SCM_GFS_v15p2_YSU', 'tracers_GFS_v15p2.txt', 'input_GFS_v15p2_YSU.nml', 600.0, 1800.0, False)) -suite_list.append(suite('SCM_GFS_v15p2_saYSU', 'tracers_GFS_v15p2.txt', 'input_GFS_v15p2_saYSU.nml', 600.0, 1800.0, False)) -suite_list.append(suite('SCM_GFS_v15p2_ACM', 'tracers_GFS_v15p2.txt', 'input_GFS_v15p2_ACM.nml', 600.0, 1800.0, False)) -suite_list.append(suite('SCM_GFS_v16_RRTMGP', 'tracers_GFS_v16.txt', 'input_GFS_v16_RRTMGP.nml', 600.0, 1800.0, False)) -suite_list.append(suite('SCM_GFS_v16_no_nsst', 'tracers_GFS_v16.txt', 'input_GFS_v16.nml', 600.0, 1800.0, False)) -suite_list.append(suite('HAFS_v0_hwrf', 'tracers_HAFS_v0_hwrf.txt', 'input_HAFS_v0_hwrf.nml', 600.0, 1800.0, False)) -suite_list.append(suite('HAFS_v0_hwrf_thompson', 'tracers_HAFS_v0_hwrf_thompson.txt', 'input_HAFS_v0_hwrf_thompson.nml', 600.0, 600.0 , False)) -suite_list.append(suite('SCM_GSD_v1nssl', 'tracers_gsd_nssl.txt', 'input_GSD_v1nssl.nml', 600.0, 600.0 , False)) -suite_list.append(suite('SCM_GSD_v1', 'tracers_gsd.txt', 'input_GSD_v1.nml', 600.0, 600.0 , False)) -suite_list.append(suite('SCM_RRFS_v1nssl', 'tracers_RRFS_v1nssl_nohail_noccn.txt', 'input_RRFS_v1nssl_nohailnoccn.nml', 600.0, 600.0 , False)) -suite_list.append(suite('SCM_csawmg', 'tracers_csawmg.txt', 'input_csawmg.nml', 600.0, 1800.0, False)) +suite_list.append(suite('kingfisher', 'tracers_GFS_v15p2.txt', 'input_GFS_v15p2.nml', 600.0, 1800.0, False)) +suite_list.append(suite('mallard', 'tracers_GFS_v16.txt', 'input_GFS_v16_RRTMGP.nml', 600.0, 1800.0, False)) +suite_list.append(suite('nuthatch', 'tracers_GFS_v16.txt', 'input_GFS_v16.nml', 600.0, 1800.0, False)) +suite_list.append(suite('macaw', 'tracers_HAFS_v0_hwrf.txt', 'input_HAFS_v0_hwrf.nml', 600.0, 1800.0, False)) +suite_list.append(suite('sunbird', 'tracers_HAFS_v0_hwrf_thompson.txt', 'input_HAFS_v0_hwrf_thompson.nml', 600.0, 600.0 , False)) +suite_list.append(suite('crossbill', 'tracers_RRFS_v1nssl_nohail_noccn.txt', 'input_RRFS_v1nssl_nohailnoccn.nml', 600.0, 600.0 , False)) def main(): diff --git a/scm/src/supported_suites.py b/scm/src/supported_suites.py index aee06a705..5f9816a5f 100644 --- a/scm/src/supported_suites.py +++ b/scm/src/supported_suites.py @@ -1 +1 @@ -suites = ["SCM_GFS_v16","SCM_GFS_v17_p8","SCM_GFS_v17_HR3","SCM_HRRR","SCM_RAP","SCM_RRFS_v1beta","SCM_WoFS_v0"] +suites = ["raven","magpie","robin","warbler","hummingbird"] diff --git a/test/plot_scm_out.py b/test/plot_scm_out.py index d8474071e..c1796a251 100755 --- a/test/plot_scm_out.py +++ b/test/plot_scm_out.py @@ -1,5 +1,7 @@ #!/usr/bin/env python +import argparse + ############################################################################### # # This script compares SCM output from two simulations. @@ -82,7 +84,7 @@ def plot_results(file_bl, file_rt=None, vars2plt=None): if file_rt is not None: x2 = SCM_RT[timeD][:].squeeze()/3600. #seconds - >hours # If temporal dimensions disagree, con't compute deltas from experiments, turn off difference plots. - if (len(x1) != len(x2)): + if (x1.shape != x2.shape): plot_diff = False # end if # end if @@ -198,3 +200,18 @@ def plot_results(file_bl, file_rt=None, vars2plt=None): # end for (fields in file) return(plot_files) + +if __name__ == "__main__": + + #Parse arguments + parser = argparse.ArgumentParser( + description="Script for setting up a forecast and creating a workflow"\ + "according to the parameters specified in the config file\n") + + parser.add_argument('-bl', '--baseline', type=str, required=True, + help='Baseline file') + parser.add_argument('-rt', '--rt', type=str, required=True, + help='Regression test file') + pargs = parser.parse_args() + + plot_results(pargs.baseline, pargs.rt, False) diff --git a/test/rt_test_cases.py b/test/rt_test_cases.py index 0a2bd76d0..ddb56f3d4 100644 --- a/test/rt_test_cases.py +++ b/test/rt_test_cases.py @@ -1,57 +1,57 @@ run_list = [\ - #---------------------------------------------------------------------------------------------------------------------------------------------- + #----------------------------------------------------------------- # Supported suites for CCPP Version 7 release - #---------------------------------------------------------------------------------------------------------------------------------------------- - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_HR3"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_HR3_RRTMGP"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v16"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_WoFS_v0"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RRFS_v1"}, \ - {"case": "twpice", "suite": "SCM_GFS_v17_HR3"}, \ - {"case": "twpice", "suite": "SCM_GFS_v17_HR3_RRTMGP"}, \ - {"case": "twpice", "suite": "SCM_GFS_v16"}, \ - {"case": "twpice", "suite": "SCM_WoFS_v0"}, \ - {"case": "twpice", "suite": "SCM_RRFS_v1"}, \ - {"case": "bomex", "suite": "SCM_GFS_v17_HR3"}, \ - {"case": "bomex", "suite": "SCM_GFS_v17_HR3_RRTMGP"}, \ - {"case": "bomex", "suite": "SCM_GFS_v16"}, \ - {"case": "bomex", "suite": "SCM_WoFS_v0"}, \ - {"case": "bomex", "suite": "SCM_RRFS_v1"}, \ - {"case": "astex", "suite": "SCM_GFS_v17_HR3"}, \ - {"case": "astex", "suite": "SCM_GFS_v17_HR3_RRTMGP"}, \ - {"case": "astex", "suite": "SCM_GFS_v16"}, \ - {"case": "astex", "suite": "SCM_WoFS_v0"}, \ - {"case": "astex", "suite": "SCM_RRFS_v1"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_HR3"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_HR3_RRTMGP"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_GFS_v16"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_WoFS_v0"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_RRFS_v1"}, \ - #---------------------------------------------------------------------------------------------------------------------------------------------- + #----------------------------------------------------------------- + {"case": "arm_sgp_summer_1997_A", "suite": "raven"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "magpie"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "robin"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "warbler"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "hummingbird"}, \ + {"case": "twpice", "suite": "raven"}, \ + {"case": "twpice", "suite": "magpie"}, \ + {"case": "twpice", "suite": "robin"}, \ + {"case": "twpice", "suite": "warbler"}, \ + {"case": "twpice", "suite": "hummingbird"}, \ + {"case": "bomex", "suite": "raven"}, \ + {"case": "bomex", "suite": "magpie"}, \ + {"case": "bomex", "suite": "robin"}, \ + {"case": "bomex", "suite": "warbler"}, \ + {"case": "bomex", "suite": "hummingbird"}, \ + {"case": "astex", "suite": "raven"}, \ + {"case": "astex", "suite": "magpie"}, \ + {"case": "astex", "suite": "robin"}, \ + {"case": "astex", "suite": "warbler"}, \ + {"case": "astex", "suite": "hummingbird"}, \ + {"case": "LASSO_2016051812", "suite": "raven"}, \ + {"case": "LASSO_2016051812", "suite": "magpie"}, \ + {"case": "LASSO_2016051812", "suite": "robin"}, \ + {"case": "LASSO_2016051812", "suite": "warbler"}, \ + {"case": "LASSO_2016051812", "suite": "hummingbird"}, \ + #--------------------------------------------------------------- # Unsupported suites (w/ supported cases) - #---------------------------------------------------------------------------------------------------------------------------------------------- - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_HRRR"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RAP"}, \ - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_GFS_v15p2"}, \ - {"case": "twpice", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "twpice", "suite": "SCM_HRRR"}, \ - {"case": "twpice", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "twpice", "suite": "SCM_RAP"}, \ - {"case": "twpice", "suite": "SCM_GFS_v15p2"}, \ - {"case": "bomex", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "bomex", "suite": "SCM_HRRR"}, \ - {"case": "bomex", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "bomex", "suite": "SCM_RAP"}, \ - {"case": "bomex", "suite": "SCM_GFS_v15p2"}, \ - {"case": "astex", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "astex", "suite": "SCM_HRRR"}, \ - {"case": "astex", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "astex", "suite": "SCM_RAP"}, \ - {"case": "astex", "suite": "SCM_GFS_v15p2"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_GFS_v17_p8"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_HRRR"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_RRFS_v1beta"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_RAP"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_GFS_v15p2"}] + #--------------------------------------------------------------- + {"case": "arm_sgp_summer_1997_A", "suite": "kingfisher"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "bluebird"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "bald_eagle"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "pigeon"}, \ + {"case": "arm_sgp_summer_1997_A", "suite": "albatross"}, \ + {"case": "twpice", "suite": "kingfisher"}, \ + {"case": "twpice", "suite": "bluebird"}, \ + {"case": "twpice", "suite": "bald_eagle"}, \ + {"case": "twpice", "suite": "pigeon"}, \ + {"case": "twpice", "suite": "albatross"}, \ + {"case": "bomex", "suite": "kingfisher"}, \ + {"case": "bomex", "suite": "bluebird"}, \ + {"case": "bomex", "suite": "bald_eagle"}, \ + {"case": "bomex", "suite": "pigeon"}, \ + {"case": "bomex", "suite": "albatross"}, \ + {"case": "astex", "suite": "kingfisher"}, \ + {"case": "astex", "suite": "bluebird"}, \ + {"case": "astex", "suite": "bald_eagle"}, \ + {"case": "astex", "suite": "pigeon"}, \ + {"case": "astex", "suite": "albatross"}, \ + {"case": "LASSO_2016051812", "suite": "kingfisher"}, \ + {"case": "LASSO_2016051812", "suite": "bluebird"}, \ + {"case": "LASSO_2016051812", "suite": "bald_eagle"}, \ + {"case": "LASSO_2016051812", "suite": "pigeon"}, \ + {"case": "LASSO_2016051812", "suite": "albatross"}] diff --git a/test/rt_test_cases_nvidia.py b/test/rt_test_cases_nvidia.py index 14473306c..c6b68abf9 100644 --- a/test/rt_test_cases_nvidia.py +++ b/test/rt_test_cases_nvidia.py @@ -1,9 +1,9 @@ run_list = [\ - #---------------------------------------------------------------------------------------------------------------------------------------------- + #---------------------------------------------------------------- # CCPP-SCM suites for use with Nvidia compilers - #---------------------------------------------------------------------------------------------------------------------------------------------- - {"case": "arm_sgp_summer_1997_A", "suite": "SCM_RAP"}, \ - {"case": "twpice", "suite": "SCM_RAP"}, \ - {"case": "bomex", "suite": "SCM_RAP"}, \ - {"case": "astex", "suite": "SCM_RAP"}, \ - {"case": "LASSO_2016051812", "suite": "SCM_RAP"}] + #---------------------------------------------------------------- + {"case": "arm_sgp_summer_1997_A", "suite": "albatross"}, \ + {"case": "twpice", "suite": "albatross"}, \ + {"case": "bomex", "suite": "albatross"}, \ + {"case": "astex", "suite": "albatross"}, \ + {"case": "LASSO_2016051812", "suite": "albatross"}]