{ "cells": [ { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "# Travail pratique avec évaluation par les pairs\n", "## Sujet 1 : Concentration de CO2 dans l'atmosphère depuis 1958\n", "### Auteur: William Dethier (william.dethier@univ-grenoble-alpes.fr)\n", "\n", "## Consignes:\n", "En 1958, Charles David Keeling a initié une mesure de la concentration de $CO_2$ dans l'atmosphère à l'observatoire de Mauna Loa, Hawaii, États-Unis qui continue jusqu'à aujourd'hui. L'objectif initial était d'étudier la variation saisonnière, mais l'intérêt s'est déplacé plus tard vers l'étude de la tendance croissante dans le contexte du changement climatique. En honneur à Keeling, ce jeu de données est souvent appelé \"Keeling Curve\" (voir https://en.wikipedia.org/wiki/Keeling_Curve pour l'histoire et l'importance de ces données).\n", "\n", "Les données sont disponibles sur le [site Web de l'institut Scripps](https://scrippsco2.ucsd.edu/data/atmospheric_co2/primary_mlo_co2_record.html). Utilisez le fichier avec les observations hebdomadaires. Attention, ce fichier est mis à jour régulièrement avec de nouvelles observations. Notez donc bien la date du téléchargement, et gardez une copie locale de la version précise que vous analysez. Faites aussi attention aux données manquantes.\n", "\n", "Votre mission si vous l'acceptez :\n", "1. Réalisez un graphique qui vous montrera une oscillation périodique superposée à une évolution systématique plus lente.\n", "2. Séparez ces deux phénomènes. Caractérisez l'oscillation périodique. Proposez un modèle simple de la contribution lente, estimez ses paramètres et tentez une extrapolation jusqu'à 2025 (dans le but de pouvoir valider le modèle par des observations futures).\n", "3. Déposer dans FUN votre résultat\n", "\n", "## Téléchargement des données:\n", "\n", "Nous nous rendons sur le site de l'**institut Scripps** avec l'url donné: https://scrippsco2.ucsd.edu/data/atmospheric_co2/primary_mlo_co2_record.html.\n", "\n", "Sur ce site nous choisissons les données correspondant à celle récoltées depuis 1958 jusqu'aujourd'hui qui sont des données hebdomadaires. Le fichier obtenu à le nom suivant: *weekly_in_situ_co2_mlo.csv*. Les données ont été téléchargées le 10 avril 2020 à 08:38. \n", "\n", "La description des données dans le fichier, indique que le fichier contient deux colonnes indiquant la date et la concentration de $CO_2$ en micro-mol de $CO_2$ par mole (ppm: partie par million (mg/kg); [voir la page *Wikipedia* ](https://www.google.be/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=2ahUKEwjCn-T8qN3oAhXKwKQKHW0XAfMQFjACegQICxAF&url=https%3A%2F%2Ffr.wikipedia.org%2Fwiki%2FPartie_par_million&usg=AOvVaw17FszDa5Y_l-nQSsHYMHmC)pour une explication détaillée ).\n", "\n", "## Pré-traitement des données:\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "import isoweek\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "Après inspection visuelle, les premières lignes du fichier CSV sont un commentaire, que nous ignorons en précisant **skiprows=43**.\n", "\n", "**Attention: nous avons modifié le fichier source en ajoutant simplement le nom des colonnes afin de ne pas avoir une partie du commentaire dans l'affichage et afin que ce soit plus clair. Cela ne change rien aux données. Nous avons écrit une ligne entre la fin du commentaire et le début des données comme suit: \"Date\", \"Concentration\" .\n", "Nous utilisons donc un fichier nommé *weekly_in_situ_co2_mlomodified.csv* comprenant la modification, mais afin d'avoir les données originales, le fichier source *weekly_in_situ_co2_mlo.csv* est tout de même gardé dans le répertoire sur GitLab.**\n", "\n", "Ensuite, nous affichons les données brutes." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "hideCode": false, "hidePrompt": false }, "outputs": [ { "data": { "text/html": [ "
\n", " | Date | \n", "Concentration | \n", "
---|---|---|
0 | \n", "1958-03-29 | \n", "316.19 | \n", "
1 | \n", "1958-04-05 | \n", "317.31 | \n", "
2 | \n", "1958-04-12 | \n", "317.69 | \n", "
3 | \n", "1958-04-19 | \n", "317.58 | \n", "
4 | \n", "1958-04-26 | \n", "316.48 | \n", "
5 | \n", "1958-05-03 | \n", "316.95 | \n", "
6 | \n", "1958-05-17 | \n", "317.56 | \n", "
7 | \n", "1958-05-24 | \n", "317.99 | \n", "
8 | \n", "1958-07-05 | \n", "315.85 | \n", "
9 | \n", "1958-07-12 | \n", "315.85 | \n", "
10 | \n", "1958-07-19 | \n", "315.46 | \n", "
11 | \n", "1958-07-26 | \n", "315.59 | \n", "
12 | \n", "1958-08-02 | \n", "315.64 | \n", "
13 | \n", "1958-08-09 | \n", "315.10 | \n", "
14 | \n", "1958-08-16 | \n", "315.09 | \n", "
15 | \n", "1958-08-30 | \n", "314.14 | \n", "
16 | \n", "1958-09-06 | \n", "313.54 | \n", "
17 | \n", "1958-11-08 | \n", "313.05 | \n", "
18 | \n", "1958-11-15 | \n", "313.26 | \n", "
19 | \n", "1958-11-22 | \n", "313.57 | \n", "
20 | \n", "1958-11-29 | \n", "314.01 | \n", "
21 | \n", "1958-12-06 | \n", "314.56 | \n", "
22 | \n", "1958-12-13 | \n", "314.41 | \n", "
23 | \n", "1958-12-20 | \n", "314.77 | \n", "
24 | \n", "1958-12-27 | \n", "315.21 | \n", "
25 | \n", "1959-01-03 | \n", "315.24 | \n", "
26 | \n", "1959-01-10 | \n", "315.50 | \n", "
27 | \n", "1959-01-17 | \n", "315.69 | \n", "
28 | \n", "1959-01-24 | \n", "315.86 | \n", "
29 | \n", "1959-01-31 | \n", "315.42 | \n", "
... | \n", "... | \n", "... | \n", "
3126 | \n", "2019-07-06 | \n", "412.69 | \n", "
3127 | \n", "2019-07-13 | \n", "412.30 | \n", "
3128 | \n", "2019-07-20 | \n", "411.76 | \n", "
3129 | \n", "2019-07-27 | \n", "410.32 | \n", "
3130 | \n", "2019-08-03 | \n", "410.50 | \n", "
3131 | \n", "2019-08-10 | \n", "410.48 | \n", "
3132 | \n", "2019-08-17 | \n", "410.05 | \n", "
3133 | \n", "2019-08-24 | \n", "409.52 | \n", "
3134 | \n", "2019-08-31 | \n", "409.32 | \n", "
3135 | \n", "2019-09-07 | \n", "408.80 | \n", "
3136 | \n", "2019-09-14 | \n", "408.61 | \n", "
3137 | \n", "2019-09-21 | \n", "408.50 | \n", "
3138 | \n", "2019-09-28 | \n", "408.28 | \n", "
3139 | \n", "2019-10-05 | \n", "407.99 | \n", "
3140 | \n", "2019-10-12 | \n", "408.61 | \n", "
3141 | \n", "2019-10-19 | \n", "408.77 | \n", "
3142 | \n", "2019-10-26 | \n", "408.68 | \n", "
3143 | \n", "2019-11-02 | \n", "409.86 | \n", "
3144 | \n", "2019-11-09 | \n", "410.15 | \n", "
3145 | \n", "2019-11-16 | \n", "410.22 | \n", "
3146 | \n", "2019-11-23 | \n", "410.48 | \n", "
3147 | \n", "2019-11-30 | \n", "410.92 | \n", "
3148 | \n", "2019-12-07 | \n", "411.27 | \n", "
3149 | \n", "2019-12-14 | \n", "411.67 | \n", "
3150 | \n", "2019-12-21 | \n", "412.30 | \n", "
3151 | \n", "2019-12-28 | \n", "412.59 | \n", "
3152 | \n", "2020-01-04 | \n", "413.19 | \n", "
3153 | \n", "2020-01-11 | \n", "413.39 | \n", "
3154 | \n", "2020-01-25 | \n", "413.36 | \n", "
3155 | \n", "2020-02-01 | \n", "413.99 | \n", "
3156 rows × 2 columns
\n", "\n", " | Date | \n", "Concentration | \n", "
---|