Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modify/add predefined grids #305

Merged
merged 20 commits into from
Oct 8, 2020

Conversation

gsketefian
Copy link
Collaborator

@gsketefian gsketefian commented Oct 7, 2020

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.

…RRR25km and GSD_HRRR13km grids so that they include all of the contiguous US; add new WE2E test for the GSD_HRRR13km grid (previously, none existed).
… expected by the latest version of tests/run_experiments.sh.
The -f flag to readlink requires that the last "component" of the path passed to it exist.  In the way readlink is used in ush/setup.sh, the path may not yet exist.  Thus, change the -f to a -m, which states that none of the components of the path need to exist.
…ese are now automatically optimized by the new regional_esg_grid code.
…possible while still fitting inside the HRRRX domain.
* Change name of GSD_RRFSAK_3km grid to RRFS_AK_3km and modify its write-component grid parameters using values generated by the NCL grid-plotting scripts.
* Add RRFS_AK_13km grid.
@gsketefian gsketefian changed the title Feature/predef grids Modify/add predefined grids Oct 7, 2020
@gsketefian gsketefian marked this pull request as ready for review October 7, 2020 21:24
Copy link
Contributor

@jwolff-ncar jwolff-ncar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not test (since I run on hera and it has already been tested there) but looking through the files everything seems in order. (Does that count as an approval?!)

@gsketefian
Copy link
Collaborator Author

I did not test (since I run on hera and it has already been tested there) but looking through the files everything seems in order. (Does that count as an approval?!)

Sounds good to me, but you still gotta push some buttons to approve! There should be a green "Add your review" button up top.

Copy link
Contributor

@jwolff-ncar jwolff-ncar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given the thumbs up from Gerard that my visual review was good enough I am approving this PR.

@gsketefian gsketefian merged commit a616c1d into ufs-community:develop Oct 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants