Climate Modeling Homework 2
http://www.atmos.washington.edu/2008Q2/559/hw2.html

Group 1 Cold Start  90% Solar Constant : Kyle & Rei & David
Group 2
Cold Start  95% Solar Constant : Kai-Chieh & Steve
Group 3 Cold Start 100% Solar Constant : Silje & Paul & Kevin
Group 4 Warm Start 85% Solar Constant : Kelly & Justin & Quong
Group 5
Warm Start 90% Solar Constant : Ty & Ed
Group 6 Warm Start 95% Solar Constant : Nate & Stuart

Each member of the group should known how do everything, but one member should to do parts I & II and the other should do part III. Each person must turn in their own summary.  In class today, work through I and II  and practise steps III and IV on my output, as described below. Then when your job is done substitue your own files and repeat  III and IV.  Part V and VI can be done on your own in ~2 hours.

Unfortunately, we can't spend all quarter working on the snowball earth problem! I have used it as a pretext to learn how to run and analyze CAM. Beware, the snowball earth problem can be addictive.Parts III and IV are somewhat free-form. Be reasonable and cut yourself off after a few hours of exploring the output if necessary.

Summary:

I. Build CAM

II. Run CAM

III. Run CAM diagnostics package

IV. Analyze CAM output transients in MATLAB, make custom figures

V. Examine hysteresis loop in EBM

VI. Summarize the experience



Elaboration:

I. Build CAM

ssh -Y olympus
echo $SHELL
   If it says /bin/csh or /bin/tcsh you are fine.
   If not change your shell with chsh /bin/tcsh.

