{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Retrieve Sites that Surveyors Found Graupel\n", "\n", "**Goal**: Plot all the pit locations and identify which pits had graupel and which didn't\n", "\n", "**Approach**: \n", "\n", "1. Find all the pits with graupel in the comments.\n", "2. Find all pits without graupel mentioned in the comments\n", "3. Plot them!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Process\n", "\n", "### Step 1. Use the `LayerData` class to find hand hardness profiles that mention graupel" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Sites with Graupel: 8S41, 8N38, 4C30, 1N7, 2N21, 2S35, 1S17, FL1B, 8N25, 5S21, 2S6, 1C7, 2C12, 1N3, 3S47, 2S11, County Line Open, 1N23, 6S32, County Line Open, County Line Tree, Mesa West Open, Mesa West Open, Mesa West Trees, Mesa West Trees, Skyway Open\n" ] } ], "source": [ "from snowexsql.data import LayerData, SiteData\n", "from snowexsql.db import get_db\n", "from snowexsql.conversions import query_to_geopandas\n", "import geopandas as gpd\n", "import matplotlib.pyplot as plt \n", "\n", "# Connect to the database\n", "db_name = 'db.snowexdata.org/snowex'\n", "\n", "engine, session = get_db(db_name, credentials='./credentials.json')\n", "\n", "# Build a query looking at hand hardness profiles, \n", "q_base = session.query(LayerData).filter(LayerData.type == 'hand_hardness').filter(LayerData.site_name == 'Grand Mesa')\n", "\n", "# add on to the query by filtering on comments containing graupel (case insensitive)\n", "qry = q_base.filter(LayerData.comments.contains('graupel'))\n", "\n", "# Send query and convert records to a dataframe with the results\n", "df_graupel = query_to_geopandas(qry, engine)\n", "\n", "print('Sites with Graupel: {}'.format(', '.join(df_graupel['site_id'])))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Step 2. Use the same query but request the opposite to get pits without graupel" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Use the exact same query except use ~ to ask for the opposite (pits w/o graupel)\n", "qry= q_base.filter(~LayerData.comments.contains('graupel'))\n", "\n", "# There are multiple layers for a given site at different depths and dates. So insure we don't grab a site that on a given date had graupel\n", "qry = qry.filter(~LayerData.date.in_(df_graupel['date']), ~LayerData.site_id.in_(df_graupel['site_id']))\n", "\n", "# Send query and convert records to a dataframe with the results\n", "df = query_to_geopandas(qry, engine)\n", "\n", "# Close the database session to avoid hanging transactions\n", "session.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Step 3. Plot pits with graupel in color and without in grey " ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "tags": [ "nbsphinx-thumbnail", "nbsphinx-gallery" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "\n", "# Plot the dataframe without graupel as grey and slightly transparent.\n", "ax = df.plot(color='steelblue', alpha=0.1, marker='v', markersize=80, edgecolor='black', label='Pits w/o Graupel', figsize=(10,8))\n", "\n", "# Plot the pits with graupel as cyan\n", "ax = df_graupel.plot(color='lawngreen', ax=ax, marker='v', markersize=150, edgecolor='black', label='Pits w/ Graupel')\n", "\n", "# Add a legend, x/y labels, and a title, \n", "ax.legend()\n", "ax.set_xlabel('Easting [m]')\n", "ax.set_ylabel('Northing [m]')\n", "ax.set_title('Grand Mesa Pits w/ A Graupel Layer', FontSize=16)\n", "\n", "# Plot labels in plain numbers not scientific notation (default)\n", "ax.ticklabel_format(style='plain', useOffset=False)\n", "\n", "# Ask matplotlib to try and avoid overlaying labels on each other\n", "plt.tight_layout()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" } }, "nbformat": 4, "nbformat_minor": 4 }