Difference between revisions of "CESM exercise II: view and discuss model output"

From Interactive System for Ice sheet Simulation
Jump to: navigation, search
(View the results)
(View the results)
Line 50: Line 50:
 
*There are many time-dependent variables with names in all caps.
 
*There are many time-dependent variables with names in all caps.
  
We can visualize the data using the program ''ncview''.  To look at a file using ncview, type this:
+
We can visualize the data using the program ''ncview''.  To look at the output from January of year 6, type this:
  
  > ncview ''filename''
+
  > ncview ''casename''.clm2.h0.0006-01.nc
  
 
A blue window will appear on your screen.  First, choose a field to view.  Put your cursor over the box that says ''(176)2d vars'' and hold down your left mouse button.  You will see a long list of fields.  Keeping the button held down, you then move your cursor over the name of the field you want to look at and release the mouse button.   
 
A blue window will appear on your screen.  First, choose a field to view.  Put your cursor over the box that says ''(176)2d vars'' and hold down your left mouse button.  You will see a long list of fields.  Keeping the button held down, you then move your cursor over the name of the field you want to look at and release the mouse button.   
Line 58: Line 58:
 
Let's look at the surface air temperature field.  Move the cursor to the field labeled 'TSA' and release the left mouse button.  You will see a map of global surface air temperature.  To make the map larger, double-click on the box labeled 'MX3' using the left mouse button.  To make it smaller, double-click using the right mouse button.  Note the color bar on the control panel.
 
Let's look at the surface air temperature field.  Move the cursor to the field labeled 'TSA' and release the left mouse button.  You will see a map of global surface air temperature.  To make the map larger, double-click on the box labeled 'MX3' using the left mouse button.  To make it smaller, double-click using the right mouse button.  Note the color bar on the control panel.
  
Next, view the field 'QICE'.  This is the surface mass balance of glaciated grid cells in units of mm/s.  Values are positive where the ice is growing and negative where ice is melting.
+
Similarly, you can view output from July of year 6:
  
Supppose we are interested in the surface mass balance of glaciated gridcells from year 6 of the run, averaged over 12 months.
+
> ncview ''casename''.clm2.h0.0006-01.nc
 +
 
 +
Note the difference in the surface air temperature 'TSA'.
 +
 
 +
Next, we will view the field 'QICE'.  This is the surface mass balance of glaciated grid cells in units of mm/s.  Values are positive where the ice is growing and negative where ice is melting.  Look at the annual average file for year 6:
 +
 
 +
> ncview ''casename''.h1.0006-01-01-00000.nc
 +
 
 +
There are fewer variables in this file, so you can simply click on the box labeled 'QICEYR'.
 +
 
 +
 
 +
===Optional exercise: Using NCO===
 +
 
 +
Supppose we are interested in viewing fields from the last year of the run, averaged over 12 months.
  
 
We can post-process the data using NCO, a suite of programs for useful manipulation of netCDF files.  For details, see http://nco.sourceforge.net/.
 
We can post-process the data using NCO, a suite of programs for useful manipulation of netCDF files.  For details, see http://nco.sourceforge.net/.
 +
 +
Go to the directory with CLM history files:
 +
 +
> cd ~/swgfs/archive/''casename''/lnd/hist
  
 
To average all the history variables over 12 months, use the ''ncra'' command:
 
To average all the history variables over 12 months, use the ''ncra'' command:
Line 83: Line 100:
 
  > ncdump -h ''case_name''.clm2.h0.0010-avg.nc | less
 
  > ncdump -h ''case_name''.clm2.h0.0010-avg.nc | less
  
Suppose we're mainly interested in the surface mass balance, and not all the other files.  By using the ''-v'' option, we can make an annual average file that contains only the variable QICE:
+
Suppose we are mainly interested in the surface mass balance, and not all the other files.  By using the ''-v'' option, we can make an annual average file that contains only the variable QICE:
  
 
  > ncra -v QICE -n 12,2,1 ''case_name''.clm2.h0.0010-01.nc ''case_name''.clm2.h0.0010-QICE.nc
 
  > ncra -v QICE -n 12,2,1 ''case_name''.clm2.h0.0010-01.nc ''case_name''.clm2.h0.0010-QICE.nc
Line 108: Line 125:
  
 
with the result that variables in the output file have values outfile_var = weight1*infile1_var + weight2*infile2_var.  If weight2 = 0, then infile2 is irrelevant and the effect is simply to multiply variables in infile1 by a constant.)  
 
with the result that variables in the output file have values outfile_var = weight1*infile1_var + weight2*infile2_var.  If weight2 = 0, then infile2 is irrelevant and the effect is simply to multiply variables in infile1 by a constant.)  
 
 
  
 
Next, let's compute the surface mass balance integrated over the Greenland ice sheet.  NCO has a command for this too:
 
Next, let's compute the surface mass balance integrated over the Greenland ice sheet.  NCO has a command for this too:

Revision as of 00:41, 23 March 2011

Back to Thursday, March 24th

View the results

Now we will look at some output from your IG run. When a run completes successfully, output is written to several archive directories. Let's look at your archived files:

> cd ~/swgfs/archive/case_name
> ls

You will see directories corresponding to different model components. The "rest" directory contains restart files that are needed to continue an earlier run without starting over from the beginning. Restart files are very important for long simulations that can take several days, weeks, or even months to complete.

Let's look in the land directory:

> cd lnd
> ls

There are two subdirectories called hist and logs. First look at the log file:

> cd logs
> ls

You will likely have two compressed log files, one for your 5-day run and the other for your multiyear run. Unzip the second one (which will have a later time stamp):

> gunzip lnd.log.yymmdd-hhmmss.gz
> less lnd.log.yymmdd-hhmmss

