{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "IoAyLXRyYV7e"
},
"source": [
"# **Explorer for CTD Oceanographic Data (Temperature & Salinity)** #\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For an interactive version of this page please visit the Google Colab: \n",
"[
Open in Google Colab ](https://colab.research.google.com/drive/1r90tlNG2K3MYs3aete4F8wmQw_eKTZbc)
\n",
"(To open link in new tab press Ctrl + click)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Alternatively this notebook can be opened with Binder by following the link:\n",
"[Explorer for CTD Oceanographic Data (Temperature & Salinity)](https://mybinder.org/v2/gh/s4oceanice/literacy.s4oceanice/main?urlpath=%2Fdoc%2Ftree%2Fnotebooks_binder%2Foceanice_iadc.ipynb)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "K7RTxO2RpJ8D"
},
"source": [
"**Purpose**"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "OW9-wGiIpLnF"
},
"source": [
"This notebook provides an interactive tool for exploring in-situ oceanographic measurements using data served through the ERDDAP service hosted by OCEAN ICE.\n",
"\n",
"Users can:\n",
"* Select a start and end date within the observation range (2014–2023).\n",
"* Choose key measured parameters, such as **Temperature** and **Pratical Salinity**.\n",
"* Generate time series scatter plots to visualize patterns, variability, or anomalies in the selected data.\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "0jSyvrebzbB7"
},
"source": [
"**Data sources**"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "on5rrRxBsDjO"
},
"source": [
"This notebook uses data from the **IADC (International Antarctic Data Centre)** observational network. In particular, the dataset used here (https://er1.s4oceanice.eu/erddap/tabledap/IADC_s1_ctd.html) is a long-term record of Conductivity–Temperature–Depth (CTD) measurements collected by the **S1 mooring**, a fixed oceanographic monitoring station in the Southern Ocean at approximately 1000 meters depth.\n",
"\n",
"**Dataset characteristics**: \n",
"* **Sensors**: CTD package mounted on a deep mooring frame,continuously logging temperature and salinity at fixed depth.\n",
"* **Time span**: June 9, 2014 – June 22, 2023, providing nearly a decade of uninterrupted measurements.\n",
"* **Measured variables**: Sea water temperature and Practical salinity (PSU).\n",
"* **Sampling location**: S1 mooring site is strategically placed to monitor deep inflow and outflow pathways near ice shelf regions, capturing water mass transformation signals.\n",
" \n",
"This mooring is a fixed sentinel station that plays a pivotal role in:\n",
"\n",
"* Climate change monitoring, detecting long-term shifts in deep ocean temperature and salinity.\n",
"* Ice–ocean interaction studies, observing changes under varying ice shelf conditions.\n",
"* Model validation, providing high-quality reference data for numerical simulations.\n",
"* Event detection, identifying anomalies such as warm water intrusions that could accelerate basal ice melting."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "SfOdolccv70M"
},
"source": [
"**Instructions to use this Notebook**"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "wQMWyycDwI92"
},
"source": [
"Run each code cell by clicking the **Play button** (▶️) on the left side of each grey code block. This will execute the code in order and allow all features to work properly."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "xXlrMEfav7LC"
},
"source": [
"**Explaining the code**"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ApYxDCyFv3ej"
},
"source": [
"**1.** **Import required libraries**"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "grHGMe-Nv2dz"
},
"source": [
"This section sets up the for data fetching, visualization and interactivity. It also defines the ERDDAP data access parameters and the focus variables for the notebook.\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "alSRrWz8VDzv"
},
"source": [
"**Libraries includes: **\n",
"* Data handling and time manipulation: [pandas](https://pandas.pydata.org/docs/), [datetime](https://docs.python.org/3/library/datetime.html)\n",
"* Plotting: [matplotlib](https://matplotlib.org/stable/contents.html), [seaborn](https://seaborn.pydata.org/api.html)\n",
"* Interactive controls (dropdowns, date pickers): [ipywidgets](https://ipywidgets.readthedocs.io/en/latest/)\n",
"* Fetching data from ERDDAP: [requests](https://docs.python-requests.org/en/latest/)\n",
"* Notebook display utilities: [IPython.display](https://ipython.readthedocs.io/en/stable/api/generated/IPython.display.html)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"cellView": "form",
"id": "sC5BcNfpkHQq"
},
"outputs": [],
"source": [
"# @title\n",
"!pip install seaborn\n",
"import requests\n",
"import pandas as pd\n",
"from datetime import datetime\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"from io import BytesIO\n",
"from ipywidgets import (\n",
" Text,\n",
" HBox,\n",
" Layout,\n",
" Output,\n",
" VBox,\n",
" HTML,\n",
" Label,\n",
" Dropdown,\n",
" DatePicker\n",
")\n",
"from IPython.display import display, clear_output\n",
"\n",
"time_url = f'https://er1.s4oceanice.eu/erddap/tabledap/IADC_s1_ctd.csv?time&time%3E=2014-06-09T06%3A30%3A00Z&time%3C=2023-06-22T07%3A00%3A00Z&distinct()'\n",
"variables = ['Temperature', 'sea_water_practical_salinity']\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "F9ND0XKj4uoQ"
},
"source": [
"**2**. **Retrieve available measurement dates**"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "YKQrOzks4qIi"
},
"source": [
"This section fetches the available dates from the dataset and prepares them for use in interactive widgets."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"cellView": "form",
"id": "Zm48a0J0sW9v"
},
"outputs": [],
"source": [
"# @title\n",
"time_url = f'https://er1.s4oceanice.eu/erddap/tabledap/IADC_s1_ctd.csv?time&time%3E=2014-06-09T06%3A30%3A00Z&time%3C=2023-06-22T07%3A00%3A00Z&distinct()'\n",
"time_df = pd.read_csv(time_url)\n",
"\n",
"# Convert the 'time' column to datetime objects, skipping the first row\n",
"time_df['time'] = pd.to_datetime(time_df['time'].iloc[1:])\n",
"\n",
"# Extract the date part and store it in a new column\n",
"time_df['date_only'] = time_df['time'].dt.date\n",
"\n",
"# Drop duplicate dates, keeping the first occurrence\n",
"time_df_unique_dates = time_df.drop_duplicates(subset=['date_only'])\n",
"\n",
"# Set the time to midnight for each unique date and select only the 'time_midnight' column\n",
"time_df_unique_dates = time_df_unique_dates.assign(time_midnight=time_df_unique_dates['date_only'].apply(lambda x: pd.to_datetime(x).replace(hour=0, minute=0, second=0)))[['time_midnight']]\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "XcPojG2qsZ85"
},
"source": [
"**3. Create interactive date & variable slection controls**"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "v-g_OYJAWT8U"
},
"source": [
"This section sets up:\n",
"* Two **DatePicker** widgets for start and end date selection.\n",
"* A **Dropdown** widget to choose a variable (Temperature or Pratical Salinity).\n",
"* An **Output** widget to display the scatter plot.\n",
"\n",
"The widgets allow **runtime updates** without rerunning the code.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"cellView": "form",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 241,
"referenced_widgets": [
"662c76c9b0104f7caf8e7c279fdbda8e",
"9470e4ca1e284de99db1356919c349ce",
"5f6ffbbbdb164597ac33b175e0c4a86f",
"f9c696f5a2a34555bcf7e14b9f23e839",
"7cef40c756594bf9a9c4e5b623e51522",
"d2cab586b1664fffb31f18519937def9",
"086cdb66818d40e785a08500030b117d",
"3cf4365967244373a25656c4ef9182e6",
"239f56f49aea4f36a5bd85cbbc6fbe0d",
"8e6d0df422aa43e0b8f280a7bf2ce01b",
"86543689c2c149d88265b53832370b2d",
"8b8a639a0f0e42f284e1461b053e56b6",
"ff2ad6ee5ef4441381519108e25424fa",
"8920cb316a71460d8c4e1d4bd82ad687",
"58054e7621294b9aa410912034e41490",
"a339ae0ea62d41aea6be5244c559c34f",
"563533917c4748619dbffcde2581dd31",
"dc38293d12454b57ad29ac852fc195cf",
"147d323a6f4445ffa547277a52dcac4a",
"16424f1b3db24c11be1a81f4f54d249a",
"d23a0d82e5c04c5cb4e01350112a62ef",
"b1f246c3381c40859a6eb32308b5984c",
"05bb37c05ec240a3964748560e3a16b8",
"8e013fa3d6aa48dab92130d18b7c2180",
"d54b50b70f544245aa8a69129b40ca92"
]
},
"id": "953829f4",
"outputId": "952df026-e0e7-42be-a6b0-f2e5bc89baee"
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "662c76c9b0104f7caf8e7c279fdbda8e",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"VBox(children=(Label(value='Select starting date (09/06/2014 to 22/06/2023): '), DatePicker(value=datetime.dat…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# @title\n",
"# Convert the 'time_midnight' column to a list of datetime objects\n",
"valid_dates = time_df_unique_dates['time_midnight'].tolist()\n",
"# Create a DatePicker widget\n",
"date_picker = DatePicker(\n",
" disabled=False\n",
")\n",
"\n",
"# Create another DatePicker widget\n",
"second_date_picker = DatePicker(\n",
" disabled=False\n",
")\n",
"\n",
"\n",
"# You can optionally set a default date if desired\n",
"if valid_dates and pd.notna(valid_dates[1]):\n",
" date_picker.value = valid_dates[1].date()\n",
" if len(valid_dates) > 2: # Set a different default for the second picker if possible\n",
" second_date_picker.value = valid_dates[-1].date()\n",
"\n",
"\n",
"# Create a Dropdown widget using the 'variables' list\n",
"variable_dropdown = Dropdown(\n",
" options=variables,\n",
" disabled=False,\n",
")\n",
"\n",
"# Create an Output widget\n",
"output_widget = Output()\n",
"\n",
"# Add a line break widget\n",
"space_widget = HTML(\"
\")\n",
"\n",
"\n",
"# Arrange the widgets using VBox and display them\n",
"display(VBox([Label('Select starting date (09/06/2014 to 22/06/2023): '), date_picker, Label('Select ending date (09/06/2014 to 22/06/2023): '), second_date_picker, Label('Select a variable: '), variable_dropdown, space_widget, output_widget]))"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "__8MnGZNuCQI"
},
"source": [
"**4. Generate and display scatter plot of selected variable**"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "-mDtoWH0XbS5"
},
"source": [
"This section fetches the selected varibale and date range, then creates a scatter plot.\n",
"\n",
"**Note**: the bigger the gap between starting date and ending date the longer it may take to load the data. As a result, updates on the graph might take a few seconds to appear."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"cellView": "form",
"id": "a905fec3"
},
"outputs": [],
"source": [
"# @title\n",
"# Assuming date_picker, variable_dropdown, and output_widget are already defined and populated\n",
"\n",
"def generate_scatterplot():\n",
" selected_start_date = date_picker.value\n",
" selected_end_date = second_date_picker.value\n",
" selected_variable = variable_dropdown.value\n",
"\n",
" # Check if both dates and a variable are selected\n",
" if selected_start_date is None or selected_end_date is None or selected_variable is None:\n",
" with output_widget:\n",
" clear_output(wait=True)\n",
" print(\"Please select both a start date, an end date, and a variable.\")\n",
" return\n",
"\n",
" # Validate start date\n",
" if selected_start_date not in [date.date() for date in valid_dates if pd.notna(date)]:\n",
" with output_widget:\n",
" clear_output(wait=True)\n",
" print(f\"Invalid start date selected: {selected_start_date}, please select a date between {valid_dates[1].date()} and {valid_dates[-1].date()}\")\n",
"\n",
"\n",
" # Validate end date\n",
" if selected_end_date not in [date.date() for date in valid_dates if pd.notna(date)]:\n",
" with output_widget:\n",
" clear_output(wait=True)\n",
" print(f\"Invalid end date selected: {selected_end_date}, please select a date between {valid_dates[1].date()} and {valid_dates[-1].date()}\")\n",
"\n",
"\n",
" if selected_start_date > selected_end_date:\n",
" with output_widget:\n",
" clear_output(wait=True)\n",
" print(\"End date cannot be before start date\")\n",
"\n",
" # Format the dates for the URL (YYYY-MM-DDTHH:MM:SSZ) and replace : with %3A\n",
" formatted_start_date = selected_start_date.strftime('%Y-%m-%dT%H:%M:%SZ').replace(':', '%3A')\n",
" formatted_end_date = selected_end_date.strftime('%Y-%m-%dT%H:%M:%SZ').replace(':', '%3A')\n",
"\n",
"\n",
" # Construct the graph URL to include both selected_variable and Temperature for coloring\n",
" graph_url = f'https://er1.s4oceanice.eu/erddap/tabledap/IADC_s1_ctd.csv?time%2C{selected_variable}&time%3E={formatted_start_date}&time%3C={formatted_end_date}&distinct()'\n",
"\n",
"\n",
" try:\n",
" # Fetch the data from the URL\n",
" graph_df = pd.read_csv(graph_url, skiprows=[1]) # Skip the units row\n",
"\n",
" # Convert the 'time' column to datetime\n",
" graph_df['time'] = pd.to_datetime(graph_df['time'])\n",
"\n",
" # Clear previous output and use the output widget\n",
" with output_widget:\n",
" clear_output(wait=True)\n",
" # Create the scatterplot, coloring by Temperature\n",
" plt.figure(figsize=(12, 6))\n",
"\n",
" sns.scatterplot(data=graph_df, x='time', y=selected_variable, hue=selected_variable, palette='coolwarm', marker=\"x\", legend=False)\n",
"\n",
" plt.title(f'{selected_variable} over time between {selected_start_date} and {selected_end_date}')\n",
"\n",
" # Add units to the y-axis label\n",
" if selected_variable == 'Temperature':\n",
" plt.ylabel(f'{selected_variable} (degree_C)')\n",
" elif selected_variable == 'sea_water_practical_salinity':\n",
" plt.ylabel(f'{selected_variable} (PSS-78)')\n",
" else:\n",
" plt.ylabel(selected_variable)\n",
"\n",
" plt.xlabel('Time')\n",
" plt.xticks(rotation=45)\n",
" plt.tight_layout()\n",
" plt.show()\n",
" plt.close() # Close the figure to prevent the extra output\n",
"\n",
" except Exception as e:\n",
" with output_widget:\n",
" clear_output(wait=True)\n",
" print(f\"Error fetching data or generating plot: {e}\")\n",
" print(f\"Attempted URL: {graph_url}\")\n",
"\n",
"# Link this function to the observe events of the widgets\n",
"date_picker.observe(lambda change: generate_scatterplot(), names='value')\n",
"second_date_picker.observe(lambda change: generate_scatterplot(), names='value')\n",
"variable_dropdown.observe(lambda change: generate_scatterplot(), names='value')\n",
"\n",
"# Generate the initial plot when the cell is executed\n",
"generate_scatterplot()"
]
}
],
"metadata": {
"colab": {
"provenance": []
},
"kernelspec": {
"display_name": "Python 3",
"name": "python3"
},
"language_info": {
"name": "python"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"05bb37c05ec240a3964748560e3a16b8": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"086cdb66818d40e785a08500030b117d": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DropdownModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DropdownModel",
"_options_labels": [
"Temperature",
"sea_water_practical_salinity"
],
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "DropdownView",
"description": "",
"description_tooltip": null,
"disabled": false,
"index": 0,
"layout": "IPY_MODEL_d23a0d82e5c04c5cb4e01350112a62ef",
"style": "IPY_MODEL_b1f246c3381c40859a6eb32308b5984c"
}
},
"147d323a6f4445ffa547277a52dcac4a": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"16424f1b3db24c11be1a81f4f54d249a": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"239f56f49aea4f36a5bd85cbbc6fbe0d": {
"model_module": "@jupyter-widgets/output",
"model_module_version": "1.0.0",
"model_name": "OutputModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/output",
"_model_module_version": "1.0.0",
"_model_name": "OutputModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/output",
"_view_module_version": "1.0.0",
"_view_name": "OutputView",
"layout": "IPY_MODEL_d54b50b70f544245aa8a69129b40ca92",
"msg_id": "",
"outputs": []
}
},
"3cf4365967244373a25656c4ef9182e6": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_05bb37c05ec240a3964748560e3a16b8",
"placeholder": "",
"style": "IPY_MODEL_8e013fa3d6aa48dab92130d18b7c2180",
"value": "
"
}
},
"563533917c4748619dbffcde2581dd31": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"58054e7621294b9aa410912034e41490": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"5f6ffbbbdb164597ac33b175e0c4a86f": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DatePickerModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DatePickerModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "DatePickerView",
"description": "",
"description_tooltip": null,
"disabled": false,
"layout": "IPY_MODEL_ff2ad6ee5ef4441381519108e25424fa",
"style": "IPY_MODEL_8920cb316a71460d8c4e1d4bd82ad687",
"value": {
"date": 9,
"month": 5,
"year": 2014
}
}
},
"662c76c9b0104f7caf8e7c279fdbda8e": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "VBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "VBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "VBoxView",
"box_style": "",
"children": [
"IPY_MODEL_9470e4ca1e284de99db1356919c349ce",
"IPY_MODEL_5f6ffbbbdb164597ac33b175e0c4a86f",
"IPY_MODEL_f9c696f5a2a34555bcf7e14b9f23e839",
"IPY_MODEL_7cef40c756594bf9a9c4e5b623e51522",
"IPY_MODEL_d2cab586b1664fffb31f18519937def9",
"IPY_MODEL_086cdb66818d40e785a08500030b117d",
"IPY_MODEL_3cf4365967244373a25656c4ef9182e6",
"IPY_MODEL_239f56f49aea4f36a5bd85cbbc6fbe0d"
],
"layout": "IPY_MODEL_8e6d0df422aa43e0b8f280a7bf2ce01b"
}
},
"7cef40c756594bf9a9c4e5b623e51522": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DatePickerModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DatePickerModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "DatePickerView",
"description": "",
"description_tooltip": null,
"disabled": false,
"layout": "IPY_MODEL_563533917c4748619dbffcde2581dd31",
"style": "IPY_MODEL_dc38293d12454b57ad29ac852fc195cf",
"value": {
"date": 22,
"month": 5,
"year": 2023
}
}
},
"86543689c2c149d88265b53832370b2d": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"8920cb316a71460d8c4e1d4bd82ad687": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"8b8a639a0f0e42f284e1461b053e56b6": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"8e013fa3d6aa48dab92130d18b7c2180": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"8e6d0df422aa43e0b8f280a7bf2ce01b": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"9470e4ca1e284de99db1356919c349ce": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "LabelModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "LabelModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "LabelView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_86543689c2c149d88265b53832370b2d",
"placeholder": "",
"style": "IPY_MODEL_8b8a639a0f0e42f284e1461b053e56b6",
"value": "Select starting date (09/06/2014 to 22/06/2023): "
}
},
"a339ae0ea62d41aea6be5244c559c34f": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"b1f246c3381c40859a6eb32308b5984c": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"d23a0d82e5c04c5cb4e01350112a62ef": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"d2cab586b1664fffb31f18519937def9": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "LabelModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "LabelModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "LabelView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_147d323a6f4445ffa547277a52dcac4a",
"placeholder": "",
"style": "IPY_MODEL_16424f1b3db24c11be1a81f4f54d249a",
"value": "Select a variable: "
}
},
"d54b50b70f544245aa8a69129b40ca92": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"dc38293d12454b57ad29ac852fc195cf": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"f9c696f5a2a34555bcf7e14b9f23e839": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "LabelModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "LabelModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "LabelView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_58054e7621294b9aa410912034e41490",
"placeholder": "",
"style": "IPY_MODEL_a339ae0ea62d41aea6be5244c559c34f",
"value": "Select ending date (09/06/2014 to 22/06/2023): "
}
},
"ff2ad6ee5ef4441381519108e25424fa": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
}
}
}
},
"nbformat": 4,
"nbformat_minor": 0
}