{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# CO2 concentration in the atmosphere since 1958\n", "## Author: Kumari Pooja" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Questions need to be addressed\n", "1. Make a plot that shows the superposition of a periodic oscillation and a slower systematic evolution.\n", "2. Separate these two phenomena. Characterize the periodic oscillation. Find a simple model for the slow contribution, estimate its parameters, and attempt an extrapolation until 2025 (for validating the model using future observations)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Importing the necessary libraries" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Reading the weekly data and removing initial comments present in the data in order to use the actual numerical data" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "url = \"https://scrippsco2.ucsd.edu/assets/data/atmospheric/stations/in_situ_co2/weekly/weekly_in_situ_co2_mlo.csv\"\n", "CO2_data = pd.read_csv(url, sep='[-,]', engine='python', skiprows=44)\n", "#CO2_data = pd.read_csv(url, sep='[,]', engine='python', skiprows=44)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Seperating the year, months and dates from date that will help later to analyse the data" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "CO2_data.columns = [\"Year\", \"Month\", \"Date\", \"Co2 per mole (ppm)\"]\n", "#CO2_data.columns = [\"Date\", \"Co2 per mole (ppm)\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Checking the data" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
\n", " | Year | \n", "Month | \n", "Date | \n", "Co2 per mole (ppm) | \n", "
---|---|---|---|---|
1 | \n", "1958 | \n", "4 | \n", "12 | \n", "317.69 | \n", "
2 | \n", "1958 | \n", "4 | \n", "19 | \n", "317.58 | \n", "
3 | \n", "1958 | \n", "4 | \n", "26 | \n", "316.48 | \n", "
4 | \n", "1958 | \n", "5 | \n", "3 | \n", "316.95 | \n", "
5 | \n", "1958 | \n", "5 | \n", "17 | \n", "317.56 | \n", "
6 | \n", "1958 | \n", "5 | \n", "24 | \n", "317.99 | \n", "
7 | \n", "1958 | \n", "7 | \n", "5 | \n", "315.85 | \n", "
8 | \n", "1958 | \n", "7 | \n", "12 | \n", "315.85 | \n", "
9 | \n", "1958 | \n", "7 | \n", "19 | \n", "315.46 | \n", "
10 | \n", "1958 | \n", "7 | \n", "26 | \n", "315.59 | \n", "
11 | \n", "1958 | \n", "8 | \n", "2 | \n", "315.64 | \n", "
12 | \n", "1958 | \n", "8 | \n", "9 | \n", "315.10 | \n", "
13 | \n", "1958 | \n", "8 | \n", "16 | \n", "315.09 | \n", "
14 | \n", "1958 | \n", "8 | \n", "30 | \n", "314.14 | \n", "
15 | \n", "1958 | \n", "9 | \n", "6 | \n", "313.54 | \n", "
16 | \n", "1958 | \n", "11 | \n", "8 | \n", "313.05 | \n", "
17 | \n", "1958 | \n", "11 | \n", "15 | \n", "313.26 | \n", "
18 | \n", "1958 | \n", "11 | \n", "22 | \n", "313.57 | \n", "
19 | \n", "1958 | \n", "11 | \n", "29 | \n", "314.01 | \n", "
20 | \n", "1958 | \n", "12 | \n", "6 | \n", "314.56 | \n", "
21 | \n", "1958 | \n", "12 | \n", "13 | \n", "314.41 | \n", "
22 | \n", "1958 | \n", "12 | \n", "20 | \n", "314.77 | \n", "
23 | \n", "1958 | \n", "12 | \n", "27 | \n", "315.21 | \n", "
24 | \n", "1959 | \n", "1 | \n", "3 | \n", "315.24 | \n", "
25 | \n", "1959 | \n", "1 | \n", "10 | \n", "315.50 | \n", "
26 | \n", "1959 | \n", "1 | \n", "17 | \n", "315.69 | \n", "
27 | \n", "1959 | \n", "1 | \n", "24 | \n", "315.86 | \n", "
28 | \n", "1959 | \n", "1 | \n", "31 | \n", "315.42 | \n", "
29 | \n", "1959 | \n", "2 | \n", "14 | \n", "316.94 | \n", "
30 | \n", "1959 | \n", "2 | \n", "21 | \n", "316.61 | \n", "
31 | \n", "1959 | \n", "2 | \n", "28 | \n", "316.62 | \n", "
32 | \n", "1959 | \n", "3 | \n", "7 | \n", "316.81 | \n", "
33 | \n", "1959 | \n", "3 | \n", "21 | \n", "316.73 | \n", "
34 | \n", "1959 | \n", "3 | \n", "28 | \n", "316.71 | \n", "
35 | \n", "1959 | \n", "4 | \n", "4 | \n", "317.72 | \n", "
36 | \n", "1959 | \n", "4 | \n", "11 | \n", "317.12 | \n", "
37 | \n", "1959 | \n", "4 | \n", "18 | \n", "317.64 | \n", "
38 | \n", "1959 | \n", "4 | \n", "25 | \n", "318.32 | \n", "
39 | \n", "1959 | \n", "5 | \n", "2 | \n", "318.27 | \n", "
40 | \n", "1959 | \n", "5 | \n", "9 | \n", "318.78 | \n", "
41 | \n", "1959 | \n", "5 | \n", "16 | \n", "318.05 | \n", "
42 | \n", "1959 | \n", "5 | \n", "23 | \n", "318.43 | \n", "
43 | \n", "1959 | \n", "6 | \n", "6 | \n", "318.53 | \n", "
44 | \n", "1959 | \n", "6 | \n", "13 | \n", "318.14 | \n", "
45 | \n", "1959 | \n", "6 | \n", "20 | \n", "317.88 | \n", "
46 | \n", "1959 | \n", "6 | \n", "27 | \n", "317.76 | \n", "
47 | \n", "1959 | \n", "7 | \n", "4 | \n", "316.86 | \n", "
48 | \n", "1959 | \n", "7 | \n", "11 | \n", "316.83 | \n", "
49 | \n", "1959 | \n", "7 | \n", "18 | \n", "316.45 | \n", "
50 | \n", "1959 | \n", "7 | \n", "25 | \n", "316.16 | \n", "
51 | \n", "1959 | \n", "8 | \n", "1 | \n", "315.62 | \n", "
52 | \n", "1959 | \n", "8 | \n", "8 | \n", "314.91 | \n", "
53 | \n", "1959 | \n", "8 | \n", "22 | \n", "315.00 | \n", "
54 | \n", "1959 | \n", "8 | \n", "29 | \n", "314.15 | \n", "
55 | \n", "1959 | \n", "9 | \n", "5 | \n", "314.45 | \n", "
56 | \n", "1959 | \n", "9 | \n", "12 | \n", "313.93 | \n", "
57 | \n", "1959 | \n", "9 | \n", "19 | \n", "313.57 | \n", "
58 | \n", "1959 | \n", "9 | \n", "26 | \n", "313.54 | \n", "
59 | \n", "1959 | \n", "10 | \n", "3 | \n", "313.04 | \n", "
\n", " | Year | \n", "Month | \n", "Date | \n", "Co2 per mole (ppm) | \n", "
---|---|---|---|---|
0 | \n", "1958 | \n", "4 | \n", "5 | \n", "317.31 | \n", "
1 | \n", "1958 | \n", "4 | \n", "12 | \n", "317.69 | \n", "
2 | \n", "1958 | \n", "4 | \n", "19 | \n", "317.58 | \n", "
3 | \n", "1958 | \n", "4 | \n", "26 | \n", "316.48 | \n", "
4 | \n", "1958 | \n", "5 | \n", "3 | \n", "316.95 | \n", "
5 | \n", "1958 | \n", "5 | \n", "17 | \n", "317.56 | \n", "
6 | \n", "1958 | \n", "5 | \n", "24 | \n", "317.99 | \n", "
7 | \n", "1958 | \n", "7 | \n", "5 | \n", "315.85 | \n", "
8 | \n", "1958 | \n", "7 | \n", "12 | \n", "315.85 | \n", "
9 | \n", "1958 | \n", "7 | \n", "19 | \n", "315.46 | \n", "
10 | \n", "1958 | \n", "7 | \n", "26 | \n", "315.59 | \n", "
11 | \n", "1958 | \n", "8 | \n", "2 | \n", "315.64 | \n", "
12 | \n", "1958 | \n", "8 | \n", "9 | \n", "315.10 | \n", "
13 | \n", "1958 | \n", "8 | \n", "16 | \n", "315.09 | \n", "
14 | \n", "1958 | \n", "8 | \n", "30 | \n", "314.14 | \n", "
15 | \n", "1958 | \n", "9 | \n", "6 | \n", "313.54 | \n", "
16 | \n", "1958 | \n", "11 | \n", "8 | \n", "313.05 | \n", "
17 | \n", "1958 | \n", "11 | \n", "15 | \n", "313.26 | \n", "
18 | \n", "1958 | \n", "11 | \n", "22 | \n", "313.57 | \n", "
19 | \n", "1958 | \n", "11 | \n", "29 | \n", "314.01 | \n", "
20 | \n", "1958 | \n", "12 | \n", "6 | \n", "314.56 | \n", "
21 | \n", "1958 | \n", "12 | \n", "13 | \n", "314.41 | \n", "
22 | \n", "1958 | \n", "12 | \n", "20 | \n", "314.77 | \n", "
23 | \n", "1958 | \n", "12 | \n", "27 | \n", "315.21 | \n", "
24 | \n", "1959 | \n", "1 | \n", "3 | \n", "315.24 | \n", "
25 | \n", "1959 | \n", "1 | \n", "10 | \n", "315.50 | \n", "
26 | \n", "1959 | \n", "1 | \n", "17 | \n", "315.69 | \n", "
27 | \n", "1959 | \n", "1 | \n", "24 | \n", "315.86 | \n", "
28 | \n", "1959 | \n", "1 | \n", "31 | \n", "315.42 | \n", "
29 | \n", "1959 | \n", "2 | \n", "14 | \n", "316.94 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
3168 | \n", "2020 | \n", "5 | \n", "9 | \n", "416.99 | \n", "
3169 | \n", "2020 | \n", "5 | \n", "16 | \n", "416.54 | \n", "
3170 | \n", "2020 | \n", "5 | \n", "23 | \n", "417.49 | \n", "
3171 | \n", "2020 | \n", "5 | \n", "30 | \n", "417.19 | \n", "
3172 | \n", "2020 | \n", "6 | \n", "6 | \n", "416.49 | \n", "
3173 | \n", "2020 | \n", "6 | \n", "13 | \n", "416.50 | \n", "
3174 | \n", "2020 | \n", "6 | \n", "20 | \n", "416.11 | \n", "
3175 | \n", "2020 | \n", "6 | \n", "27 | \n", "415.75 | \n", "
3176 | \n", "2020 | \n", "7 | \n", "4 | \n", "415.20 | \n", "
3177 | \n", "2020 | \n", "7 | \n", "11 | \n", "414.91 | \n", "
3178 | \n", "2020 | \n", "7 | \n", "18 | \n", "414.29 | \n", "
3179 | \n", "2020 | \n", "7 | \n", "25 | \n", "413.63 | \n", "
3180 | \n", "2020 | \n", "8 | \n", "1 | \n", "413.42 | \n", "
3181 | \n", "2020 | \n", "8 | \n", "8 | \n", "412.85 | \n", "
3182 | \n", "2020 | \n", "8 | \n", "15 | \n", "412.75 | \n", "
3183 | \n", "2020 | \n", "8 | \n", "22 | \n", "412.25 | \n", "
3184 | \n", "2020 | \n", "8 | \n", "29 | \n", "411.79 | \n", "
3185 | \n", "2020 | \n", "9 | \n", "5 | \n", "411.55 | \n", "
3186 | \n", "2020 | \n", "9 | \n", "12 | \n", "411.45 | \n", "
3187 | \n", "2020 | \n", "9 | \n", "19 | \n", "411.17 | \n", "
3188 | \n", "2020 | \n", "9 | \n", "26 | \n", "411.06 | \n", "
3189 | \n", "2020 | \n", "10 | \n", "3 | \n", "411.08 | \n", "
3190 | \n", "2020 | \n", "10 | \n", "10 | \n", "411.14 | \n", "
3191 | \n", "2020 | \n", "10 | \n", "17 | \n", "411.16 | \n", "
3192 | \n", "2020 | \n", "10 | \n", "24 | \n", "411.54 | \n", "
3193 | \n", "2020 | \n", "10 | \n", "31 | \n", "411.92 | \n", "
3194 | \n", "2020 | \n", "11 | \n", "7 | \n", "412.37 | \n", "
3195 | \n", "2020 | \n", "11 | \n", "14 | \n", "412.67 | \n", "
3196 | \n", "2020 | \n", "11 | \n", "21 | \n", "412.98 | \n", "
3197 | \n", "2020 | \n", "11 | \n", "28 | \n", "414.32 | \n", "
3198 rows × 4 columns
\n", "