Intervention Experiments

Added Heating Experiments

Overview

Teaching: min
Exercises: min
Questions
  • How to do the added heating experiments?

Objectives

Added Heating

The version of CESM that we are using (CESM 2.1.1) has code and a namelist configuration in the atmosphere that performs atmospheric nudging (also sometimes called relaxation) for zonal wind (U), meridional wind (V), temperature (T), specific humidity (Q), and pressure (PS). We will use this functionality, modified by Dr. Swenson, to add a constant, 3D, idealized heating to temperature (T).

Create, Setup and Configure Using a Script

We will setup our case using a Unix c-shell script. This script will execute all the same commands that we typically perform by hand.

A script is a good method to keep track of what we did to setup our experiment and make sure we can reproduce it.

First, we will make a place in our home directory for experiment scripts and then copy the script to that location.

From your home directory:

$ mkdir cases_scripts
$ cd cases_scripts
$ cp ~kpegion/cases_scripts/addheat.csh . 

Next we will take a look at the script and see what it does.

$ vi addheat.csh

The set commands

At the top, the set set variables for the script to use. You will need to set these correctly for your run, specifically, set the following:

refcase: set this to the case you used for Assignment #2. This is a B1850 Pre-industrial control simulation and we will branch from this case for this experiment.

expname: set this to the case name you want to use for your added heating experiment

The following are already set correctly, but I want you to know what they mean in case you wish to use this script for something else and need to change it in the future:

project: make sure the project number is set to the correct one.

model: Make sure this is set to the version of the model you wish to use, it should be your /glade/work/USERNAME/cesm2.1.1. The variables $USER will resolve to your username.

caseroot: The path to your case

The rm commands

This deletes the CASEROOT, so you are guaranteed to be starting fresh with your new case. The second rm command deletes your /glade/scratch/USERNAME/CASENAME.

Remember the rm command deletes without question, so be careful here not to delete a case you want to keep.

Create and setup the newcase

The next few lines run the create_newcase and case.setup scripts.

Modify Source code

Remember to modify source code, you need to put it in your SourceMods directory. The next line copies the new source code for the added heating experiment to the SourceMods directory fo your new case.

xmlchange commands

All the xmlchange commands to setup and configure your case

Modify the namelist

The next set of lines labelled # Variables to output modifies the user_nl_cam namelist to change the output frequency for the atmosphere and set the namelist to configure the options for the added heating (all the Nudge options)

Setup your initial conditions

Since GET_REFCASE is set to false, the user needs to copy the initial conditions to the run directory. The next line labelled # Initial conditions for Branch run does that for you.

Build and Submit your run

The last few lines of the code execute the build and submit scripts.

How to run the script

Make the script executable.

$ chmod +x addheat.csh

Run the script

$ ./addheat.csh

It will take a few minutes to run since it has to go through all the steps we normally do by hand, including the build step. Once it is complete, your job will be submitted to the queue and you can take a look using

$ qstat -u USERNAME

Key Points


Assignment #4

Overview

Teaching: min
Exercises: min
Questions
  • Added Heating Experiment

Objectives

What am I expected to do?

Perform the added heating experiment

The instructions are here

Perform the control experiment

Following a similar procedure as the added heating experiment, perform the control experiment.

A control expeirment means that everything is exactly the same except the thing you changed, in this case, the added heating. This means the two can be cleanly compared to see the impact of added heating.

Use the script called addheat.control.csh located in ~kpegion/case_scripts.

Make a plot showing the impact of the added heating

The plot should show the same information as the one Dr. Swenson showed us. addheat

Handling the output

You will nead to use the history files, not postprocessed time series files for this. The postprocessing only handles monthly data and requires full years to be complete. The heating output is 6 hourly located in the h2 history files and the dynamical variables (e.g. U,V,Z) are daily and are located in the h1 history files.

As an example, I provide code for reading the h1 history files from my added heating experiment below:

path='/glade/scratch/kpegion/archive/'
exp_ah='addheat2'
fstub_h1='.cam.h1.*.nc'

ds_ah_h1=xr.open_mfdataset(path+exp_ah+'/atm/hist/'+exp_ah+fstub_h1,
                          combine='nested',concat_dim='time')

What to plot

Make a plot consistent with Dr. Swenson plot. His plot shows the difference between added heating and control averaged over the 3-months of the run for total heating (filled contours), added heating (black contours) and 200 hPa geopotential height as a representation of the changes in the storm track (blue and red contours). Below are some hints on how to get and calculate these 3 quanitites from the model output.

Heating Differences

To calculate the total heating averaged from 850hPa to 50hPa for the added heating experiment.

  1. Get the total heating by adding the heating variables together. These variables are QRS, QRL,DTCOND, DTV, and Nudge_T.
  2. Select the 850hPa to 50hPa levels and average over those levels.
  3. Calculate the mean over the 3-months of the experiment by averaging the data in time.

Do the same for the control experiment, noting that Nudge_T (the added heating) does not exist in the control experiment.

Now, calculate the difference between the two experiments as Added Heating minus control.

Check your units and convert them to K/day

200 hPa Geopotential Height Differences

To calculate the differences in the 200 hPa geopotential height between the two experiments,

  1. Use the Z3 variable for Geopotential Height
  2. Select the lev=200
  3. Take the average over the 3-months
  4. Difference the two experiments as added heating minus control

Added heating

From the added heating experiment only, calculate the 850hPa-50hPa average of the Nudge_T variable and average over the 3-months of the experiment.

How to turn it in?

You may send me the figure itself or the location of your figure.

Make sure it is properly labelled (units, lats/lons, contours, title) and is a single figure (this will involve using contourf once and contour twice (maybe more times if you are matching Dr. Swenson’s colors exactly).

When is it Due?

Nov 17

Key Points