{ "cells": [ { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "# Solution 3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "```{hint} \n", "Execute the notebook on the training platform >>\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## About" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> With [exercise #1](./exercise_1.ipynb) and [exercise #2](./exercise_2.ipynb), you compared two dust forecast models as well as near real-time monitoring with satellite data. From the results of the assignment, you see that it is difficult to know which forecast can be trusted more. Hence, even though model intercomparison is important, model outcomes also have to be compared with real-world observations. Just by comparing model outcomes with measurements from station data, we can better understand how the model performs.\n", "> \n", "> Now, you will focus on how you can use station observations from AERONET to evaluate model forecasts.\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Tasks" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "**1. Brainstorm**\n", " * What observation datasets do you know about?\n", " * Which variables do they measure?\n", " * Which data can you use to evaluate model predictions?\n", " \n", "\n", "**2. Download and plot time-series of AERONET data for *Santa Cruz, Tenerife***\n", " * Download and visualise AERONET v3.0 measurements of the station *Santa Cruz, Tenerife* for 21 to 25 February 2020.\n", " * **Some questions to reflect on:**\n", " * Under which name is the station listed in AERONET?\n", " * What average level would you choose?\n", " * Which days do we have observations for?\n", " * **Hint** \n", " * [AERONET observations - Example notebook](./aeronet.ipynb)\n", "\n", "\n", "\n", "**3. Resample AERONET data to a 3-hourly resolution**\n", " * Make use of AERONET `index` and `time` columns to create a `DateTimeIndex` in order to resample the observations to a 3-hourly temporal resolution\n", " * **Hint**\n", " * you have to combine the two columns `index` and `time` as one string variable\n", " * you can use the pandas function `to_datetime()` to create a `DateTimeIndex` and the function `resample().mean()` to resample and average the time-series to a given temporal resolution \n", " * **Question to reflect on**\n", " * How many row entries does the resampled data frame have?\n", "\n", "**4. Load time-series of the forecasts from CAMS and the MONARCH model and compare it with the AERONET observations**\n", " * Interpret the plotting result.\n", " * Can you make a statement of the performance of the two forecast models?\n", " * What is your conclusion regarding AERONET observation data?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " | AERONET_Site | \n", "Time(hh:mm:ss) | \n", "Day_of_Year | \n", "Day_of_Year(Fraction) | \n", "AOD_1640nm | \n", "AOD_1020nm | \n", "AOD_870nm | \n", "AOD_865nm | \n", "AOD_779nm | \n", "AOD_675nm | \n", "... | \n", "Exact_Wavelengths_of_AOD(um)_380nm | \n", "Exact_Wavelengths_of_AOD(um)_340nm | \n", "Exact_Wavelengths_of_PW(um)_935nm | \n", "Exact_Wavelengths_of_AOD(um)_681nm | \n", "Exact_Wavelengths_of_AOD(um)_709nm | \n", "Exact_Wavelengths_of_AOD(um)_Empty | \n", "Exact_Wavelengths_of_AOD(um)_Empty.1 | \n", "Exact_Wavelengths_of_AOD(um)_Empty.2 | \n", "Exact_Wavelengths_of_AOD(um)_Empty.3 | \n", "Exact_Wavelengths_of_AOD(um)_Empty<br> | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Date(dd:mm:yyyy) | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
21:02:2020 | \n", "Santa_Cruz_Tenerife | \n", "08:22:46 | \n", "52.0 | \n", "52.349144 | \n", "0.021395 | \n", "0.031387 | \n", "0.034429 | \n", "-999.0 | \n", "-999.0 | \n", "0.040873 | \n", "... | \n", "0.3797 | \n", "0.3398 | \n", "0.9371 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.<br> | \n", "
21:02:2020 | \n", "Santa_Cruz_Tenerife | \n", "08:25:22 | \n", "52.0 | \n", "52.350949 | \n", "0.019840 | \n", "0.028373 | \n", "0.030877 | \n", "-999.0 | \n", "-999.0 | \n", "0.035930 | \n", "... | \n", "0.3797 | \n", "0.3398 | \n", "0.9371 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.<br> | \n", "
21:02:2020 | \n", "Santa_Cruz_Tenerife | \n", "08:28:46 | \n", "52.0 | \n", "52.353310 | \n", "0.019732 | \n", "0.028353 | \n", "0.030869 | \n", "-999.0 | \n", "-999.0 | \n", "0.035813 | \n", "... | \n", "0.3797 | \n", "0.3398 | \n", "0.9371 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.<br> | \n", "
21:02:2020 | \n", "Santa_Cruz_Tenerife | \n", "08:30:39 | \n", "52.0 | \n", "52.354618 | \n", "0.019704 | \n", "0.028210 | \n", "0.030609 | \n", "-999.0 | \n", "-999.0 | \n", "0.035490 | \n", "... | \n", "0.3797 | \n", "0.3398 | \n", "0.9371 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.<br> | \n", "
21:02:2020 | \n", "Santa_Cruz_Tenerife | \n", "08:33:09 | \n", "52.0 | \n", "52.356354 | \n", "0.020827 | \n", "0.030963 | \n", "0.030745 | \n", "-999.0 | \n", "-999.0 | \n", "0.035596 | \n", "... | \n", "0.3797 | \n", "0.3398 | \n", "0.9371 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.<br> | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
25:02:2020 | \n", "Santa_Cruz_Tenerife | \n", "18:09:31 | \n", "56.0 | \n", "56.756609 | \n", "0.266426 | \n", "0.359000 | \n", "0.381361 | \n", "-999.0 | \n", "-999.0 | \n", "0.412116 | \n", "... | \n", "0.3797 | \n", "0.3398 | \n", "0.9371 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.<br> | \n", "
25:02:2020 | \n", "Santa_Cruz_Tenerife | \n", "18:13:14 | \n", "56.0 | \n", "56.759190 | \n", "0.279673 | \n", "0.374916 | \n", "0.398722 | \n", "-999.0 | \n", "-999.0 | \n", "0.430402 | \n", "... | \n", "0.3797 | \n", "0.3398 | \n", "0.9371 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.<br> | \n", "
25:02:2020 | \n", "Santa_Cruz_Tenerife | \n", "18:15:09 | \n", "56.0 | \n", "56.760521 | \n", "0.286610 | \n", "0.384756 | \n", "0.408843 | \n", "-999.0 | \n", "-999.0 | \n", "0.440872 | \n", "... | \n", "0.3797 | \n", "-999.0000 | \n", "0.9371 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.<br> | \n", "
25:02:2020 | \n", "Santa_Cruz_Tenerife | \n", "18:17:13 | \n", "56.0 | \n", "56.761956 | \n", "0.293157 | \n", "0.393598 | \n", "0.418218 | \n", "-999.0 | \n", "-999.0 | \n", "0.451127 | \n", "... | \n", "0.3797 | \n", "-999.0000 | \n", "0.9371 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.0 | \n", "-999.<br> | \n", "
NaN | \n", "</body></html> | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
292 rows × 113 columns
\n", "