2. Changing the SDF and the External Models for Generating ICs and LBCs

2. Changing the SDF and the External Models for Generating ICs and LBCs
schramm Mon, 08/16/2021 - 13:46

Changing the Physics Suite and the External Models for Generating ICs and LBCs

Starting with the configuration file created above for the 3km run with the GFS_v15p2 physics suite, we will now generate a new experiment that runs a forecast on the same predefined 3km CONUS grid but uses instead the RRFS_v1alpha physics suite.  This will require that we change the external models from which the initial conditions (ICs) and lateral boundary conditions (LBCs) are generated from the FV3GFS (as was the case in the previous experiment) to the HRRR for ICs and the RAP for LBCs because several of the fields needed by the RRFS_v1alpha suite are available in the HRRR and RAP output files but not in those of the FV3GFS.  Also, we will demonstrate how to change the frequency with which the lateral boundaries are specified.  The steps are as follows:

  1. Change location to USHDIR and make a backup copy of your config.sh from the experiment in Session 2.1:
    cd $USHDIR
    cp config.sh config.sh.session_2p1
  2. Edit config.sh as follows:
    1. Change the name of the experiment directory to something that properly represents the new experiment:
      EXPT_SUBDIR="test_CONUS_3km_RRFS_v1alpha"
    2. Change the name of the physics suite:
      CCPP_PHYS_SUITE="FV3_RRFS_v1alpha"
    3. Change the time interval (in hours) with which the lateral boundaries will be specified (using data from the RAP):
      LBC_SPEC_INTVL_HRS="3"
      Note that for the 6-hour forecast we are running here will require two LBC files from the RAP: one for forecast hour 3 and another for hour 6. We specify the names of these files below via the parameter EXTRN_MDL_FILES_LBCS. Note also that the boundary conditions for hour 0 are included in the file for the ICs (from the HRRR).
    4. Change the name of the external model that will provide the fields from which to generate the ICs to the "HRRR", the name of the HRRR file, and the base directory in which it is located:
      Note the "X" at the end of the path name.
      EXTRN_MDL_NAME_ICS="HRRR"
      EXTRN_MDL_SOURCE_BASEDIR_ICS="/glade/p/ral/jntp/UFS_SRW_app/staged_extrn_mdl_files/HRRRX"
      EXTRN_MDL_FILES_ICS=( "hrrr.out.for_f000" )
    5. Change the name of the external model that will provide the fields from which to generate the LBCs to "RAP", the names of the RAP files, and the base directory in which they are located:
      Note the "X" at the end of the path name.
      EXTRN_MDL_NAME_LBCS="RAP"
      EXTRN_MDL_SOURCE_BASEDIR_LBCS="/glade/p/ral/jntp/UFS_SRW_app/staged_extrn_mdl_files/RAPX"
      EXTRN_MDL_FILES_LBCS=( "rap.out.for_f003" "rap.out.for_f006" )

      The files rap.out.for_f003 and rap.out.for_f006 will be used to generate the LBCs for forecast hours 3 and 6, respectively.

  3. Generate a new experiment using this configuration file:
    1. Ensure that the proper workflow environment is loaded and generate the experiment directory and corresponding rocoto workflow:
      source ../../env/wflow_cheyenne.env
      cd $USHDIR
      ./generate_FV3LAM_wflow.sh
    2. After this completes, for convenience, in your shell redefine the variable EXPTDIR to the directory of the current experiment:
      EXPT_SUBDIR="test_CONUS_3km_RRFS_v1alpha"
      EXPTDIR="${SR_WX_APP_TOP_DIR}/../expt_dirs/${EXPT_SUBDIR}"
  4. If in Session 2.1 you did not set the parameters USE_CRON_TO_RELAUNCH and CRON_RELAUNCH_INTVL_MNTS in your config.sh, you will have to create a cron job to automatically relaunch the workflow. Do this using the same procedure as in Session 2.1.
  5. Monitor the status of the workflow:
    cd $EXPTDIR
    rocotostat -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10

    Continue to monitor until all the tasks complete successfully. Alternatively, as in Session 2.1, you can use the launch_FV3LAM_wflow.sh script to relaunch the workflow (instead of waiting for the cron job to relaunch it) and obtain its updated status as follows:

    cd $EXPTDIR
    ./launch_FV3LAM_wflow.sh
    tail -n 40 log.launch_FV3LAM_wflow
  6. Once all workflow tasks have successfully completed, you can plot and display the output using a procedure analogous to the one described in Session 2.1. Here, we will demonstrate how to generate difference plots between two forecasts on the same grid. The two forecasts we will use are the one in Session 2.1 that uses the GFS_v15p2 suite and the one here that uses the RRFS_v1alpha suite. The steps are:
    1. Purge all modules and load the one needed for the plotting:
      module purge
      module load ncarenv
      ncar_pylib /glade/p/ral/jntp/UFS_SRW_app/ncar_pylib/python_graphics
    2. Change location to where the python plotting scripts are located:
      cd $USHDIR/Python
    3. For convenience, define variables containing the paths to the two forecast experiment directories:
      EXPTDIR_2p1=${SR_WX_APP_TOP_DIR}/../expt_dirs/test_CONUS_3km_GFSv15p2
      EXPTDIR_2p2=${SR_WX_APP_TOP_DIR}/../expt_dirs/test_CONUS_3km_RRFS_v1alpha
    4. Call the plotting script. Since this takes some time, here we will plot only the 0th and 6th hour differences, as follows:
      Note:  The following is a one-line command.
      python plot_allvars_diff.py 2019061500 0 6 6 ${EXPTDIR_2p2} ${EXPTDIR_2p1} /glade/p/ral/jntp/UFS_SRW_app/tools/NaturalEarth

      The difference plots (in png format) will be placed under the first experiment directory specified in the call above, which in this case is EXPTDIR_2p2. Thus, the plots will be in ${EXPTDIR_2p2}/2019061500/postprd. (Note that specifying EXPTDIR_2p1 first in the call above would overwrite the plots generated in Session 2.1.) If you wish, you can generate difference plots for all forecast hours by changing the second "6" in the call above to a "1".

    5. As the difference plots appear in that directory, you can display them as follows:
      cd ${EXPTDIR_2p2}/2019061500/postprd
      display name_of_file.png &