CCPP and SCM Online Tutorial | Exercise 1: Run the SCM and examine the results

Review the physics suites

You will run two experiments with the SCM, showing the differences between all supported physics suites for a given case based on the Tropical Warm Pool – International Cloud Experiment (TWP-ICE) field campaign. Let’s first take a look at the composition of the physics suites and then at how the case is set up.

Navigate to the directory where the Suite Definition Files (SDFs) are stored and see what is available:

cd $SCM_WORK/ccpp-scm/ccpp/suites
ls

Peruse the files and notice the XML format, paying attention to the key elements: suite (with name attribute), group, subcycle, scheme.

You will find primary and interstitial schemes.  All suites share many common elements, including interstitial schemes that are required to prepare data for schemes and calculate diagnostics. 

If you want to review the technical elements of the SDF, refer to the SDF chapter in the CCPP Technical Documentation.

The differences between the operational GFS suite and the experimental RRFS_v1beta suite is shown below.

Q: What are some parameterizations used in suite RRFS_v1beta that are not used in suite GFS_v16?

A: Coupling of subgridscale cloudiness and RRTMG radiation scheme (sgscloud_radpre and sgscloud_radpost), the Mellow-Yamada-Nakanishi-Niino (MYNN) surface layer (mynnsfc_wrapper) and planetary boundary layer (mynnedmf_wrapper) schemes, the Noah MP land surface model (noahmpdrv), and the Thompson microphysics scheme (mp_thompson). Also note that the GFSv16 invokes a deep convective parameterization (samfdeepcnv), while suite RRFS_v1beta does not. For this reason, suite RRFS_v1beta is best suited for convective-allowing models.

Review the case configuration namelists and case input data file

Now navigate to the directory where case setup namelists are stored to see what you are going to run.

cd $SCM_WORK/ccpp-scm/scm/etc/case_config
ls

Look at twpice.nml to see what kinds of information are required to set up an experiment. The variables most likely to differ among experiments are: case_name, dt, runtime, [thermo,mom]_forcing_type, sfc_flux_spec, year, month, day, hour.

For more information about the experiment configuration files, see Chapter 5.1.1 of the CCPP SCM User and Technical Guide.

Each case also has a NetCDF file associated with it (determined by the case_name variable) that contains the initial conditions and forcing data for the case. Take a look at one of the files to see what kind of information is expected:

ncdump -h $SCM_WORK/ccpp-scm/scm/data/processed_case_input/twpice.nc|more

There are groups for scalars (single values relevant for the simulation), initial conditions (function of vertical level only), and forcing (function of time and/or vertical level). Note that not all forcing variables are required to be non-zero.

For more information about the experiment configuration files, see Chapter 5.1.2 of the CCPP SCM User and Technical Guide.

Run the SCM

Now that you have an idea of what the physics suites contain and how to set up cases, you can run the SCM. 

For more information about this and other scripts that can be used to run the SCM, see Chapter 2.4 of the CCPP SCM User and Technical Guide

The following commands will get you in the bin directory and run the SCM for the TWP-ICE case using all six supported suites.

cd $SCM_WORK/ccpp-scm/scm/bin

Note: if you are using a Docker container, add -d at the end of the following command

./run_scm.py --multirun --file $SCM_WORK/ccpp-scm/tutorial_files/config/multirun_twpice_supported_suites.py

Upon a successful run, the screen output should say that the runs completed successfully and the following subdirectories will be created in $SCM_WORK/ccpp-scm/scm/run/, each of them with a log file and results in NetCDF format in file output.nc

output_twpice_SCM_GFS_v16, output_twpice_SCM_GFS_v17_p8, output_twpice_SCM_HRRR, output_twpice_SCM_RAP, output_twpice_SCM_RRFS_v1beta, and output_twpice_SCM_WoFS_v0

Any standard NetCDF file viewing or analysis tools may be used to examine the output file (ncdump, ncview, Python, etc). 

Analyze the SCM results

The output directory for each case is controlled by its case configuration namelist. For this exercise, a directory containing the output for each integration is placed in the $SCM_WORK/ccpp-scm/scm/run/ directory. Inspect that the output directories now contain a populated output.nc file.