You can go quickly to the end of the file by typing Shift-G. You will see something like this at the end:

> Successfully wrote local restart file ./IG_f19g16.clm2.r.0002-01-01-00000

This means that just before finishing, CLM wrote a restart file so that it can start later where it left off.

Now let's look at the CLM history files:

> cd ../hist
> ls

You should see one file for each month of the run. The .nc suffix means that these are netCDF files. The netCDF format is commonly used for climate model output. This format is 'self-describing', which means that the file contains not only lots of data, but also 'metadata' with useful information about the data.

Each of the monthly files contains a number of monthly average fields. This command will tell you about the contents of the first monthly file:

> ncdump -h casename.clm2.h0.0001-01.nc | less

Hit the space bar repeatedly to scroll through the output.

Note the following:

  • The grid has 96 cells in the latitude direction and 144 cells in the longitude direction.
  • There are some time-independent variables (e.g., area, topo) with lower-case names.
  • There are many time-dependent variables with names in all caps.

We can visualize the data using the program ncview. To look at the output from January of year 6, type this:

> ncview casename.clm2.h0.0006-01.nc

A blue window will appear on your screen. First, choose a field to view. Put your cursor over the box that says (176)2d vars and hold down your left mouse button. You will see a long list of fields. Keeping the button held down, you then move your cursor over the name of the field you want to look at and release the mouse button.

Let's look at the surface air temperature field. Move the cursor to the field labeled 'TSA' and release the left mouse button. You will see a map of global surface air temperature. To make the map larger, double-click on the box labeled 'MX3' using the left mouse button. To make it smaller, double-click using the right mouse button. Note the color bar on the control panel.

Similarly, you can view output from July of year 6:

> ncview casename.clm2.h0.0006-01.nc

Note the difference in the surface air temperature 'TSA'.

Next, we will view the field 'QICE'. This is the surface mass balance of glaciated grid cells in units of mm/s. Values are positive where the ice is growing and negative where ice is melting. Look at the annual average file for year 6:

> ncview casename.h1.0006-01-01-00000.nc

There are fewer variables in this file, so you can simply click on the box labeled 'QICEYR'.


Optional exercise: Using NCO

Supppose we are interested in viewing fields from the last year of the run, averaged over 12 months.

We can post-process the data using NCO, a suite of programs for useful manipulation of netCDF files. For details, see http://nco.sourceforge.net/.

Go to the directory with CLM history files:

> cd ~/swgfs/archive/casename/lnd/hist

To average all the history variables over 12 months, use the ncra command:

> ncra -n 12,2,1 infile.nc outfile.nc

The -n command tells NCO to average over files that have the same name as infile.nc, apart from a numerical file identifier.

  • The '12' indicates that there are 12 files to average.
  • The '2' says that the identifier has 2 digits (01, 02, ..., 12)
  • The '1' says that the identifier changes with a stride of 1.

The outfile name is arbitrary. In our case, we can type:

> ncra -n 12,2,1 case_name.clm2.h0.0010-01.nc case_name.clm2.h0.0010-avg.nc
> ls

To view the contents of the new file:

> ncdump -h case_name.clm2.h0.0010-avg.nc | less

Suppose we are mainly interested in the surface mass balance, and not all the other files. By using the -v option, we can make an annual average file that contains only the variable QICE:

> ncra -v QICE -n 12,2,1 case_name.clm2.h0.0010-01.nc case_name.clm2.h0.0010-QICE.nc

The resulting file has just one time-dependent variable QICE, a function of lat, lon and time:

> ncdump -h case_name.clm2.h0.0010-QICE.nc

Let's try ncview again:

> ncview case_name.clm2.h0.0010-QICE.nc

You should see a global plot of QICE on the global land grid. We can see QICE for glaciated cells not only in Greenland and Antarctica, but also in the Himalayas, Canadian archipelago, Alaskan coastal range, and Patagonia.

The units of QICE are mm/s (or equivalently, kg/m2/s). If you prefer m/yr, you can change the units in the file using the ncflint command:

> ncflint -w 3.16e4,0 case_name.clm2.h0.0010-QICE.nc case_name.clm2.h0.0010-QICE.nc case_name.clm2.h0.0010-QICEmyr.nc

where the factor 3.16e4 converts from mm/s to m/yr.

(This syntax can be interpreted as follows. The form of the command is

> ncflint -w weight1, weight2 infile1.nc infile2.nc outfile.nc

with the result that variables in the output file have values outfile_var = weight1*infile1_var + weight2*infile2_var. If weight2 = 0, then infile2 is irrelevant and the effect is simply to multiply variables in infile1 by a constant.)

Next, let's compute the surface mass balance integrated over the Greenland ice sheet. NCO has a command for this too:

> ncwa -N -v QICE -a lat,lon -B 'gris_mask > 0.5' -w area -N case_name.clm2.h0.0010-avg.nc outfile.nc 

where

  • -N says to compute the integrated total as opposed to the average.
  • -v tells which variable(s) to sum and/or average over
  • -a tells which dimensions to sum over
  • -B says to sum only over cells that meet a masking condition (in our case, Greenland cells have gris_mask = 1.0, and all other cells have gris_mask = 0.0)
  • -w says to weight by the variable that follows (grid cell area in this case)

Let's look at the output:

> ncdump outfile.nc

We're interested in the area-integrated value of QICE. Note that area has units of km2, whereas QICE has units of mm/s. To convert to km3/yr, multiply the result by 3.16e7 (the number of seconds in a year) and divide by 1e6 (the number of mm in a km). Recall that 1 km3 (liquid water equivalent) of ice weighs 1 Gigaton.

For the present-day (or at least preindustrial) climate of Greenland, the net surface mass balance is ~300 to 400 km3/y. How do your results compare?