Port workflow to Orion#339
Merged
gsketefian merged 48 commits intoOct 26, 2020
Merged
Conversation
Common sets of changes: ---------------------- (A) Add ORION stanza to case statement that sets the run command and the resource limits. (B) Edit comments. File-by-file changes: -------------------- jobs/JREGIONAL_MAKE_ICS: (A) jobs/JREGIONAL_MAKE_LBCS: (A) scripts/exregional_make_grid.sh: (A), (B) scripts/exregional_make_orog.sh: (A), (B) scripts/exregional_make_sfc_climo.sh: (A), (B) scripts/exregional_run_fcst.sh: (A) scripts/exregional_run_post.sh: (A) ush/set_extrn_mdl_params.sh: (B) * Add ORION stanzas to some of the case statements that set EXTRN_MDL_SYSBASEDIR_ICS and EXTRN_MDL_SYSBASEDIR_LBCS for certain external models. ush/setup.sh: * Add ORION stanza to case statement that sets the number of cores per node, the scheduler, and various queue-related workflow parameters. * Add ORION stanza to case statement that sets the workflow variables FIXgsm and SFC_CLIMO_INPUT_DIR. ush/valid_param_vals.sh: * Add ORION to list of valid machine names.
… make the merge of develop into feature/orion_port easier.
Conflicts: ush/set_extrn_mdl_params.sh
## 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.
…portion to the EXPT_BASEDIR initially exist (i.e. no -f to readlink) before creating the directory.
…ach repository (ufs-community#304) ## DESCRIPTION OF CHANGES: The new top-level cmake build for the SRW App ([SRW App PR#27](ufs-community/ufs-srweather-app#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 ufs-community#196
… in a login shell. This allows the settings set by a "module load" (e.g. module load python/3.7 that prepends a python path to PATH) to be inherited by the script rather than get overwritten.
…mmunity#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 <david.m.wright@noaa.gov>
* Add NOMADS data script call back into generate script. * Change location of NOMADS script call
* Remove the workflow variables QUEUE_DEFAULT_TAG, QUEUE_HPSS_TAG, and QUEUE_FCST_TAG which are currently used to determine whether QUEUE_DEFAULT, QUEUE_HPSS, and QUEUE_FCST specify the names of queue/QOS's or slurm partitions. * Add the workflow variables PARTITION_DEFAULT_TAG, PARTITION_HPSS_TAG, and PARTITION_FCST_TAG. These will be used to specify slurm partitions only, and the variables QUEUE_DEFAULT, QUEUE_HPSS, and QUEUE_FCST will be used to specify queues/QOS's only.
…do and inserted CASE statements for Stampede (ufs-community#303)
## 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 ufs-community#196.
Conflicts: scripts/exregional_run_fcst.sh
…ad of a null string (which was used for testing).
* Changes needed to run the regional workflow on WCOSS * Update exregional_make_sfc_climo.sh Co-authored-by: Benjamin.Blake EMC <Benjamin.Blake@m71a2.ncep.noaa.gov>
…via mergetool easier.
Conflicts: scripts/exregional_make_grid.sh scripts/exregional_make_orog.sh scripts/exregional_make_sfc_climo.sh ush/setup.sh
## DESCRIPTION OF CHANGES: * In setup.sh and generate_FV3LAM_wflow.sh, 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). * In setup.sh, 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. * Remove modifications to LD_LIBRARY_PATH in exregional_run_fcst.sh. * 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. * Fix indentation and edit comments. * Remove unused file load_fv3gfs_modules.sh. ## TESTS CONDUCTED: Ran two WE2E tests on hera, new_ESGgrid and new_GFDLgrid: * new_ESGgrid uses the FV3_GFS_2017_gfdlmp_regional suite. The test was successful. * new_GFDLgrid uses the FV3_GFS_2017_gfdlmp suite. The test was successful. ## ISSUE (optional): This resolves issue ufs-community#198.
Conflicts: jobs/JREGIONAL_MAKE_ICS jobs/JREGIONAL_MAKE_LBCS scripts/exregional_run_fcst.sh
…parameterization in the SDF and if so, adjusts certain workflow arrays to contain the names and other associated values of the fixed files needed by this parameterization so that those files are automatically copied and/or linked to. (ufs-community#319) ## DESCRIPTION OF CHANGES: Add and call a function that checks for use of Thompson microphysics parameterization in the suite definition file (SDF). If not, do nothing. If so, add to the appropriate workflow arrays the names and other associated values of the fixed files needed by this parameterization so that they are automatically copied and/or linked to instead of being regenerated from scratch in the run_fcst task. ## TESTS CONDUCTED: On hera, ran two WE2E tests, one in NCO mode (nco_RRFS_CONUS_25km_HRRRX_RAPX) and the other in community mode (suite_FV3_GSD_v0). These use suites FV3_GSD_SAR and FV3_GSD_v0, respectively, and both of these call Thompson microphysics. Both succeeded. ## ISSUE (optional): This PR resolves issue ufs-community#297.
…sks. This was probably inadvertantly changed during a conflict resolution with another PR.
…s-community#322) (ufs-community#327) ## DESCRIPTION OF CHANGES: Removed checks on the RRFS_v1beta SDF implemented for use with the GSL GWD suite (now uses the GFS GWD suite). No longer copies staged orography files necessary for the GSL GWD suite. ## TESTS CONDUCTED: Runs to completion on Hera. End-to-end runs DOT_OR_USCORE and suite_FV3_RRFS_v1beta succeeded on Cheyenne. Co-authored-by: JeffBeck-NOAA <55201531+JeffBeck-NOAA@users.noreply.github.com>
…mplete). * Remove the QUEUE_... statements in config.community.sh because they are overriding the default values for the machine in setup.sh. * Add new lines for PARTITION_... in the case-statement in setup.sh that sets the default values of PARTITION_... and QUEUE_.... For now, set the default values to blanks. These need to be properly specified, but I don't know the names of the partitions (nor QOS's) on these two machines. Probably Yunheng will need to fill these out and test.
…Yunheng Wang. Still need to set QUEUE_... for these machines.
## DESCRIPTION OF CHANGES: * Adjust RRFS_CONUS_25km, RRFS_CONUS_13km, and RRFS_CONUS_3km grid parameters so that: * All grids, including their 4-cell-wide halos, lie completely within the HRRRX domain. * All grids have dimensions nx and ny that factor "nicely", i.e. they don't have factors greather than 7. * The write-component grids corresponding to these three native grids cover as much of the native grids as possible without going outside of the native grid boundaries. The updated NCL scripts (see below) were used to generate the write-component grid parameters. * For the RRFS_CONUS_13km grid, reduce the time step (DT_ATMOS) from 180sec to 45sec. This is necessary to get a successful forecast with the GSD_SAR suite, and thus likely also the RRFS_v1beta suite. * Modify WE2E testing system as follows: * Add new tests with the RRFS_CONUS_25km, RRFS_CONUS_13km, and RRFS_CONUS_3km grids that use the GFS_v15p2 and RRFS_v1beta suites (which are now the ones officially supported in the first release of the short-range weather app) instead of the GFS_v16beta and GSD_SAR suites, respectively. * For clarity, rename the test configuration files that use the GFS_v16beta and GSD_SAR suites so they include the suite name. * Update list of WE2E tests (baselines_list.txt). * Update the NCL plotting scripts to be able to plot grids with the latest version of the workflow. ## TESTS CONDUCTED: On hera, ran tests with all three grids with the GFS_v15p2 and RRFS_v1beta suites (a total of 6 tests). All were successful.
…se Jinja2 to create model_configure (ufs-community#321) ## DESCRIPTION OF CHANGES: * Remove model_configure template files whose names depend on the physics suite, i.e. files with names of the form model_configure.${CCPP_PHYS_SUITE}. Only a single template file is needed because the contents of the model_configure file are not suite dependent. This leaves just one template file (named model_configure). * Change the function create_model_configure_file.sh and the template file model_configure so they use jinja2 instead of sed to replace placeholder values. * Absorb the contents of the write-component template files wrtcmp_lambert_conformal, wrtcmp_regional_latlon, and wrtcmp_rotated_latlon into the new jinja2-compliant model_configure file. We can do this because Jinja2 allows use of if-statements in the template file. * In the new model_configure jinja2 template file, include comments to explain the various write-component parameters. ## TESTS CONDUCTED: On Hera, ran the two WE2E tests new_ESGgrid and new_GFDLgrid. The first uses a "lambert_conformal" type of write-component grid, and the second uses a "rotated_latlon" type of write-component grid. (The write-component also allows "regional_latlon" type grids, which is just the usual earth-relative latlon coordinate system, but we do not have any cases that use that.) Both tests succeeded. ## ISSUE (optional): This PR resolves issue ufs-community#281.
…ow set up by Christina Holt.
mkavulich
added a commit
that referenced
this pull request
Oct 30, 2020
…ation on Cheyenne (#343) ## DESCRIPTION OF CHANGES: Changes in #339 broke the jinja templating script for creating the workflow xml on platforms that do not have "partition_default", "partition_hpss", or "partition_fcst" settings. Basically it boils down to platforms whose job scheduler does not support the rocoto "partition" tag. Cheyenne is one of these platforms. Additionally, this PR specifies the location of the new rocoto module on cheyenne, so tests can now be launched from a cron job on Cheyenne. ## TESTS CONDUCTED: Ran a small set of end-to-end tests on Cheyenne (intel) successfully with no failures: DOT_OR_USCORE, grid_RRFS_CONUS_25km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v15p2, suite_FV3_GFS_v15p2, and suite_FV3_RRFS_v1beta Ran a full suite of tests on Hera to ensure the jinja changes did not negatively impact tests on that platform. All tests expected to pass passed. ## ISSUE: Resolves #326 ## CONTRIBUTORS: Co-authored-by: christinaholtNOAA <christina.holt@noaa.gov>; Michael Kavulich, Jr <kavulich@ucar.edu>
mkavulich
added a commit
to mkavulich/regional_workflow
that referenced
this pull request
Dec 11, 2020
…ontab on Cheyenne, as well as fix workflow generation on Cheyenne (ufs-community#343) \## DESCRIPTION OF CHANGES: Changes in ufs-community#339 broke the jinja templating script for creating the workflow xml on platforms that do not have "partition_default", "partition_hpss", or "partition_fcst" settings. Basically it boils down to platforms whose job scheduler does not support the rocoto "partition" tag. Cheyenne is one of these platforms. Additionally, this PR specifies the location of the new rocoto module on cheyenne, so tests can now be launched from a cron job on Cheyenne. \## TESTS CONDUCTED: Ran a small set of end-to-end tests on Cheyenne (intel) successfully with no failures: DOT_OR_USCORE, grid_RRFS_CONUS_25km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v15p2, suite_FV3_GFS_v15p2, and suite_FV3_RRFS_v1beta Ran a full suite of tests on Hera to ensure the jinja changes did not negatively impact tests on that platform. All tests expected to pass passed. \## ISSUE: Resolves ufs-community#326 \## CONTRIBUTORS: Co-authored-by: christinaholtNOAA <christina.holt@noaa.gov>; Michael Kavulich, Jr <kavulich@ucar.edu>
mkavulich
added a commit
to mkavulich/regional_workflow
that referenced
this pull request
Dec 11, 2020
…ontab on Cheyenne, as well as fix workflow generation on Cheyenne (ufs-community#343) \## DESCRIPTION OF CHANGES: Changes in ufs-community#339 broke the jinja templating script for creating the workflow xml on platforms that do not have "partition_default", "partition_hpss", or "partition_fcst" settings. Basically it boils down to platforms whose job scheduler does not support the rocoto "partition" tag. Cheyenne is one of these platforms. Additionally, this PR specifies the location of the new rocoto module on cheyenne, so tests can now be launched from a cron job on Cheyenne. \## TESTS CONDUCTED: Ran a small set of end-to-end tests on Cheyenne (intel) successfully with no failures: DOT_OR_USCORE, grid_RRFS_CONUS_25km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v15p2, suite_FV3_GFS_v15p2, and suite_FV3_RRFS_v1beta Ran a full suite of tests on Hera to ensure the jinja changes did not negatively impact tests on that platform. All tests expected to pass passed. \## ISSUE: Resolves ufs-community#326 \## CONTRIBUTORS: Co-authored-by: christinaholtNOAA <christina.holt@noaa.gov>; Michael Kavulich, Jr <kavulich@ucar.edu>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is identical to PR #309 by @gsketefian, but instead of being merged into the develop branch, it will be merged into release/public-v1.
As agreed upon in the DTC-CAM group, no testing was performed for this PR.