|
7 | 7 | "source": [ |
8 | 8 | "# 2: mid-Holocene case \n", |
9 | 9 | "\n", |
10 | | - "The Holocene Epoch started ~11,700 before present (11.7 ka BP) and is the current period of geologic time. \n", |
| 10 | + "The Holocene Epoch started ~11,700 before present (11.7 ka BP) and is the current geological epoch. \n", |
11 | 11 | "\n", |
12 | | - "Although humans were already well established before the Holocene, this period of time is also referred to as the Anthropocene Epoch because its primary characteristic is the global changes caused by human activity.\n", |
| 12 | + "The term Anthropocene is used by many scientists to describe the current period, characterized by profound and lasting human influences on Earth's geological formations and ecosystems. However, the Anthropocene has not yet been officially formalized as a distinct epoch by the International Commission on Stratigraphy.\n", |
13 | 13 | "\n", |
14 | 14 | "The Holocene is an interglacial period, marked by receding ice sheets and rising greenhouse gases that were accompanied by changes in the Earth's orbit around the Sun. \n", |
15 | 15 | "\n", |
16 | | - "Today, we will use CESM to investigate influence of Holocene orbital forcing on climate. \n", |
| 16 | + "Today, we will use CESM to investigate influence of mid-Holocene orbital forcing on climate. \n", |
17 | 17 | "\n" |
18 | 18 | ] |
19 | 19 | }, |
|
24 | 24 | "source": [ |
25 | 25 | "\n", |
26 | 26 | "<div class=\"alert alert-info\">\n", |
27 | | - "<strong>Exercise: Run a mid-Holocene simulation with orbital forcing</strong><br><br>\n", |
| 27 | + "<strong>Exercise 2.1: Run a mid-Holocene simulation with orbital forcing</strong><br><br>\n", |
28 | 28 | " \n", |
29 | 29 | "Create, configure, build and run a fully coupled mid-Holocene (~6 ka BP) case called ``b.e21.B1850.f19_g17.midHolocene.001`` following [CESM naming conventions](https://www.cesm.ucar.edu/models/cesm2/naming-conventions). \n", |
30 | 30 | "\n", |
31 | 31 | "Run for 1 year. \n", |
32 | 32 | "\n", |
33 | | - "Compare and visualize differences between preindustrial and mid-Holocene runs using NCO and Ncview. \n", |
34 | | - "\n", |
35 | 33 | "</div>\n" |
36 | 34 | ] |
37 | 35 | }, |
|
94 | 92 | "set RUNDIR=/glade/derecho/scratch/$USER/$CASENAME/run\n", |
95 | 93 | "set COMPSET=B1850\n", |
96 | 94 | "set RESOLUTION=f19_g17\n", |
97 | | - "set PROJECT=UESM0014\n", |
98 | 95 | "```\n", |
99 | 96 | "\n", |
100 | | - "You should use the project number given for this tutorial.\n", |
101 | | - "\n", |
102 | 97 | "**For bash users** \n", |
103 | 98 | " \n", |
104 | 99 | "```\n", |
|
107 | 102 | "export RUNDIR=/glade/derecho/scratch/$USER/$CASENAME/run\n", |
108 | 103 | "export COMPSET=B1850\n", |
109 | 104 | "export RESOLUTION=f19_g17\n", |
110 | | - "export PROJECT=UESM0014\n", |
111 | 105 | "```\n", |
112 | 106 | "\n", |
113 | | - "You should use the project number given for this tutorial.\n", |
| 107 | + "Make sure you have `$PROJECT` set to the project number given for this tutorial.\n", |
114 | 108 | "\n", |
115 | 109 | "**# Make a case directory**\n", |
116 | 110 | "\n", |
|
126 | 120 | "Create a new case with the command ``create_newcase``:\n", |
127 | 121 | "```\n", |
128 | 122 | "cd /glade/u/home/$USER/code/my_cesm_code/cime/scripts/\n", |
129 | | - "./create_newcase --case $CASEDIR --res $RESOLUTION --compset $COMPSET --project $PROJECT\n", |
| 123 | + "./create_newcase --case $CASEDIR --res $RESOLUTION --compset $COMPSET\n", |
130 | 124 | "```\n", |
131 | 125 | "\n", |
132 | 126 | "**# Change the job queue**\n", |
|
158 | 152 | "\n", |
159 | 153 | "\n", |
160 | 154 | "**# Set run length**\n", |
161 | | - "\n", |
| 155 | + "\n", |
162 | 156 | "```\n", |
163 | 157 | "./xmlchange STOP_N=1,STOP_OPTION=nyears\n", |
164 | 158 | "```\n", |
165 | 159 | "\n", |
166 | 160 | "\n", |
167 | 161 | "**# Add the following to user_nl_cpl**\n", |
168 | | - "\n", |
| 162 | + "\n", |
169 | 163 | "```\n", |
170 | 164 | "orb_mode = 'fixed_parameters' \n", |
171 | 165 | " orb_eccen = 0.018682\n", |
|
177 | 171 | "**# Build and submit**\n", |
178 | 172 | "\n", |
179 | 173 | "```\n", |
180 | | - "qcmd -A $PROJECT -- ./case.build\n", |
| 174 | + "qcmd -- ./case.build\n", |
181 | 175 | "./case.submit\n", |
182 | 176 | "```\n", |
183 | 177 | "------------\n", |
|
238 | 232 | }, |
239 | 233 | { |
240 | 234 | "cell_type": "markdown", |
241 | | - "id": "55ecb7d3", |
| 235 | + "id": "b90d4773-7ca0-4131-ab07-517608a3e976", |
| 236 | + "metadata": {}, |
| 237 | + "source": [ |
| 238 | + "\n", |
| 239 | + "<div class=\"alert alert-info\">\n", |
| 240 | + "<strong>Exercise 2.2: Visualize differences between preindustrial and mid-Holocene monthly output</strong><br><br>\n", |
| 241 | + " \n", |
| 242 | + "There are two ways of defining months or seasons: \n", |
| 243 | + "\n", |
| 244 | + "(1) a “fixed-length” method in which months are defined by a fixed number of days (e.g., January in CESM history files is the first 31 days of a 365-day year) \n", |
| 245 | + "\n", |
| 246 | + "(2) a “fixed-angular” method in which months are defined by a fixed number of degrees of the Earth’s orbit (e.g., January is 31.0 days × (360° / 365-day year = 30.6° of orbit)) \n", |
| 247 | + "\n", |
| 248 | + "Due to changes in Earth’s orbital eccentricity and precession, the portion of Earth’s orbit covered by each fixed-length month varies over time. According to Kepler’s second law (1609), Earth moves faster along its elliptical orbit near perihelion and more slowly near aphelion. Because the calendar days of perihelion and aphelion shift over time, the number of days it takes Earth to traverse a fixed orbital arc (e.g., 30.6°) also changes. This leads to misalignment between fixed-length months relative to solstices/equinoxes when comparing simulations with different orbital configurations. The impact of this misalignment is known as the paleo calendar effect. \n", |
| 249 | + "\n", |
| 250 | + "In this exercise, the issue is that CESM history output defines months using the fixed-length method. When comparing simulations of the mid-Holocene with the preindustrial control, a given month (e.g., January) corresponds to different positions in Earth’s orbit. Thus, apparent climate differences reflect both: \n", |
| 251 | + "- changes in insolation from orbital forcing (paleoclimate forcing), and \n", |
| 252 | + "- mismatches in calendar definition (paleo calendar effect) \n", |
| 253 | + "\n", |
| 254 | + "**Note:** If you have daily-average output from CESM, the calendar effect must still be considered when summarizing those data by months. In this case, you would average daily data using the appropriate (paleo) month starting and ending days, thereby explicitly incorporating the changing month lengths. \n", |
| 255 | + "\n", |
| 256 | + "Fortunately, post-processing tools exist to adjust CESM output and account for the paleo calendar effect. Your tasks are: \n", |
| 257 | + "- Convert monthly surface temperature and solar insolation fields from the mid-Holocene CAM history files to a calendar-adjusted monthly format by aggregating pseudo-daily data on fixed-angular calendar appropriate for 6 ka. \n", |
| 258 | + "- Use NCO and Ncview to compare and visualize differences between the mid-Holocene and preindustrial simulations after calendar adjustment. \n", |
| 259 | + "\n", |
| 260 | + "\n", |
| 261 | + "</div>\n" |
| 262 | + ] |
| 263 | + }, |
| 264 | + { |
| 265 | + "cell_type": "markdown", |
| 266 | + "id": "65b2cbda-2d54-48ee-898b-4c391f16ca79", |
| 267 | + "metadata": {}, |
| 268 | + "source": [ |
| 269 | + "\n", |
| 270 | + "<div class=\"alert alert-warning\"> \n", |
| 271 | + "<details>\n", |
| 272 | + "\n", |
| 273 | + "<summary> <font face=\"Times New Roman\" color='blue'>Click here for hints</font> </summary>\n", |
| 274 | + "<br>\n", |
| 275 | + "\n", |
| 276 | + "**What tools exist to adjust the calendar of monthly average CESM history files?**\n", |
| 277 | + "\n", |
| 278 | + "- One convenient Fortran-based tool for calendar-adjustment of climate model output is the [PaleoCalAdjust tool](https://github.com/pjbartlein/PaleoCalAdjust) from [Bartlein & Shafer et al. (2019)](https://doi.org/10.5194/gmd-12-3889-2019). \n", |
| 279 | + "- The key program `cal_adjust` can provide the paleo calendar-effect adjustment for CESM output. Note that CESM monthly-average history files (i.e., netCDF containing all variables with one month of output) must be converted to timeseries format (i.e., netCDF with one variable and all months) to be compatible with cal_adjust. \n", |
| 280 | + "- Here is a path to a cal_adjust makefile that is locally configured for Derecho: `/glade/work/macarew/cesm_tutorial_paleo/makefile` \n", |
| 281 | + "\n", |
| 282 | + "**How do I convert monthly-average history files into timeseries format?**\n", |
| 283 | + "\n", |
| 284 | + "- To convert all variables in monthly-average CESM history files to timeseries format, the [CESM_postprocessing](https://github.com/NCAR/CESM_postprocessing) tool is recommended. However, in this exercise we only need to convert 12 months of `TS` and `SOLIN` into timeseries files, so NCO is suitable. \n", |
| 285 | + "\n", |
| 286 | + "**How do I format the information file needed to run the `cal_adjust` program?**\n", |
| 287 | + "\n", |
| 288 | + "- The information file is a CSV file that you will create with details about the location of input/output files, variables of interest, output frequency and length of simulation, calendar type used in CESM, paleo time period of interest, and the mean-preserving interpolation method used to convert monthly average values into a daily time step. \n", |
| 289 | + "- An example information file is available here in PaleoCalAdjust: `PaleoCalAdjust/data/info_files/cal_adj_info_test01.csv` \n", |
| 290 | + "\n", |
| 291 | + "</details>\n", |
| 292 | + "</div>\n" |
| 293 | + ] |
| 294 | + }, |
| 295 | + { |
| 296 | + "cell_type": "markdown", |
| 297 | + "id": "7dd602b7-372d-4f36-b6d1-df8e22ba1646", |
| 298 | + "metadata": {}, |
| 299 | + "source": [ |
| 300 | + "\n", |
| 301 | + "<div class=\"alert alert-success\"> \n", |
| 302 | + "<details>\n", |
| 303 | + "<summary><font face=\"Times New Roman\" color='blue'>Click here for the solution</font></summary><br>\n", |
| 304 | + " \n", |
| 305 | + " \n", |
| 306 | + "**# Download PaleoCalAdjust Github repository to your work directory** \n", |
| 307 | + "\n", |
| 308 | + "```\n", |
| 309 | + "cd /glade/work/$USER \n", |
| 310 | + "git clone https://github.com/pjbartlein/PaleoCalAdjust.git PaleoCalAdjust \n", |
| 311 | + "```\n", |
| 312 | + "\n", |
| 313 | + "**# Make a directory for tutorial files in PaleoCalAdjust**\n", |
| 314 | + "\n", |
| 315 | + "```\n", |
| 316 | + "mkdir /glade/work/$USER/PaleoCalAdjust/tutorial \n", |
| 317 | + "```\n", |
| 318 | + " \n", |
| 319 | + "\n", |
| 320 | + "**# Use NCO to convert CAM history files into `TS` and `SOLIN` timeseries files**\n", |
| 321 | + "\n", |
| 322 | + "```\n", |
| 323 | + "cd /glade/work/$USER/PaleoCalAdjust/tutorial \n", |
| 324 | + "module load nco \n", |
| 325 | + "ncrcat -v TS /glade/derecho/scratch/$USER/archive/b.e21.B1850.f19_g17.midHolocene.001/atm/hist/b.e21.B1850.f19_g17.midHolocene.001.cam.h0.*.nc b.e21.B1850.f19_g17.midHolocene.001.cam.h0.TS.0001.nc \n", |
| 326 | + "ncrcat -v SOLIN /glade/derecho/scratch/$USER/archive/b.e21.B1850.f19_g17.midHolocene.001/atm/hist/b.e21.B1850.f19_g17.midHolocene.001.cam.h0.*.nc b.e21.B1850.f19_g17.midHolocene.001.cam.h0.SOLIN.0001.nc \n", |
| 327 | + "```\n", |
| 328 | + "Let’s also do this for the preindustrial control so that output files are in the same format: \n", |
| 329 | + "```\n", |
| 330 | + "ncrcat -v TS /glade/derecho/scratch/$USER/archive/b.e21.B1850.f19_g17.piControl.001/atm/hist/b.e21.B1850.f19_g17.piControl.001.cam.h0.*.nc b.e21.B1850.f19_g17.piControl.001.cam.h0.TS.0001.nc \n", |
| 331 | + "ncrcat -v SOLIN /glade/derecho/scratch/$USER/archive/b.e21.B1850.f19_g17.piControl.001/atm/hist/b.e21.B1850.f19_g17.piControl.001.cam.h0.*.nc b.e21.B1850.f19_g17.piControl.001.cam.h0.SOLIN.0001.nc \n", |
| 332 | + "```\n", |
| 333 | + "\n", |
| 334 | + "**# Copy makefile into tutorial directory and compile executable**\n", |
| 335 | + "\n", |
| 336 | + "``` \n", |
| 337 | + "cp /glade/work/macarew/cesm_tutorial_paleo/makefile . \n", |
| 338 | + "make \n", |
| 339 | + "```\n", |
| 340 | + "\n", |
| 341 | + "**# Copy and modify CSV information file with correct formatting for mid-Holocene simulation**\n", |
| 342 | + "\n", |
| 343 | + "``` \n", |
| 344 | + "cp ../data/info_files/cal_adj_info_test01.csv cal_adj_info.csv \n", |
| 345 | + "``` \n", |
| 346 | + "\n", |
| 347 | + "This is what your final CSV file should look like: `/glade/work/macarew/cesm_tutorial_paleo/cal_adj_info.csv` \n", |
| 348 | + "\n", |
| 349 | + "**# Run executable to calendar adjust monthly CAM output**\n", |
| 350 | + "\n", |
| 351 | + "```\n", |
| 352 | + "./cal_adjust cal_adj_info.csv \n", |
| 353 | + "```\n", |
| 354 | + "The calendar-adjusted files should be in your current directory! \n", |
| 355 | + "\n", |
| 356 | + "</details>\n", |
| 357 | + "</div>\n", |
| 358 | + "\n" |
| 359 | + ] |
| 360 | + }, |
| 361 | + { |
| 362 | + "cell_type": "markdown", |
| 363 | + "id": "65b2cbda-2d54-48ee-898b-4c391f16ca79", |
242 | 364 | "metadata": {}, |
243 | 365 | "source": [ |
244 | 366 | "\n", |
|
248 | 370 | "<summary> <font face=\"Times New Roman\" color='blue'>Click here to visualize results</font> </summary>\n", |
249 | 371 | "<br>\n", |
250 | 372 | "\n", |
251 | | - "**# Use Ncview to visualize solar insolation**\n", |
| 373 | + "**# Use Ncview to visualize solar insolation and temperature**\n", |
252 | 374 | "\n", |
253 | | - "Earth's orbital configuration influences incoming solar insolation.\n", |
254 | | - "Take a look at the ``SOLIN`` CAM variable for August in the pre-industrial and mid-Holocene runs.\n", |
| 375 | + "Earth’s orbital configuration and the paleo calendar effect will influence monthly-average incoming solar insolation. \n", |
| 376 | + "Take a look at the `SOLIN` and `TS` CAM variables for each month in the pre-industrial and calendar-adjusted mid-Holocene output. \n", |
255 | 377 | "``` \n", |
256 | 378 | "module load ncview\n", |
257 | | - "cd /glade/derecho/scratch/$USER/archive\n", |
258 | | - "ncview b.e21.B1850.f19_g17.piControl.001/atm/hist/b.e21.B1850.f19_g17.piControl.001.cam.h0.0001-08.nc b.e21.B1850.f19_g17.midHolocene.001/atm/hist/b.e21.B1850.f19_g17.midHolocene.001.cam.h0.0001-08.nc\n", |
| 379 | + "ncview b.e21.B1850.f19_g17.piControl.001.cam.h0.0001.nc & \n", |
| 380 | + "ncview b.e21.B1850.f19_g17.midHolocene.001/atm/hist/b.e21.B1850.f19_g17.midHolocene.001.cam.h0.0001_cal_adj.nc & \n", |
259 | 381 | "```\n", |
260 | 382 | "\n", |
261 | | - "Using the right arrow button in the Ncview window, you can toggle between pre-industrial and mid-Holocene August ``SOLIN`` and other variables. \n", |
262 | | - "\n", |
| 383 | + "Adding the & symbol allows you to open two Ncview windows and compare the files side by side. \n", |
| 384 | + "Using the right arrow button in the Ncview windows, you can toggle between all months of the pre-industrial and mid-Holocene ``SOLIN`` values. \n", |
263 | 385 | "\n", |
264 | | - "A few side notes on comparing pre-industrial and mid-Holocene runs: \n", |
265 | | - "- Changes in Earth's orbit alter the length of months or seasons over time, this is referred to as the 'paleo calendar effect' \n", |
266 | | - "- This means that the modern fixed-length definition of months do not apply when the Earth traversed different portions of its orbit \n", |
267 | | - "- Tools exist to adjust monthly CESM output to account for the 'paleo calendar effect' \n", |
268 | | - "- See [PaleoCalAdjust tool](https://github.com/CESM-Development/paleoToolkit/tree/master/PaleoCalAdjust) from [Bartlein & Shafer et al. (2019)](https://doi.org/10.5194/gmd-12-3889-2019) for more information \n", |
269 | | - "- For simplicity, we assume in this exercise that the definition of months is the same for the pre-industrial and mid-Holocene \n", |
270 | 386 | "\n", |
271 | | - "Now, let's take a look at the differences between the two cases more clearly using NCO. \n", |
| 387 | + "Now, let’s take a look at the differences between the pre-industrial and mid-Holocene cases more clearly using NCO. \n", |
| 388 | + "The first comparison is the difference in SOLIN and TS induced by correcting for the paleo calendar effect. \n", |
272 | 389 | "\n", |
273 | 390 | "``` \n", |
274 | | - "module load nco\n", |
275 | | - "cd /glade/derecho/scratch/$USER/archive\n", |
276 | | - "ncdiff b.e21.B1850.f19_g17.piControl.001/atm/hist/b.e21.B1850.f19_g17.midHolocene.001.cam.h0.0001-08.nc b.e21.B1850.f19_g17.piControl.001/atm/hist/b.e21.B1850.f19_g17.piControl.001.cam.h0.0001-08.nc diff_MH-PI_0001-08.nc \n", |
277 | | - "ncview diff_MH-PI_0001-08.nc \n", |
| 391 | + "ncdiff b.e21.B1850.f19_g17.midHolocene.001.cam.h0.SOLIN.0001_cal_adj.nc b.e21.B1850.f19_g17.midHolocene.001.cam.h0.SOLIN.0001.nc MH_adj-orig_SOLIN.nc \n", |
| 392 | + "ncdiff b.e21.B1850.f19_g17.midHolocene.001.cam.h0.TS.0001_cal_adj.nc b.e21.B1850.f19_g17.midHolocene.001.cam.h0.TS.0001.nc MH_adj-orig_TS.nc \n", |
| 393 | + "ncview MH_adj-orig_SOLIN.nc & \n", |
| 394 | + "ncview MH_adj-orig_TS.nc & \n", |
278 | 395 | "```\n", |
279 | 396 | "\n", |
280 | | - "Note: Running ncdiff this way will place ``diff_MH-PI_0001-08.nc`` in your archive directory. You may use ``mv`` to move ``diff_MH-PI_0001-08.nc`` to another directory. \n", |
| 397 | + "**# Questions for reflection:**\n", |
| 398 | + "- Where are the largest differences in solar insolation? \n", |
| 399 | + "- Do the regional differences in solar insolation due to the paleo calendar effect translate to similar changes in surface temperature? Why or why not? \n", |
| 400 | + "\n", |
| 401 | + "\n", |
| 402 | + "Now that we have a better understanding of the influence of the paleo calendar effect and have adjusted for it, let’s take a look at the impact of orbital variations on insolation between the preindustrial and mid-Holocene. \n", |
| 403 | + "\n", |
| 404 | + "``` \n", |
| 405 | + "ncdiff b.e21.B1850.f19_g17.midHolocene.001.cam.h0.SOLIN.0001_cal_adj.nc b.e21.B1850.f19_g17.piControl.001.cam.h0.SOLIN.0001.nc MH-PI_SOLIN.nc \n", |
| 406 | + "ncdiff b.e21.B1850.f19_g17.midHolocene.001.cam.h0.TS.0001_cal_adj.nc b.e21.B1850.f19_g17.piControl.001.cam.h0.TS.0001.nc MH-PI_TS.nc \n", |
| 407 | + "ncview MH-PI_SOLIN.nc & \n", |
| 408 | + "ncview MH-PI_TS.nc & \n", |
| 409 | + "```\n", |
281 | 410 | "\n", |
282 | 411 | "**# Questions for reflection:**\n", |
283 | 412 | "- Which orbital parameters are different at the middle Holocene (6 ka BP)? \n", |
284 | 413 | "- How does the orbital parameter impact the top-of-atmosphere shortwave radiation (solar insolation) during summertime in the Northern Hemisphere? \n", |
285 | 414 | "- Do the results look correct? You can compare your results with Figure 3b of [Otto-Bliesner et al., (2017)](https://doi.org/10.5194/gmd-10-3979-2017) \n", |
286 | | - "- What other aspects of climate are different between the mid-Holocene and pre-industrial runs?\n", |
| 415 | + "- What other aspects of climate are different between the mid-Holocene and pre-industrial runs?", |
| 416 | + "\n", |
287 | 417 | "</details>\n", |
288 | 418 | "</div>\n" |
289 | 419 | ] |
|
0 commit comments