At this point, you use whatever plotting tools you wish to examine the output. For this course, we will use the basic Python scripts that are included in the repository. The main script is called scm_analysis.py and expects a configuration file as an argument. The configuration file specifies which output files to read, which variables to plot, and how to do so.

Change into the following directory:

cd $SCM_WORK/ccpp-scm/scm/run

Copy Python plotting module needed for tutorial:

cp $SCM_WORK/ccpp-scm/tutorial_files/scm_read_obs.py $SCM_WORK/ccpp-scm/scm/etc/scripts

Run the following to generate plots for the TWP-ICE case:

Note: if you are using a Docker container, add -d at the end of the following command

./scm_analysis.py twpice_all_suites.ini

You will notice some harmless messages pertaining to “Missing variables”, which are just meant to alert the user that some suites do not have certain types of parameterizations. Therefore, tendencies for those types of parameterizations are set to zero.

The script creates a new subdirectory within the 

$SCM_WORK/ccpp-scm/scm/run/ directory called plots_twpice_all_suites 

Change into that directory using the command

cd plots_twpice_all_suites/comp/active

For docker, this directory is /home/plots_twpice_all_suites/comp/active. This is also mounted outside of the container, so you can exit the container and view the output files on your home file system in the directory $OUT_DIR/plots_twpice_all_suites/comp/active.

This directory contains various plot files in PDF format. Open the files and inspect the various plots such as the precipitation time series and the mean profiles of water vapor specific humidity, cloud water mixing ratio, temperature, and temperature tendencies due to forcing and physics processes.

Q: Examine the prediction of precipitation in file time_series_tprcp_rate_inst.pdf. Would you say that the rain rate is well predicted in the SCM simulations?

A: All supported suites reasonably predict the evolution of rain rate as a function of time and the results for all suites are similar, indicating that, for this variable, the commonality of forcing is a stronger factor in determining the results than the differences among suites. However, it should be noted that none of the suites capture the magnitude of the largest four precipitation events.

 

Q: Examine the profiles of temperature bias in file profiles_bias_T.pdf. In the lower troposphere (between the surface and 600 hPa), which suite(s) have a positive bias and which have a negative bias? In absolute terms, which suite has the highest bias in the lower troposphere?

 

A: In the lower atmosphere, suites RRFS_v1beta, HRRR, and WoFS_v0 have a positive bias (that is, it is too warm compared to observations), while all other suites have a negative bias (that is, are too cold compared to observations). In the middle atmosphere, all suites have a negative temperature bias. Suites RRFS_v1beta, HRRR, and WoFS_v0 behave similarly and have the largest absolute bias, which reaches -4 K.

Q: Look at the tendencies due to deep and shallow convection in file profiles_mean_multi_conv_tendencies.pdf. Considering all suites, at approximately which level do the deep convective tendencies peak? And the shallow convection tendencies? Why are the convective tendencies for suite RRFS_v1beta zero?

A: The deep convective scheme represents cumulus clouds that span the entire troposphere and their tendencies peak at approximately 500 hPa. The shallow convective scheme represents clouds at the top of the planetary boundary layer, with maximum tendencies at approximately 950 hPa Suite RRFS_v1beta does not produce any convective tendencies since it does not include a convective scheme because it is targeted for convective-allowing resolutions.

Q: Since it does not include a convective parameterization, is it appropriate to use suite RRFS_v1beta for the SCM TWP-ICE case?

A: No, suite RRFS_v1beta is included with the SCM as-is for research purposes but it is not expected to produce reasonable results for the TWP-ICE case or other CCPP SCM cases involving deep convection. This is because forcing for existing cases assumes a horizontal scale for which deep convection is subgrid-scale and is expected to be parameterized. The RRFS_v1beta suite was designed for use in simulations with horizontal scale small enough not to need a deep convection parameterization active, and it does not contain a deep convective scheme. For suite RRFS_v1beta to produce reasonable results with the SCM, the forcing would have to be modified to account for deep convection.