-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add more project content from climate
- Loading branch information
Showing
3 changed files
with
200 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Past projects | ||
|
||
We are proud to showcase the project presentations our students prepared in previous iterations of *Computational Tools for Climate Science*. | ||
|
||
You can browse their presentation slides by project topic: | ||
- [Sea level rise](projects/past-projects/Sea_level_rise.ipynb) | ||
- [Regional precipitation variability and extreme events](projects/past-projects/precipitation.ipynb) | ||
- [Changes in land cover: Albedo and carbon sequestration](projects/past-projects/albedo.ipynb) | ||
- [Monitoring and mapping wildfires using satellite data](projects/past-projects/wildfires.ipynb) | ||
- [Ocean acidification](projects/past-projects/ocean_acidification.ipynb) | ||
- [The impact of ENSO on precipitation and temperature](projects/past-projects/ENSO.ipynb) | ||
- [Heatwaves: Assessing the dynamic interactions of the atmosphere and land](projects/past-projects/heatwaves.ipynb) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,184 @@ | ||
{ | ||
"cells": [ | ||
{ | ||
"cell_type": "markdown", | ||
"id": "d50e1022", | ||
"metadata": { | ||
"execution": {} | ||
}, | ||
"source": [ | ||
"[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/ClimateMatchAcademy/course-content/blob/main/tutorials/W1D4_Paleoclimate/W1D4_Intro.ipynb) <a href=\"https://kaggle.com/kernels/welcome?src=https://raw.githubusercontent.com/ClimateMatchAcademy/course-content/main/tutorials/W1D4_Paleoclimate/W1D4_Intro.ipynb\" target=\"_parent\"><img src=\"https://kaggle.com/static/images/open-in-kaggle.svg\" alt=\"Open in Kaggle\"/></a>" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "69a6a1ac", | ||
"metadata": { | ||
"execution": {} | ||
}, | ||
"source": [ | ||
"# Intro" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "5b72f92b", | ||
"metadata": { | ||
"execution": {} | ||
}, | ||
"source": [ | ||
"## Overview" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "eff5914c", | ||
"metadata": { | ||
"execution": {} | ||
}, | ||
"source": [ | ||
"Over the past two days, we’ve been analyzing climate reanalysis and remote sensing data to better understand variations in modern climate dynamics in land, ocean and atmosphere systems on timescales from days to months to years. Today, we’re going to explore even longer timescales of climate variability, on the order of tens to hundreds of thousands of years or more, prior to the widespread availability of instrumental records. The term for this study of past climate is “paleoclimate”. It’s important to study paleoclimate because past climate states can serve as analogs for future warming on Earth. Understanding the response of Earth’s climate systems in the past, can help to assess future changes in the climate system, evaluate the environmental response to these climate changes and validate/improve climate models and their projections of future climate.\n", | ||
"\n", | ||
"During the first few tutorials today, you will explore different types of oceanic, terrestrial and atmospheric paleoclimate archives and proxies. Paleoclimate archives are geologic and biologic materials that preserve evidence of past changes in climate (e.g. speleothems, tree rings, ice cores, marine and lake sediment cores) and paleoclimate proxies are substances or features within archives (e.g. isotopes, foraminifera, leaf waxes, organic molecules) that record a climate variable and can be sampled and analyzed using a variety of physical and chemical methods. \n", | ||
"\n", | ||
"Throughout the tutorials today, you will explore paleoclimate reconstructions created using various proxies and will use these records to interpret past variations in Earth’s climate. You will also explore computational tools that are frequently used to interpret paleoclimate data and assess climate forcings. Finally, you will investigate paleoclimate data from climate models that simulate past variations in Earth’s climate.\n" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "6695fea7", | ||
"metadata": { | ||
"execution": {} | ||
}, | ||
"source": [ | ||
"## Video 1: Past Climates Inform Our Future" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": null, | ||
"id": "8cc5bcaf", | ||
"metadata": { | ||
"cellView": "form", | ||
"execution": {} | ||
}, | ||
"outputs": [], | ||
"source": [ | ||
"# @markdown\n", | ||
"\n", | ||
"from ipywidgets import widgets\n", | ||
"from IPython.display import YouTubeVideo\n", | ||
"from IPython.display import IFrame\n", | ||
"from IPython.display import display\n", | ||
"\n", | ||
"\n", | ||
"class PlayVideo(IFrame):\n", | ||
" def __init__(self, id, source, page=1, width=400, height=300, **kwargs):\n", | ||
" self.id = id\n", | ||
" if source == 'Bilibili':\n", | ||
" src = f'https://player.bilibili.com/player.html?bvid={id}&page={page}'\n", | ||
" elif source == 'Osf':\n", | ||
" src = f'https://mfr.ca-1.osf.io/render?url=https://osf.io/download/{id}/?direct%26mode=render'\n", | ||
" super(PlayVideo, self).__init__(src, width, height, **kwargs)\n", | ||
"\n", | ||
"\n", | ||
"def display_videos(video_ids, W=400, H=300, fs=1):\n", | ||
" tab_contents = []\n", | ||
" for i, video_id in enumerate(video_ids):\n", | ||
" out = widgets.Output()\n", | ||
" with out:\n", | ||
" if video_ids[i][0] == 'Youtube':\n", | ||
" video = YouTubeVideo(id=video_ids[i][1], width=W,\n", | ||
" height=H, fs=fs, rel=0)\n", | ||
" print(f'Video available at https://youtube.com/watch?v={video.id}')\n", | ||
" else:\n", | ||
" video = PlayVideo(id=video_ids[i][1], source=video_ids[i][0], width=W,\n", | ||
" height=H, fs=fs, autoplay=False)\n", | ||
" if video_ids[i][0] == 'Bilibili':\n", | ||
" print(f'Video available at https://www.bilibili.com/video/{video.id}')\n", | ||
" elif video_ids[i][0] == 'Osf':\n", | ||
" print(f'Video available at https://osf.io/{video.id}')\n", | ||
" display(video)\n", | ||
" tab_contents.append(out)\n", | ||
" return tab_contents\n", | ||
"\n", | ||
"\n", | ||
"video_ids = [('Youtube', 'sng-2W6sKqY'), ('Bilibili', 'BV12j411Z7jm')]\n", | ||
"tab_contents = display_videos(video_ids, W=730, H=410)\n", | ||
"tabs = widgets.Tab()\n", | ||
"tabs.children = tab_contents\n", | ||
"for i in range(len(tab_contents)):\n", | ||
" tabs.set_title(i, video_ids[i][0])\n", | ||
"display(tabs)" | ||
] | ||
}, | ||
{ | ||
"cell_type": "markdown", | ||
"id": "a17e786a", | ||
"metadata": { | ||
"execution": {} | ||
}, | ||
"source": [ | ||
"## Slides" | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": null, | ||
"id": "9e57e0a2", | ||
"metadata": { | ||
"cellView": "form", | ||
"execution": {} | ||
}, | ||
"outputs": [], | ||
"source": [ | ||
"# @markdown\n", | ||
"from ipywidgets import widgets\n", | ||
"from IPython.display import IFrame\n", | ||
"\n", | ||
"link_id = \"2pvrs\"\n", | ||
"\n", | ||
"download_link = f\"https://osf.io/download/{link_id}/\"\n", | ||
"render_link = f\"https://mfr.ca-1.osf.io/render?url=https://osf.io/{link_id}/?direct%26mode=render%26action=download%26mode=render\"\n", | ||
"# @markdown\n", | ||
"out = widgets.Output()\n", | ||
"with out:\n", | ||
" print(f\"If you want to download the slides: {download_link}\")\n", | ||
" display(IFrame(src=f\"{render_link}\", width=730, height=410))\n", | ||
"display(out)" | ||
] | ||
} | ||
], | ||
"metadata": { | ||
"colab": { | ||
"collapsed_sections": [], | ||
"include_colab_link": true, | ||
"name": "W1D4_Intro", | ||
"toc_visible": true | ||
}, | ||
"kernel": { | ||
"display_name": "Python 3", | ||
"language": "python", | ||
"name": "python3" | ||
}, | ||
"kernelspec": { | ||
"display_name": "Python 3 (ipykernel)", | ||
"language": "python", | ||
"name": "python3" | ||
}, | ||
"language_info": { | ||
"codemirror_mode": { | ||
"name": "ipython", | ||
"version": 3 | ||
}, | ||
"file_extension": ".py", | ||
"mimetype": "text/x-python", | ||
"name": "python", | ||
"nbconvert_exporter": "python", | ||
"pygments_lexer": "ipython3", | ||
"version": "3.10.8" | ||
} | ||
}, | ||
"nbformat": 4, | ||
"nbformat_minor": 5 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters