{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Group project: the Climate System" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Instructions\n", "\n", "**Objectives**\n", "\n", "In this final project, you will apply the methods you learned over the past weeks to answer the questions below.\n", "\n", "**Deadline**\n", "\n", "Please submit your project via OLAT before **Thursday January 09 at 00H** (in the night from Wednesday to Thursday).\n", "\n", "**Formal requirements**\n", "\n", "You will work in groups of two. If we are an odd number of students, one group can have three participants. *(Tip: We recommend that students who have not followed a programming class to team up with students who have)*.\n", "\n", "Each group will submit one (executed) jupyter notebook containing the code, plots, and answers to the questions (text in the markdown format). Please also submit an HTML version of the notebook. **Please ensure that your HTML file is smaller than 10 MB. This helps us provide you with more detailed and readable feedback.**\n", "\n", "Each group member must contribute to the notebook. The notebook should be self-contained and the answers must be well structured. The plots must be as understandable as possible (title, units, x and y axis labels, appropriate colors and levels…). \n", "\n", "Please be concise in your answer. We expect a few sentences per answer at most - there is no need to write a new text book in this project! Use links and references to the literature or your class slides where appropriate.\n", "\n", "**Grading**\n", "\n", "We will give one grade per project, according to the following table (total 10 points):\n", "- correctness of the code and the plots: content, legends, colors, units, etc. (3 points)\n", "- quality of the answers: correctness, preciseness, appropriate use of links and references to literature or external resources (5 points)\n", "- originality and quality of the open research question (2 points)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [] }, "outputs": [], "source": [ "# Import the tools we are going to need today:\n", "import matplotlib.pyplot as plt # plotting library\n", "import numpy as np # numerical library\n", "import xarray as xr # netCDF library\n", "import pandas as pd # tabular library\n", "import cartopy # Map projections libary\n", "import cartopy.crs as ccrs # Projections list\n", "# Some defaults:\n", "plt.rcParams['figure.figsize'] = (12, 5) # Default plot size" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Part 1 - temperature climatology" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Open the ERA5 temperature data:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "
<xarray.Dataset> Size: 444MB\n",
"Dimensions: (longitude: 480, latitude: 241, time: 480)\n",
"Coordinates:\n",
" * longitude (longitude) float32 2kB -179.6 -178.9 -178.1 ... 178.9 179.6\n",
" * latitude (latitude) float32 964B 90.0 89.25 88.5 ... -88.5 -89.25 -90.0\n",
" * time (time) datetime64[ns] 4kB 1979-01-01 1979-02-01 ... 2018-12-01\n",
"Data variables:\n",
" t2m (time, latitude, longitude) float64 444MB ...\n",
"Attributes:\n",
" Conventions: CF-1.6\n",
" history: 2019-11-18 09:36:58 GMT by grib_to_netcdf-2.14.0: /opt/ecmw...<xarray.Dataset> Size: 444MB\n",
"Dimensions: (longitude: 480, latitude: 241, time: 480)\n",
"Coordinates:\n",
" * longitude (longitude) float32 2kB -179.6 -178.9 -178.1 ... 178.9 179.6\n",
" * latitude (latitude) float32 964B 90.0 89.25 88.5 ... -88.5 -89.25 -90.0\n",
" * time (time) datetime64[ns] 4kB 1979-01-01 1979-02-01 ... 2018-12-01\n",
"Data variables:\n",
" tp (time, latitude, longitude) float64 444MB ...\n",
"Attributes:\n",
" Conventions: CF-1.6\n",
" history: 2019-11-18 09:30:18 GMT by grib_to_netcdf-2.14.0: /opt/ecmw...<xarray.Dataset> Size: 1GB\n",
"Dimensions: (longitude: 480, latitude: 241, time: 480)\n",
"Coordinates:\n",
" * longitude (longitude) float32 2kB -179.6 -178.9 -178.1 ... 178.9 179.6\n",
" * latitude (latitude) float32 964B 90.0 89.25 88.5 ... -88.5 -89.25 -90.0\n",
" * time (time) datetime64[ns] 4kB 1979-01-01 1979-02-01 ... 2018-12-01\n",
"Data variables:\n",
" u10 (time, latitude, longitude) float64 444MB ...\n",
" v10 (time, latitude, longitude) float64 444MB ...\n",
" msl (time, latitude, longitude) float64 444MB ...\n",
"Attributes:\n",
" Conventions: CF-1.6\n",
" history: 2019-11-24 19:42:05 GMT by grib_to_netcdf-2.14.0: /opt/ecmw...| \n", " | year | \n", "month | \n", "decimal | \n", "average | \n", "average_unc | \n", "trend | \n", "trend_unc | \n", "
|---|---|---|---|---|---|---|---|
| date | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
| 1979-01-01 | \n", "1979 | \n", "1 | \n", "1979.042 | \n", "336.56 | \n", "0.11 | \n", "335.92 | \n", "0.10 | \n", "
| 1979-02-01 | \n", "1979 | \n", "2 | \n", "1979.125 | \n", "337.29 | \n", "0.09 | \n", "336.26 | \n", "0.10 | \n", "
| 1979-03-01 | \n", "1979 | \n", "3 | \n", "1979.208 | \n", "337.88 | \n", "0.11 | \n", "336.51 | \n", "0.10 | \n", "
| 1979-04-01 | \n", "1979 | \n", "4 | \n", "1979.292 | \n", "338.32 | \n", "0.13 | \n", "336.72 | \n", "0.11 | \n", "
| 1979-05-01 | \n", "1979 | \n", "5 | \n", "1979.375 | \n", "338.26 | \n", "0.04 | \n", "336.71 | \n", "0.11 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2024-06-01 | \n", "2024 | \n", "6 | \n", "2024.458 | \n", "423.21 | \n", "0.10 | \n", "422.64 | \n", "0.06 | \n", "
| 2024-07-01 | \n", "2024 | \n", "7 | \n", "2024.542 | \n", "421.52 | \n", "0.10 | \n", "422.83 | \n", "0.06 | \n", "
| 2024-08-01 | \n", "2024 | \n", "8 | \n", "2024.625 | \n", "420.03 | \n", "0.10 | \n", "422.90 | \n", "0.06 | \n", "
| 2024-09-01 | \n", "2024 | \n", "9 | \n", "2024.708 | \n", "420.25 | \n", "0.10 | \n", "423.09 | \n", "0.06 | \n", "
| 2024-10-01 | \n", "2024 | \n", "10 | \n", "2024.792 | \n", "421.73 | \n", "0.10 | \n", "423.25 | \n", "0.06 | \n", "
550 rows × 7 columns
\n", "