cd /home/disk/eos11/$LOGNAME
mkdir camruns
mkdir camruns/snowball
cd camruns/snowball
cp /home/disk/eos11/bitz/camruns/559scripts/* .
./build.T31L26som_mvapich.csh
   wait ~2 minutes
   We only have 2 site licenses for the compiler so you may have to try again in a few minutes
ls -l bld/cam
   should say roughly (size may vary a bit)
   -rwxr-xr-x  1 karmour atgstaff 8310805 Apr  5 11:30 bld/cam*



II. Run CAM

ssh -Y olympus
echo $SHELL
  If it says /bin/csh or /bin/tcsh you are fine.
  If not change your shell with chsh to /bin/tcsh.

Edit the namelist for your experiment. In this assignment you need only
a) Edit the solar constant, scon. Units are mW/m2.
scon = 1.366e6 is the default, 100% of present day. Change scon according to the  number assigned to your group.
b) Edit nrevsn for &camexp and &clmexp to point to the right input data.
   Use full pathnames. The path is /home/disk/eos11/bitz/camruns/559snowballinputs/
   Cold start files:
     sb80.cam2.r.0508-01-01-00000
     sb80.clm2.r.0508-01-01-00000
   Warm start files:
     sb100.cam2.r.0501-01-01-00000
     sb100.clm2.r.0501-01-01-00000
c) First time you run CAM be sure:
      nsrest = 3, to make a branch from the cold or warm run
      nelapse = -31 (negative number indicates units of days)
d) Edit caseid to give your run a name, no spaces allowed

Edit cam3.job line 6 to use the same run name (not critical but nice)

qsub cam3.job                     submits your job
qstat -n                               shows you the queue
qdel xxxxx.olympus          fill in the x's and this will cancel your job

If all goes well, your job will appear in the queue. File "cam.out" will appear and accumulate standard output from the model in bunches. It is not pretty, but it can be helpful if
something goes wrong. Be patient, the buffer is big, so the time between writing bunches is
long. The order stuff is written varies owing to parallel processes.

If the job completes, a bunch more files appear with names like timing.X and spmdstats.X for each processor/task. These files are overwritten when your job completes next time. The queue system produces two more mostly unhelpful files called runname.oXXXX and runname.eXXXX with unique names that are not overwritten. These files can generally be ignored.

After your first successful 31 day run (success = getting a history and restart file), edit the namelist again and set nelapse = -1095 but keep nsrest=3. Also edit cam3.job and take out the #'s in the if-loop near the end (NOT THE #'s IN THE FIRST 6 LINES). This will allow your job to automatically restart itself. The if statement in cam3.job depends on a number that should be your choice for the last run year. Edit this number so your job will run ~20 yrs or so.  Submit cam3.job again. Be sure that you don't get into a restart inifite loop by typing "qstat -n" waiting a minute and then typing "qstat -n" again to verify that the job number is the same. If in a loop, "mv cam3.job cam3.tmp" to break the loop. Look at cam.out and you might be able to see what went wrong.

Troubleshooting: send Cecilia an email with your directory and a brief description.

Monitor your job periodically over the next few days. When all ~20 yrs are FINISHED!!!, edit the clean_dirs.csh script (just a few lines at the top) and run it.

Tell your partner(s) when all ~20 yrs are finished and where the files are located.



III. Run CAM diagnostics package

ssh -Y olympus
cd /home/disk/eos11/$LOGNAME
mkdir camruns
mkdir camruns/snowball
mkdir /home/disk/eos11/$LOGNAME/camruns/snowball/makediags
cd /home/disk/eos11/$LOGNAME/camruns/snowball
cp /home/disk/eos11/bitz/camruns/559scripts/* .
./snowball80vs100.csh
  wait 10 min
ls *.tar
mv sb80-sb100.tar ~/public_html
cd ~/public_html
tar xf sb80-sb100.tar
  wait a few min

Open a browser and point it at
http://www.atmos.washington.edu/~yourlognam/sb80-sb100/index.html

Later when your run is done, cp snowball80vs100.csh to a new name, edit it so that the test case is your run. Make the control the run you branched from: warm is sb100 and cold is sb80. Search for "CMC" to alert you to the lines that you may need to edit. You can safely
ignore the rest.  MSS = mass store system (which only applies to users at NCAR). Run, mv, and untar as above.

Read off ICEAREA and TS from the set 1 table annual mean. (ICEAREA is in million square kilometers)

On the class wiki, add a link to your diagnostic output and add your ICEAREA and TS to the table.

The last group to add their numbers to the table should make a figure of the data in the table and add it to the wiki too. See last paragraph on section V for a hint of how to plot the data.



IV. Analyze CAM output transients in MATLAB, also make custom figures

ssh -Y olympus

cd /home/disk/eos11/$LOGNAME/camruns/snowball
mkdir mymatfiles
cd /home/disk/eos11/$LOGNAME/camruns/snowball/mymatfiles
cp /home/disk/eos11/bitz/camruns/559matfiles/startup559.m .
cp /home/disk/eos11/bitz/camruns/559matfiles/plotvars.m .

matlab
  startup559
 thepath='/home/disk/eos11/bitz/camruns/som/t31/sb80/hist/atm';
 runname='sb80';
 theyrs=501:522;
 icefrac = plot_timeseries(thepath,runname,'ICEFRAC',theyrs,[-90 90 0 90]);
 thickness = plot_timeseries(thepath,runname,'SICTHK',theyrs,[-90 90 0 90]);
 tropthick = plot_timeseries(thepath,runname,'SICTHK',theyrs,[-10 10 0 90]);
 thickslice = plot_timeseries(thepath,runname,'SICTHK',theyrs,[30 40 0 90]);
 plotvars
 exit

Consider adding a few sentences about the transients to the class wiki

Edit plotvars.m to customize plots, as you like. There are hints in this file about learning more about the variable names. Explore something that interests you about your run (or another group's run).



V. Examine a hysteresis loop for the snowball Earth made with an EBM.

Verify a few points of the hysteresis loop with http://www.atmos.washington.edu/~bitz/model/seasonalebm.html

Select the precambrian land option (close enough)
set A=205, obliq = 22.95, eccen = 0, perihilion = 0
Q/Qo = 1 is 100% of the present day solar constant

The default initial condition is similar to present day, which can be considered a warm start. Turn on the "Use cold start" button to initialize with very cold conditions.

EBM hysteresis loop

This plot was made in MATLAB with something like
plot(Spercentcold,iceextentcold,Spercentwarm,iceextentwarm)
set(gca,'ydir','rev');



VI. Write about a one page summary of the experience running CAM. Include some thoughts about the snowball earth problem. This exercise may create more questions than answers. List a few questions as appropriate.  Your suggestions to improve the assignment are much appreciated.

Return to homepage