From a616c1d7f7e45fef7555dbc0ef032edcfab60a57 Mon Sep 17 00:00:00 2001 From: gsketefian <31046882+gsketefian@users.noreply.github.com> Date: Thu, 8 Oct 2020 14:36:26 -0600 Subject: [PATCH 01/15] Modify/add predefined grids (#305) ## DESCRIPTION OF CHANGES: This PR renames and modifies several existing grids and creates some new ones. Details below. Note that the 3 grids required for the ufs-srweather-app release are created in this PR: RRFS_CONUS_25km, RRFS_CONUS_13km, RRFS_CONUS_3km. These pass their tests (2 tests per grid) except for RRFS_CONUS_13km, which fails one of its two tests in the make_ics task. This may need further attention, possibly after the PR is merged. ### CONUS and SUBCONUS grids of ESGgrid type: * There are currently four such grids: GSD_HRRR25km, GSD_HRRR13km, GSD_HRRR3km, and GSD_SUBCONUS3km. * These have been renamed to RRFS_CONUS_25km, RRFS_CONUS_13km, RRFS_CONUS_3km, and RRFS_SUBCONUS_3km, respectively. * The grid parameters (both native and write-component) have been adjusted as follows: * The outer boundaries of the three CONUS grids are reset such that they are as close to the HRRRX grid boundary as possible but such that each grid, including its 4-cell-wide halo, is within the HRRRX domain. This is to ensure that the HRRRX can be used to generate ICs for these CONUS grids. * The write-component grid corresponding to each of these four native grids is reset such that it is as large as possible but still lies completely within the grid (without any halo points). * There is no longer a GFDLgrid type grid corresponding to these grids; they are all strictly of type ESGgrid. Setting GRID_GEN_METHOD to "GFDLgrid" with any of these grids will result in an error during the workflow generation step. * The following WE2E tests have been added to test these grids: * grid_RRFS_CONUS_25km_FV3GFS_FV3GFS - run on the RRFS_CONUS_13km grid using FV3GFS for ICs/LBCs and the GFS_v16beta physics suite. * grid_RRFS_CONUS_13km_FV3GFS_FV3GFS - same as above but for the RRFS_CONUS_13km grid. * grid_RRFS_CONUS_3km_FV3GFS_FV3GFS - same as above but for the RRFS_CONUS_3km grid. * grid_RRFS_SUBCONUS_3km_FV3GFS_FV3GFS - same as above but for the RRFS_SUBCONUS_3km grid. * grid_RRFS_CONUS_25km_HRRRX_RAPX - run on the RRFS_CONUS_25km grid using HRRRX for ICs, RAPX for LBCs, and the GSD_SAR physics suite. * grid_RRFS_CONUS_13km_HRRRX_RAPX - same as above but for the RRFS_CONUS_13km grid. * grid_RRFS_CONUS_3km_HRRRX_RAPX - same as above but for the RRFS_CONUS_3km grid. * grid_RRFS_SUBCONUS_3km_HRRRX_RAPX - same as above but for the RRFS_SUBCONUS_3km grid. ### CONUS grids of GFDLgrid type: * There are currently two GFDLgrid type grids that are actively tested: EMC_CONUS_coarse and EMC_CONUS_3km. * Two new ones similar to these have been introduced: CONUS_25km_GFDLgrid and CONUS_3km_GFDLgrid. * CONUS_25km_GFDLgrid is similar to EMC_CONUS_coarse except that it is adjusted to be centered about the "center" point (with respect to the "parent" tile 6) and to have an average cell size of about 25.1km (whereas EMC_CONUS_coarse was not symmetric and had an average cell size of about 23.? km). In centering the grid, the number of grid points in each direction was chosen to allow more choices in setting LAYOUT_X, LAYOUT_Y, and BLOCKSIZE. * CONUS_3km_GFDLgrid is similar to EMC_CONUS_3km except that it is adjusted to be centered about the "center" point (with respect to the "parent" tile 6). In centering the grid, the number of grid points in each direction was chosen to allow more choices in setting LAYOUT_X, LAYOUT_Y, and BLOCKSIZE. * The write-component grids corresponding to these two native grids have been set such that they are as large as possible but still lie completely within the native grid (without any halo points). * These grids are present to allow testing of the GFDLgrid capability in the workflow as new PRs are merged. * The current EMC_CONUS_coarse and EMC_CONUS_3km grids are retained for now but will be removed soon in another PR. * Setting GRID_GEN_METHOD to "ESGgrid" is not allowed with either of these grids; if set, it will result in an error during the workflow generation step. * The following WE2E tests have been added to test these grids: * grid_CONUS_25km_GFDLgrid_FV3GFS_FV3GFS - run on the CONUS_25km_GFDLgrid grid using FV3GFS for ICs/LBCs and the GFS_v16beta physics suite. * grid_CONUS_3km_GFDLgrid_FV3GFS_FV3GFS - same as above but on the CONUS_3km_GFDLgrid grid. ### Alaska grids: * There are currently three Alaska grids of ESGgrid type: EMC_AK (a 3-km grid), GSD_RRFSAK_3km, and GSD_HRRR_AK_50km. Only GSD_HRRR_AK_50km is actively tested. * The RRFSAK_3km grid is renamed to RRFS_AK_3km and its write-component grid adjusted so that it covers as much of the native as possible without going outside. * The new Alaska grids RRFS_AK_13km has been added. This is meant to be a replacement for the GSD_HRRR_AK_50km, which was deemed too coarse for testing (and will be removed in a future PR). * The Alaska grids RRFS_AK_3km and RRFS_AK_13km fail most of the tests (see below) and need further adjustment. They are included in this PR in order to allow users to try them and suggest modifications. * The following WE2E tests have been added to test these grids: * grid_RRFS_AK_13km_FV3GFS_FV3GFS - run on the RRFS_AK_13km grid using FV3GFS for ICs/LBCs and the GFS_v16beta physics suite. * grid_RRFS_AK_3km_FV3GFS_FV3GFS - same as above but for the RRFS_AK_3km grid. * grid_RRFS_AK_13km_RAPX_RAPX - run on the RRFS_AK_13km grid using RAPX for ICs/LBCs and the GSD_SAR physics suite. * grid_RRFS_AK_3km_RAPX_RAPX - same as above but for the RRFS_AK_3km grid. ## TESTS CONDUCTED: Ran the 14 new WE2E tests added in this PR. Test results are as follows: ``` * grid_RRFS_CONUS_13km_FV3GFS_FV3GFS SUCCESS * grid_RRFS_CONUS_13km_HRRRX_RAPX FAILURE - In make_ics task * Log file: PET00 ESMCI_Mesh_Regrid_Glue.C:313 c_esmc_regrid_create() Arguments are incompatible - - There exist destination points (e.g. id=1) which can't be mapped to any source cell * Boundary of native grid may be too close to that of HRRRX grid. * grid_RRFS_CONUS_25km_FV3GFS_FV3GFS SUCCESS * grid_RRFS_CONUS_25km_HRRRX_RAPX SUCCESS * grid_RRFS_CONUS_3km_FV3GFS_FV3GFS SUCCESS * grid_RRFS_CONUS_3km_HRRRX_RAPX SUCCESS * grid_RRFS_SUBCONUS_3km_FV3GFS_FV3GFS FAILURE - In run_fcst task * Log file: FATAL from PE 719: compute_qs: saturation vapor pressure table overflow, nbad= 1 * Fails only after hour 5, so probably not a grid issue. * grid_RRFS_SUBCONUS_3km_HRRRX_RAPX SUCCESS * grid_CONUS_25km_GFDLgrid_FV3GFS_FV3GFS SUCCESS * grid_CONUS_3km_GFDLgrid_FV3GFS_FV3GFS SUCCESS * grid_RRFS_AK_13km_FV3GFS_FV3GFS SUCCESS * grid_RRFS_AK_13km_RAPX_RAPX FAILURE - In run_fcst task * Log file: AVOST IN VILKA Table index= -2147483648 I,J= 1 1 LU_index = 15 Psfc[hPa] = 914.224907314199 Tsfc = 278.090454101562 * grid_RRFS_AK_3km_FV3GFS_FV3GFS FAILURE - In run_fcst task * Log file: forrtl: severe (174): SIGSEGV, segmentation fault occurred *** longjmp causes uninitialized stack frame ***: /scratch2/BMC/det/Gerard.Ketefian/UFS_CAM/PR_feature_predef_grids/ufs-srweather-app/exec/fv3_g fs.x terminated * Fails only after hour 2, so probably not a grid issue. * grid_RRFS_AK_3km_RAPX_RAPX FAILURE - In run_fcst task * Log file: AVOST IN VILKA Table index= -2147483648 I,J= 1 1 LU_index = 15 Psfc[hPa] = 847.226062635191 Tsfc = 294.777954101562 ``` Note that: * The RRFS_CONUS_XXkm grids pass 5 of 6 tests. The failure of test grid_RRFS_CONUS_13km_HRRRX_RAPX in the make_ics task is due to there being one or more "destination" cells on the RRFS_CONUS_13km grid for which chgres_cube could not find one or more "source" cells on the HRRRX external grid. This may be fixed by making the RRFS_CONUS_13km grid smaller, but it would be better to fix chgres_cube so that this case works (since the RRFS_CONUS_13km grid, including its 4-cell-wide halo, is already completely within the HRRRX domain). * The RRFS_SUBCONUS_XXkm grids (2 tests) pass for the HRRRX/RAPX ICs/LBCs case but fail in the run_fcst task for the FV3GFS ICs/LBCs case. Since the failure occurs after hour 5, it is probably not grid-related. * The CONUS_XXkm_GFDLgrid grids pass their tests (2 tests). * The RRFS_AK_XXkm grids pass only 1 of 4 tests. These failures need to be investigated further. --- .../baseline_configs/config.DOT_OR_USCORE.sh | 2 +- .../config.community_ensemble_008mems.sh | 2 +- .../config.community_ensemble_2mems.sh | 2 +- ...get_extrn_files_from_hpss_FV3GFS_FV3GFS.sh | 2 +- ...get_extrn_files_from_hpss_GSMGFS_GSMGFS.sh | 2 +- ...ig.get_extrn_files_from_hpss_HRRRX_RAPX.sh | 2 +- ...fig.get_extrn_files_from_hpss_RAPX_RAPX.sh | 2 +- ....grid_CONUS_25km_GFDLgrid_FV3GFS_FV3GFS.sh | 19 + ...g.grid_CONUS_3km_GFDLgrid_FV3GFS_FV3GFS.sh | 19 + .../config.grid_RRFS_AK_13km_FV3GFS_FV3GFS.sh | 20 + .../config.grid_RRFS_AK_13km_RAPX_RAPX.sh | 20 + .../config.grid_RRFS_AK_3km_FV3GFS_FV3GFS.sh | 20 + .../config.grid_RRFS_AK_3km_RAPX_RAPX.sh | 20 + ...nfig.grid_RRFS_CONUS_13km_FV3GFS_FV3GFS.sh | 19 + .../config.grid_RRFS_CONUS_13km_HRRRX_RAPX.sh | 19 + ...nfig.grid_RRFS_CONUS_25km_FV3GFS_FV3GFS.sh | 19 + .../config.grid_RRFS_CONUS_25km_HRRRX_RAPX.sh | 19 + ...onfig.grid_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh | 19 + .../config.grid_RRFS_CONUS_3km_HRRRX_RAPX.sh | 19 + ...ig.grid_RRFS_SUBCONUS_3km_FV3GFS_FV3GFS.sh | 19 + ...onfig.grid_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh | 19 + ... config.nco_RRFS_CONUS_25km_HRRRX_RAPX.sh} | 2 +- ...onfig.nco_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh} | 2 +- ...> config.nco_RRFS_CONUS_3km_HRRRX_RAPX.sh} | 2 +- ...onfig.nco_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh} | 2 +- .../config.pregen_grid_orog_sfc_climo.sh | 2 +- tests/baseline_configs/config.regional_001.sh | 2 +- tests/baseline_configs/config.regional_002.sh | 2 +- .../config.suite_FV3_CPT_v0.sh | 2 +- .../config.suite_FV3_GFS_v15p2.sh | 2 +- .../config.suite_FV3_GFS_v16beta.sh | 2 +- .../config.suite_FV3_GSD_SAR.sh | 2 +- .../config.suite_FV3_GSD_v0.sh | 2 +- .../config.suite_FV3_RRFS_v1beta.sh | 2 +- .../config.user_download_extrn_files.sh | 2 +- tests/baselines_list.txt | 9 +- ush/config.community.sh | 2 +- ush/config_defaults.sh | 10 - ush/set_gridparams_ESGgrid.sh | 2 - ush/set_predef_grid_params.sh | 353 +++++++++++++----- ush/setup.sh | 6 +- ush/templates/wrtcmp_lambert_conformal | 8 +- ush/valid_param_vals.sh | 21 +- 43 files changed, 572 insertions(+), 151 deletions(-) create mode 100644 tests/baseline_configs/config.grid_CONUS_25km_GFDLgrid_FV3GFS_FV3GFS.sh create mode 100644 tests/baseline_configs/config.grid_CONUS_3km_GFDLgrid_FV3GFS_FV3GFS.sh create mode 100644 tests/baseline_configs/config.grid_RRFS_AK_13km_FV3GFS_FV3GFS.sh create mode 100644 tests/baseline_configs/config.grid_RRFS_AK_13km_RAPX_RAPX.sh create mode 100644 tests/baseline_configs/config.grid_RRFS_AK_3km_FV3GFS_FV3GFS.sh create mode 100644 tests/baseline_configs/config.grid_RRFS_AK_3km_RAPX_RAPX.sh create mode 100644 tests/baseline_configs/config.grid_RRFS_CONUS_13km_FV3GFS_FV3GFS.sh create mode 100644 tests/baseline_configs/config.grid_RRFS_CONUS_13km_HRRRX_RAPX.sh create mode 100644 tests/baseline_configs/config.grid_RRFS_CONUS_25km_FV3GFS_FV3GFS.sh create mode 100644 tests/baseline_configs/config.grid_RRFS_CONUS_25km_HRRRX_RAPX.sh create mode 100644 tests/baseline_configs/config.grid_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh create mode 100644 tests/baseline_configs/config.grid_RRFS_CONUS_3km_HRRRX_RAPX.sh create mode 100644 tests/baseline_configs/config.grid_RRFS_SUBCONUS_3km_FV3GFS_FV3GFS.sh create mode 100644 tests/baseline_configs/config.grid_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh rename tests/baseline_configs/{config.nco_GSD_HRRR3km_HRRRX_RAPX.sh => config.nco_RRFS_CONUS_25km_HRRRX_RAPX.sh} (91%) rename tests/baseline_configs/{config.nco_GSD_HRRR3km_FV3GFS_FV3GFS.sh => config.nco_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh} (92%) rename tests/baseline_configs/{config.nco_GSD_HRRR25km_HRRRX_RAPX.sh => config.nco_RRFS_CONUS_3km_HRRRX_RAPX.sh} (91%) rename tests/baseline_configs/{config.nco_GSD_SUBCONUS3km_HRRRX_RAPX.sh => config.nco_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh} (90%) diff --git a/tests/baseline_configs/config.DOT_OR_USCORE.sh b/tests/baseline_configs/config.DOT_OR_USCORE.sh index b3ee37a2a..0b7c202c6 100644 --- a/tests/baseline_configs/config.DOT_OR_USCORE.sh +++ b/tests/baseline_configs/config.DOT_OR_USCORE.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.community_ensemble_008mems.sh b/tests/baseline_configs/config.community_ensemble_008mems.sh index b8327de74..a0a75a139 100644 --- a/tests/baseline_configs/config.community_ensemble_008mems.sh +++ b/tests/baseline_configs/config.community_ensemble_008mems.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.community_ensemble_2mems.sh b/tests/baseline_configs/config.community_ensemble_2mems.sh index 8d0aa37a4..00450be06 100644 --- a/tests/baseline_configs/config.community_ensemble_2mems.sh +++ b/tests/baseline_configs/config.community_ensemble_2mems.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.get_extrn_files_from_hpss_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.get_extrn_files_from_hpss_FV3GFS_FV3GFS.sh index c6d6c01dd..c0d56966d 100644 --- a/tests/baseline_configs/config.get_extrn_files_from_hpss_FV3GFS_FV3GFS.sh +++ b/tests/baseline_configs/config.get_extrn_files_from_hpss_FV3GFS_FV3GFS.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.get_extrn_files_from_hpss_GSMGFS_GSMGFS.sh b/tests/baseline_configs/config.get_extrn_files_from_hpss_GSMGFS_GSMGFS.sh index 8b37fe088..1fbf5962c 100644 --- a/tests/baseline_configs/config.get_extrn_files_from_hpss_GSMGFS_GSMGFS.sh +++ b/tests/baseline_configs/config.get_extrn_files_from_hpss_GSMGFS_GSMGFS.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.get_extrn_files_from_hpss_HRRRX_RAPX.sh b/tests/baseline_configs/config.get_extrn_files_from_hpss_HRRRX_RAPX.sh index 3ef9eeadc..5e786809a 100644 --- a/tests/baseline_configs/config.get_extrn_files_from_hpss_HRRRX_RAPX.sh +++ b/tests/baseline_configs/config.get_extrn_files_from_hpss_HRRRX_RAPX.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.get_extrn_files_from_hpss_RAPX_RAPX.sh b/tests/baseline_configs/config.get_extrn_files_from_hpss_RAPX_RAPX.sh index 21c147c62..393c8bc0b 100644 --- a/tests/baseline_configs/config.get_extrn_files_from_hpss_RAPX_RAPX.sh +++ b/tests/baseline_configs/config.get_extrn_files_from_hpss_RAPX_RAPX.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.grid_CONUS_25km_GFDLgrid_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.grid_CONUS_25km_GFDLgrid_FV3GFS_FV3GFS.sh new file mode 100644 index 000000000..0d0b0e736 --- /dev/null +++ b/tests/baseline_configs/config.grid_CONUS_25km_GFDLgrid_FV3GFS_FV3GFS.sh @@ -0,0 +1,19 @@ +RUN_ENVIR="community" +PREEXISTING_DIR_METHOD="rename" + +PREDEF_GRID_NAME="CONUS_25km_GFDLgrid" +GRID_GEN_METHOD="GFDLgrid" +QUILTING="TRUE" + +USE_CCPP="TRUE" +CCPP_PHYS_SUITE="FV3_GFS_v16beta" +FCST_LEN_HRS="06" +LBC_SPEC_INTVL_HRS="3" + +DATE_FIRST_CYCL="20190701" +DATE_LAST_CYCL="20190701" +CYCL_HRS=( "00" ) + +EXTRN_MDL_NAME_ICS="FV3GFS" +EXTRN_MDL_NAME_LBCS="FV3GFS" +USE_USER_STAGED_EXTRN_FILES="TRUE" diff --git a/tests/baseline_configs/config.grid_CONUS_3km_GFDLgrid_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.grid_CONUS_3km_GFDLgrid_FV3GFS_FV3GFS.sh new file mode 100644 index 000000000..c41026343 --- /dev/null +++ b/tests/baseline_configs/config.grid_CONUS_3km_GFDLgrid_FV3GFS_FV3GFS.sh @@ -0,0 +1,19 @@ +RUN_ENVIR="community" +PREEXISTING_DIR_METHOD="rename" + +PREDEF_GRID_NAME="CONUS_3km_GFDLgrid" +GRID_GEN_METHOD="GFDLgrid" +QUILTING="TRUE" + +USE_CCPP="TRUE" +CCPP_PHYS_SUITE="FV3_GFS_v16beta" +FCST_LEN_HRS="06" +LBC_SPEC_INTVL_HRS="3" + +DATE_FIRST_CYCL="20190701" +DATE_LAST_CYCL="20190701" +CYCL_HRS=( "00" ) + +EXTRN_MDL_NAME_ICS="FV3GFS" +EXTRN_MDL_NAME_LBCS="FV3GFS" +USE_USER_STAGED_EXTRN_FILES="TRUE" diff --git a/tests/baseline_configs/config.grid_RRFS_AK_13km_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.grid_RRFS_AK_13km_FV3GFS_FV3GFS.sh new file mode 100644 index 000000000..57da4b332 --- /dev/null +++ b/tests/baseline_configs/config.grid_RRFS_AK_13km_FV3GFS_FV3GFS.sh @@ -0,0 +1,20 @@ +RUN_ENVIR="community" +PREEXISTING_DIR_METHOD="rename" + +PREDEF_GRID_NAME="RRFS_AK_13km" +GRID_GEN_METHOD="ESGgrid" +QUILTING="TRUE" + +USE_CCPP="TRUE" +CCPP_PHYS_SUITE="FV3_GFS_v16beta" + +FCST_LEN_HRS="06" +LBC_SPEC_INTVL_HRS="6" + +DATE_FIRST_CYCL="20190701" +DATE_LAST_CYCL="20190701" +CYCL_HRS=( "00" ) + +EXTRN_MDL_NAME_ICS="FV3GFS" +EXTRN_MDL_NAME_LBCS="FV3GFS" +USE_USER_STAGED_EXTRN_FILES="TRUE" diff --git a/tests/baseline_configs/config.grid_RRFS_AK_13km_RAPX_RAPX.sh b/tests/baseline_configs/config.grid_RRFS_AK_13km_RAPX_RAPX.sh new file mode 100644 index 000000000..630271e55 --- /dev/null +++ b/tests/baseline_configs/config.grid_RRFS_AK_13km_RAPX_RAPX.sh @@ -0,0 +1,20 @@ +RUN_ENVIR="community" +PREEXISTING_DIR_METHOD="rename" + +PREDEF_GRID_NAME="RRFS_AK_13km" +GRID_GEN_METHOD="ESGgrid" +QUILTING="TRUE" + +USE_CCPP="TRUE" +CCPP_PHYS_SUITE="FV3_GSD_SAR" + +FCST_LEN_HRS="06" +LBC_SPEC_INTVL_HRS="6" + +DATE_FIRST_CYCL="20200801" +DATE_LAST_CYCL="20200801" +CYCL_HRS=( "00" ) + +EXTRN_MDL_NAME_ICS="RAPX" +EXTRN_MDL_NAME_LBCS="RAPX" +USE_USER_STAGED_EXTRN_FILES="TRUE" diff --git a/tests/baseline_configs/config.grid_RRFS_AK_3km_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.grid_RRFS_AK_3km_FV3GFS_FV3GFS.sh new file mode 100644 index 000000000..02e9f97ee --- /dev/null +++ b/tests/baseline_configs/config.grid_RRFS_AK_3km_FV3GFS_FV3GFS.sh @@ -0,0 +1,20 @@ +RUN_ENVIR="community" +PREEXISTING_DIR_METHOD="rename" + +PREDEF_GRID_NAME="RRFS_AK_3km" +GRID_GEN_METHOD="ESGgrid" +QUILTING="TRUE" + +USE_CCPP="TRUE" +CCPP_PHYS_SUITE="FV3_GFS_v16beta" + +FCST_LEN_HRS="06" +LBC_SPEC_INTVL_HRS="6" + +DATE_FIRST_CYCL="20190701" +DATE_LAST_CYCL="20190701" +CYCL_HRS=( "00" ) + +EXTRN_MDL_NAME_ICS="FV3GFS" +EXTRN_MDL_NAME_LBCS="FV3GFS" +USE_USER_STAGED_EXTRN_FILES="TRUE" diff --git a/tests/baseline_configs/config.grid_RRFS_AK_3km_RAPX_RAPX.sh b/tests/baseline_configs/config.grid_RRFS_AK_3km_RAPX_RAPX.sh new file mode 100644 index 000000000..c3cb06e8f --- /dev/null +++ b/tests/baseline_configs/config.grid_RRFS_AK_3km_RAPX_RAPX.sh @@ -0,0 +1,20 @@ +RUN_ENVIR="community" +PREEXISTING_DIR_METHOD="rename" + +PREDEF_GRID_NAME="RRFS_AK_3km" +GRID_GEN_METHOD="ESGgrid" +QUILTING="TRUE" + +USE_CCPP="TRUE" +CCPP_PHYS_SUITE="FV3_GSD_SAR" + +FCST_LEN_HRS="06" +LBC_SPEC_INTVL_HRS="6" + +DATE_FIRST_CYCL="20200801" +DATE_LAST_CYCL="20200801" +CYCL_HRS=( "00" ) + +EXTRN_MDL_NAME_ICS="RAPX" +EXTRN_MDL_NAME_LBCS="RAPX" +USE_USER_STAGED_EXTRN_FILES="TRUE" diff --git a/tests/baseline_configs/config.grid_RRFS_CONUS_13km_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.grid_RRFS_CONUS_13km_FV3GFS_FV3GFS.sh new file mode 100644 index 000000000..b30f7f457 --- /dev/null +++ b/tests/baseline_configs/config.grid_RRFS_CONUS_13km_FV3GFS_FV3GFS.sh @@ -0,0 +1,19 @@ +RUN_ENVIR="community" +PREEXISTING_DIR_METHOD="rename" + +PREDEF_GRID_NAME="RRFS_CONUS_13km" +GRID_GEN_METHOD="ESGgrid" +QUILTING="TRUE" + +USE_CCPP="TRUE" +CCPP_PHYS_SUITE="FV3_GFS_v16beta" +FCST_LEN_HRS="06" +LBC_SPEC_INTVL_HRS="3" + +DATE_FIRST_CYCL="20190701" +DATE_LAST_CYCL="20190701" +CYCL_HRS=( "00" ) + +EXTRN_MDL_NAME_ICS="FV3GFS" +EXTRN_MDL_NAME_LBCS="FV3GFS" +USE_USER_STAGED_EXTRN_FILES="TRUE" diff --git a/tests/baseline_configs/config.grid_RRFS_CONUS_13km_HRRRX_RAPX.sh b/tests/baseline_configs/config.grid_RRFS_CONUS_13km_HRRRX_RAPX.sh new file mode 100644 index 000000000..e5e302975 --- /dev/null +++ b/tests/baseline_configs/config.grid_RRFS_CONUS_13km_HRRRX_RAPX.sh @@ -0,0 +1,19 @@ +RUN_ENVIR="community" +PREEXISTING_DIR_METHOD="rename" + +PREDEF_GRID_NAME="RRFS_CONUS_13km" +GRID_GEN_METHOD="ESGgrid" +QUILTING="TRUE" + +USE_CCPP="TRUE" +CCPP_PHYS_SUITE="FV3_GSD_SAR" +FCST_LEN_HRS="06" +LBC_SPEC_INTVL_HRS="3" + +DATE_FIRST_CYCL="20200801" +DATE_LAST_CYCL="20200801" +CYCL_HRS=( "00" ) + +EXTRN_MDL_NAME_ICS="HRRRX" +EXTRN_MDL_NAME_LBCS="RAPX" +USE_USER_STAGED_EXTRN_FILES="TRUE" diff --git a/tests/baseline_configs/config.grid_RRFS_CONUS_25km_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.grid_RRFS_CONUS_25km_FV3GFS_FV3GFS.sh new file mode 100644 index 000000000..68511e5cb --- /dev/null +++ b/tests/baseline_configs/config.grid_RRFS_CONUS_25km_FV3GFS_FV3GFS.sh @@ -0,0 +1,19 @@ +RUN_ENVIR="community" +PREEXISTING_DIR_METHOD="rename" + +PREDEF_GRID_NAME="RRFS_CONUS_25km" +GRID_GEN_METHOD="ESGgrid" +QUILTING="TRUE" + +USE_CCPP="TRUE" +CCPP_PHYS_SUITE="FV3_GFS_v16beta" +FCST_LEN_HRS="06" +LBC_SPEC_INTVL_HRS="3" + +DATE_FIRST_CYCL="20190701" +DATE_LAST_CYCL="20190701" +CYCL_HRS=( "00" ) + +EXTRN_MDL_NAME_ICS="FV3GFS" +EXTRN_MDL_NAME_LBCS="FV3GFS" +USE_USER_STAGED_EXTRN_FILES="TRUE" diff --git a/tests/baseline_configs/config.grid_RRFS_CONUS_25km_HRRRX_RAPX.sh b/tests/baseline_configs/config.grid_RRFS_CONUS_25km_HRRRX_RAPX.sh new file mode 100644 index 000000000..4047e11fd --- /dev/null +++ b/tests/baseline_configs/config.grid_RRFS_CONUS_25km_HRRRX_RAPX.sh @@ -0,0 +1,19 @@ +RUN_ENVIR="community" +PREEXISTING_DIR_METHOD="rename" + +PREDEF_GRID_NAME="RRFS_CONUS_25km" +GRID_GEN_METHOD="ESGgrid" +QUILTING="TRUE" + +USE_CCPP="TRUE" +CCPP_PHYS_SUITE="FV3_GSD_SAR" +FCST_LEN_HRS="06" +LBC_SPEC_INTVL_HRS="3" + +DATE_FIRST_CYCL="20200801" +DATE_LAST_CYCL="20200801" +CYCL_HRS=( "00" ) + +EXTRN_MDL_NAME_ICS="HRRRX" +EXTRN_MDL_NAME_LBCS="RAPX" +USE_USER_STAGED_EXTRN_FILES="TRUE" diff --git a/tests/baseline_configs/config.grid_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.grid_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh new file mode 100644 index 000000000..15d70793c --- /dev/null +++ b/tests/baseline_configs/config.grid_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh @@ -0,0 +1,19 @@ +RUN_ENVIR="community" +PREEXISTING_DIR_METHOD="rename" + +PREDEF_GRID_NAME="RRFS_CONUS_3km" +GRID_GEN_METHOD="ESGgrid" +QUILTING="TRUE" + +USE_CCPP="TRUE" +CCPP_PHYS_SUITE="FV3_GFS_v16beta" +FCST_LEN_HRS="06" +LBC_SPEC_INTVL_HRS="3" + +DATE_FIRST_CYCL="20190701" +DATE_LAST_CYCL="20190701" +CYCL_HRS=( "00" ) + +EXTRN_MDL_NAME_ICS="FV3GFS" +EXTRN_MDL_NAME_LBCS="FV3GFS" +USE_USER_STAGED_EXTRN_FILES="TRUE" diff --git a/tests/baseline_configs/config.grid_RRFS_CONUS_3km_HRRRX_RAPX.sh b/tests/baseline_configs/config.grid_RRFS_CONUS_3km_HRRRX_RAPX.sh new file mode 100644 index 000000000..751172472 --- /dev/null +++ b/tests/baseline_configs/config.grid_RRFS_CONUS_3km_HRRRX_RAPX.sh @@ -0,0 +1,19 @@ +RUN_ENVIR="community" +PREEXISTING_DIR_METHOD="rename" + +PREDEF_GRID_NAME="RRFS_CONUS_3km" +GRID_GEN_METHOD="ESGgrid" +QUILTING="TRUE" + +USE_CCPP="TRUE" +CCPP_PHYS_SUITE="FV3_GSD_SAR" +FCST_LEN_HRS="06" +LBC_SPEC_INTVL_HRS="3" + +DATE_FIRST_CYCL="20200801" +DATE_LAST_CYCL="20200801" +CYCL_HRS=( "00" ) + +EXTRN_MDL_NAME_ICS="HRRRX" +EXTRN_MDL_NAME_LBCS="RAPX" +USE_USER_STAGED_EXTRN_FILES="TRUE" diff --git a/tests/baseline_configs/config.grid_RRFS_SUBCONUS_3km_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.grid_RRFS_SUBCONUS_3km_FV3GFS_FV3GFS.sh new file mode 100644 index 000000000..68c1a1581 --- /dev/null +++ b/tests/baseline_configs/config.grid_RRFS_SUBCONUS_3km_FV3GFS_FV3GFS.sh @@ -0,0 +1,19 @@ +RUN_ENVIR="community" +PREEXISTING_DIR_METHOD="rename" + +PREDEF_GRID_NAME="RRFS_SUBCONUS_3km" +GRID_GEN_METHOD="ESGgrid" +QUILTING="TRUE" + +USE_CCPP="TRUE" +CCPP_PHYS_SUITE="FV3_GFS_v16beta" +FCST_LEN_HRS="06" +LBC_SPEC_INTVL_HRS="3" + +DATE_FIRST_CYCL="20190701" +DATE_LAST_CYCL="20190701" +CYCL_HRS=( "00" ) + +EXTRN_MDL_NAME_ICS="FV3GFS" +EXTRN_MDL_NAME_LBCS="FV3GFS" +USE_USER_STAGED_EXTRN_FILES="TRUE" diff --git a/tests/baseline_configs/config.grid_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh b/tests/baseline_configs/config.grid_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh new file mode 100644 index 000000000..85ed27905 --- /dev/null +++ b/tests/baseline_configs/config.grid_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh @@ -0,0 +1,19 @@ +RUN_ENVIR="community" +PREEXISTING_DIR_METHOD="rename" + +PREDEF_GRID_NAME="RRFS_SUBCONUS_3km" +GRID_GEN_METHOD="ESGgrid" +QUILTING="TRUE" + +USE_CCPP="TRUE" +CCPP_PHYS_SUITE="FV3_GSD_SAR" +FCST_LEN_HRS="06" +LBC_SPEC_INTVL_HRS="3" + +DATE_FIRST_CYCL="20200801" +DATE_LAST_CYCL="20200801" +CYCL_HRS=( "00" ) + +EXTRN_MDL_NAME_ICS="HRRRX" +EXTRN_MDL_NAME_LBCS="RAPX" +USE_USER_STAGED_EXTRN_FILES="TRUE" diff --git a/tests/baseline_configs/config.nco_GSD_HRRR3km_HRRRX_RAPX.sh b/tests/baseline_configs/config.nco_RRFS_CONUS_25km_HRRRX_RAPX.sh similarity index 91% rename from tests/baseline_configs/config.nco_GSD_HRRR3km_HRRRX_RAPX.sh rename to tests/baseline_configs/config.nco_RRFS_CONUS_25km_HRRRX_RAPX.sh index adb727e85..4e28b83af 100644 --- a/tests/baseline_configs/config.nco_GSD_HRRR3km_HRRRX_RAPX.sh +++ b/tests/baseline_configs/config.nco_RRFS_CONUS_25km_HRRRX_RAPX.sh @@ -1,7 +1,7 @@ RUN_ENVIR="nco" PREEXISTING_DIR_METHOD="rename" -EMC_GRID_NAME="GSD_HRRR3km" +EMC_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.nco_GSD_HRRR3km_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.nco_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh similarity index 92% rename from tests/baseline_configs/config.nco_GSD_HRRR3km_FV3GFS_FV3GFS.sh rename to tests/baseline_configs/config.nco_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh index 1cd78cdce..0bd17e582 100644 --- a/tests/baseline_configs/config.nco_GSD_HRRR3km_FV3GFS_FV3GFS.sh +++ b/tests/baseline_configs/config.nco_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh @@ -1,7 +1,7 @@ RUN_ENVIR="nco" PREEXISTING_DIR_METHOD="rename" -EMC_GRID_NAME="GSD_HRRR3km" +EMC_GRID_NAME="RRFS_CONUS_3km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.nco_GSD_HRRR25km_HRRRX_RAPX.sh b/tests/baseline_configs/config.nco_RRFS_CONUS_3km_HRRRX_RAPX.sh similarity index 91% rename from tests/baseline_configs/config.nco_GSD_HRRR25km_HRRRX_RAPX.sh rename to tests/baseline_configs/config.nco_RRFS_CONUS_3km_HRRRX_RAPX.sh index 56e4755d0..523194b41 100644 --- a/tests/baseline_configs/config.nco_GSD_HRRR25km_HRRRX_RAPX.sh +++ b/tests/baseline_configs/config.nco_RRFS_CONUS_3km_HRRRX_RAPX.sh @@ -1,7 +1,7 @@ RUN_ENVIR="nco" PREEXISTING_DIR_METHOD="rename" -EMC_GRID_NAME="GSD_HRRR25km" +EMC_GRID_NAME="RRFS_CONUS_3km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.nco_GSD_SUBCONUS3km_HRRRX_RAPX.sh b/tests/baseline_configs/config.nco_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh similarity index 90% rename from tests/baseline_configs/config.nco_GSD_SUBCONUS3km_HRRRX_RAPX.sh rename to tests/baseline_configs/config.nco_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh index 87814fd5b..1bb952e72 100644 --- a/tests/baseline_configs/config.nco_GSD_SUBCONUS3km_HRRRX_RAPX.sh +++ b/tests/baseline_configs/config.nco_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh @@ -1,7 +1,7 @@ RUN_ENVIR="nco" PREEXISTING_DIR_METHOD="rename" -EMC_GRID_NAME="GSD_SUBCONUS3km" +EMC_GRID_NAME="RRFS_SUBCONUS_3km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.pregen_grid_orog_sfc_climo.sh b/tests/baseline_configs/config.pregen_grid_orog_sfc_climo.sh index 6652b2a8c..e08418601 100644 --- a/tests/baseline_configs/config.pregen_grid_orog_sfc_climo.sh +++ b/tests/baseline_configs/config.pregen_grid_orog_sfc_climo.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.regional_001.sh b/tests/baseline_configs/config.regional_001.sh index 26db77458..4f6c92ceb 100644 --- a/tests/baseline_configs/config.regional_001.sh +++ b/tests/baseline_configs/config.regional_001.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.regional_002.sh b/tests/baseline_configs/config.regional_002.sh index 89ffb439e..678975ecc 100644 --- a/tests/baseline_configs/config.regional_002.sh +++ b/tests/baseline_configs/config.regional_002.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.suite_FV3_CPT_v0.sh b/tests/baseline_configs/config.suite_FV3_CPT_v0.sh index f5d369b99..d23e50841 100644 --- a/tests/baseline_configs/config.suite_FV3_CPT_v0.sh +++ b/tests/baseline_configs/config.suite_FV3_CPT_v0.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.suite_FV3_GFS_v15p2.sh b/tests/baseline_configs/config.suite_FV3_GFS_v15p2.sh index afa644cec..692db567c 100644 --- a/tests/baseline_configs/config.suite_FV3_GFS_v15p2.sh +++ b/tests/baseline_configs/config.suite_FV3_GFS_v15p2.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.suite_FV3_GFS_v16beta.sh b/tests/baseline_configs/config.suite_FV3_GFS_v16beta.sh index 92868325f..554b8a727 100644 --- a/tests/baseline_configs/config.suite_FV3_GFS_v16beta.sh +++ b/tests/baseline_configs/config.suite_FV3_GFS_v16beta.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.suite_FV3_GSD_SAR.sh b/tests/baseline_configs/config.suite_FV3_GSD_SAR.sh index d5611fed4..613d1b786 100644 --- a/tests/baseline_configs/config.suite_FV3_GSD_SAR.sh +++ b/tests/baseline_configs/config.suite_FV3_GSD_SAR.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.suite_FV3_GSD_v0.sh b/tests/baseline_configs/config.suite_FV3_GSD_v0.sh index f0699e887..9193847fe 100644 --- a/tests/baseline_configs/config.suite_FV3_GSD_v0.sh +++ b/tests/baseline_configs/config.suite_FV3_GSD_v0.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.suite_FV3_RRFS_v1beta.sh b/tests/baseline_configs/config.suite_FV3_RRFS_v1beta.sh index 79d01bd38..63b2d6404 100644 --- a/tests/baseline_configs/config.suite_FV3_RRFS_v1beta.sh +++ b/tests/baseline_configs/config.suite_FV3_RRFS_v1beta.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baseline_configs/config.user_download_extrn_files.sh b/tests/baseline_configs/config.user_download_extrn_files.sh index ae9aa4102..3a1b32819 100644 --- a/tests/baseline_configs/config.user_download_extrn_files.sh +++ b/tests/baseline_configs/config.user_download_extrn_files.sh @@ -1,7 +1,7 @@ RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" diff --git a/tests/baselines_list.txt b/tests/baselines_list.txt index f3e610ee8..7946d6aa0 100644 --- a/tests/baselines_list.txt +++ b/tests/baselines_list.txt @@ -6,11 +6,12 @@ get_extrn_files_from_hpss_GSMGFS_GSMGFS get_extrn_files_from_hpss_HRRRX_RAPX get_extrn_files_from_hpss_RAPX_RAPX grid_GSD_HRRR_AK_50km +grid_RRFS_CONUS_13km grid_GSD_RAP13km -nco_GSD_HRRR25km_HRRRX_RAPX -nco_GSD_HRRR3km_FV3GFS_FV3GFS -nco_GSD_HRRR3km_HRRRX_RAPX -nco_GSD_SUBCONUS3km_HRRRX_RAPX +nco_RRFS_CONUS_25km_HRRRX_RAPX +nco_RRFS_CONUS_3km_FV3GFS_FV3GFS +nco_RRFS_CONUS_3km_HRRRX_RAPX +nco_RRFS_SUBCONUS_3km_HRRRX_RAPX nco_conus nco_conus_c96 nco_conus_c96__suite_FV3_GFS_2017_gfdlmp diff --git a/ush/config.community.sh b/ush/config.community.sh index 0c735b57f..5c71641d8 100644 --- a/ush/config.community.sh +++ b/ush/config.community.sh @@ -11,7 +11,7 @@ VERBOSE="TRUE" RUN_ENVIR="community" PREEXISTING_DIR_METHOD="rename" -PREDEF_GRID_NAME="GSD_HRRR25km" +PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" USE_CCPP="TRUE" diff --git a/ush/config_defaults.sh b/ush/config_defaults.sh index 87f25e4ae..7ce18a4d6 100644 --- a/ush/config_defaults.sh +++ b/ush/config_defaults.sh @@ -708,14 +708,6 @@ GFDLgrid_USE_GFDLgrid_RES_IN_FILENAMES="TRUE" # NOTE: Probably don't need to make this a user-specified variable. # Just set it in the function set_gridparams_ESGgrid.sh. # -# ESGgrid_ALPHA_PARAM: -# The alpha parameter used in the Jim Purser map projection/grid generation -# method. -# -# ESGgrid_KAPPA_PARAM: -# The kappa parameter used in the Jim Purser map projection/grid generation -# method. -# #----------------------------------------------------------------------- # ESGgrid_LON_CTR="-97.5" @@ -725,8 +717,6 @@ ESGgrid_DELY="3000.0" ESGgrid_NX="1000" ESGgrid_NY="1000" ESGgrid_WIDE_HALO_WIDTH="6" -ESGgrid_ALPHA_PARAM="0.21423" -ESGgrid_KAPPA_PARAM="-0.23209" # #----------------------------------------------------------------------- # diff --git a/ush/set_gridparams_ESGgrid.sh b/ush/set_gridparams_ESGgrid.sh index 669efb771..8cef16ee3 100644 --- a/ush/set_gridparams_ESGgrid.sh +++ b/ush/set_gridparams_ESGgrid.sh @@ -55,8 +55,6 @@ function set_gridparams_ESGgrid() { "halo_width" \ "delx" \ "dely" \ -"alpha" \ -"kappa" \ "output_varname_lon_ctr" \ "output_varname_lat_ctr" \ "output_varname_nx" \ diff --git a/ush/set_predef_grid_params.sh b/ush/set_predef_grid_params.sh index 5c038a93e..636fcf70c 100644 --- a/ush/set_predef_grid_params.sh +++ b/ush/set_predef_grid_params.sh @@ -322,7 +322,7 @@ predefined domain: # #----------------------------------------------------------------------- # -"GSD_HRRR25km") +"RRFS_CONUS_25km") if [ "${GRID_GEN_METHOD}" = "GFDLgrid" ]; then @@ -340,16 +340,16 @@ predefined domain: ESGgrid_DELX="25000.0" ESGgrid_DELY="25000.0" - ESGgrid_NX=200 - ESGgrid_NY=110 + ESGgrid_NX=204 + ESGgrid_NY=114 ESGgrid_WIDE_HALO_WIDTH=6 DT_ATMOS="300" - LAYOUT_X="20" + LAYOUT_X="6" LAYOUT_Y="2" - BLOCKSIZE="10" + BLOCKSIZE="34" if [ "$QUILTING" = "TRUE" ]; then WRTCMP_write_groups="1" @@ -359,10 +359,10 @@ predefined domain: WRTCMP_cen_lat="${ESGgrid_LAT_CTR}" WRTCMP_stdlat1="${ESGgrid_LAT_CTR}" WRTCMP_stdlat2="${ESGgrid_LAT_CTR}" - WRTCMP_nx="191" - WRTCMP_ny="97" - WRTCMP_lon_lwr_left="-120.72962370" - WRTCMP_lat_lwr_left="25.11648583" + WRTCMP_nx="201" + WRTCMP_ny="109" + WRTCMP_lon_lwr_left="-121.52372751" + WRTCMP_lat_lwr_left="23.57183129" WRTCMP_dx="${ESGgrid_DELX}" WRTCMP_dy="${ESGgrid_DELY}" fi @@ -376,7 +376,7 @@ predefined domain: # #----------------------------------------------------------------------- # -"GSD_HRRR13km") +"RRFS_CONUS_13km") if [ "${GRID_GEN_METHOD}" = "GFDLgrid" ]; then @@ -394,29 +394,29 @@ predefined domain: ESGgrid_DELX="13000.0" ESGgrid_DELY="13000.0" - ESGgrid_NX=390 - ESGgrid_NY=210 + ESGgrid_NX=400 + ESGgrid_NY=232 ESGgrid_WIDE_HALO_WIDTH=6 DT_ATMOS="180" - LAYOUT_X="10" - LAYOUT_Y="10" - BLOCKSIZE="39" + LAYOUT_X="16" + LAYOUT_Y="8" + BLOCKSIZE="29" if [ "$QUILTING" = "TRUE" ]; then WRTCMP_write_groups="1" - WRTCMP_write_tasks_per_group="10" + WRTCMP_write_tasks_per_group=$(( 1*LAYOUT_Y )) WRTCMP_output_grid="lambert_conformal" WRTCMP_cen_lon="${ESGgrid_LON_CTR}" WRTCMP_cen_lat="${ESGgrid_LAT_CTR}" WRTCMP_stdlat1="${ESGgrid_LAT_CTR}" WRTCMP_stdlat2="${ESGgrid_LAT_CTR}" - WRTCMP_nx="383" - WRTCMP_ny="195" - WRTCMP_lon_lwr_left="-121.58647982" - WRTCMP_lat_lwr_left="24.36006861" + WRTCMP_nx="397" + WRTCMP_ny="225" + WRTCMP_lon_lwr_left="-121.93788248" + WRTCMP_lat_lwr_left="22.51531359" WRTCMP_dx="${ESGgrid_DELX}" WRTCMP_dy="${ESGgrid_DELY}" fi @@ -430,57 +430,15 @@ predefined domain: # #----------------------------------------------------------------------- # -"GSD_HRRR3km") +"RRFS_CONUS_3km") if [ "${GRID_GEN_METHOD}" = "GFDLgrid" ]; then - GFDLgrid_LON_T6_CTR=-97.5 - GFDLgrid_LAT_T6_CTR=38.5 - GFDLgrid_STRETCH_FAC=1.0001 - GFDLgrid_RES="96" - GFDLgrid_REFINE_RATIO=36 - - #num_margin_#num_margin_cells_T6_left=9 - #GFDLgrid_ISTART_OF_RGNL_DOM_ON_T6G=$(( num_margin_cells_T6_left + 1 )) - GFDLgrid_ISTART_OF_RGNL_DOM_ON_T6G="26" - - #num_margin_cells_T6_right=9 - #GFDLgrid_IEND_OF_RGNL_DOM_ON_T6G=$(( GFDLgrid_RES - num_margin_cells_T6_right )) - GFDLgrid_IEND_OF_RGNL_DOM_ON_T6G="71" - - #num_margin_cells_T6_bottom=9 - #GFDLgrid_JSTART_OF_RGNL_DOM_ON_T6G=$(( num_margin_cells_T6_bottom + 1 )) - GFDLgrid_JSTART_OF_RGNL_DOM_ON_T6G="36" - - #num_margin_cells_T6_top=9 - #GFDLgrid_JEND_OF_RGNL_DOM_ON_T6G=$(( GFDLgrid_RES - num_margin_cells_T6_top )) - GFDLgrid_JEND_OF_RGNL_DOM_ON_T6G="61" - - GFDLgrid_USE_GFDLgrid_RES_IN_FILENAMES="FALSE" - - DT_ATMOS="40" - - LAYOUT_X="18" - LAYOUT_Y="12" - BLOCKSIZE="46" - - QUILTING="TRUE" - - if [ "$QUILTING" = "TRUE" ]; then - WRTCMP_write_groups="1" - WRTCMP_write_tasks_per_group=$(( 1*LAYOUT_Y )) - WRTCMP_output_grid="lambert_conformal" - WRTCMP_cen_lon="-97.5" - WRTCMP_cen_lat="38.5" - WRTCMP_stdlat1="38.5" - WRTCMP_stdlat2="38.5" - WRTCMP_nx="1738" - WRTCMP_ny="974" - WRTCMP_lon_lwr_left="-122.21414225" - WRTCMP_lat_lwr_left="22.41403305" - WRTCMP_dx="3000.0" - WRTCMP_dy="3000.0" - fi + print_err_msg_exit "\ +The parameters for a \"${GRID_GEN_METHOD}\" type grid have not yet been specified for this +predefined domain: + PREDEF_GRID_NAME = \"${PREDEF_GRID_NAME}\" + GRID_GEN_METHOD = \"${GRID_GEN_METHOD}\"" elif [ "${GRID_GEN_METHOD}" = "ESGgrid" ]; then @@ -490,29 +448,29 @@ predefined domain: ESGgrid_DELX="3000.0" ESGgrid_DELY="3000.0" - ESGgrid_NX=1728 - ESGgrid_NY=1008 + ESGgrid_NX=1740 + ESGgrid_NY=1036 ESGgrid_WIDE_HALO_WIDTH=6 DT_ATMOS="40" - LAYOUT_X="32" - LAYOUT_Y="16" - BLOCKSIZE="27" + LAYOUT_X="30" + LAYOUT_Y="14" + BLOCKSIZE="29" if [ "$QUILTING" = "TRUE" ]; then WRTCMP_write_groups="1" - WRTCMP_write_tasks_per_group="24" + WRTCMP_write_tasks_per_group=$(( 1*LAYOUT_Y )) WRTCMP_output_grid="lambert_conformal" WRTCMP_cen_lon="${ESGgrid_LON_CTR}" WRTCMP_cen_lat="${ESGgrid_LAT_CTR}" WRTCMP_stdlat1="${ESGgrid_LAT_CTR}" WRTCMP_stdlat2="${ESGgrid_LAT_CTR}" - WRTCMP_nx="1726" - WRTCMP_ny="974" - WRTCMP_lon_lwr_left="-122.21414225" - WRTCMP_lat_lwr_left="22.41403305" + WRTCMP_nx="1738" + WRTCMP_ny="1012" + WRTCMP_lon_lwr_left="-122.07320852" + WRTCMP_lat_lwr_left="21.93831404" WRTCMP_dx="${ESGgrid_DELX}" WRTCMP_dy="${ESGgrid_DELY}" fi @@ -526,7 +484,7 @@ predefined domain: # #----------------------------------------------------------------------- # -"GSD_SUBCONUS3km") +"RRFS_SUBCONUS_3km") if [ "${GRID_GEN_METHOD}" = "GFDLgrid" ]; then @@ -551,9 +509,6 @@ predefined domain: DT_ATMOS="40" -# LAYOUT_X="12" -# LAYOUT_Y="10" -# BLOCKSIZE="30" LAYOUT_X="30" LAYOUT_Y="24" BLOCKSIZE="35" @@ -566,10 +521,10 @@ predefined domain: WRTCMP_cen_lat="${ESGgrid_LAT_CTR}" WRTCMP_stdlat1="${ESGgrid_LAT_CTR}" WRTCMP_stdlat2="${ESGgrid_LAT_CTR}" - WRTCMP_nx="825" - WRTCMP_ny="580" - WRTCMP_lon_lwr_left="-109.8" - WRTCMP_lat_lwr_left="26.5" + WRTCMP_nx="837" + WRTCMP_ny="595" + WRTCMP_lon_lwr_left="-109.97410429" + WRTCMP_lat_lwr_left="26.31459843" WRTCMP_dx="${ESGgrid_DELX}" WRTCMP_dy="${ESGgrid_DELY}" fi @@ -579,6 +534,134 @@ predefined domain: # #----------------------------------------------------------------------- # +# A CONUS domain of GFDLgrid type with ~25km cells. +# Note: +# This grid is larger than the HRRR domain and thus cannot be initialized +# using the HRRRX. +# +#----------------------------------------------------------------------- +# +"CONUS_25km_GFDLgrid") + + if [ "${GRID_GEN_METHOD}" = "GFDLgrid" ]; then + + GFDLgrid_LON_T6_CTR=-97.5 + GFDLgrid_LAT_T6_CTR=38.5 + GFDLgrid_STRETCH_FAC=1.4 + GFDLgrid_RES="96" + GFDLgrid_REFINE_RATIO=3 + + num_margin_cells_T6_left=12 + GFDLgrid_ISTART_OF_RGNL_DOM_ON_T6G=$(( num_margin_cells_T6_left + 1 )) + + num_margin_cells_T6_right=12 + GFDLgrid_IEND_OF_RGNL_DOM_ON_T6G=$(( GFDLgrid_RES - num_margin_cells_T6_right )) + + num_margin_cells_T6_bottom=16 + GFDLgrid_JSTART_OF_RGNL_DOM_ON_T6G=$(( num_margin_cells_T6_bottom + 1 )) + + num_margin_cells_T6_top=16 + GFDLgrid_JEND_OF_RGNL_DOM_ON_T6G=$(( GFDLgrid_RES - num_margin_cells_T6_top )) + +# GFDLgrid_USE_GFDLgrid_RES_IN_FILENAMES="FALSE" + + DT_ATMOS="225" + + LAYOUT_X="6" + LAYOUT_Y="4" + BLOCKSIZE="36" + + if [ "$QUILTING" = "TRUE" ]; then + WRTCMP_write_groups="1" + WRTCMP_write_tasks_per_group=$(( 1*LAYOUT_Y )) + WRTCMP_output_grid="rotated_latlon" + WRTCMP_cen_lon="${GFDLgrid_LON_T6_CTR}" + WRTCMP_cen_lat="${GFDLgrid_LAT_T6_CTR}" + WRTCMP_lon_lwr_left="-24.40085141" + WRTCMP_lat_lwr_left="-19.65624142" + WRTCMP_lon_upr_rght="24.40085141" + WRTCMP_lat_upr_rght="19.65624142" + WRTCMP_dlon="0.22593381" + WRTCMP_dlat="0.22593381" + fi + + elif [ "${GRID_GEN_METHOD}" = "ESGgrid" ]; then + + print_err_msg_exit "\ +The parameters for a \"${GRID_GEN_METHOD}\" type grid have not yet been specified for this +predefined domain: + PREDEF_GRID_NAME = \"${PREDEF_GRID_NAME}\" + GRID_GEN_METHOD = \"${GRID_GEN_METHOD}\"" + + fi + ;; +# +#----------------------------------------------------------------------- +# +# A CONUS domain of GFDLgrid type with ~3km cells. +# Note: +# This grid is larger than the HRRR domain and thus cannot be initialized +# using the HRRRX. +# +#----------------------------------------------------------------------- +# +"CONUS_3km_GFDLgrid") + + if [ "${GRID_GEN_METHOD}" = "GFDLgrid" ]; then + + GFDLgrid_LON_T6_CTR=-97.5 + GFDLgrid_LAT_T6_CTR=38.5 + GFDLgrid_STRETCH_FAC=1.5 + GFDLgrid_RES="768" + GFDLgrid_REFINE_RATIO=3 + + num_margin_cells_T6_left=69 + GFDLgrid_ISTART_OF_RGNL_DOM_ON_T6G=$(( num_margin_cells_T6_left + 1 )) + + num_margin_cells_T6_right=69 + GFDLgrid_IEND_OF_RGNL_DOM_ON_T6G=$(( GFDLgrid_RES - num_margin_cells_T6_right )) + + num_margin_cells_T6_bottom=164 + GFDLgrid_JSTART_OF_RGNL_DOM_ON_T6G=$(( num_margin_cells_T6_bottom + 1 )) + + num_margin_cells_T6_top=164 + GFDLgrid_JEND_OF_RGNL_DOM_ON_T6G=$(( GFDLgrid_RES - num_margin_cells_T6_top )) + +# GFDLgrid_USE_GFDLgrid_RES_IN_FILENAMES="FALSE" + + DT_ATMOS="18" + + LAYOUT_X="30" + LAYOUT_Y="22" + BLOCKSIZE="35" + + if [ "$QUILTING" = "TRUE" ]; then + WRTCMP_write_groups="1" + WRTCMP_write_tasks_per_group=$(( 1*LAYOUT_Y )) + WRTCMP_output_grid="rotated_latlon" + WRTCMP_cen_lon="${GFDLgrid_LON_T6_CTR}" + WRTCMP_cen_lat="${GFDLgrid_LAT_T6_CTR}" + WRTCMP_lon_lwr_left="-25.23144805" + WRTCMP_lat_lwr_left="-15.82130419" + WRTCMP_lon_upr_rght="25.23144805" + WRTCMP_lat_upr_rght="15.82130419" + WRTCMP_dlon="0.02665763" + WRTCMP_dlat="0.02665763" + fi + + elif [ "${GRID_GEN_METHOD}" = "ESGgrid" ]; then + + print_err_msg_exit "\ +The parameters for a \"${GRID_GEN_METHOD}\" type grid have not yet been specified for this +predefined domain: + PREDEF_GRID_NAME = \"${PREDEF_GRID_NAME}\" + GRID_GEN_METHOD = \"${GRID_GEN_METHOD}\"" + + fi + ;; +# +#----------------------------------------------------------------------- +# # EMC's 3km CONUS grid. # #----------------------------------------------------------------------- @@ -865,7 +948,7 @@ predefined domain: # #----------------------------------------------------------------------- # -"GSD_RRFSAK_3km") +"RRFS_AK_3km") if [ "${GRID_GEN_METHOD}" = "GFDLgrid" ]; then @@ -924,24 +1007,25 @@ predefined domain: ESGgrid_WIDE_HALO_WIDTH=6 - DT_ATMOS="50" +# DT_ATMOS="50" + DT_ATMOS="10" LAYOUT_X="30" LAYOUT_Y="17" - BLOCKSIZE="25" + BLOCKSIZE="40" if [ "$QUILTING" = "TRUE" ]; then WRTCMP_write_groups="1" - WRTCMP_write_tasks_per_group="2" + WRTCMP_write_tasks_per_group=$(( 1*LAYOUT_Y )) WRTCMP_output_grid="lambert_conformal" WRTCMP_cen_lon="${ESGgrid_LON_CTR}" WRTCMP_cen_lat="${ESGgrid_LAT_CTR}" WRTCMP_stdlat1="${ESGgrid_LAT_CTR}" WRTCMP_stdlat2="${ESGgrid_LAT_CTR}" - WRTCMP_nx="1320" - WRTCMP_ny="950" - WRTCMP_lon_lwr_left="173.734" - WRTCMP_lat_lwr_left="46.740347" + WRTCMP_nx="1379" + WRTCMP_ny="1003" + WRTCMP_lon_lwr_left="-187.89737923" + WRTCMP_lat_lwr_left="45.84576053" WRTCMP_dx="${ESGgrid_DELX}" WRTCMP_dy="${ESGgrid_DELY}" fi @@ -951,6 +1035,83 @@ predefined domain: # #----------------------------------------------------------------------- # +# 13-km HRRR Alaska grid. +# +#----------------------------------------------------------------------- +# +"RRFS_AK_13km") + + if [ "${GRID_GEN_METHOD}" = "GFDLgrid" ]; then + + print_err_msg_exit "\ +The parameters for a \"${GRID_GEN_METHOD}\" type grid have not yet been specified for this +predefined domain: + PREDEF_GRID_NAME = \"${PREDEF_GRID_NAME}\" + GRID_GEN_METHOD = \"${GRID_GEN_METHOD}\"" + + elif [ "${GRID_GEN_METHOD}" = "ESGgrid" ]; then + + ESGgrid_LON_CTR=-161.5 + ESGgrid_LAT_CTR=63.0 + + ESGgrid_DELX="13000.0" + ESGgrid_DELY="13000.0" + + ESGgrid_NX=320 + ESGgrid_NY=240 + + ESGgrid_WIDE_HALO_WIDTH=6 + +# DT_ATMOS="50" + DT_ATMOS="10" + + LAYOUT_X="16" + LAYOUT_Y="12" + BLOCKSIZE="40" + + if [ "$QUILTING" = "TRUE" ]; then + WRTCMP_write_groups="1" + WRTCMP_write_tasks_per_group=$(( 1*LAYOUT_Y )) + WRTCMP_output_grid="lambert_conformal" + WRTCMP_cen_lon="${ESGgrid_LON_CTR}" + WRTCMP_cen_lat="${ESGgrid_LAT_CTR}" + WRTCMP_stdlat1="${ESGgrid_LAT_CTR}" + WRTCMP_stdlat2="${ESGgrid_LAT_CTR}" + +# The following work. They were obtained using the NCL scripts but only +# after manually modifying the longitutes of two of the 4 corners of the +# domain to add 360.0 to them. Need to automate that procedure. + WRTCMP_nx="318" + WRTCMP_ny="234" +# WRTCMP_lon_lwr_left="-187.76660836" + WRTCMP_lon_lwr_left="172.23339164" + WRTCMP_lat_lwr_left="45.77691870" + + WRTCMP_dx="${ESGgrid_DELX}" + WRTCMP_dy="${ESGgrid_DELY}" + fi + +# The following rotated_latlon coordinate system parameters were obtained +# using the NCL code and work. +# if [ "$QUILTING" = "TRUE" ]; then +# WRTCMP_write_groups="1" +# WRTCMP_write_tasks_per_group=$(( 1*LAYOUT_Y )) +# WRTCMP_output_grid="rotated_latlon" +# WRTCMP_cen_lon="${ESGgrid_LON_CTR}" +# WRTCMP_cen_lat="${ESGgrid_LAT_CTR}" +# WRTCMP_lon_lwr_left="-18.47206579" +# WRTCMP_lat_lwr_left="-13.56176982" +# WRTCMP_lon_upr_rght="18.47206579" +# WRTCMP_lat_upr_rght="13.56176982" +# WRTCMP_dlon="0.11691181" +# WRTCMP_dlat="0.11691181" +# fi + + fi + ;; +# +#----------------------------------------------------------------------- +# # 50-km HRRR Alaska grid. # #----------------------------------------------------------------------- @@ -963,8 +1124,8 @@ predefined domain: The parameters for a \"${GRID_GEN_METHOD}\" type grid have not yet been specified for this predefined domain: PREDEF_GRID_NAME = \"${PREDEF_GRID_NAME}\" - GRID_GEN_METHOD = \"${GRID_GEN_METHOD}\" -" + GRID_GEN_METHOD = \"${GRID_GEN_METHOD}\"" + elif [ "${GRID_GEN_METHOD}" = "ESGgrid" ]; then ESGgrid_LON_CTR=-163.5 diff --git a/ush/setup.sh b/ush/setup.sh index bf9f38572..307f41253 100755 --- a/ush/setup.sh +++ b/ush/setup.sh @@ -480,7 +480,7 @@ case "${EMC_GRID_NAME}" in "conus_c96") PREDEF_GRID_NAME="EMC_CONUS_coarse" ;; - "GSD_HRRR25km" | "GSD_HRRR13km" | "GSD_HRRR3km" | "GSD_SUBCONUS3km") + "RRFS_CONUS_25km" | "RRFS_CONUS_13km" | "RRFS_CONUS_3km" | "RRFS_SUBCONUS_3km") PREDEF_GRID_NAME="${EMC_GRID_NAME}" ;; "conus_orig" | "guam" | "hi" | "pr") @@ -1019,7 +1019,7 @@ fi if [ "${EXPT_BASEDIR:0:1}" != "/" ]; then EXPT_BASEDIR="${SR_WX_APP_TOP_DIR}/../expt_dirs/${EXPT_BASEDIR}" fi -EXPT_BASEDIR="$( readlink -f ${EXPT_BASEDIR} )" +EXPT_BASEDIR="$( readlink -m ${EXPT_BASEDIR} )" mkdir_vrfy -p "${EXPT_BASEDIR}" # #----------------------------------------------------------------------- @@ -1768,8 +1768,6 @@ elif [ "${GRID_GEN_METHOD}" = "ESGgrid" ]; then halo_width="${ESGgrid_WIDE_HALO_WIDTH}" \ delx="${ESGgrid_DELX}" \ dely="${ESGgrid_DELY}" \ - alpha="${ESGgrid_ALPHA_PARAM}" \ - kappa="${ESGgrid_KAPPA_PARAM}" \ output_varname_lon_ctr="LON_CTR" \ output_varname_lat_ctr="LAT_CTR" \ output_varname_nx="NX" \ diff --git a/ush/templates/wrtcmp_lambert_conformal b/ush/templates/wrtcmp_lambert_conformal index 1219885a8..fd4e52eea 100644 --- a/ush/templates/wrtcmp_lambert_conformal +++ b/ush/templates/wrtcmp_lambert_conformal @@ -12,10 +12,10 @@ cen_lon: # Reference longitude, in degrees. cen_lat: # Reference latitude, in degrees. stdlat1: # Latitude of first standard parallel, in degrees. stdlat2: # Latitude of second standard parallel, in degrees. -nx: # Number of points along x-axis in Lambert conformal (x,y) plane. -ny: # Number of points along y-axis in Lambert conformal (x,y) plane. -lon1: # Longitude of grid point at lower-left corner of grid, in degrees. -lat1: # Latitude of grid point at lower-left corner of grid, in degrees. +nx: # Number of grid cells along x-axis in Lambert conformal (x,y) plane. +ny: # Number of grid cells along y-axis in Lambert conformal (x,y) plane. +lon1: # Longitude of center of grid cell at bottom-left corner of grid, in degrees. +lat1: # Latitude of center of grid cell at bottom-left corner of grid, in degrees. dx: # Grid cell size in x direction, in meters. dy: # Grid cell size in y direction, in meters. diff --git a/ush/valid_param_vals.sh b/ush/valid_param_vals.sh index 92298fae4..be3d8c177 100644 --- a/ush/valid_param_vals.sh +++ b/ush/valid_param_vals.sh @@ -12,12 +12,15 @@ valid_vals_PREDEF_GRID_NAME=( \ "GSD_HAFSV0.A3km" \ "GSD_HAFSV0.A13km" \ "GSD_HAFSV0.A25km" \ -"GSD_RRFSAK_3km" \ +"RRFS_AK_13km" \ +"RRFS_AK_3km" \ "GSD_HRRR_AK_50km" \ -"GSD_HRRR25km" \ -"GSD_HRRR13km" \ -"GSD_HRRR3km" \ -"GSD_SUBCONUS3km" \ +"RRFS_CONUS_25km" \ +"RRFS_CONUS_13km" \ +"RRFS_CONUS_3km" \ +"RRFS_SUBCONUS_3km" \ +"CONUS_25km_GFDLgrid" \ +"CONUS_3km_GFDLgrid" \ "GSD_RAP13km" \ ) valid_vals_EMC_GRID_NAME=( \ @@ -28,10 +31,10 @@ valid_vals_EMC_GRID_NAME=( \ "guam" \ "hi" \ "pr" \ -"GSD_HRRR25km" \ -"GSD_HRRR13km" \ -"GSD_HRRR3km" \ -"GSD_SUBCONUS3km" \ +"RRFS_CONUS_25km" \ +"RRFS_CONUS_13km" \ +"RRFS_CONUS_3km" \ +"RRFS_SUBCONUS_3km" \ "GSD_RAP13km" \ ) valid_vals_USE_CCPP=("TRUE" "true" "YES" "yes" "FALSE" "false" "NO" "no") From d79ebc34f8bacaee5948030cab460d8da144d774 Mon Sep 17 00:00:00 2001 From: Michael Kavulich Date: Thu, 8 Oct 2020 22:16:53 -0600 Subject: [PATCH 02/15] Modifications to run workflow with unmodified executable names from each repository (#304) ## DESCRIPTION OF CHANGES: The new top-level cmake build for the SRW App ([SRW App PR#27](https://github.com/ufs-community/ufs-srweather-app/pull/27)) results in some executables having different names. This PR makes modifications that 1. Allow the workflow to run successfully with the new cmake build and its different executable names, and 2. Allow back-compatibility with the old build system to allow for a gradual transition to new build system This PR also explicitly disallows running the workflow without CCPP, which we decided against supporting several months ago. I don't think the capability even works so this shouldn't effect anyone at this time. ## TESTS CONDUCTED: - **Cheyenne**: Build and end-to-end test ("DOT_OR_USCORE" test case) was successful on Cheyenne with intel, both for the cmake build and the old build script (that will soon be deprecated). - **Hera**: Build and end-to-end tests successful (aside from expected failures). Also built with old build script successfully. - **Jet**: Build test was successful. ## ISSUE: It was not the primary aim of this PR, but it does partially resolve #196 --- scripts/exregional_make_grid.sh | 2 +- scripts/exregional_make_ics.sh | 2 +- scripts/exregional_make_lbcs.sh | 2 +- scripts/exregional_make_orog.sh | 4 ++-- ush/generate_FV3LAM_wflow.sh | 22 +++++++++++++++++++--- ush/setup.sh | 2 +- 6 files changed, 25 insertions(+), 9 deletions(-) diff --git a/scripts/exregional_make_grid.sh b/scripts/exregional_make_grid.sh index f37402c48..c7b850005 100755 --- a/scripts/exregional_make_grid.sh +++ b/scripts/exregional_make_grid.sh @@ -513,7 +513,7 @@ fi # # Set the name and path to the executable and make sure that it exists. # -exec_fn="shave.x" +exec_fn="shave" exec_fp="$EXECDIR/${exec_fn}" if [ ! -f "${exec_fp}" ]; then print_err_msg_exit "\ diff --git a/scripts/exregional_make_ics.sh b/scripts/exregional_make_ics.sh index 6759edc64..3cd3dfdf7 100755 --- a/scripts/exregional_make_ics.sh +++ b/scripts/exregional_make_ics.sh @@ -493,7 +493,7 @@ hh="${EXTRN_MDL_CDATE:8:2}" # #----------------------------------------------------------------------- # -exec_fn="chgres_cube.exe" +exec_fn="chgres_cube" exec_fp="$EXECDIR/${exec_fn}" if [ ! -f "${exec_fp}" ]; then print_err_msg_exit "\ diff --git a/scripts/exregional_make_lbcs.sh b/scripts/exregional_make_lbcs.sh index 84f317d74..6f074ae5d 100755 --- a/scripts/exregional_make_lbcs.sh +++ b/scripts/exregional_make_lbcs.sh @@ -344,7 +344,7 @@ esac # #----------------------------------------------------------------------- # -exec_fn="chgres_cube.exe" +exec_fn="chgres_cube" exec_fp="$EXECDIR/${exec_fn}" if [ ! -f "${exec_fp}" ]; then print_err_msg_exit "\ diff --git a/scripts/exregional_make_orog.sh b/scripts/exregional_make_orog.sh index 1d1f5586e..61639c3b3 100755 --- a/scripts/exregional_make_orog.sh +++ b/scripts/exregional_make_orog.sh @@ -181,7 +181,7 @@ mkdir_vrfy -p "${shave_dir}" # Set the name and path to the executable that generates the raw orography # file and make sure that it exists. # -exec_fn="orog.x" +exec_fn="orog" exec_fp="$EXECDIR/${exec_fn}" if [ ! -f "${exec_fp}" ]; then print_err_msg_exit "\ @@ -531,7 +531,7 @@ Filtering of orography complete." # # Set the name and path to the executable and make sure that it exists. # -exec_fn="shave.x" +exec_fn="shave" exec_fp="$EXECDIR/${exec_fn}" if [ ! -f "${exec_fp}" ]; then print_err_msg_exit "\ diff --git a/ush/generate_FV3LAM_wflow.sh b/ush/generate_FV3LAM_wflow.sh index 0244cd7cd..489a2b536 100755 --- a/ush/generate_FV3LAM_wflow.sh +++ b/ush/generate_FV3LAM_wflow.sh @@ -589,12 +589,28 @@ fi #----------------------------------------------------------------------- # if [ "${USE_CCPP}" = "TRUE" ]; then - exec_fn="fv3.exe" + exec_fn="NEMS.exe" else - exec_fn="fv3_32bit.exe" + print_err_msg_exit "\ +Running this workflow without CCPP is not supported at this time. +Please set USE_CCPP=TRUE in your config.sh file. +" +fi + +exec_fp="${SR_WX_APP_TOP_DIR}/bin/${exec_fn}" +#Check for the old build location for fv3 executable +if [ ! -f "${exec_fp}" ]; then + exec_fp_alt="${UFS_WTHR_MDL_DIR}/build/${exec_fn}" + if [ ! -f "${exec_fp_alt}" ]; then + print_err_msg_exit "\ +The executable (exec_fp) for running the forecast model does not exist: + exec_fp = \"${exec_fp}\" +Please ensure that you've built this executable." + else + exec_fp="${exec_fp_alt}" + fi fi -exec_fp="${UFS_WTHR_MDL_DIR}/tests/${exec_fn}" if [ ! -f "${exec_fp}" ]; then print_err_msg_exit "\ The executable (exec_fp) for running the forecast model does not exist: diff --git a/ush/setup.sh b/ush/setup.sh index 307f41253..20a6f49c4 100755 --- a/ush/setup.sh +++ b/ush/setup.sh @@ -715,7 +715,7 @@ SORCDIR="$HOMErrfs/sorc" SRC_DIR="${SR_WX_APP_TOP_DIR}/src" PARMDIR="$HOMErrfs/parm" MODULES_DIR="$HOMErrfs/modulefiles" -EXECDIR="${SR_WX_APP_TOP_DIR}/exec" +EXECDIR="${SR_WX_APP_TOP_DIR}/bin" FIXrrfs="$HOMErrfs/fix" TEMPLATE_DIR="$USHDIR/templates" From e72f8d7af9665f8fa5a1303e3a90a01b1f3b0e3b Mon Sep 17 00:00:00 2001 From: David Wright Date: Sun, 11 Oct 2020 22:28:45 -0400 Subject: [PATCH 03/15] Feature to read in FVCOM lake surface conditions into FV3-LAM (#293) * Feature to read in FVCOM lake surface conditions to FV3-LAM Add feature to allow user to use data generated by FVCOM in FV3-LAM as initialization of lake surface properties over the Great Lakes. FVCOM data must be interpolated to FV3-LAM grid for this routine to work. Following additions were made: - Generated 3 new variables: USE_FVCOM, FVCOM_DIR, and FVCOM_FILE. These are user defined variables available in config.sh. USE_FVCOM: TRUE/FALSE flag to use FVCOM data FVCOM_DIR: Directory path for local FVCOM files FVCOM_FILE: Name of file (.nc) that contains FVCOM data - Added to exregional_make_ics.sh to run the fortran code to replace lake surface conditions with those in FVCOM_FILE. - Created sorc/fvcom_to_FV3 which contains fortran code to modify sfc_data.tile7.halo0.nc with new lake surface conditions. * Remove Fortran source code and put in UFS_UTILS PR * Change fvcom_to_FV3 to remove .exe file name extension Co-authored-by: David Wright --- scripts/exregional_make_ics.sh | 42 ++++++++++++++++++++++++++++++++++ ush/config_defaults.sh | 24 +++++++++++++++++++ ush/setup.sh | 33 ++++++++++++++++++++++++++ ush/valid_param_vals.sh | 1 + 4 files changed, 100 insertions(+) diff --git a/scripts/exregional_make_ics.sh b/scripts/exregional_make_ics.sh index 3cd3dfdf7..c89e458fe 100755 --- a/scripts/exregional_make_ics.sh +++ b/scripts/exregional_make_ics.sh @@ -611,6 +611,48 @@ mv_vrfy gfs.bndy.nc ${ics_dir}/gfs_bndy.tile${TILE_RGNL}.000.nc # #----------------------------------------------------------------------- # +# Process FVCOM Data +# +#----------------------------------------------------------------------- +# +if [ "${USE_FVCOM}" = "TRUE" ]; then + + fvcom_exec_fn="fvcom_to_FV3" + fvcom_exec_fp="$EXECDIR/${fvcom_exec_fn}" + if [ ! -f "${fvcom_exec_fp}" ]; then + print_err_msg_exit "\ +The executable (fvcom_exec_fp) for processing FVCOM data onto FV3-LAM +native grid does not exist: + fvcom_exec_fp = \"${fvcom_exec_fp}\" +Please ensure that you've built this executable." + fi + cp_vrfy ${fvcom_exec_fp} ${ics_dir}/. + fvcom_data_fp="${FVCOM_DIR}/${FVCOM_FILE}" + if [ ! -f "${fvcom_data_fp}" ]; then + print_err_msg_exit "\ +The file or path (fvcom_data_fp) does not exist: + fvcom_data_fp = \"${fvcom_data_fp}\" +Please check the following user defined variables: + FVCOM_DIR = \"${FVCOM_DIR}\" + FVCOM_FILE= \"${FVCOM_FILE}\" " + fi + + cp_vrfy ${fvcom_data_fp} ${ics_dir}/fvcom.nc + cd_vrfy ${ics_dir} + ${APRUN} ${fvcom_exec_fn} sfc_data.tile${TILE_RGNL}.halo${NH0}.nc fvcom.nc || \ + print_err_msg_exit "\ +Call to executable (fvcom_exe) to modify sfc fields for FV3-LAM failed: + fvcom_exe = \"${fvcom_exe}\" +The following variables were being used: + FVCOM_DIR = \"${FVCOM_DIR}\" + FVCOM_FILE = \"${FVCOM_FILE}\" + ics_dir = \"${ics_dir}\" + fvcom_exe_dir = \"${fvcom_exe_dir}\" + fvcom_exe = \"${fvcom_exe}\"" +fi +# +#----------------------------------------------------------------------- +# # Print message indicating successful completion of script. # #----------------------------------------------------------------------- diff --git a/ush/config_defaults.sh b/ush/config_defaults.sh index 7ce18a4d6..a80bff088 100644 --- a/ush/config_defaults.sh +++ b/ush/config_defaults.sh @@ -1277,3 +1277,27 @@ HALO_BLEND=0 #----------------------------------------------------------------------- # GWD_RRFS_v1beta_BASEDIR="" +# +#----------------------------------------------------------------------- +# +# USE_FVCOM: +# Flag set to update surface conditions in FV3-LAM with fields generated +# from the Finite Volume Community Ocean Model (FVCOM). This will +# replace lake/sea surface temperature, ice surface temperature, and ice +# placement. FVCOM data must already be interpolated to the desired +# FV3-LAM grid. This flag will be used in make_ics to modify sfc_data.nc +# after chgres_cube is run by running the routine process_FVCOM.exe +# +# FVCOM_DIR: +# User defined directory where FVCOM data already interpolated to FV3-LAM +# grid is located. File name in this path should be "fvcom.nc" to allow +# +# FVCOM_FILE: +# Name of file located in FVCOM_DIR that has FVCOM data interpolated to +# FV3-LAM grid. This file will be copied later to a new location and name +# changed to fvcom.nc +#------------------------------------------------------------------------ +# +USE_FVCOM="FALSE" +FVCOM_DIR="/user/defined/dir/to/fvcom/data" +FVCOM_FILE="fvcom.nc" diff --git a/ush/setup.sh b/ush/setup.sh index 20a6f49c4..d55b90d7d 100755 --- a/ush/setup.sh +++ b/ush/setup.sh @@ -310,6 +310,27 @@ if [ "${DO_SPPT}" = "FALSE" ]; then SPPT_MAG=-999.0 fi +# +#----------------------------------------------------------------------- +# +# Make sure that USE_FVCOM is set to a valid value and assign directory +# and file names. +# +#----------------------------------------------------------------------- +# +check_var_valid_value "USE_FVCOM" "valid_vals_USE_FVCOM" +# +# Set USE_FVCOM to either "TRUE" or "FALSE" so we don't have to consider +# other valid values later on. +# +USE_FVCOM=${USE_FVCOM^^} +if [ "$USE_FVCOM" = "TRUE" ] || \ + [ "$USE_FVCOM" = "YES" ]; then + USE_FVCOM="TRUE" +elif [ "$USE_FVCOM" = "FALSE" ] || \ + [ "$USE_FVCOM" = "NO" ]; then + USE_FVCOM="FALSE" +fi # #----------------------------------------------------------------------- # @@ -2813,6 +2834,18 @@ $( printf "\"%s\" \\\\\n" "${ALL_CDATES[@]}" ) # #----------------------------------------------------------------------- # +# If USE_FVCOM is set to TRUE, then FVCOM data (located in FVCOM_DIR +# in FVCOM_FILE) will be used to update lower boundary conditions during +# make_ics. +# +#----------------------------------------------------------------------- +# +USE_FVCOM="${USE_FVCOM}" +FVCOM_DIR="${FVCOM_DIR}" +FVCOM_FILE="${FVCOM_FILE}" +# +#----------------------------------------------------------------------- +# # Computational parameters. # #----------------------------------------------------------------------- diff --git a/ush/valid_param_vals.sh b/ush/valid_param_vals.sh index be3d8c177..f7590e0dd 100644 --- a/ush/valid_param_vals.sh +++ b/ush/valid_param_vals.sh @@ -74,3 +74,4 @@ valid_vals_DO_SHUM=("TRUE" "true" "YES" "yes" "FALSE" "false" "NO" "no") valid_vals_DO_SPPT=("TRUE" "true" "YES" "yes" "FALSE" "false" "NO" "no") valid_vals_DO_SKEB=("TRUE" "true" "YES" "yes" "FALSE" "false" "NO" "no") valid_vals_USE_ZMTNBLCK=("TRUE" "true" "YES" "yes" "FALSE" "false" "NO" "no") +valid_vals_USE_FVCOM=("TRUE" "true" "YES" "yes" "FALSE" "false" "NO" "no") From 52b49f1facd9eff97269c0750f43233995946735 Mon Sep 17 00:00:00 2001 From: JeffBeck-NOAA <55201531+JeffBeck-NOAA@users.noreply.github.com> Date: Tue, 13 Oct 2020 12:28:06 -0600 Subject: [PATCH 04/15] Add NOMADS script call back into generate script. (#311) * Add NOMADS data script call back into generate script. * Change location of NOMADS script call --- ush/generate_FV3LAM_wflow.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/ush/generate_FV3LAM_wflow.sh b/ush/generate_FV3LAM_wflow.sh index 489a2b536..daad082e3 100755 --- a/ush/generate_FV3LAM_wflow.sh +++ b/ush/generate_FV3LAM_wflow.sh @@ -631,8 +631,6 @@ Copying the FV3-LAM executable (exec_fp) to the executables directory EXECDIR = \"$EXECDIR\"" cp_vrfy "${exec_fp}" "${FV3_EXEC_FP}" fi - - # #----------------------------------------------------------------------- # @@ -669,7 +667,7 @@ if [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_v0" ] || \ print_err_msg_exit "\ The value to set the variable lsoil to in the FV3 namelist file (FV3_NML_FP) has not been specified for the following combination of physics suite and -external models for ICs and LBCs: +external model ICs: CCPP_PHYS_SUITE = \"${CCPP_PHYS_SUITE}\" EXTRN_MDL_NAME_ICS = \"${EXTRN_MDL_NAME_ICS}\" Please change one or more of these parameters or provide a value for lsoil @@ -950,6 +948,15 @@ edit the cron table): Done. " # +# If necessary, run the NOMADS script to source external model data. +# +if [ "${NOMADS}" = "TRUE" ]; then + echo "Getting NOMADS online data" + echo "NOMADS_file_type=" $NOMADS_file_type + cd $EXPTDIR + $USHDIR/NOMADS_get_extrn_mdl_files.sh $DATE_FIRST_CYCL $CYCL_HRS $NOMADS_file_type $FCST_LEN_HRS $LBC_SPEC_INTVL_HRS +fi +# #----------------------------------------------------------------------- # # Restore the shell options saved at the beginning of this script/func- @@ -960,10 +967,6 @@ Done. { restore_shell_opts; } > /dev/null 2>&1 } - - - - # #----------------------------------------------------------------------- # @@ -1060,6 +1063,3 @@ Stopping. " exit 1 fi - - - From a94a89e2965fba200fb3976592532b9d6721a8d9 Mon Sep 17 00:00:00 2001 From: Yunheng Wang <47898913+ywangwof@users.noreply.github.com> Date: Tue, 13 Oct 2020 16:21:44 -0500 Subject: [PATCH 05/15] Wrapped global_equiv_resol exec_fp with APRUN just as other commands do and inserted CASE statements for Stampede (#303) --- scripts/exregional_make_grid.sh | 2 +- ush/get_extrn_mdl_file_dir_info.sh | 3 +++ ush/set_extrn_mdl_params.sh | 6 ++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/scripts/exregional_make_grid.sh b/scripts/exregional_make_grid.sh index c7b850005..13276835e 100755 --- a/scripts/exregional_make_grid.sh +++ b/scripts/exregional_make_grid.sh @@ -429,7 +429,7 @@ cubed-sphere grid equivalent resolution does not exist: Please ensure that you've built this executable." fi -${exec_fp} "${grid_fp}" || \ +$APRUN ${exec_fp} "${grid_fp}" || \ print_err_msg_exit "\ Call to executable (exec_fp) that calculates the regional grid's global uniform cubed-sphere grid equivalent resolution returned with nonzero exit diff --git a/ush/get_extrn_mdl_file_dir_info.sh b/ush/get_extrn_mdl_file_dir_info.sh index ae1300634..47c42cea6 100755 --- a/ush/get_extrn_mdl_file_dir_info.sh +++ b/ush/get_extrn_mdl_file_dir_info.sh @@ -603,6 +603,9 @@ has not been specified for this external model and machine combination: "CHEYENNE") sysdir="$sysbasedir/gfs.${yyyymmdd}/${hh}" ;; + "STAMPEDE") + sysdir="$sysbasedir" + ;; *) print_err_msg_exit "\ The system directory in which to look for external model output files diff --git a/ush/set_extrn_mdl_params.sh b/ush/set_extrn_mdl_params.sh index 02fbbbf00..7a5b8104d 100644 --- a/ush/set_extrn_mdl_params.sh +++ b/ush/set_extrn_mdl_params.sh @@ -95,6 +95,9 @@ else "ODIN") EXTRN_MDL_SYSBASEDIR_ICS="/scratch/ywang/test_runs/FV3_regional/gfs" ;; + "STAMPEDE") + EXTRN_MDL_SYSBASEDIR_ICS="/scratch/00315/tg455890/GDAS/20190530/2019053000_mem001" + ;; "CHEYENNE") EXTRN_MDL_SYSBASEDIR_ICS="/glade/p/ral/jntp/UFS_CAM/COMGFS" ;; @@ -240,6 +243,9 @@ else "CHEYENNE") EXTRN_MDL_SYSBASEDIR_LBCS="/glade/p/ral/jntp/UFS_CAM/COMGFS" ;; + "STAMPEDE") + EXTRN_MDL_SYSBASEDIR_LBCS="/scratch/00315/tg455890/GDAS/20190530/2019053000_mem001" + ;; esac ;; From 3d6e1df5203a6ef7f193e43af85ff21f3f8c88a6 Mon Sep 17 00:00:00 2001 From: gsketefian <31046882+gsketefian@users.noreply.github.com> Date: Tue, 13 Oct 2020 15:31:52 -0600 Subject: [PATCH 06/15] Remove the USE_CCPP variable (#308) ## DESCRIPTION OF CHANGES: This PR removes the USE_CCPP variable from all scripts and other files. The workflow only supports running the FV3 model with CCPP, so USE_CCPP is deprecated. ## TESTS CONDUCTED: Ran one WE2E test (regional_002) on hera. Succeeded. ## ISSUE (optional): This resolves Issue #196. --- scripts/exregional_make_ics.sh | 75 +++++++++--------- scripts/exregional_run_fcst.sh | 15 ++-- .../baseline_configs/config.DOT_OR_USCORE.sh | 1 - .../config.community_ensemble_008mems.sh | 1 - .../config.community_ensemble_2mems.sh | 1 - ...get_extrn_files_from_hpss_FV3GFS_FV3GFS.sh | 1 - ...get_extrn_files_from_hpss_GSMGFS_GSMGFS.sh | 1 - ...ig.get_extrn_files_from_hpss_HRRRX_RAPX.sh | 1 - ...fig.get_extrn_files_from_hpss_RAPX_RAPX.sh | 1 - ....grid_CONUS_25km_GFDLgrid_FV3GFS_FV3GFS.sh | 1 - ...g.grid_CONUS_3km_GFDLgrid_FV3GFS_FV3GFS.sh | 1 - .../config.grid_GSD_HRRR_AK_50km.sh | 1 - .../config.grid_GSD_RAP13km.sh | 1 - .../config.grid_RRFS_AK_13km_FV3GFS_FV3GFS.sh | 1 - .../config.grid_RRFS_AK_13km_RAPX_RAPX.sh | 1 - .../config.grid_RRFS_AK_3km_FV3GFS_FV3GFS.sh | 1 - .../config.grid_RRFS_AK_3km_RAPX_RAPX.sh | 1 - ...nfig.grid_RRFS_CONUS_13km_FV3GFS_FV3GFS.sh | 1 - .../config.grid_RRFS_CONUS_13km_HRRRX_RAPX.sh | 1 - ...nfig.grid_RRFS_CONUS_25km_FV3GFS_FV3GFS.sh | 1 - .../config.grid_RRFS_CONUS_25km_HRRRX_RAPX.sh | 1 - ...onfig.grid_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh | 1 - .../config.grid_RRFS_CONUS_3km_HRRRX_RAPX.sh | 1 - ...ig.grid_RRFS_SUBCONUS_3km_FV3GFS_FV3GFS.sh | 1 - ...onfig.grid_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh | 1 - .../config.nco_RRFS_CONUS_25km_HRRRX_RAPX.sh | 1 - ...config.nco_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh | 1 - .../config.nco_RRFS_CONUS_3km_HRRRX_RAPX.sh | 1 - ...config.nco_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh | 1 - tests/baseline_configs/config.nco_conus.sh | 1 - .../baseline_configs/config.nco_conus_c96.sh | 1 - ...co_conus_c96__suite_FV3_GFS_2017_gfdlmp.sh | 1 - tests/baseline_configs/config.nco_ensemble.sh | 1 - tests/baseline_configs/config.new_ESGgrid.sh | 1 - tests/baseline_configs/config.new_GFDLgrid.sh | 1 - ..._USE_GFDLgrid_RES_IN_FILENAMES_eq_FALSE.sh | 1 - ...d_USE_GFDLgrid_RES_IN_FILENAMES_eq_TRUE.sh | 1 - .../config.pregen_grid_orog_sfc_climo.sh | 1 - tests/baseline_configs/config.regional_001.sh | 1 - tests/baseline_configs/config.regional_002.sh | 1 - .../config.suite_FV3_CPT_v0.sh | 1 - .../config.suite_FV3_GFS_v15p2.sh | 1 - .../config.suite_FV3_GFS_v16beta.sh | 1 - .../config.suite_FV3_GSD_SAR.sh | 1 - .../config.suite_FV3_GSD_v0.sh | 1 - .../config.suite_FV3_RRFS_v1beta.sh | 1 - .../config.user_download_extrn_files.sh | 1 - tests/baselines_list.txt | 15 +++- ush/config.community.sh | 1 - ush/config.nco.sh | 1 - ush/config_defaults.sh | 32 ++------ ush/generate_FV3LAM_wflow.sh | 39 +++------- ush/load_modules_run_task.sh | 14 ---- ush/set_ozone_param.sh | 23 ++---- ush/setup.sh | 77 ++++--------------- ush/valid_param_vals.sh | 2 - 56 files changed, 93 insertions(+), 246 deletions(-) diff --git a/scripts/exregional_make_ics.sh b/scripts/exregional_make_ics.sh index c89e458fe..04cc14652 100755 --- a/scripts/exregional_make_ics.sh +++ b/scripts/exregional_make_ics.sh @@ -352,21 +352,19 @@ case "${EXTRN_MDL_NAME_ICS}" in fn_grib2="${EXTRN_MDL_FNS[0]}" input_type="grib2" # -# Set soil levels based on LSM in CCPP SDF (RUC-LSM or Noah/Noah MP) +# Set soil levels based on LSM in CCPP SDF (RUC-LSM or Noah/Noah MP). # - if [ "${USE_CCPP}" = "TRUE" ]; then - if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp_regional" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_CPT_v0" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v15p2" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v16beta" ]; then - nsoill_out="4" - elif [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_v0" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR" ]; then - nsoill_out="9" - fi + if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp_regional" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_CPT_v0" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v15p2" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v16beta" ]; then + nsoill_out="4" + elif [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_v0" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR" ]; then + nsoill_out="9" fi # # These geogrid files need to be moved to more permanent locations. @@ -397,20 +395,18 @@ case "${EXTRN_MDL_NAME_ICS}" in fn_grib2="${EXTRN_MDL_FNS[0]}" input_type="grib2" # -# Set soil levels based on CCPP SDF +# Set soil levels based on CCPP SDF. # - if [ "${USE_CCPP}" = "TRUE" ]; then - if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp_regional" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_CPT_v0" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v15p2" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v16beta" ]; then - nsoill_out="4" - elif [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_v0" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR" ]; then - nsoill_out="9" - fi + if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp_regional" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_CPT_v0" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v15p2" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v16beta" ]; then + nsoill_out="4" + elif [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_v0" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR" ]; then + nsoill_out="9" fi # # These geogrid files need to be moved to more permanent locations. @@ -441,20 +437,19 @@ case "${EXTRN_MDL_NAME_ICS}" in input_type="grib2" # -# Use Thompson climatology for ice- and water-friendly aerosols if CCPP suite uses Thompson MP +# Use Thompson climatology for ice- and water-friendly aerosols if CCPP +# suite uses Thompson MP # - if [ "${USE_CCPP}" = "TRUE" ]; then - if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp_regional" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_CPT_v0" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v15p2" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v16beta" ]; then - thomp_mp_climo_file="" - elif [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_v0" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR" ]; then - [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ - thomp_mp_climo_file="${FIXam}/Thompson_MP_MONTHLY_CLIMO.nc" - fi + if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp_regional" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_CPT_v0" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v15p2" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v16beta" ]; then + thomp_mp_climo_file="" + elif [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_v0" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR" ]; then + [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ + thomp_mp_climo_file="${FIXam}/Thompson_MP_MONTHLY_CLIMO.nc" fi nsoill_out="4" #If the CCPP suites uses RUC-LSM, the scheme will interpolate from 4 to 9 soil levels. diff --git a/scripts/exregional_run_fcst.sh b/scripts/exregional_run_fcst.sh index 75bf3588a..2168b985f 100755 --- a/scripts/exregional_run_fcst.sh +++ b/scripts/exregional_run_fcst.sh @@ -437,16 +437,11 @@ else ln_vrfy -sf ${relative_or_null} ${FV3_NML_FP} ${run_dir} fi -if [ "${USE_CCPP}" = "TRUE" ]; then - - ln_vrfy -sf ${relative_or_null} ${CCPP_PHYS_SUITE_FP} ${run_dir} - - if [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_v0" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR" ]; then - ln_vrfy -sf ${relative_or_null} $EXPTDIR/CCN_ACTIVATE.BIN ${run_dir} - fi - +ln_vrfy -sf ${relative_or_null} ${CCPP_PHYS_SUITE_FP} ${run_dir} +if [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_v0" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR" ]; then + ln_vrfy -sf ${relative_or_null} $EXPTDIR/CCN_ACTIVATE.BIN ${run_dir} fi # #----------------------------------------------------------------------- diff --git a/tests/baseline_configs/config.DOT_OR_USCORE.sh b/tests/baseline_configs/config.DOT_OR_USCORE.sh index 0b7c202c6..2f80f2bef 100644 --- a/tests/baseline_configs/config.DOT_OR_USCORE.sh +++ b/tests/baseline_configs/config.DOT_OR_USCORE.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.community_ensemble_008mems.sh b/tests/baseline_configs/config.community_ensemble_008mems.sh index a0a75a139..8a4068f44 100644 --- a/tests/baseline_configs/config.community_ensemble_008mems.sh +++ b/tests/baseline_configs/config.community_ensemble_008mems.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.community_ensemble_2mems.sh b/tests/baseline_configs/config.community_ensemble_2mems.sh index 00450be06..6032fca71 100644 --- a/tests/baseline_configs/config.community_ensemble_2mems.sh +++ b/tests/baseline_configs/config.community_ensemble_2mems.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.get_extrn_files_from_hpss_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.get_extrn_files_from_hpss_FV3GFS_FV3GFS.sh index c0d56966d..4acc7545e 100644 --- a/tests/baseline_configs/config.get_extrn_files_from_hpss_FV3GFS_FV3GFS.sh +++ b/tests/baseline_configs/config.get_extrn_files_from_hpss_FV3GFS_FV3GFS.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.get_extrn_files_from_hpss_GSMGFS_GSMGFS.sh b/tests/baseline_configs/config.get_extrn_files_from_hpss_GSMGFS_GSMGFS.sh index 1fbf5962c..904b899b0 100644 --- a/tests/baseline_configs/config.get_extrn_files_from_hpss_GSMGFS_GSMGFS.sh +++ b/tests/baseline_configs/config.get_extrn_files_from_hpss_GSMGFS_GSMGFS.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.get_extrn_files_from_hpss_HRRRX_RAPX.sh b/tests/baseline_configs/config.get_extrn_files_from_hpss_HRRRX_RAPX.sh index 5e786809a..a5ead9f08 100644 --- a/tests/baseline_configs/config.get_extrn_files_from_hpss_HRRRX_RAPX.sh +++ b/tests/baseline_configs/config.get_extrn_files_from_hpss_HRRRX_RAPX.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GSD_SAR" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.get_extrn_files_from_hpss_RAPX_RAPX.sh b/tests/baseline_configs/config.get_extrn_files_from_hpss_RAPX_RAPX.sh index 393c8bc0b..1e32f3d03 100644 --- a/tests/baseline_configs/config.get_extrn_files_from_hpss_RAPX_RAPX.sh +++ b/tests/baseline_configs/config.get_extrn_files_from_hpss_RAPX_RAPX.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GSD_SAR" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.grid_CONUS_25km_GFDLgrid_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.grid_CONUS_25km_GFDLgrid_FV3GFS_FV3GFS.sh index 0d0b0e736..d4e014c3c 100644 --- a/tests/baseline_configs/config.grid_CONUS_25km_GFDLgrid_FV3GFS_FV3GFS.sh +++ b/tests/baseline_configs/config.grid_CONUS_25km_GFDLgrid_FV3GFS_FV3GFS.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="CONUS_25km_GFDLgrid" GRID_GEN_METHOD="GFDLgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_v16beta" FCST_LEN_HRS="06" LBC_SPEC_INTVL_HRS="3" diff --git a/tests/baseline_configs/config.grid_CONUS_3km_GFDLgrid_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.grid_CONUS_3km_GFDLgrid_FV3GFS_FV3GFS.sh index c41026343..39a39cb82 100644 --- a/tests/baseline_configs/config.grid_CONUS_3km_GFDLgrid_FV3GFS_FV3GFS.sh +++ b/tests/baseline_configs/config.grid_CONUS_3km_GFDLgrid_FV3GFS_FV3GFS.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="CONUS_3km_GFDLgrid" GRID_GEN_METHOD="GFDLgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_v16beta" FCST_LEN_HRS="06" LBC_SPEC_INTVL_HRS="3" diff --git a/tests/baseline_configs/config.grid_GSD_HRRR_AK_50km.sh b/tests/baseline_configs/config.grid_GSD_HRRR_AK_50km.sh index b6a041892..204884dc1 100644 --- a/tests/baseline_configs/config.grid_GSD_HRRR_AK_50km.sh +++ b/tests/baseline_configs/config.grid_GSD_HRRR_AK_50km.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="GSD_HRRR_AK_50km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GSD_SAR" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.grid_GSD_RAP13km.sh b/tests/baseline_configs/config.grid_GSD_RAP13km.sh index a565e3aae..f46a8f895 100644 --- a/tests/baseline_configs/config.grid_GSD_RAP13km.sh +++ b/tests/baseline_configs/config.grid_GSD_RAP13km.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="GSD_RAP13km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GSD_v0" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.grid_RRFS_AK_13km_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.grid_RRFS_AK_13km_FV3GFS_FV3GFS.sh index 57da4b332..f15dbf8cf 100644 --- a/tests/baseline_configs/config.grid_RRFS_AK_13km_FV3GFS_FV3GFS.sh +++ b/tests/baseline_configs/config.grid_RRFS_AK_13km_FV3GFS_FV3GFS.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_AK_13km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_v16beta" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.grid_RRFS_AK_13km_RAPX_RAPX.sh b/tests/baseline_configs/config.grid_RRFS_AK_13km_RAPX_RAPX.sh index 630271e55..f3d92e400 100644 --- a/tests/baseline_configs/config.grid_RRFS_AK_13km_RAPX_RAPX.sh +++ b/tests/baseline_configs/config.grid_RRFS_AK_13km_RAPX_RAPX.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_AK_13km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GSD_SAR" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.grid_RRFS_AK_3km_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.grid_RRFS_AK_3km_FV3GFS_FV3GFS.sh index 02e9f97ee..02ebccb82 100644 --- a/tests/baseline_configs/config.grid_RRFS_AK_3km_FV3GFS_FV3GFS.sh +++ b/tests/baseline_configs/config.grid_RRFS_AK_3km_FV3GFS_FV3GFS.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_AK_3km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_v16beta" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.grid_RRFS_AK_3km_RAPX_RAPX.sh b/tests/baseline_configs/config.grid_RRFS_AK_3km_RAPX_RAPX.sh index c3cb06e8f..6bed997f4 100644 --- a/tests/baseline_configs/config.grid_RRFS_AK_3km_RAPX_RAPX.sh +++ b/tests/baseline_configs/config.grid_RRFS_AK_3km_RAPX_RAPX.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_AK_3km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GSD_SAR" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.grid_RRFS_CONUS_13km_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.grid_RRFS_CONUS_13km_FV3GFS_FV3GFS.sh index b30f7f457..81f6bbbe0 100644 --- a/tests/baseline_configs/config.grid_RRFS_CONUS_13km_FV3GFS_FV3GFS.sh +++ b/tests/baseline_configs/config.grid_RRFS_CONUS_13km_FV3GFS_FV3GFS.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_13km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_v16beta" FCST_LEN_HRS="06" LBC_SPEC_INTVL_HRS="3" diff --git a/tests/baseline_configs/config.grid_RRFS_CONUS_13km_HRRRX_RAPX.sh b/tests/baseline_configs/config.grid_RRFS_CONUS_13km_HRRRX_RAPX.sh index e5e302975..fc450b49f 100644 --- a/tests/baseline_configs/config.grid_RRFS_CONUS_13km_HRRRX_RAPX.sh +++ b/tests/baseline_configs/config.grid_RRFS_CONUS_13km_HRRRX_RAPX.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_13km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GSD_SAR" FCST_LEN_HRS="06" LBC_SPEC_INTVL_HRS="3" diff --git a/tests/baseline_configs/config.grid_RRFS_CONUS_25km_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.grid_RRFS_CONUS_25km_FV3GFS_FV3GFS.sh index 68511e5cb..35162b55d 100644 --- a/tests/baseline_configs/config.grid_RRFS_CONUS_25km_FV3GFS_FV3GFS.sh +++ b/tests/baseline_configs/config.grid_RRFS_CONUS_25km_FV3GFS_FV3GFS.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_v16beta" FCST_LEN_HRS="06" LBC_SPEC_INTVL_HRS="3" diff --git a/tests/baseline_configs/config.grid_RRFS_CONUS_25km_HRRRX_RAPX.sh b/tests/baseline_configs/config.grid_RRFS_CONUS_25km_HRRRX_RAPX.sh index 4047e11fd..41cf5423c 100644 --- a/tests/baseline_configs/config.grid_RRFS_CONUS_25km_HRRRX_RAPX.sh +++ b/tests/baseline_configs/config.grid_RRFS_CONUS_25km_HRRRX_RAPX.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GSD_SAR" FCST_LEN_HRS="06" LBC_SPEC_INTVL_HRS="3" diff --git a/tests/baseline_configs/config.grid_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.grid_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh index 15d70793c..171db735f 100644 --- a/tests/baseline_configs/config.grid_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh +++ b/tests/baseline_configs/config.grid_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_3km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_v16beta" FCST_LEN_HRS="06" LBC_SPEC_INTVL_HRS="3" diff --git a/tests/baseline_configs/config.grid_RRFS_CONUS_3km_HRRRX_RAPX.sh b/tests/baseline_configs/config.grid_RRFS_CONUS_3km_HRRRX_RAPX.sh index 751172472..d46c101fd 100644 --- a/tests/baseline_configs/config.grid_RRFS_CONUS_3km_HRRRX_RAPX.sh +++ b/tests/baseline_configs/config.grid_RRFS_CONUS_3km_HRRRX_RAPX.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_3km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GSD_SAR" FCST_LEN_HRS="06" LBC_SPEC_INTVL_HRS="3" diff --git a/tests/baseline_configs/config.grid_RRFS_SUBCONUS_3km_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.grid_RRFS_SUBCONUS_3km_FV3GFS_FV3GFS.sh index 68c1a1581..faf2d1992 100644 --- a/tests/baseline_configs/config.grid_RRFS_SUBCONUS_3km_FV3GFS_FV3GFS.sh +++ b/tests/baseline_configs/config.grid_RRFS_SUBCONUS_3km_FV3GFS_FV3GFS.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_SUBCONUS_3km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_v16beta" FCST_LEN_HRS="06" LBC_SPEC_INTVL_HRS="3" diff --git a/tests/baseline_configs/config.grid_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh b/tests/baseline_configs/config.grid_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh index 85ed27905..75b19fee7 100644 --- a/tests/baseline_configs/config.grid_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh +++ b/tests/baseline_configs/config.grid_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_SUBCONUS_3km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GSD_SAR" FCST_LEN_HRS="06" LBC_SPEC_INTVL_HRS="3" diff --git a/tests/baseline_configs/config.nco_RRFS_CONUS_25km_HRRRX_RAPX.sh b/tests/baseline_configs/config.nco_RRFS_CONUS_25km_HRRRX_RAPX.sh index 4e28b83af..c7248904e 100644 --- a/tests/baseline_configs/config.nco_RRFS_CONUS_25km_HRRRX_RAPX.sh +++ b/tests/baseline_configs/config.nco_RRFS_CONUS_25km_HRRRX_RAPX.sh @@ -5,7 +5,6 @@ EMC_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GSD_SAR" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.nco_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh b/tests/baseline_configs/config.nco_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh index 0bd17e582..b58db4315 100644 --- a/tests/baseline_configs/config.nco_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh +++ b/tests/baseline_configs/config.nco_RRFS_CONUS_3km_FV3GFS_FV3GFS.sh @@ -5,7 +5,6 @@ EMC_GRID_NAME="RRFS_CONUS_3km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp_regional" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.nco_RRFS_CONUS_3km_HRRRX_RAPX.sh b/tests/baseline_configs/config.nco_RRFS_CONUS_3km_HRRRX_RAPX.sh index 523194b41..d39e689d3 100644 --- a/tests/baseline_configs/config.nco_RRFS_CONUS_3km_HRRRX_RAPX.sh +++ b/tests/baseline_configs/config.nco_RRFS_CONUS_3km_HRRRX_RAPX.sh @@ -5,7 +5,6 @@ EMC_GRID_NAME="RRFS_CONUS_3km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GSD_SAR" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.nco_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh b/tests/baseline_configs/config.nco_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh index 1bb952e72..f0cb3da8a 100644 --- a/tests/baseline_configs/config.nco_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh +++ b/tests/baseline_configs/config.nco_RRFS_SUBCONUS_3km_HRRRX_RAPX.sh @@ -5,7 +5,6 @@ EMC_GRID_NAME="RRFS_SUBCONUS_3km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GSD_SAR" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.nco_conus.sh b/tests/baseline_configs/config.nco_conus.sh index 54549494e..dba68fead 100644 --- a/tests/baseline_configs/config.nco_conus.sh +++ b/tests/baseline_configs/config.nco_conus.sh @@ -5,7 +5,6 @@ EMC_GRID_NAME="conus" # This maps to PREDEF_GRID_NAME="EMC_CONUS_3km". GRID_GEN_METHOD="GFDLgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp_regional" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.nco_conus_c96.sh b/tests/baseline_configs/config.nco_conus_c96.sh index b0b82f1e0..5f3f58bca 100644 --- a/tests/baseline_configs/config.nco_conus_c96.sh +++ b/tests/baseline_configs/config.nco_conus_c96.sh @@ -5,7 +5,6 @@ EMC_GRID_NAME="conus_c96" # This maps to PREDEF_GRID_NAME="EMC_CONUS_coarse". GRID_GEN_METHOD="GFDLgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp_regional" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.nco_conus_c96__suite_FV3_GFS_2017_gfdlmp.sh b/tests/baseline_configs/config.nco_conus_c96__suite_FV3_GFS_2017_gfdlmp.sh index 5534594aa..2b1f1ec03 100644 --- a/tests/baseline_configs/config.nco_conus_c96__suite_FV3_GFS_2017_gfdlmp.sh +++ b/tests/baseline_configs/config.nco_conus_c96__suite_FV3_GFS_2017_gfdlmp.sh @@ -5,7 +5,6 @@ EMC_GRID_NAME="conus_c96" # This maps to PREDEF_GRID_NAME="EMC_CONUS_coarse". GRID_GEN_METHOD="GFDLgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.nco_ensemble.sh b/tests/baseline_configs/config.nco_ensemble.sh index 9464a4899..83c9188c7 100644 --- a/tests/baseline_configs/config.nco_ensemble.sh +++ b/tests/baseline_configs/config.nco_ensemble.sh @@ -5,7 +5,6 @@ EMC_GRID_NAME="conus_c96" # This maps to PREDEF_GRID_NAME="EMC_CONUS_coarse". GRID_GEN_METHOD="GFDLgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp_regional" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.new_ESGgrid.sh b/tests/baseline_configs/config.new_ESGgrid.sh index a62c4010d..45c315172 100644 --- a/tests/baseline_configs/config.new_ESGgrid.sh +++ b/tests/baseline_configs/config.new_ESGgrid.sh @@ -35,7 +35,6 @@ WRTCMP_lat_lwr_left="22.41403305" WRTCMP_dx="${ESGgrid_DELX}" WRTCMP_dy="${ESGgrid_DELY}" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp_regional" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.new_GFDLgrid.sh b/tests/baseline_configs/config.new_GFDLgrid.sh index d712cf2df..3cc8b620e 100644 --- a/tests/baseline_configs/config.new_GFDLgrid.sh +++ b/tests/baseline_configs/config.new_GFDLgrid.sh @@ -52,7 +52,6 @@ if [ "$QUILTING" = "TRUE" ]; then WRTCMP_dlat="0.24" fi -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.new_GFDLgrid__GFDLgrid_USE_GFDLgrid_RES_IN_FILENAMES_eq_FALSE.sh b/tests/baseline_configs/config.new_GFDLgrid__GFDLgrid_USE_GFDLgrid_RES_IN_FILENAMES_eq_FALSE.sh index 134325580..f6bd589e4 100644 --- a/tests/baseline_configs/config.new_GFDLgrid__GFDLgrid_USE_GFDLgrid_RES_IN_FILENAMES_eq_FALSE.sh +++ b/tests/baseline_configs/config.new_GFDLgrid__GFDLgrid_USE_GFDLgrid_RES_IN_FILENAMES_eq_FALSE.sh @@ -50,7 +50,6 @@ if [ "$QUILTING" = "TRUE" ]; then WRTCMP_dlat="0.24" fi -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.new_GFDLgrid__GFDLgrid_USE_GFDLgrid_RES_IN_FILENAMES_eq_TRUE.sh b/tests/baseline_configs/config.new_GFDLgrid__GFDLgrid_USE_GFDLgrid_RES_IN_FILENAMES_eq_TRUE.sh index 57f64337a..ee7e3144a 100644 --- a/tests/baseline_configs/config.new_GFDLgrid__GFDLgrid_USE_GFDLgrid_RES_IN_FILENAMES_eq_TRUE.sh +++ b/tests/baseline_configs/config.new_GFDLgrid__GFDLgrid_USE_GFDLgrid_RES_IN_FILENAMES_eq_TRUE.sh @@ -50,7 +50,6 @@ if [ "$QUILTING" = "TRUE" ]; then WRTCMP_dlat="0.24" fi -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.pregen_grid_orog_sfc_climo.sh b/tests/baseline_configs/config.pregen_grid_orog_sfc_climo.sh index e08418601..225a60b3e 100644 --- a/tests/baseline_configs/config.pregen_grid_orog_sfc_climo.sh +++ b/tests/baseline_configs/config.pregen_grid_orog_sfc_climo.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.regional_001.sh b/tests/baseline_configs/config.regional_001.sh index 4f6c92ceb..d58093fb1 100644 --- a/tests/baseline_configs/config.regional_001.sh +++ b/tests/baseline_configs/config.regional_001.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.regional_002.sh b/tests/baseline_configs/config.regional_002.sh index 678975ecc..d93294178 100644 --- a/tests/baseline_configs/config.regional_002.sh +++ b/tests/baseline_configs/config.regional_002.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.suite_FV3_CPT_v0.sh b/tests/baseline_configs/config.suite_FV3_CPT_v0.sh index d23e50841..5746ca00f 100644 --- a/tests/baseline_configs/config.suite_FV3_CPT_v0.sh +++ b/tests/baseline_configs/config.suite_FV3_CPT_v0.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_CPT_v0" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.suite_FV3_GFS_v15p2.sh b/tests/baseline_configs/config.suite_FV3_GFS_v15p2.sh index 692db567c..03b1d6e98 100644 --- a/tests/baseline_configs/config.suite_FV3_GFS_v15p2.sh +++ b/tests/baseline_configs/config.suite_FV3_GFS_v15p2.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_v15p2" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.suite_FV3_GFS_v16beta.sh b/tests/baseline_configs/config.suite_FV3_GFS_v16beta.sh index 554b8a727..39a1217f1 100644 --- a/tests/baseline_configs/config.suite_FV3_GFS_v16beta.sh +++ b/tests/baseline_configs/config.suite_FV3_GFS_v16beta.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_v16beta" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.suite_FV3_GSD_SAR.sh b/tests/baseline_configs/config.suite_FV3_GSD_SAR.sh index 613d1b786..fa8783a80 100644 --- a/tests/baseline_configs/config.suite_FV3_GSD_SAR.sh +++ b/tests/baseline_configs/config.suite_FV3_GSD_SAR.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GSD_SAR" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.suite_FV3_GSD_v0.sh b/tests/baseline_configs/config.suite_FV3_GSD_v0.sh index 9193847fe..e8bee0888 100644 --- a/tests/baseline_configs/config.suite_FV3_GSD_v0.sh +++ b/tests/baseline_configs/config.suite_FV3_GSD_v0.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GSD_v0" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.suite_FV3_RRFS_v1beta.sh b/tests/baseline_configs/config.suite_FV3_RRFS_v1beta.sh index 63b2d6404..90a1aad41 100644 --- a/tests/baseline_configs/config.suite_FV3_RRFS_v1beta.sh +++ b/tests/baseline_configs/config.suite_FV3_RRFS_v1beta.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_RRFS_v1beta" FCST_LEN_HRS="06" diff --git a/tests/baseline_configs/config.user_download_extrn_files.sh b/tests/baseline_configs/config.user_download_extrn_files.sh index 3a1b32819..5c0049d08 100644 --- a/tests/baseline_configs/config.user_download_extrn_files.sh +++ b/tests/baseline_configs/config.user_download_extrn_files.sh @@ -5,7 +5,6 @@ PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp" FCST_LEN_HRS="06" diff --git a/tests/baselines_list.txt b/tests/baselines_list.txt index 7946d6aa0..9c2297087 100644 --- a/tests/baselines_list.txt +++ b/tests/baselines_list.txt @@ -5,9 +5,22 @@ get_extrn_files_from_hpss_FV3GFS_FV3GFS get_extrn_files_from_hpss_GSMGFS_GSMGFS get_extrn_files_from_hpss_HRRRX_RAPX get_extrn_files_from_hpss_RAPX_RAPX +grid_CONUS_25km_GFDLgrid_FV3GFS_FV3GFS +grid_CONUS_3km_GFDLgrid_FV3GFS_FV3GFS grid_GSD_HRRR_AK_50km -grid_RRFS_CONUS_13km grid_GSD_RAP13km +grid_RRFS_AK_13km_FV3GFS_FV3GFS +grid_RRFS_AK_13km_RAPX_RAPX +grid_RRFS_AK_3km_FV3GFS_FV3GFS +grid_RRFS_AK_3km_RAPX_RAPX +grid_RRFS_CONUS_13km_FV3GFS_FV3GFS +grid_RRFS_CONUS_13km_HRRRX_RAPX +grid_RRFS_CONUS_25km_FV3GFS_FV3GFS +grid_RRFS_CONUS_25km_HRRRX_RAPX +grid_RRFS_CONUS_3km_FV3GFS_FV3GFS +grid_RRFS_CONUS_3km_HRRRX_RAPX +grid_RRFS_SUBCONUS_3km_FV3GFS_FV3GFS +grid_RRFS_SUBCONUS_3km_HRRRX_RAPX nco_RRFS_CONUS_25km_HRRRX_RAPX nco_RRFS_CONUS_3km_FV3GFS_FV3GFS nco_RRFS_CONUS_3km_HRRRX_RAPX diff --git a/ush/config.community.sh b/ush/config.community.sh index 5c71641d8..1b5b9018a 100644 --- a/ush/config.community.sh +++ b/ush/config.community.sh @@ -14,7 +14,6 @@ PREEXISTING_DIR_METHOD="rename" PREDEF_GRID_NAME="RRFS_CONUS_25km" GRID_GEN_METHOD="ESGgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp" FCST_LEN_HRS="6" LBC_SPEC_INTVL_HRS="6" diff --git a/ush/config.nco.sh b/ush/config.nco.sh index 6f176789c..fd8cd98ca 100644 --- a/ush/config.nco.sh +++ b/ush/config.nco.sh @@ -15,7 +15,6 @@ EMC_GRID_NAME="conus_c96" # For now (20200130), this is maps to PREDEF_GRID_NAM GRID_GEN_METHOD="GFDLgrid" QUILTING="TRUE" -USE_CCPP="TRUE" CCPP_PHYS_SUITE="FV3_GFS_2017_gfdlmp" FCST_LEN_HRS="06" LBC_SPEC_INTVL_HRS="6" diff --git a/ush/config_defaults.sh b/ush/config_defaults.sh index a80bff088..e5fa2d4be 100644 --- a/ush/config_defaults.sh +++ b/ush/config_defaults.sh @@ -452,38 +452,16 @@ EXTRN_MDL_FILES_LBCS=( "LBCS_file1" "LBCS_file2" "..." ) # # Set CCPP-associated parameters. Definitions: # -# USE_CCPP: -# Flag controlling whether or not a CCPP-enabled version of the forecast -# model will be run. Note that the user is responsible for ensuring that -# a CCPP-enabled forecast model executable is built and placed at the -# correct location (that is part of the build process). -# # CCPP_PHYS_SUITE: -# If USE_CCPP has been set to "TRUE", this variable defines the physics -# suite that will run using CCPP. The choice of physics suite determines -# the forecast model's namelist file, the diagnostics table file, the -# field table file, and the XML physics suite definition file that are -# staged in the experiment directory or the cycle directories under it. -# If USE_CCPP is set to "FALSE", the only physics suite that can be run -# is the GFS. -# -# Note that it is up to the user to ensure that the CCPP-enabled forecast -# model executable is built with either the dynamic build (which can -# handle any CCPP physics package but is slower to run) or the static -# build with the correct physics package. If using a static build, the -# forecast will fail if the physics package specified in the experiment's -# variable defintions file (GLOBAL_VAR_DEFNS_FN) is not the same as the -# one that was used for the static build. -# -# OZONE_PARAM_NO_CCPP: -# The ozone parameterization to use if NOT using a CCPP-enabled forecast -# model executable. +# The physics suite that will run using CCPP (Common Community Physics +# Package). The choice of physics suite determines the forecast model's +# namelist file, the diagnostics table file, the field table file, and +# the XML physics suite definition file that are staged in the experiment +# directory or the cycle directories under it. # #----------------------------------------------------------------------- # -USE_CCPP="FALSE" CCPP_PHYS_SUITE="FV3_GSD_v0" -OZONE_PARAM_NO_CCPP="ozphys" # #----------------------------------------------------------------------- # diff --git a/ush/generate_FV3LAM_wflow.sh b/ush/generate_FV3LAM_wflow.sh index daad082e3..8ffe98768 100755 --- a/ush/generate_FV3LAM_wflow.sh +++ b/ush/generate_FV3LAM_wflow.sh @@ -510,33 +510,27 @@ print_info_msg "$VERBOSE" " ory..." cp_vrfy "${NEMS_CONFIG_TMPL_FP}" "${NEMS_CONFIG_FP}" # -# If using CCPP ... -# -if [ "${USE_CCPP}" = "TRUE" ]; then -# # Copy the CCPP physics suite definition file from its location in the # clone of the FV3 code repository to the experiment directory (EXPT- # DIR). # - print_info_msg "$VERBOSE" " +print_info_msg "$VERBOSE" " Copying the CCPP physics suite definition XML file from its location in the forecast model directory sturcture to the experiment directory..." - cp_vrfy "${CCPP_PHYS_SUITE_IN_CCPP_FP}" "${CCPP_PHYS_SUITE_FP}" +cp_vrfy "${CCPP_PHYS_SUITE_IN_CCPP_FP}" "${CCPP_PHYS_SUITE_FP}" # -# If using the GSD_v0 or GSD_SAR physics suite, copy the fixed file con- -# taining cloud condensation nuclei (CCN) data that is needed by the -# Thompson microphysics parameterization to the experiment directory. +# If using a physics suite that includes the Thompson microphysics +# parameterization, copy the fixed file containing cloud condensation +# nuclei (CCN) data that is needed by that parameterization. # - if [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_v0" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR" ]; then - print_info_msg "$VERBOSE" " +if [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_v0" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR" ]; then + print_info_msg "$VERBOSE" " Copying the fixed file containing cloud condensation nuclei (CCN) data (needed by the Thompson microphysics parameterization) to the experiment directory..." - cp_vrfy "${FIXgsm}/CCN_ACTIVATE.BIN" "$EXPTDIR" - fi - + cp_vrfy "${FIXgsm}/CCN_ACTIVATE.BIN" "$EXPTDIR" fi # #----------------------------------------------------------------------- @@ -552,8 +546,7 @@ fi # #----------------------------------------------------------------------- # -if [ "${USE_CCPP}" = "TRUE" ] && \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp_regional" ]; then +if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp_regional" ]; then mv_vrfy "${CCPP_PHYS_SUITE_FP}.tmp" "${CCPP_PHYS_SUITE_FP}" fi @@ -588,15 +581,7 @@ fi # #----------------------------------------------------------------------- # -if [ "${USE_CCPP}" = "TRUE" ]; then - exec_fn="NEMS.exe" -else - print_err_msg_exit "\ -Running this workflow without CCPP is not supported at this time. -Please set USE_CCPP=TRUE in your config.sh file. -" -fi - +exec_fn="NEMS.exe" exec_fp="${SR_WX_APP_TOP_DIR}/bin/${exec_fn}" #Check for the old build location for fv3 executable if [ ! -f "${exec_fp}" ]; then diff --git a/ush/load_modules_run_task.sh b/ush/load_modules_run_task.sh index 6e523ce3e..fb66658fd 100755 --- a/ush/load_modules_run_task.sh +++ b/ush/load_modules_run_task.sh @@ -172,21 +172,7 @@ modulefile_name="${task_name}" default_modules_dir="$HOMErrfs/modulefiles" default_modulefile_name="${machine}.default" use_default_modulefile=0 -# Dom says that a correct modules.fv3 file is generated by the forecast -# model build regardless of whether building with or without CCPP. -# Thus, we can have a symlink named "run_fcst" that points to that file -# regardless of the setting of USE_CCPP. But this requires that we then -# test the non-CCPP-enabled version, which we've never done. Leave this -# for another time... -#if [ "${task_name}" = "run_fcst" ]; then -# if [ "${USE_CCPP}" = "TRUE" ]; then -# modulefile_name=${modulefile_name}_ccpp -# else -# modulefile_name=${modulefile_name}_no_ccpp -# fi -#fi # - #----------------------------------------------------------------------- # # This comment needs to be updated: diff --git a/ush/set_ozone_param.sh b/ush/set_ozone_param.sh index b08b8bffa..df2dfa704 100644 --- a/ush/set_ozone_param.sh +++ b/ush/set_ozone_param.sh @@ -66,7 +66,6 @@ function set_ozone_param() { # local valid_args=( \ "ccpp_phys_suite_fp" \ -"ozone_param_no_ccpp" \ "output_varname_ozone_param" \ ) process_args valid_args "$@" @@ -114,9 +113,8 @@ function set_ozone_param() { # being used, then we set the variable ozone_param to the string # "ozphys". # -# If the forecast model executable is CCPP-enabled, then we check the -# CCPP physics suite file to determine the parameterization being used. -# If this file contains the line +# We check the CCPP physics suite definition file (SDF) to determine the +# parameterization being used. If this file contains the line # # ozphys_2015 # @@ -125,21 +123,14 @@ function set_ozone_param() { # # ozphys # -# then the after-2015 parameterization is being used. (The suite file -# should contain exactly one of these lines; not both or neither; check -# for this.) If the forecast model executable is not CCPP-enabled, then -# the ozone parameterization must be specified by the user. This user- -# specified value is passed in as an argument (ozone_param_no_ccpp), and -# ozone_param simply gets set to this value. +# then the after-2015 parameterization is being used. (The SDF should +# contain exactly one of these lines; not both nor neither; we check for +# this.) # #----------------------------------------------------------------------- # - if [ "${USE_CCPP}" = "FALSE" ]; then - ozone_param="${ozone_param_no_ccpp}" - else - regex_search="^[ ]*(ozphys.*)<\/scheme>[ ]*$" - ozone_param=$( sed -r -n -e "s/${regex_search}/\1/p" "${ccpp_phys_suite_fp}" ) - fi + regex_search="^[ ]*(ozphys.*)<\/scheme>[ ]*$" + ozone_param=$( sed -r -n -e "s/${regex_search}/\1/p" "${ccpp_phys_suite_fp}" ) if [ "${ozone_param}" = "ozphys_2015" ]; then fixgsm_ozone_fn="ozprdlos_2015_new_sbuvO3_tclm15_nuchem.f77" diff --git a/ush/setup.sh b/ush/setup.sh index d55b90d7d..9e13c6a19 100755 --- a/ush/setup.sh +++ b/ush/setup.sh @@ -538,38 +538,15 @@ check_var_valid_value \ # #----------------------------------------------------------------------- # -# Make sure USE_CCPP is set to a valid value. +# Make sure CCPP_PHYS_SUITE is set to a valid value. # #----------------------------------------------------------------------- # -check_var_valid_value "USE_CCPP" "valid_vals_USE_CCPP" -# -# Set USE_CCPP to either "TRUE" or "FALSE" so we don't have to consider -# other valid values later on. -# -USE_CCPP=${USE_CCPP^^} -if [ "$USE_CCPP" = "TRUE" ] || \ - [ "$USE_CCPP" = "YES" ]; then - USE_CCPP="TRUE" -elif [ "$USE_CCPP" = "FALSE" ] || \ - [ "$USE_CCPP" = "NO" ]; then - USE_CCPP="FALSE" -fi -# -#----------------------------------------------------------------------- -# -# If USE_CCPP is set to "TRUE", make sure CCPP_PHYS_SUITE is set to a -# valid value. -# -#----------------------------------------------------------------------- -# -if [ "${USE_CCPP}" = "TRUE" ] && [ ! -z ${CCPP_PHYS_SUITE} ]; then - err_msg="\ +err_msg="\ The CCPP physics suite specified in CCPP_PHYS_SUITE is not supported: CCPP_PHYS_SUITE = \"${CCPP_PHYS_SUITE}\"" - check_var_valid_value \ - "CCPP_PHYS_SUITE" "valid_vals_CCPP_PHYS_SUITE" "${err_msg}" -fi +check_var_valid_value \ + "CCPP_PHYS_SUITE" "valid_vals_CCPP_PHYS_SUITE" "${err_msg}" # #----------------------------------------------------------------------- # @@ -578,8 +555,7 @@ fi # #----------------------------------------------------------------------- # -if [ "${USE_CCPP}" = "TRUE" ] && \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp" ]; then +if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp" ]; then if [ "${EXTRN_MDL_NAME_ICS}" != "GSMGFS" -a \ "${EXTRN_MDL_NAME_ICS}" != "FV3GFS" ] || \ @@ -713,8 +689,7 @@ NUM_CYCLES="${#ALL_CDATES[@]}" # # UFS_WTHR_MDL_DIR: # Directory in which the (NEMS-enabled) FV3-LAM application is located. -# This directory includes subdirectories for FV3, NEMS, and FMS. If -# USE_CCPP is set to "TRUE", it also includes a subdirectory for CCPP. +# This directory includes subdirectories for FV3, NEMS, and FMS. # #----------------------------------------------------------------------- # @@ -1220,10 +1195,7 @@ fi # #----------------------------------------------------------------------- # -dot_ccpp_phys_suite_or_null="" -if [ "${USE_CCPP}" = "TRUE" ]; then - dot_ccpp_phys_suite_or_null=".${CCPP_PHYS_SUITE}" -fi +dot_ccpp_phys_suite_or_null=".${CCPP_PHYS_SUITE}" DATA_TABLE_TMPL_FN="${DATA_TABLE_FN}" DIAG_TABLE_TMPL_FN="${DIAG_TABLE_FN}${dot_ccpp_phys_suite_or_null}" @@ -1261,20 +1233,14 @@ NEMS_CONFIG_TMPL_FP="${TEMPLATE_DIR}/${NEMS_CONFIG_TMPL_FN}" # #----------------------------------------------------------------------- # -CCPP_PHYS_SUITE_FN="" -CCPP_PHYS_SUITE_IN_CCPP_FP="" -CCPP_PHYS_SUITE_FP="" - -if [ "${USE_CCPP}" = "TRUE" ]; then - CCPP_PHYS_SUITE_FN="suite_${CCPP_PHYS_SUITE}.xml" - CCPP_PHYS_SUITE_IN_CCPP_FP="${UFS_WTHR_MDL_DIR}/FV3/ccpp/suites/${CCPP_PHYS_SUITE_FN}" - CCPP_PHYS_SUITE_FP="${EXPTDIR}/${CCPP_PHYS_SUITE_FN}" - if [ ! -f "${CCPP_PHYS_SUITE_IN_CCPP_FP}" ]; then - print_err_msg_exit "\ +CCPP_PHYS_SUITE_FN="suite_${CCPP_PHYS_SUITE}.xml" +CCPP_PHYS_SUITE_IN_CCPP_FP="${UFS_WTHR_MDL_DIR}/FV3/ccpp/suites/${CCPP_PHYS_SUITE_FN}" +CCPP_PHYS_SUITE_FP="${EXPTDIR}/${CCPP_PHYS_SUITE_FN}" +if [ ! -f "${CCPP_PHYS_SUITE_IN_CCPP_FP}" ]; then + print_err_msg_exit "\ The CCPP suite definition file (CCPP_PHYS_SUITE_IN_CCPP_FP) does not exist in the local clone of the ufs-weather-model: CCPP_PHYS_SUITE_IN_CCPP_FP = \"${CCPP_PHYS_SUITE_IN_CCPP_FP}\"" - fi fi # #----------------------------------------------------------------------- @@ -2165,14 +2131,6 @@ NNODES_RUN_FCST=$(( (PE_MEMBER01 + PPN_RUN_FCST - 1)/PPN_RUN_FCST )) # #----------------------------------------------------------------------- # -# Make sure that OZONE_PARAM_NO_CCPP is set to a valid value. -# -#----------------------------------------------------------------------- -# -check_var_valid_value "OZONE_PARAM_NO_CCPP" "valid_vals_OZONE_PARAM_NO_CCPP" -# -#----------------------------------------------------------------------- -# # Create a new experiment directory. Note that at this point we are # guaranteed that there is no preexisting experiment directory. # @@ -2208,8 +2166,7 @@ mkdir_vrfy -p "$EXPTDIR" # #----------------------------------------------------------------------- # -if [ "${USE_CCPP}" = "TRUE" ] && \ - [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp_regional" ]; then +if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp_regional" ]; then CCPP_PHYS_SUITE_FP="${CCPP_PHYS_SUITE_FP}.tmp" cp_vrfy "${CCPP_PHYS_SUITE_IN_CCPP_FP}" "${CCPP_PHYS_SUITE_FP}" @@ -2250,7 +2207,6 @@ in the suite definition file (CCPP_PHYS_SUITE_FP) failed: # set_ozone_param \ ccpp_phys_suite_fp="${CCPP_PHYS_SUITE_FP}" \ - ozone_param_no_ccpp="OZONE_PARAM_NO_CCPP" \ output_varname_ozone_param="OZONE_PARAM" CCPP_PHYS_SUITE_FP="${CCPP_PHYS_SUITE_FP%.tmp}" @@ -2271,7 +2227,6 @@ else # set_ozone_param \ ccpp_phys_suite_fp="${CCPP_PHYS_SUITE_IN_CCPP_FP}" \ - ozone_param_no_ccpp="OZONE_PARAM_NO_CCPP" \ output_varname_ozone_param="OZONE_PARAM" @@ -2769,10 +2724,8 @@ fi # #----------------------------------------------------------------------- # -# Name of the ozone parameterization. If USE_CCPP is set to "FALSE", -# then this will be equal to OZONE_PARAM_NO_CCPP. If USE_CCPP is set to -# "TRUE", then the value this gets set to depends on the CCPP physics -# suite being used. +# Name of the ozone parameterization. The value this gets set to depends +# on the CCPP physics suite being used. # #----------------------------------------------------------------------- # diff --git a/ush/valid_param_vals.sh b/ush/valid_param_vals.sh index f7590e0dd..2aad5c51d 100644 --- a/ush/valid_param_vals.sh +++ b/ush/valid_param_vals.sh @@ -37,7 +37,6 @@ valid_vals_EMC_GRID_NAME=( \ "RRFS_SUBCONUS_3km" \ "GSD_RAP13km" \ ) -valid_vals_USE_CCPP=("TRUE" "true" "YES" "yes" "FALSE" "false" "NO" "no") valid_vals_CCPP_PHYS_SUITE=( \ "FV3_CPT_v0" \ "FV3_GFS_2017_gfdlmp" \ @@ -48,7 +47,6 @@ valid_vals_CCPP_PHYS_SUITE=( \ "FV3_GFS_v16beta" \ "FV3_RRFS_v1beta" \ ) -valid_vals_OZONE_PARAM_NO_CCPP=("ozphys_2015" "ozphys") valid_vals_GFDLgrid_RES=("48" "96" "192" "384" "768" "1152" "3072") valid_vals_EXTRN_MDL_NAME_ICS=("GSMGFS" "FV3GFS" "RAPX" "HRRRX" "NAM") valid_vals_EXTRN_MDL_NAME_LBCS=("GSMGFS" "FV3GFS" "RAPX" "HRRRX" "NAM") From 42e5eb54139e9da7ec5e09c2f72de8d631d61a20 Mon Sep 17 00:00:00 2001 From: BenjaminBlake-NOAA <52074832+BenjaminBlake-NOAA@users.noreply.github.com> Date: Wed, 14 Oct 2020 07:55:05 -0400 Subject: [PATCH 07/15] Changes needed to run the regional workflow on WCOSS (#310) * Changes needed to run the regional workflow on WCOSS * Update exregional_make_sfc_climo.sh Co-authored-by: Benjamin.Blake EMC --- scripts/exregional_make_grid.sh | 14 +++++++++++++- scripts/exregional_make_orog.sh | 22 ++++++++++++++++++++-- scripts/exregional_make_sfc_climo.sh | 17 ++++++++++++----- ush/setup.sh | 16 ++-------------- 4 files changed, 47 insertions(+), 22 deletions(-) diff --git a/scripts/exregional_make_grid.sh b/scripts/exregional_make_grid.sh index 13276835e..639bf3ab0 100755 --- a/scripts/exregional_make_grid.sh +++ b/scripts/exregional_make_grid.sh @@ -103,7 +103,7 @@ export OMP_STACKSIZE=2048m case $MACHINE in -"WCOSS_C" | "WCOSS") +"WCOSS_CRAY") # { save_shell_opts; set +x; } > /dev/null 2>&1 @@ -121,6 +121,18 @@ case $MACHINE in ulimit -a ;; +"WCOSS_DELL_P3") +# + { save_shell_opts; set +x; } > /dev/null 2>&1 + + module list + + { restore_shell_opts; } > /dev/null 2>&1 + + export APRUN="mpirun" + + ulimit -s unlimited + ;; "HERA") # diff --git a/scripts/exregional_make_orog.sh b/scripts/exregional_make_orog.sh index 61639c3b3..fece0763e 100755 --- a/scripts/exregional_make_orog.sh +++ b/scripts/exregional_make_orog.sh @@ -99,7 +99,7 @@ export OMP_STACKSIZE=2048m case $MACHINE in -"WCOSS_C" | "WCOSS") +"WCOSS_CRAY") # { save_shell_opts; set +x; } > /dev/null 2>&1 @@ -117,6 +117,11 @@ case $MACHINE in ulimit -a ;; +"WCOSS_DELL_P3") + ulimit -s unlimited + ulimit -a + APRUN="mpirun" + ;; "HERA") ulimit -s unlimited @@ -286,7 +291,7 @@ Starting orography file generation..." case $MACHINE in -"WCOSS_C" | "WCOSS") +"WCOSS_CRAY") # # On WCOSS and WCOSS_C, use cfp to run multiple tiles simulatneously for # the orography. For now, we have only one tile in the regional case, @@ -312,6 +317,19 @@ ${tmp_dir}" \ ;; +"WCOSS_DELL_P3") + + ufs_utils_ushdir="${UFS_UTILS_DIR}/ush" + res="0" # What should this be set to??? + + "${exec_fp}" < "${input_redirect_fn}" || \ + print_err_msg_exit "\ +Call to executable (exec_fp) that generates the raw orography file returned +with nonzero exit code: + exec_fp = \"${exec_fp}\"" + ;; + + "CHEYENNE" | "HERA" | "JET" | "ODIN" | "STAMPEDE") $APRUN "${exec_fp}" < "${input_redirect_fn}" || \ print_err_msg_exit "\ diff --git a/scripts/exregional_make_sfc_climo.sh b/scripts/exregional_make_sfc_climo.sh index c581f040a..b7709a615 100755 --- a/scripts/exregional_make_sfc_climo.sh +++ b/scripts/exregional_make_sfc_climo.sh @@ -128,14 +128,21 @@ EOF # case $MACHINE in -"WCOSS_C") -# This could be wrong. Just a guess since I don't have access to this machine. +"WCOSS_CRAY") APRUN=${APRUN:-"aprun -j 1 -n 6 -N 6"} ;; -"WCOSS") -# This could be wrong. Just a guess since I don't have access to this machine. - APRUN=${APRUN:-"aprun -j 1 -n 6 -N 6"} +"WCOSS_DELL_P3") + +# Specify computational resources. + export NODES=2 + export ntasks=48 + export ptile=24 + export threads=1 + export MP_LABELIO=yes + export OMP_NUM_THREADS=$threads + + APRUN="mpirun" ;; "HERA") diff --git a/ush/setup.sh b/ush/setup.sh index 9e13c6a19..1bd70a6ed 100755 --- a/ush/setup.sh +++ b/ush/setup.sh @@ -720,25 +720,13 @@ case $MACHINE in "WCOSS_CRAY") FIXgsm=${FIXgsm:-"/gpfs/hps3/emc/global/noscrub/emc.glopara/git/fv3gfs/fix/fix_am"} TOPO_DIR=${TOPO_DIR:-"/gpfs/hps3/emc/global/noscrub/emc.glopara/git/fv3gfs/fix/fix_orog"} - SFC_CLIMO_INPUT_DIR=${SFC_CLIMO_INPUT_DIR:-""} + SFC_CLIMO_INPUT_DIR=${SFC_CLIMO_INPUT_DIR:-"/gpfs/hps3/emc/global/noscrub/emc.glopara/git/fv3gfs/fix/fix_sfc_climo"} ;; "WCOSS_DELL_P3") FIXgsm=${FIXgsm:-"/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/fv3gfs/fix/fix_am"} TOPO_DIR=${TOPO_DIR:-"/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/fv3gfs/fix/fix_orog"} - SFC_CLIMO_INPUT_DIR=${SFC_CLIMO_INPUT_DIR:-""} - ;; - -"DELL") - FIXgsm=${FIXgsm:-"/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/fv3gfs/fix/fix_am"} - TOPO_DIR=${TOPO_DIR:-"/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/fv3gfs/fix/fix_orog"} - SFC_CLIMO_INPUT_DIR=${SFC_CLIMO_INPUT_DIR:-""} - ;; - -"THEIA") - FIXgsm=${FIXgsm:-"/scratch4/NCEPDEV/global/save/glopara/git/fv3gfs/fix/fix_am"} - TOPO_DIR=${TOPO_DIR:-"/scratch4/NCEPDEV/global/save/glopara/git/fv3gfs/fix/fix_orog"} - SFC_CLIMO_INPUT_DIR=${SFC_CLIMO_INPUT_DIR:-"/scratch4/NCEPDEV/da/noscrub/George.Gayno/climo_fields_netcdf"} + SFC_CLIMO_INPUT_DIR=${SFC_CLIMO_INPUT_DIR:-"/gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/fv3gfs/fix/fix_sfc_climo"} ;; "HERA") From 650c4e7fe5d48e4092cf093b2ddc3aa2f071acb0 Mon Sep 17 00:00:00 2001 From: gerard ketefian Date: Wed, 14 Oct 2020 09:39:21 -0600 Subject: [PATCH 08/15] Fix indentation. --- scripts/exregional_make_ics.sh | 39 +++++++++++++++++++-------------- scripts/exregional_make_lbcs.sh | 35 +++++++++++++++++------------ 2 files changed, 44 insertions(+), 30 deletions(-) diff --git a/scripts/exregional_make_ics.sh b/scripts/exregional_make_ics.sh index 04cc14652..f62c37a84 100755 --- a/scripts/exregional_make_ics.sh +++ b/scripts/exregional_make_ics.sh @@ -102,26 +102,33 @@ cd_vrfy $workdir varmap_file="" case "${CCPP_PHYS_SUITE}" in - -"FV3_GFS_2017_gfdlmp" | "FV3_GFS_2017_gfdlmp_regional" | "FV3_GFS_v16beta" | \ -"FV3_GFS_v15p2" | "FV3_CPT_v0" ) - varmap_file="GFSphys_var_map.txt" - ;; -"FV3_GSD_v0" | "FV3_GSD_SAR" | \ -"FV3_RRFS_v1beta" ) - if [ "${EXTRN_MDL_NAME_ICS}" = "RAPX" ] || [ "${EXTRN_MDL_NAME_ICS}" = "HRRRX" ]; then +# + "FV3_GFS_2017_gfdlmp" | \ + "FV3_GFS_2017_gfdlmp_regional" | \ + "FV3_GFS_v16beta" | \ + "FV3_GFS_v15p2" | "FV3_CPT_v0" ) + varmap_file="GFSphys_var_map.txt" + ;; +# + "FV3_GSD_v0" | \ + "FV3_GSD_SAR" | \ + "FV3_RRFS_v1beta" ) + if [ "${EXTRN_MDL_NAME_ICS}" = "RAPX" ] || \ + [ "${EXTRN_MDL_NAME_ICS}" = "HRRRX" ]; then varmap_file="GSDphys_var_map.txt" - elif [ "${EXTRN_MDL_NAME_ICS}" = "NAM" ] || [ "${EXTRN_MDL_NAME_ICS}" = "FV3GFS" ] || \ - [ "${EXTRN_MDL_NAME_ICS}" = "GSMGFS" ]; then + elif [ "${EXTRN_MDL_NAME_ICS}" = "NAM" ] || \ + [ "${EXTRN_MDL_NAME_ICS}" = "FV3GFS" ] || \ + [ "${EXTRN_MDL_NAME_ICS}" = "GSMGFS" ]; then varmap_file="GFSphys_var_map.txt" - fi - ;; -*) - print_err_msg_exit "\ + fi + ;; +# + *) + print_err_msg_exit "\ A variable mapping table has not yet been defined for this physics suite: CCPP_PHYS_SUITE = \"${CCPP_PHYS_SUITE}\"" - ;; - + ;; +# esac # #----------------------------------------------------------------------- diff --git a/scripts/exregional_make_lbcs.sh b/scripts/exregional_make_lbcs.sh index 6f074ae5d..243577fd6 100755 --- a/scripts/exregional_make_lbcs.sh +++ b/scripts/exregional_make_lbcs.sh @@ -102,26 +102,33 @@ cd_vrfy $workdir varmap_file="" case "${CCPP_PHYS_SUITE}" in - -"FV3_GFS_2017_gfdlmp" | "FV3_GFS_2017_gfdlmp_regional" | "FV3_GFS_v16beta" | \ -"FV3_GFS_v15p2" | "FV3_CPT_v0" ) - varmap_file="GFSphys_var_map.txt" - ;; -"FV3_GSD_v0" | "FV3_GSD_SAR" | \ -"FV3_RRFS_v1beta" ) - if [ "${EXTRN_MDL_NAME_LBCS}" = "RAPX" ] || [ "${EXTRN_MDL_NAME_LBCS}" = "HRRRX" ]; then +# + "FV3_GFS_2017_gfdlmp" | \ + "FV3_GFS_2017_gfdlmp_regional" | \ + "FV3_GFS_v16beta" | \ + "FV3_GFS_v15p2" | "FV3_CPT_v0" ) + varmap_file="GFSphys_var_map.txt" + ;; +# + "FV3_GSD_v0" | \ + "FV3_GSD_SAR" | \ + "FV3_RRFS_v1beta" ) + if [ "${EXTRN_MDL_NAME_LBCS}" = "RAPX" ] || \ + [ "${EXTRN_MDL_NAME_LBCS}" = "HRRRX" ]; then varmap_file="GSDphys_var_map.txt" - elif [ "${EXTRN_MDL_NAME_LBCS}" = "NAM" ] || [ "${EXTRN_MDL_NAME_LBCS}" = "FV3GFS" ] || \ - [ "${EXTRN_MDL_NAME_LBCS}" = "GSMGFS" ]; then + elif [ "${EXTRN_MDL_NAME_LBCS}" = "NAM" ] || \ + [ "${EXTRN_MDL_NAME_LBCS}" = "FV3GFS" ] || \ + [ "${EXTRN_MDL_NAME_LBCS}" = "GSMGFS" ]; then varmap_file="GFSphys_var_map.txt" - fi - ;; -*) + fi + ;; +# + *) print_err_msg_exit "\ A variable mapping table has not yet been defined for this physics suite: CCPP_PHYS_SUITE = \"${CCPP_PHYS_SUITE}\"" ;; - +# esac # #----------------------------------------------------------------------- From 35eea6c30611ff166ad2e170042aee3a2cd3ab8e Mon Sep 17 00:00:00 2001 From: gerard ketefian Date: Wed, 14 Oct 2020 09:43:17 -0600 Subject: [PATCH 09/15] Comment out modifications to LD_LIBRARY_PATH. --- scripts/exregional_run_fcst.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/exregional_run_fcst.sh b/scripts/exregional_run_fcst.sh index 2168b985f..662fd96f6 100755 --- a/scripts/exregional_run_fcst.sh +++ b/scripts/exregional_run_fcst.sh @@ -106,7 +106,7 @@ case $MACHINE in ulimit -s unlimited ulimit -a APRUN="srun" - LD_LIBRARY_PATH="${UFS_WTHR_MDL_DIR}/FV3/ccpp/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" + #LD_LIBRARY_PATH="${UFS_WTHR_MDL_DIR}/FV3/ccpp/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" OMP_NUM_THREADS=4 ;; # @@ -114,7 +114,7 @@ case $MACHINE in ulimit -s unlimited ulimit -a APRUN="srun" - LD_LIBRARY_PATH="${UFS_WTHR_MDL_DIR}/FV3/ccpp/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" + #LD_LIBRARY_PATH="${UFS_WTHR_MDL_DIR}/FV3/ccpp/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" OMP_NUM_THREADS=4 ;; # @@ -132,7 +132,7 @@ case $MACHINE in module list nprocs=$(( NNODES_RUN_FCST*PPN_RUN_FCST )) APRUN="mpirun -np $nprocs" - LD_LIBRARY_PATH="${UFS_WTHR_MDL_DIR}/FV3/ccpp/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" + #LD_LIBRARY_PATH="${UFS_WTHR_MDL_DIR}/FV3/ccpp/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" ;; # From 80a9ef6769141fda026ecf13765bd0e14e340243 Mon Sep 17 00:00:00 2001 From: gerard ketefian Date: Wed, 14 Oct 2020 09:53:30 -0600 Subject: [PATCH 10/15] Remove temporary codes that fix bugs in the FV3_GFS_2017_gfdlmp_regional suite definition file because those bugs have been fixed (in the ufs-weather-model repo). --- ush/generate_FV3LAM_wflow.sh | 34 +++---- ush/setup.sh | 188 +++++++++++++++++++---------------- 2 files changed, 117 insertions(+), 105 deletions(-) diff --git a/ush/generate_FV3LAM_wflow.sh b/ush/generate_FV3LAM_wflow.sh index 8ffe98768..a6d2afc05 100755 --- a/ush/generate_FV3LAM_wflow.sh +++ b/ush/generate_FV3LAM_wflow.sh @@ -532,23 +532,23 @@ Copying the fixed file containing cloud condensation nuclei (CCN) data directory..." cp_vrfy "${FIXgsm}/CCN_ACTIVATE.BIN" "$EXPTDIR" fi -# -#----------------------------------------------------------------------- -# -# This if-statement is a temporary fix that makes corrections to the suite -# definition file for the "FV3_GFS_2017_gfdlmp_regional" physics suite -# that EMC uses. -# -# IMPORTANT: -# This if-statement must be removed once these corrections are made to -# the suite definition file in the dtc/develop branch of the NCAR fork -# of the fv3atm repository. -# -#----------------------------------------------------------------------- -# -if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp_regional" ]; then - mv_vrfy "${CCPP_PHYS_SUITE_FP}.tmp" "${CCPP_PHYS_SUITE_FP}" -fi +## +##----------------------------------------------------------------------- +## +## This if-statement is a temporary fix that makes corrections to the suite +## definition file for the "FV3_GFS_2017_gfdlmp_regional" physics suite +## that EMC uses. +## +## IMPORTANT: +## This if-statement must be removed once these corrections are made to +## the suite definition file in the dtc/develop branch of the NCAR fork +## of the fv3atm repository. +## +##----------------------------------------------------------------------- +## +#if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp_regional" ]; then +# mv_vrfy "${CCPP_PHYS_SUITE_FP}.tmp" "${CCPP_PHYS_SUITE_FP}" +#fi diff --git a/ush/setup.sh b/ush/setup.sh index 1bd70a6ed..0193e1a71 100755 --- a/ush/setup.sh +++ b/ush/setup.sh @@ -987,6 +987,18 @@ fi # #----------------------------------------------------------------------- # +# Call the function that sets the ozone parameterization being used and +# modifies associated parameters accordingly. +# +#----------------------------------------------------------------------- +# +set_ozone_param \ + ccpp_phys_suite_fp="${CCPP_PHYS_SUITE_IN_CCPP_FP}" \ + output_varname_ozone_param="OZONE_PARAM" +# +# +#----------------------------------------------------------------------- +# # If the base directory (EXPT_BASEDIR) in which the experiment subdirectory # (EXPT_SUBDIR) will be located does not start with a "/", then it is # either set to a null string or contains a relative directory. In both @@ -2131,94 +2143,94 @@ mkdir_vrfy -p "$EXPTDIR" -# -#----------------------------------------------------------------------- -# -# This if-statement is a temporary fix that makes corrections to the suite -# definition file for the "FV3_GFS_2017_gfdlmp_regional" physics suite -# that EMC uses. The corrections are: -# -# 1) Add a "fast_physics" group name to the beginning of the file. -# 2) Replace the ozphys parameterization with the ozphys_2015 parameterization. -# -# Note that this must be done before the call to the function set_ozone_param -# below because that function reads in the ozone parameterization in the -# suite definition file in order to set the ozone parameterization being -# used in the experiment; thus, the suite definition file must have the -# correct ozone parameterization specified before the call to set_ozone_param. -# -# IMPORTANT: -# This if-statement must be removed once these corrections are made to -# the suite definition file in the dtc/develop branch of the NCAR fork -# of the fv3atm repository. -# -#----------------------------------------------------------------------- -# -if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp_regional" ]; then - - CCPP_PHYS_SUITE_FP="${CCPP_PHYS_SUITE_FP}.tmp" - cp_vrfy "${CCPP_PHYS_SUITE_IN_CCPP_FP}" "${CCPP_PHYS_SUITE_FP}" - - grep "fast_physics" "${CCPP_PHYS_SUITE_FP}" || { \ - fast_phys_group='\ - \ - \ - fv_sat_adj\ - \ - ' ; - sed -i -r "5i${fast_phys_group}" "${CCPP_PHYS_SUITE_FP}" || \ - print_err_msg_exit "\ -Attempt to insert the \"fast_physics\" group into the suite definition -file (CCPP_PHYS_SUITE_FP) failed: - CCPP_PHYS_SUITE_FP = \"${CCPP_PHYS_SUITE_FP}\"" ; - } - - grep "ozphys" "${CCPP_PHYS_SUITE_FP}" && { \ - sed -i "s/ozphys/ozphys_2015/g" "${CCPP_PHYS_SUITE_FP}" || \ - print_err_msg_exit "\ -Attempt to replace the \"ozphys\" scheme with the \"ozphys_2015\" scheme -in the suite definition file (CCPP_PHYS_SUITE_FP) failed: - CCPP_PHYS_SUITE_FP = \"${CCPP_PHYS_SUITE_FP}\"" ; - } -# -#----------------------------------------------------------------------- -# -# Call the function that sets the ozone parameterization being used and -# modifies associated parameters accordingly. -# -# This is a repeat of the same call in setup.sh. It must be redone because -# the contents of CCPP_PHYS_SUITE_FP have been modified, and the function -# set_ozone_param depends on that file to set elements of the workflow -# arrays CYCLEDIR_LINKS_TO_FIXam_FILES_MAPPING and FIXgsm_FILES_TO_COPY_TO_FIXam. -# -#----------------------------------------------------------------------- -# - set_ozone_param \ - ccpp_phys_suite_fp="${CCPP_PHYS_SUITE_FP}" \ - output_varname_ozone_param="OZONE_PARAM" - - CCPP_PHYS_SUITE_FP="${CCPP_PHYS_SUITE_FP%.tmp}" - -else -# -#----------------------------------------------------------------------- -# -# Call the function that sets the ozone parameterization being used and -# modifies associated parameters accordingly. -# -#----------------------------------------------------------------------- -# -# NOTE: -# After the temporary code above in the "if" part of the if-statement is -# removed, this "else" part can be moved back up to before the creation -# of EXPTDIR (above). -# -set_ozone_param \ - ccpp_phys_suite_fp="${CCPP_PHYS_SUITE_IN_CCPP_FP}" \ - output_varname_ozone_param="OZONE_PARAM" - - -fi +## +##----------------------------------------------------------------------- +## +## This if-statement is a temporary fix that makes corrections to the suite +## definition file for the "FV3_GFS_2017_gfdlmp_regional" physics suite +## that EMC uses. The corrections are: +## +## 1) Add a "fast_physics" group name to the beginning of the file. +## 2) Replace the ozphys parameterization with the ozphys_2015 parameterization. +## +## Note that this must be done before the call to the function set_ozone_param +## below because that function reads in the ozone parameterization in the +## suite definition file in order to set the ozone parameterization being +## used in the experiment; thus, the suite definition file must have the +## correct ozone parameterization specified before the call to set_ozone_param. +## +## IMPORTANT: +## This if-statement must be removed once these corrections are made to +## the suite definition file in the dtc/develop branch of the NCAR fork +## of the fv3atm repository. +## +##----------------------------------------------------------------------- +## +#if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp_regional" ]; then +# +# CCPP_PHYS_SUITE_FP="${CCPP_PHYS_SUITE_FP}.tmp" +# cp_vrfy "${CCPP_PHYS_SUITE_IN_CCPP_FP}" "${CCPP_PHYS_SUITE_FP}" +# +# grep "fast_physics" "${CCPP_PHYS_SUITE_FP}" || { \ +# fast_phys_group='\ +# \ +# \ +# fv_sat_adj\ +# \ +# ' ; +# sed -i -r "5i${fast_phys_group}" "${CCPP_PHYS_SUITE_FP}" || \ +# print_err_msg_exit "\ +#Attempt to insert the \"fast_physics\" group into the suite definition +#file (CCPP_PHYS_SUITE_FP) failed: +# CCPP_PHYS_SUITE_FP = \"${CCPP_PHYS_SUITE_FP}\"" ; +# } +# +# grep "ozphys" "${CCPP_PHYS_SUITE_FP}" && { \ +# sed -i "s/ozphys/ozphys_2015/g" "${CCPP_PHYS_SUITE_FP}" || \ +# print_err_msg_exit "\ +#Attempt to replace the \"ozphys\" scheme with the \"ozphys_2015\" scheme +#in the suite definition file (CCPP_PHYS_SUITE_FP) failed: +# CCPP_PHYS_SUITE_FP = \"${CCPP_PHYS_SUITE_FP}\"" ; +# } +## +##----------------------------------------------------------------------- +## +## Call the function that sets the ozone parameterization being used and +## modifies associated parameters accordingly. +## +## This is a repeat of the same call in setup.sh. It must be redone because +## the contents of CCPP_PHYS_SUITE_FP have been modified, and the function +## set_ozone_param depends on that file to set elements of the workflow +## arrays CYCLEDIR_LINKS_TO_FIXam_FILES_MAPPING and FIXgsm_FILES_TO_COPY_TO_FIXam. +## +##----------------------------------------------------------------------- +## +# set_ozone_param \ +# ccpp_phys_suite_fp="${CCPP_PHYS_SUITE_FP}" \ +# output_varname_ozone_param="OZONE_PARAM" +# +# CCPP_PHYS_SUITE_FP="${CCPP_PHYS_SUITE_FP%.tmp}" +# +#else +## +##----------------------------------------------------------------------- +## +## Call the function that sets the ozone parameterization being used and +## modifies associated parameters accordingly. +## +##----------------------------------------------------------------------- +## +## NOTE: +## After the temporary code above in the "if" part of the if-statement is +## removed, this "else" part can be moved back up to before the creation +## of EXPTDIR (above). +## +#set_ozone_param \ +# ccpp_phys_suite_fp="${CCPP_PHYS_SUITE_IN_CCPP_FP}" \ +# output_varname_ozone_param="OZONE_PARAM" +# +# +#fi From 64fe235505ac3978217051bdf88abb7eb11b297e Mon Sep 17 00:00:00 2001 From: gerard ketefian Date: Wed, 14 Oct 2020 09:57:06 -0600 Subject: [PATCH 11/15] Remove block of code that is no longer necessary because chgres_cube can now initialize from external model data with either 4 or 9 soil levels, and run with LSMs of either 4 or 9 soil levels. --- ush/setup.sh | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/ush/setup.sh b/ush/setup.sh index 0193e1a71..56b729df1 100755 --- a/ush/setup.sh +++ b/ush/setup.sh @@ -547,31 +547,31 @@ The CCPP physics suite specified in CCPP_PHYS_SUITE is not supported: CCPP_PHYS_SUITE = \"${CCPP_PHYS_SUITE}\"" check_var_valid_value \ "CCPP_PHYS_SUITE" "valid_vals_CCPP_PHYS_SUITE" "${err_msg}" +## +##----------------------------------------------------------------------- +## +## If using CCPP with the GFS_2017_gfdlmp physics suite, only allow +## "GSMGFS" and "FV3GFS" as the external models for ICs and LBCs. +## +##----------------------------------------------------------------------- +## +#if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp" ]; then +# +# if [ "${EXTRN_MDL_NAME_ICS}" != "GSMGFS" -a \ +# "${EXTRN_MDL_NAME_ICS}" != "FV3GFS" ] || \ +# [ "${EXTRN_MDL_NAME_LBCS}" != "GSMGFS" -a \ +# "${EXTRN_MDL_NAME_LBCS}" != "FV3GFS" ]; then +# print_info_msg "$VERBOSE" " +#The following combination of physics suite and external model(s) for ICs +#and LBCs is not allowed: +# CCPP_PHYS_SUITE = \"${CCPP_PHYS_SUITE}\" +# EXTRN_MDL_NAME_ICS = \"${EXTRN_MDL_NAME_ICS}\" +# EXTRN_MDL_NAME_LBCS = \"${EXTRN_MDL_NAME_LBCS}\" +#For this physics suite, the only external models that the workflow cur- +#rently allows are \"GSMGFS\" and \"FV3GFS\"." +# fi # -#----------------------------------------------------------------------- -# -# If using CCPP with the GFS_2017_gfdlmp physics suite, only allow -# "GSMGFS" and "FV3GFS" as the external models for ICs and LBCs. -# -#----------------------------------------------------------------------- -# -if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp" ]; then - - if [ "${EXTRN_MDL_NAME_ICS}" != "GSMGFS" -a \ - "${EXTRN_MDL_NAME_ICS}" != "FV3GFS" ] || \ - [ "${EXTRN_MDL_NAME_LBCS}" != "GSMGFS" -a \ - "${EXTRN_MDL_NAME_LBCS}" != "FV3GFS" ]; then - print_info_msg "$VERBOSE" " -The following combination of physics suite and external model(s) for ICs -and LBCs is not allowed: - CCPP_PHYS_SUITE = \"${CCPP_PHYS_SUITE}\" - EXTRN_MDL_NAME_ICS = \"${EXTRN_MDL_NAME_ICS}\" - EXTRN_MDL_NAME_LBCS = \"${EXTRN_MDL_NAME_LBCS}\" -For this physics suite, the only external models that the workflow cur- -rently allows are \"GSMGFS\" and \"FV3GFS\"." - fi - -fi +#fi # #----------------------------------------------------------------------- # From 5a0ea748d030fadfc66d91f4a79d6c53171bf137 Mon Sep 17 00:00:00 2001 From: gerard ketefian Date: Wed, 14 Oct 2020 10:15:23 -0600 Subject: [PATCH 12/15] Remove unused file. --- ush/load_fv3gfs_modules.sh | 42 -------------------------------------- 1 file changed, 42 deletions(-) delete mode 100755 ush/load_fv3gfs_modules.sh diff --git a/ush/load_fv3gfs_modules.sh b/ush/load_fv3gfs_modules.sh deleted file mode 100755 index f95b0237a..000000000 --- a/ush/load_fv3gfs_modules.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -#set -x - -############################################################### -# Setup runtime environment by loading modules -ulimit_s=$( ulimit -S -s ) -ulimit -S -s 10000 - -# Find module command and purge: -source "$HOMEgfs/modulefiles/module-setup.sh.inc" - -# Load our modules: -module use "$HOMEgfs/modulefiles" - -if [[ -d /lfs4 ]] ; then - # We are on NOAA Jet - module load module_base.jet -elif [[ -d /scratch3 ]] ; then - # We are on NOAA Theia - module load module_base.theia -elif [[ -d /gpfs/hps && -e /etc/SuSE-release ]] ; then - # We are on NOAA Luna or Surge - module load module_base.wcoss_c -elif [[ -L /usrx && "$( readlink /usrx 2> /dev/null )" =~ dell ]] ; then - # We are on NOAA Mars or Venus - module load module_base.wcoss_dell_p3 -elif [[ -d /dcom && -d /hwrf ]] ; then - # We are on NOAA Tide or Gyre - module load module_base.wcoss -elif [[ -d /glade ]] ; then - # We are on NCAR Yellowstone - module load module_base.cheyenne -elif [[ -d /lustre && -d /ncrc ]] ; then - # We are on GAEA. - module load module_base.gaea -else - echo WARNING: UNKNOWN PLATFORM -fi - -# Restore stack soft limit: -ulimit -S -s "$ulimit_s" -unset ulimit_s From 17a50acf92a06321a460b832f41b069a5f9d4f48 Mon Sep 17 00:00:00 2001 From: gerard ketefian Date: Wed, 14 Oct 2020 10:22:57 -0600 Subject: [PATCH 13/15] Bug fix: Move call to set_ozone_param to after the variable CCPP_PHYS_SUITE_IN_CCPP_FP is set because the latter is used as an input argument to set_ozone_param. --- ush/setup.sh | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/ush/setup.sh b/ush/setup.sh index 56b729df1..90d7c8322 100755 --- a/ush/setup.sh +++ b/ush/setup.sh @@ -985,17 +985,6 @@ drag related orography files for the FV3_RRFS_v1beta is empty: fi fi # -#----------------------------------------------------------------------- -# -# Call the function that sets the ozone parameterization being used and -# modifies associated parameters accordingly. -# -#----------------------------------------------------------------------- -# -set_ozone_param \ - ccpp_phys_suite_fp="${CCPP_PHYS_SUITE_IN_CCPP_FP}" \ - output_varname_ozone_param="OZONE_PARAM" -# # #----------------------------------------------------------------------- # @@ -1214,7 +1203,7 @@ NEMS_CONFIG_TMPL_FP="${TEMPLATE_DIR}/${NEMS_CONFIG_TMPL_FN}" # #----------------------------------------------------------------------- # -# If using CCPP, set: +# Set: # # 1) the variable CCPP_PHYS_SUITE_FN to the name of the CCPP physics # suite definition file. @@ -1228,9 +1217,6 @@ NEMS_CONFIG_TMPL_FP="${TEMPLATE_DIR}/${NEMS_CONFIG_TMPL_FN}" # each cycle, the forecast launch script will create a link in the cycle # run directory to the copy of this file at CCPP_PHYS_SUITE_FP. # -# Note that if not using CCPP, the variables described above will get -# set to null strings. -# #----------------------------------------------------------------------- # CCPP_PHYS_SUITE_FN="suite_${CCPP_PHYS_SUITE}.xml" @@ -1245,6 +1231,17 @@ fi # #----------------------------------------------------------------------- # +# Call the function that sets the ozone parameterization being used and +# modifies associated parameters accordingly. +# +#----------------------------------------------------------------------- +# +set_ozone_param \ + ccpp_phys_suite_fp="${CCPP_PHYS_SUITE_IN_CCPP_FP}" \ + output_varname_ozone_param="OZONE_PARAM" +# +#----------------------------------------------------------------------- +# # Set the full paths to those forecast model input files that are cycle- # independent, i.e. they don't include information about the cycle's # starting day/time. These are: From 5c8e5cf10f4f38bb32b7bcaadab34cb44695d78b Mon Sep 17 00:00:00 2001 From: gerard ketefian Date: Wed, 14 Oct 2020 10:50:57 -0600 Subject: [PATCH 14/15] For the make_ics and make_lbcs tasks, move the setting of APRUN and other machine-specific actions from the J-job to the ex-script in order to be consistent with the other workflow tasks. --- jobs/JREGIONAL_MAKE_ICS | 90 +++++++++++++++++---------------- jobs/JREGIONAL_MAKE_LBCS | 84 +++++++++++++++--------------- scripts/exregional_make_ics.sh | 44 +++++++++++++++- scripts/exregional_make_lbcs.sh | 44 +++++++++++++++- 4 files changed, 175 insertions(+), 87 deletions(-) diff --git a/jobs/JREGIONAL_MAKE_ICS b/jobs/JREGIONAL_MAKE_ICS index 4ca00af53..1fb5b900d 100755 --- a/jobs/JREGIONAL_MAKE_ICS +++ b/jobs/JREGIONAL_MAKE_ICS @@ -46,48 +46,48 @@ This is the J-job script for the task that generates initial condition (IC), surface, and zeroth-hour lateral boundary condition (LBC0) files for the FV3 (in NetCDF format). ========================================================================" -# -#----------------------------------------------------------------------- -# -# Set machine-dependent parameters. -# -#----------------------------------------------------------------------- -# -case "$MACHINE" in - - "WCOSS_CRAY") - ulimit -s unlimited - APRUN="aprun -b -j1 -n48 -N12 -d1 -cc depth" - ;; - - "WCOSS_DELL_P3") - ulimit -s unlimited - APRUN="mpirun" - ;; - - "HERA") - ulimit -s unlimited - APRUN="srun" - ;; - - "JET") - ulimit -s unlimited - APRUN="srun" - ;; - - "ODIN") - APRUN="srun" - ;; - - "CHEYENNE") - nprocs=$(( NNODES_MAKE_ICS*PPN_MAKE_ICS )) - APRUN="mpirun -np $nprocs" - ;; - "STAMPEDE") - APRUN="ibrun" - ;; - -esac +## +##----------------------------------------------------------------------- +## +## Set machine-dependent parameters. +## +##----------------------------------------------------------------------- +## +#case "$MACHINE" in +# +# "WCOSS_CRAY") +# ulimit -s unlimited +# APRUN="aprun -b -j1 -n48 -N12 -d1 -cc depth" +# ;; +# +# "WCOSS_DELL_P3") +# ulimit -s unlimited +# APRUN="mpirun" +# ;; +# +# "HERA") +# ulimit -s unlimited +# APRUN="srun" +# ;; +# +# "JET") +# ulimit -s unlimited +# APRUN="srun" +# ;; +# +# "ODIN") +# APRUN="srun" +# ;; +# +# "CHEYENNE") +# nprocs=$(( NNODES_MAKE_ICS*PPN_MAKE_ICS )) +# APRUN="mpirun -np $nprocs" +# ;; +# "STAMPEDE") +# APRUN="ibrun" +# ;; +# +#esac # #----------------------------------------------------------------------- # @@ -105,9 +105,11 @@ mkdir_vrfy -p "${ics_dir}" # #----------------------------------------------------------------------- # +#$SCRIPTSDIR/exregional_make_ics.sh \ +# ics_dir="${ics_dir}" \ +# APRUN="${APRUN}" || \ $SCRIPTSDIR/exregional_make_ics.sh \ - ics_dir="${ics_dir}" \ - APRUN="${APRUN}" || \ + ics_dir="${ics_dir}" || \ print_err_msg_exit "\ Call to ex-script corresponding to J-job \"${scrfunc_fn}\" failed." # diff --git a/jobs/JREGIONAL_MAKE_LBCS b/jobs/JREGIONAL_MAKE_LBCS index 43bd27b5d..100e902b1 100755 --- a/jobs/JREGIONAL_MAKE_LBCS +++ b/jobs/JREGIONAL_MAKE_LBCS @@ -46,49 +46,49 @@ This is the J-job script for the task that generates lateral boundary condition (LBC) files (in NetCDF format) for all LBC update hours (except hour zero). ========================================================================" +## +##----------------------------------------------------------------------- +## +## Set machine-dependent parameters. +## +##----------------------------------------------------------------------- +## +#case "$MACHINE" in # -#----------------------------------------------------------------------- +# "WCOSS_CRAY") +# ulimit -s unlimited +# APRUN="aprun -b -j1 -n48 -N12 -d1 -cc depth" +# ;; # -# Set machine-dependent parameters. +# "WCOSS_DELL_P3") +# ulimit -s unlimited +# APRUN="mpirun" +# ;; # -#----------------------------------------------------------------------- +# "HERA") +# ulimit -s unlimited +# APRUN="srun" +# ;; # -case "$MACHINE" in - - "WCOSS_CRAY") - ulimit -s unlimited - APRUN="aprun -b -j1 -n48 -N12 -d1 -cc depth" - ;; - - "WCOSS_DELL_P3") - ulimit -s unlimited - APRUN="mpirun" - ;; - - "HERA") - ulimit -s unlimited - APRUN="srun" - ;; - - "JET") - ulimit -s unlimited - APRUN="srun" - ;; - - "ODIN") - APRUN="srun" - ;; - - "CHEYENNE") - nprocs=$(( NNODES_MAKE_LBCS*PPN_MAKE_LBCS )) - APRUN="mpirun -np $nprocs" - ;; - - "STAMPEDE") - APRUN="ibrun" - ;; - -esac +# "JET") +# ulimit -s unlimited +# APRUN="srun" +# ;; +# +# "ODIN") +# APRUN="srun" +# ;; +# +# "CHEYENNE") +# nprocs=$(( NNODES_MAKE_LBCS*PPN_MAKE_LBCS )) +# APRUN="mpirun -np $nprocs" +# ;; +# +# "STAMPEDE") +# APRUN="ibrun" +# ;; +# +#esac # #----------------------------------------------------------------------- # @@ -106,9 +106,11 @@ mkdir_vrfy -p "${lbcs_dir}" # #----------------------------------------------------------------------- # +#$SCRIPTSDIR/exregional_make_lbcs.sh \ +# lbcs_dir="${lbcs_dir}" \ +# APRUN="${APRUN}" || \ $SCRIPTSDIR/exregional_make_lbcs.sh \ - lbcs_dir="${lbcs_dir}" \ - APRUN="${APRUN}" || \ + lbcs_dir="${lbcs_dir}" || \ print_err_msg_exit "\ Call to ex-script corresponding to J-job \"${scrfunc_fn}\" failed." # diff --git a/scripts/exregional_make_ics.sh b/scripts/exregional_make_ics.sh index f62c37a84..7463de5fb 100755 --- a/scripts/exregional_make_ics.sh +++ b/scripts/exregional_make_ics.sh @@ -57,7 +57,6 @@ This is the ex-script for the task that generates initial condition # valid_args=( \ "ics_dir" \ -"APRUN" \ ) process_args valid_args "$@" # @@ -73,6 +72,49 @@ print_input_args valid_args # #----------------------------------------------------------------------- # +# Set machine-dependent parameters. +# +#----------------------------------------------------------------------- +# +case "$MACHINE" in + + "WCOSS_CRAY") + ulimit -s unlimited + APRUN="aprun -b -j1 -n48 -N12 -d1 -cc depth" + ;; + + "WCOSS_DELL_P3") + ulimit -s unlimited + APRUN="mpirun" + ;; + + "HERA") + ulimit -s unlimited + APRUN="srun" + ;; + + "JET") + ulimit -s unlimited + APRUN="srun" + ;; + + "ODIN") + APRUN="srun" + ;; + + "CHEYENNE") + nprocs=$(( NNODES_MAKE_ICS*PPN_MAKE_ICS )) + APRUN="mpirun -np $nprocs" + ;; + + "STAMPEDE") + APRUN="ibrun" + ;; + +esac +# +#----------------------------------------------------------------------- +# # Source the file containing definitions of variables associated with the # external model for ICs. # diff --git a/scripts/exregional_make_lbcs.sh b/scripts/exregional_make_lbcs.sh index 243577fd6..7967c68dd 100755 --- a/scripts/exregional_make_lbcs.sh +++ b/scripts/exregional_make_lbcs.sh @@ -57,7 +57,6 @@ hour zero). # valid_args=( \ "lbcs_dir" \ -"APRUN" \ ) process_args valid_args "$@" # @@ -73,6 +72,49 @@ print_input_args valid_args # #----------------------------------------------------------------------- # +# Set machine-dependent parameters. +# +#----------------------------------------------------------------------- +# +case "$MACHINE" in + + "WCOSS_CRAY") + ulimit -s unlimited + APRUN="aprun -b -j1 -n48 -N12 -d1 -cc depth" + ;; + + "WCOSS_DELL_P3") + ulimit -s unlimited + APRUN="mpirun" + ;; + + "HERA") + ulimit -s unlimited + APRUN="srun" + ;; + + "JET") + ulimit -s unlimited + APRUN="srun" + ;; + + "ODIN") + APRUN="srun" + ;; + + "CHEYENNE") + nprocs=$(( NNODES_MAKE_LBCS*PPN_MAKE_LBCS )) + APRUN="mpirun -np $nprocs" + ;; + + "STAMPEDE") + APRUN="ibrun" + ;; + +esac +# +#----------------------------------------------------------------------- +# # Source the file containing definitions of variables associated with the # external model for LBCs. # From 99af7618cefa294181546fb3e41c5870fe9ca536 Mon Sep 17 00:00:00 2001 From: gerard ketefian Date: Wed, 14 Oct 2020 10:57:31 -0600 Subject: [PATCH 15/15] Remove commented-out code. --- jobs/JREGIONAL_MAKE_ICS | 45 ------------- jobs/JREGIONAL_MAKE_LBCS | 46 ------------- scripts/exregional_run_fcst.sh | 4 -- ush/generate_FV3LAM_wflow.sh | 17 ----- ush/setup.sh | 114 --------------------------------- 5 files changed, 226 deletions(-) diff --git a/jobs/JREGIONAL_MAKE_ICS b/jobs/JREGIONAL_MAKE_ICS index 1fb5b900d..01027b4ac 100755 --- a/jobs/JREGIONAL_MAKE_ICS +++ b/jobs/JREGIONAL_MAKE_ICS @@ -46,48 +46,6 @@ This is the J-job script for the task that generates initial condition (IC), surface, and zeroth-hour lateral boundary condition (LBC0) files for the FV3 (in NetCDF format). ========================================================================" -## -##----------------------------------------------------------------------- -## -## Set machine-dependent parameters. -## -##----------------------------------------------------------------------- -## -#case "$MACHINE" in -# -# "WCOSS_CRAY") -# ulimit -s unlimited -# APRUN="aprun -b -j1 -n48 -N12 -d1 -cc depth" -# ;; -# -# "WCOSS_DELL_P3") -# ulimit -s unlimited -# APRUN="mpirun" -# ;; -# -# "HERA") -# ulimit -s unlimited -# APRUN="srun" -# ;; -# -# "JET") -# ulimit -s unlimited -# APRUN="srun" -# ;; -# -# "ODIN") -# APRUN="srun" -# ;; -# -# "CHEYENNE") -# nprocs=$(( NNODES_MAKE_ICS*PPN_MAKE_ICS )) -# APRUN="mpirun -np $nprocs" -# ;; -# "STAMPEDE") -# APRUN="ibrun" -# ;; -# -#esac # #----------------------------------------------------------------------- # @@ -105,9 +63,6 @@ mkdir_vrfy -p "${ics_dir}" # #----------------------------------------------------------------------- # -#$SCRIPTSDIR/exregional_make_ics.sh \ -# ics_dir="${ics_dir}" \ -# APRUN="${APRUN}" || \ $SCRIPTSDIR/exregional_make_ics.sh \ ics_dir="${ics_dir}" || \ print_err_msg_exit "\ diff --git a/jobs/JREGIONAL_MAKE_LBCS b/jobs/JREGIONAL_MAKE_LBCS index 100e902b1..b46d0e950 100755 --- a/jobs/JREGIONAL_MAKE_LBCS +++ b/jobs/JREGIONAL_MAKE_LBCS @@ -46,49 +46,6 @@ This is the J-job script for the task that generates lateral boundary condition (LBC) files (in NetCDF format) for all LBC update hours (except hour zero). ========================================================================" -## -##----------------------------------------------------------------------- -## -## Set machine-dependent parameters. -## -##----------------------------------------------------------------------- -## -#case "$MACHINE" in -# -# "WCOSS_CRAY") -# ulimit -s unlimited -# APRUN="aprun -b -j1 -n48 -N12 -d1 -cc depth" -# ;; -# -# "WCOSS_DELL_P3") -# ulimit -s unlimited -# APRUN="mpirun" -# ;; -# -# "HERA") -# ulimit -s unlimited -# APRUN="srun" -# ;; -# -# "JET") -# ulimit -s unlimited -# APRUN="srun" -# ;; -# -# "ODIN") -# APRUN="srun" -# ;; -# -# "CHEYENNE") -# nprocs=$(( NNODES_MAKE_LBCS*PPN_MAKE_LBCS )) -# APRUN="mpirun -np $nprocs" -# ;; -# -# "STAMPEDE") -# APRUN="ibrun" -# ;; -# -#esac # #----------------------------------------------------------------------- # @@ -106,9 +63,6 @@ mkdir_vrfy -p "${lbcs_dir}" # #----------------------------------------------------------------------- # -#$SCRIPTSDIR/exregional_make_lbcs.sh \ -# lbcs_dir="${lbcs_dir}" \ -# APRUN="${APRUN}" || \ $SCRIPTSDIR/exregional_make_lbcs.sh \ lbcs_dir="${lbcs_dir}" || \ print_err_msg_exit "\ diff --git a/scripts/exregional_run_fcst.sh b/scripts/exregional_run_fcst.sh index 662fd96f6..8c86f4db1 100755 --- a/scripts/exregional_run_fcst.sh +++ b/scripts/exregional_run_fcst.sh @@ -106,7 +106,6 @@ case $MACHINE in ulimit -s unlimited ulimit -a APRUN="srun" - #LD_LIBRARY_PATH="${UFS_WTHR_MDL_DIR}/FV3/ccpp/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" OMP_NUM_THREADS=4 ;; # @@ -114,7 +113,6 @@ case $MACHINE in ulimit -s unlimited ulimit -a APRUN="srun" - #LD_LIBRARY_PATH="${UFS_WTHR_MDL_DIR}/FV3/ccpp/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" OMP_NUM_THREADS=4 ;; # @@ -132,7 +130,6 @@ case $MACHINE in module list nprocs=$(( NNODES_RUN_FCST*PPN_RUN_FCST )) APRUN="mpirun -np $nprocs" - #LD_LIBRARY_PATH="${UFS_WTHR_MDL_DIR}/FV3/ccpp/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" ;; # @@ -141,7 +138,6 @@ case $MACHINE in module list APRUN="ibrun -np ${PE_MEMBER01}" - #LD_LIBRARY_PATH="${UFS_WTHR_MDL_DIR}/FV3/ccpp/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" ;; esac diff --git a/ush/generate_FV3LAM_wflow.sh b/ush/generate_FV3LAM_wflow.sh index a6d2afc05..02140cfe3 100755 --- a/ush/generate_FV3LAM_wflow.sh +++ b/ush/generate_FV3LAM_wflow.sh @@ -532,23 +532,6 @@ Copying the fixed file containing cloud condensation nuclei (CCN) data directory..." cp_vrfy "${FIXgsm}/CCN_ACTIVATE.BIN" "$EXPTDIR" fi -## -##----------------------------------------------------------------------- -## -## This if-statement is a temporary fix that makes corrections to the suite -## definition file for the "FV3_GFS_2017_gfdlmp_regional" physics suite -## that EMC uses. -## -## IMPORTANT: -## This if-statement must be removed once these corrections are made to -## the suite definition file in the dtc/develop branch of the NCAR fork -## of the fv3atm repository. -## -##----------------------------------------------------------------------- -## -#if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp_regional" ]; then -# mv_vrfy "${CCPP_PHYS_SUITE_FP}.tmp" "${CCPP_PHYS_SUITE_FP}" -#fi diff --git a/ush/setup.sh b/ush/setup.sh index 90d7c8322..d25fdd6c0 100755 --- a/ush/setup.sh +++ b/ush/setup.sh @@ -547,31 +547,6 @@ The CCPP physics suite specified in CCPP_PHYS_SUITE is not supported: CCPP_PHYS_SUITE = \"${CCPP_PHYS_SUITE}\"" check_var_valid_value \ "CCPP_PHYS_SUITE" "valid_vals_CCPP_PHYS_SUITE" "${err_msg}" -## -##----------------------------------------------------------------------- -## -## If using CCPP with the GFS_2017_gfdlmp physics suite, only allow -## "GSMGFS" and "FV3GFS" as the external models for ICs and LBCs. -## -##----------------------------------------------------------------------- -## -#if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp" ]; then -# -# if [ "${EXTRN_MDL_NAME_ICS}" != "GSMGFS" -a \ -# "${EXTRN_MDL_NAME_ICS}" != "FV3GFS" ] || \ -# [ "${EXTRN_MDL_NAME_LBCS}" != "GSMGFS" -a \ -# "${EXTRN_MDL_NAME_LBCS}" != "FV3GFS" ]; then -# print_info_msg "$VERBOSE" " -#The following combination of physics suite and external model(s) for ICs -#and LBCs is not allowed: -# CCPP_PHYS_SUITE = \"${CCPP_PHYS_SUITE}\" -# EXTRN_MDL_NAME_ICS = \"${EXTRN_MDL_NAME_ICS}\" -# EXTRN_MDL_NAME_LBCS = \"${EXTRN_MDL_NAME_LBCS}\" -#For this physics suite, the only external models that the workflow cur- -#rently allows are \"GSMGFS\" and \"FV3GFS\"." -# fi -# -#fi # #----------------------------------------------------------------------- # @@ -2140,95 +2115,6 @@ mkdir_vrfy -p "$EXPTDIR" -## -##----------------------------------------------------------------------- -## -## This if-statement is a temporary fix that makes corrections to the suite -## definition file for the "FV3_GFS_2017_gfdlmp_regional" physics suite -## that EMC uses. The corrections are: -## -## 1) Add a "fast_physics" group name to the beginning of the file. -## 2) Replace the ozphys parameterization with the ozphys_2015 parameterization. -## -## Note that this must be done before the call to the function set_ozone_param -## below because that function reads in the ozone parameterization in the -## suite definition file in order to set the ozone parameterization being -## used in the experiment; thus, the suite definition file must have the -## correct ozone parameterization specified before the call to set_ozone_param. -## -## IMPORTANT: -## This if-statement must be removed once these corrections are made to -## the suite definition file in the dtc/develop branch of the NCAR fork -## of the fv3atm repository. -## -##----------------------------------------------------------------------- -## -#if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp_regional" ]; then -# -# CCPP_PHYS_SUITE_FP="${CCPP_PHYS_SUITE_FP}.tmp" -# cp_vrfy "${CCPP_PHYS_SUITE_IN_CCPP_FP}" "${CCPP_PHYS_SUITE_FP}" -# -# grep "fast_physics" "${CCPP_PHYS_SUITE_FP}" || { \ -# fast_phys_group='\ -# \ -# \ -# fv_sat_adj\ -# \ -# ' ; -# sed -i -r "5i${fast_phys_group}" "${CCPP_PHYS_SUITE_FP}" || \ -# print_err_msg_exit "\ -#Attempt to insert the \"fast_physics\" group into the suite definition -#file (CCPP_PHYS_SUITE_FP) failed: -# CCPP_PHYS_SUITE_FP = \"${CCPP_PHYS_SUITE_FP}\"" ; -# } -# -# grep "ozphys" "${CCPP_PHYS_SUITE_FP}" && { \ -# sed -i "s/ozphys/ozphys_2015/g" "${CCPP_PHYS_SUITE_FP}" || \ -# print_err_msg_exit "\ -#Attempt to replace the \"ozphys\" scheme with the \"ozphys_2015\" scheme -#in the suite definition file (CCPP_PHYS_SUITE_FP) failed: -# CCPP_PHYS_SUITE_FP = \"${CCPP_PHYS_SUITE_FP}\"" ; -# } -## -##----------------------------------------------------------------------- -## -## Call the function that sets the ozone parameterization being used and -## modifies associated parameters accordingly. -## -## This is a repeat of the same call in setup.sh. It must be redone because -## the contents of CCPP_PHYS_SUITE_FP have been modified, and the function -## set_ozone_param depends on that file to set elements of the workflow -## arrays CYCLEDIR_LINKS_TO_FIXam_FILES_MAPPING and FIXgsm_FILES_TO_COPY_TO_FIXam. -## -##----------------------------------------------------------------------- -## -# set_ozone_param \ -# ccpp_phys_suite_fp="${CCPP_PHYS_SUITE_FP}" \ -# output_varname_ozone_param="OZONE_PARAM" -# -# CCPP_PHYS_SUITE_FP="${CCPP_PHYS_SUITE_FP%.tmp}" -# -#else -## -##----------------------------------------------------------------------- -## -## Call the function that sets the ozone parameterization being used and -## modifies associated parameters accordingly. -## -##----------------------------------------------------------------------- -## -## NOTE: -## After the temporary code above in the "if" part of the if-statement is -## removed, this "else" part can be moved back up to before the creation -## of EXPTDIR (above). -## -#set_ozone_param \ -# ccpp_phys_suite_fp="${CCPP_PHYS_SUITE_IN_CCPP_FP}" \ -# output_varname_ozone_param="OZONE_PARAM" -# -# -#fi -