{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Precipitation\n", "\n", "An introduction to Synoptic's Precipitation service using SynopticPy." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from datetime import datetime, timedelta\n", "\n", "import matplotlib.dates as mdates\n", "import matplotlib.pyplot as plt\n", "import polars as pl\n", "\n", "from synoptic.services import Precipitation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Daily Precipitation\n", "\n", "Let's get the daily precipitation at a single station for August 2024 and plot the daily accumulation with a running total for the month." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "🚚💨 Speedy delivery from Synoptic's \u001b[32mprecipitation\u001b[0m service.\n", "📦 Received data from 1 stations.\n" ] }, { "data": { "text/html": [ "
\n", "shape: (31, 21)
totalfirst_reportlast_reportcountintervalreport_typeunitsidstidnameelevationlatitudelongitudemnet_idstatetimezoneelev_demperiod_of_recordis_restrictedis_activecum_sum
f64datetime[μs, UTC]datetime[μs, UTC]i64i64strstru32strstrf64f64f64u32strstrf64struct[2]boolboolf64
0.02024-08-01 00:00:00 UTC2024-08-02 00:00:00 UTC14401"precip_accum_one_minute""Inches"1"WBB""U of U William Browning Buildi…4806.040.76623-111.84755153"UT""America/Denver"4727.7{"1997-01-01T00:00:00Z","2024-11-11T22:55:00Z"}falsetrue0.0
0.02024-08-02 00:00:00 UTC2024-08-03 00:00:00 UTC14402"precip_accum_one_minute""Inches"1"WBB""U of U William Browning Buildi…4806.040.76623-111.84755153"UT""America/Denver"4727.7{"1997-01-01T00:00:00Z","2024-11-11T22:55:00Z"}falsetrue0.0
0.02024-08-03 00:00:00 UTC2024-08-04 00:00:00 UTC14403"precip_accum_one_minute""Inches"1"WBB""U of U William Browning Buildi…4806.040.76623-111.84755153"UT""America/Denver"4727.7{"1997-01-01T00:00:00Z","2024-11-11T22:55:00Z"}falsetrue0.0
0.02024-08-04 00:00:00 UTC2024-08-05 00:00:00 UTC14404"precip_accum_one_minute""Inches"1"WBB""U of U William Browning Buildi…4806.040.76623-111.84755153"UT""America/Denver"4727.7{"1997-01-01T00:00:00Z","2024-11-11T22:55:00Z"}falsetrue0.0
0.02024-08-05 00:00:00 UTC2024-08-06 00:00:00 UTC14405"precip_accum_one_minute""Inches"1"WBB""U of U William Browning Buildi…4806.040.76623-111.84755153"UT""America/Denver"4727.7{"1997-01-01T00:00:00Z","2024-11-11T22:55:00Z"}falsetrue0.0
0.02024-08-27 00:00:00 UTC2024-08-28 00:00:00 UTC144027"precip_accum_one_minute""Inches"1"WBB""U of U William Browning Buildi…4806.040.76623-111.84755153"UT""America/Denver"4727.7{"1997-01-01T00:00:00Z","2024-11-11T22:55:00Z"}falsetrue1.15
0.02024-08-28 00:00:00 UTC2024-08-29 00:00:00 UTC140628"precip_accum_one_minute""Inches"1"WBB""U of U William Browning Buildi…4806.040.76623-111.84755153"UT""America/Denver"4727.7{"1997-01-01T00:00:00Z","2024-11-11T22:55:00Z"}falsetrue1.15
0.02024-08-29 00:00:00 UTC2024-08-30 00:00:00 UTC144029"precip_accum_one_minute""Inches"1"WBB""U of U William Browning Buildi…4806.040.76623-111.84755153"UT""America/Denver"4727.7{"1997-01-01T00:00:00Z","2024-11-11T22:55:00Z"}falsetrue1.15
0.02024-08-30 00:00:00 UTC2024-08-31 00:00:00 UTC144030"precip_accum_one_minute""Inches"1"WBB""U of U William Browning Buildi…4806.040.76623-111.84755153"UT""America/Denver"4727.7{"1997-01-01T00:00:00Z","2024-11-11T22:55:00Z"}falsetrue1.15
0.02024-08-31 00:00:00 UTC2024-09-01 00:00:00 UTC144031"precip_accum_one_minute""Inches"1"WBB""U of U William Browning Buildi…4806.040.76623-111.84755153"UT""America/Denver"4727.7{"1997-01-01T00:00:00Z","2024-11-11T22:55:00Z"}falsetrue1.15
" ], "text/plain": [ "shape: (31, 21)\n", "┌───────┬──────────────┬─────────────┬───────┬───┬─────────────┬─────────────┬───────────┬─────────┐\n", "│ total ┆ first_report ┆ last_report ┆ count ┆ … ┆ period_of_r ┆ is_restrict ┆ is_active ┆ cum_sum │\n", "│ --- ┆ --- ┆ --- ┆ --- ┆ ┆ ecord ┆ ed ┆ --- ┆ --- │\n", "│ f64 ┆ datetime[μs, ┆ datetime[μs ┆ i64 ┆ ┆ --- ┆ --- ┆ bool ┆ f64 │\n", "│ ┆ UTC] ┆ , UTC] ┆ ┆ ┆ struct[2] ┆ bool ┆ ┆ │\n", "╞═══════╪══════════════╪═════════════╪═══════╪═══╪═════════════╪═════════════╪═══════════╪═════════╡\n", "│ 0.0 ┆ 2024-08-01 ┆ 2024-08-02 ┆ 1440 ┆ … ┆ {\"1997-01-0 ┆ false ┆ true ┆ 0.0 │\n", "│ ┆ 00:00:00 UTC ┆ 00:00:00 ┆ ┆ ┆ 1T00:00:00Z ┆ ┆ ┆ │\n", "│ ┆ ┆ UTC ┆ ┆ ┆ \",\"2024-… ┆ ┆ ┆ │\n", "│ 0.0 ┆ 2024-08-02 ┆ 2024-08-03 ┆ 1440 ┆ … ┆ {\"1997-01-0 ┆ false ┆ true ┆ 0.0 │\n", "│ ┆ 00:00:00 UTC ┆ 00:00:00 ┆ ┆ ┆ 1T00:00:00Z ┆ ┆ ┆ │\n", "│ ┆ ┆ UTC ┆ ┆ ┆ \",\"2024-… ┆ ┆ ┆ │\n", "│ 0.0 ┆ 2024-08-03 ┆ 2024-08-04 ┆ 1440 ┆ … ┆ {\"1997-01-0 ┆ false ┆ true ┆ 0.0 │\n", "│ ┆ 00:00:00 UTC ┆ 00:00:00 ┆ ┆ ┆ 1T00:00:00Z ┆ ┆ ┆ │\n", "│ ┆ ┆ UTC ┆ ┆ ┆ \",\"2024-… ┆ ┆ ┆ │\n", "│ 0.0 ┆ 2024-08-04 ┆ 2024-08-05 ┆ 1440 ┆ … ┆ {\"1997-01-0 ┆ false ┆ true ┆ 0.0 │\n", "│ ┆ 00:00:00 UTC ┆ 00:00:00 ┆ ┆ ┆ 1T00:00:00Z ┆ ┆ ┆ │\n", "│ ┆ ┆ UTC ┆ ┆ ┆ \",\"2024-… ┆ ┆ ┆ │\n", "│ 0.0 ┆ 2024-08-05 ┆ 2024-08-06 ┆ 1440 ┆ … ┆ {\"1997-01-0 ┆ false ┆ true ┆ 0.0 │\n", "│ ┆ 00:00:00 UTC ┆ 00:00:00 ┆ ┆ ┆ 1T00:00:00Z ┆ ┆ ┆ │\n", "│ ┆ ┆ UTC ┆ ┆ ┆ \",\"2024-… ┆ ┆ ┆ │\n", "│ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … ┆ … │\n", "│ 0.0 ┆ 2024-08-27 ┆ 2024-08-28 ┆ 1440 ┆ … ┆ {\"1997-01-0 ┆ false ┆ true ┆ 1.15 │\n", "│ ┆ 00:00:00 UTC ┆ 00:00:00 ┆ ┆ ┆ 1T00:00:00Z ┆ ┆ ┆ │\n", "│ ┆ ┆ UTC ┆ ┆ ┆ \",\"2024-… ┆ ┆ ┆ │\n", "│ 0.0 ┆ 2024-08-28 ┆ 2024-08-29 ┆ 1406 ┆ … ┆ {\"1997-01-0 ┆ false ┆ true ┆ 1.15 │\n", "│ ┆ 00:00:00 UTC ┆ 00:00:00 ┆ ┆ ┆ 1T00:00:00Z ┆ ┆ ┆ │\n", "│ ┆ ┆ UTC ┆ ┆ ┆ \",\"2024-… ┆ ┆ ┆ │\n", "│ 0.0 ┆ 2024-08-29 ┆ 2024-08-30 ┆ 1440 ┆ … ┆ {\"1997-01-0 ┆ false ┆ true ┆ 1.15 │\n", "│ ┆ 00:00:00 UTC ┆ 00:00:00 ┆ ┆ ┆ 1T00:00:00Z ┆ ┆ ┆ │\n", "│ ┆ ┆ UTC ┆ ┆ ┆ \",\"2024-… ┆ ┆ ┆ │\n", "│ 0.0 ┆ 2024-08-30 ┆ 2024-08-31 ┆ 1440 ┆ … ┆ {\"1997-01-0 ┆ false ┆ true ┆ 1.15 │\n", "│ ┆ 00:00:00 UTC ┆ 00:00:00 ┆ ┆ ┆ 1T00:00:00Z ┆ ┆ ┆ │\n", "│ ┆ ┆ UTC ┆ ┆ ┆ \",\"2024-… ┆ ┆ ┆ │\n", "│ 0.0 ┆ 2024-08-31 ┆ 2024-09-01 ┆ 1440 ┆ … ┆ {\"1997-01-0 ┆ false ┆ true ┆ 1.15 │\n", "│ ┆ 00:00:00 UTC ┆ 00:00:00 ┆ ┆ ┆ 1T00:00:00Z ┆ ┆ ┆ │\n", "│ ┆ ┆ UTC ┆ ┆ ┆ \",\"2024-… ┆ ┆ ┆ │\n", "└───────┴──────────────┴─────────────┴───────┴───┴─────────────┴─────────────┴───────────┴─────────┘" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = Precipitation(\n", " stid=\"wbb\",\n", " start=datetime(2024, 8, 1),\n", " end=datetime(2024, 9, 1),\n", " pmode=\"intervals\",\n", " units=\"english\",\n", " interval=\"day\",\n", ").df()\n", "\n", "# Calculate cumulative precipitation for the time period\n", "df = df.with_columns(cum_sum=pl.col(\"total\").cum_sum())\n", "df" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAHRCAYAAABdD+k+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABsXElEQVR4nO3dd3iUxdrH8d+mhzRIII0aegmCgggqAkpVwY4eRUXAI4oFsRw4el6KBVFEbIB4KFZEEDuiUbqAFEGqgBCKmhABSUJC2u68f3CyuiQh2ZBkS76f69rrcmfnmbl3M4bcO/PMWIwxRgAAAACAEvm4OgAAAAAAcHckTgAAAABQChInAAAAACgFiRMAAAAAlILECQAAAABKQeIEAAAAAKUgcQIAAACAUpA4AQAAAEApSJwAAAAAoBQkTgC81iuvvCKLxaLExERXh1Ju06ZN09y5c8tUNyMjQ88884y6d++u2NhYhYaGqm3btpo0aZJycnKK1M/Pz9f48ePVqFEjBQYGqmXLlnr11VeL1Pvvf/+ra6+9Vo0aNVJwcLCaNm2qe++9VykpKWeN58iRI4qKipLFYtHChQtLjf/AgQOyWCz2h4+Pj6KionTllVdq7dq1ZfoMKtLcuXNlsVh04MCBcl1vsVg0btw4+/OdO3dq3Lhx5W5PktasWaNx48bpxIkTRV7r3r27unfvXu62q8Kzzz6rTz75pNR6VqtVNWvWVL9+/Yq89tJLL8lisegf//hHkdeeeuopWSwWbd26VZI0bty4ImMqLi5OV155pb7//nuHa88cfxaLReHh4WrXrp2mTp0qq9VavjcNwHsYAPBS7dq1M5KMJLNu3TpXh1Mubdq0Md26dStT3W3btpnatWubhx9+2Hz66afmu+++M+PGjTNBQUHmiiuuMDabzaH+sGHDTGBgoHn++efNsmXLzOjRo43FYjHPPPOMQ734+Hhz2223mffee88sX77cvPHGG6ZevXomLi7OpKamlhjPDTfcYOLj440ks2DBglLjT05ONpLMAw88YNauXWtWr15t3njjDRMfH28CAwPNjz/+WKbPoaKkpaWZtWvXmpycnHJdv3btWnP48GH78wULFhhJZtmyZeWO6YUXXjCSTHJycpHXduzYYXbs2FHutqtCSEiIufPOO8tU9+qrrzahoaEmPz/foXzAgAEmJCTExMTEFLnm8ssvN1FRUfaxPnbsWCPJLFmyxKxdu9Z8//33Zt68eeb88883fn5+ZtOmTfZrzxx/a9euNV999ZW59957jSQzatSo8r9xAF6BxAmAV9qwYYORZK666iojydx9992uDqlcnEmcTp48aU6ePFmkvPCP7VWrVtnLtm/fbiwWi3n22Wcd6t59990mODjYHDt2zF525MiRIm0Wfr5PPfVUsbEsXLjQhIaGmrfeesvpxOmFF15wKP/uu++MJDNs2LASr83Ozi6SGLqbyk6cPIEzidOLL75oJJm1a9fay6xWq6lVq5Z59NFHjSSzc+dO+2u5ubkmODjY3HDDDfaywsTpjz/+cGh73759RpIZM2aMvayk8WeMMV27djVxcXFlfZsAvBRL9QB4pVmzZkmSnnvuOV188cX64IMPlJ2d7VBn+fLlslgsWr58uUN54ZKdM5fIvfnmm2revLkCAwPVunVrvf/++xo8eLAaNWpUrjb379+vW265RfHx8QoMDFRMTIyuuOIKbdmyRZLUqFEj7dixQytWrLAvHfp7X2cKCQlRSEhIkfJOnTpJkg4fPmwv++STT2SM0V133eVQ96677tKpU6e0ZMkSe1l0dHSRNjt06CBfX1+HNgsdP35cI0aM0DPPPKMGDRqUGG9Zde7cWZJ08OBBSX8tofvmm280ZMgQ1alTRzVq1FBubq4kaf78+erSpYtCQkIUGhqqPn36aPPmzUXa/eGHH9S/f39FRUUpKChITZo00ciRI+2vF7dUr3v37kpMTNSqVavUuXNnBQcHq27duvrPf/5TZCnX35fqzZ07VzfddJMkqUePHvafZ+F4SEpK0jXXXKN69eopKChITZs21T333KOjR4/a2xs3bpwee+wxSVJCQoK9jcKxVtxSvePHj+u+++5T3bp1FRAQoMaNG+uJJ56wf1Z/j/X+++/XO++8o1atWqlGjRpq166dvvjii1J+OlJOTo4eeeQRtW/fXhEREYqMjFSXLl306aefFukjKytLb731lj32sy0t7NGjhyQ5/L/0008/6c8//9Q///lPxcXFadmyZfbXfvjhB506dcp+3dlERERIkvz9/UutW1i/rHUBeC8SJwBe59SpU5o3b54uvPBCJSYmasiQIcrMzNSCBQvK3ebMmTP1z3/+U+edd54WLVqkJ598UuPHjy+SIDnjyiuv1KZNm/T8888rKSlJ06dP1/nnn2+/f+Xjjz9W48aNdf7552vt2rVau3atPv74Y6f7Wbp0qSSpTZs29rLt27erTp06io2Ndah73nnn2V8/mxUrVshqtTq0WejBBx9UQkKC7r//fqdjLc4vv/wiSapTp45D+ZAhQ+Tv76933nlHCxculL+/v5599ln94x//UOvWrfXhhx/qnXfeUWZmprp27aqdO3far/3666/VtWtXHTp0SFOmTNFXX32lJ598UkeOHCk1ntTUVN1yyy267bbb9Omnn+rGG2/U008/rYceeqjEa6666io9++yzkqTXX3/d/vO86qqrJEn79u1Tly5dNH36dH3zzTf6v//7P/3www+69NJLlZ+fL0kaNmyYHnjgAUnSokWL7G1ccMEFxfaZk5OjHj166O2339aoUaP05ZdfatCgQXr++ed1/fXXF6n/5Zdf6rXXXtOECRP00UcfKTIyUtddd532799/1s8jNzdXx48f16OPPqpPPvlE8+bN06WXXqrrr79eb7/9tr3e2rVrFRwcbL9nbe3atZo2bVqJ7bZr1061atVySI6WLVumuLg4NWvWTJdddpnD/3+F9YpLnKxWqwoKCpSXl6dffvlFI0aMUGBgoG688cYidW02mwoKClRQUKBjx45p9uzZWrJkiW6//fazfg4AqgFXT3kBQEV7++23jSQzY8YMY4wxmZmZJjQ01HTt2tWh3rJly4pdOlW4ZGfOnDnGmNPLg2JjY81FF13kUO/gwYPG39/fNGzY0Ok2jx49aiSZqVOnnvW9OLNUrzg//fSTCQ4ONtddd51Dea9evUyLFi2KvSYgIMD885//LLHNjIwM06pVK1O/fn2TmZnp8NoXX3xh/P39zbZt24wxf30ezizVmzRpksnPzzc5OTlm06ZN5sILLzSSzJdffmmMMWbOnDlGkrnjjjscrj906JDx8/MzDzzwgEN5ZmamiY2NNQMHDrSXNWnSxDRp0sScOnWqxHgK+/n7srhu3boZSebTTz91qHv33XcbHx8fc/DgQXuZJDN27Fj787Iu1bPZbCY/P98cPHiwSF9nW6rXrVs3h7EyY8YMI8l8+OGHDvUmTZpkJJlvvvnGIdaYmBiTkZFhL0tNTTU+Pj5m4sSJZ433TAUFBSY/P98MHTrUnH/++Q6vObNUzxhjrr32WhMSEmK/z6l///7mlltuMcYYM23aNFOnTh37Es0ePXqY6Ohoh+sLl+qd+QgPDzeLFi1yqFs4/op7DB482BQUFDj1OQDwPsw4AfA6s2bNUnBwsG655RZJUmhoqG666SatWrVKe/fudbq93bt3KzU1VQMHDnQob9CggS655JJyxRgZGakmTZrohRde0JQpU7R582bZbLZytVWSAwcO6Oqrr1b9+vX13//+t8jrFoulxGtLei0nJ0fXX3+9Dh48qAULFig0NNT+Wnp6uu655x7961//OqedDP/1r3/J399fQUFB6tChgw4dOqQ33nhDV155pUO9G264weH5119/rYKCAt1xxx32GYOCggIFBQWpW7du9tmJPXv2aN++fRo6dKiCgoKcji8sLEwDBgxwKLv11ltls9m0cuVKp9uTpLS0NA0fPlz169eXn5+f/P391bBhQ0nSrl27ytXm0qVLFRISUmRWZfDgwZKk7777zqG8R48eCgsLsz+PiYlRdHS0fYnk2SxYsECXXHKJQkND7fHPmjWr3LH/PaasrCxt2LBBNptNq1atsi/v69atm/744w/t2LFDubm5WrduXYnL9L799ltt2LBB69ev1xdffKGePXvqlltuKXYG96GHHtKGDRu0YcMGLVu2TM8++6w+/PDDYnfxA1C9+Lk6AACoSL/88otWrlypG264QcYY+7K3G2+8UXPmzNHs2bM1ceJEp9o8duyYpNN/SJ4pJiZGycnJTsdpsVj03XffacKECXr++ef1yCOPKDIyUrfddpueeeYZhz9gy+PgwYPq0aOH/Pz89N133ykyMtLh9aioKPu9VH+XlZWlvLy8IvWl00uyrrvuOq1evVpffPGFLrroIofXn3jiCfn7++v++++3f+4nT56UJGVnZ+vEiROKiIg4a8Imnf7DddCgQfLx8VHNmjXt9/OcKS4uzuF54TK7Cy+8sNh2fXxOf1f4xx9/SJLq1at31jhKUtw4KFzyWDhWnGGz2dS7d2/9/vvv+s9//qO2bdsqJCRENptNnTt31qlTp8oV57FjxxQbG1vks4uOjpafn1+RWKOiooq0ERgYWGr/ixYt0sCBA3XTTTfpscceU2xsrPz8/DR9+nTNnj27XLEXKkyEli1bpoCAAJ04cULdunWTJLVu3Vp16tTR8uXLdezYsbPe39SuXTvVrl3b/rxfv35q27atRowYoeuuu86hbr169dSxY0f78+7du8tisWjMmDH6+uuv1adPn3N6TwA8F4kTAK8ye/ZsGWO0cOHCYs8Oeuutt/T000/L19fXPttw5o3yf78hX/rrD8ri7n9JTU11eF7WNiWpYcOG9k0s9uzZow8//FDjxo1TXl6eZsyYcdb3eTYHDx5U9+7dZYzR8uXLi00Q2rZtqw8++ECpqakO9zlt27ZNkorMGOXm5uraa6/VsmXL9Omnn+qKK64o0ub27dt14MCBIvdNSdKdd94pSfrzzz9Vs2bNs8Z/5h+uJTkzISj8w3jhwoX22ZriFN4r9euvv5baR3HONg6KSz5Ks337dv3000+aO3eu/XOS/rq3q7yioqL0ww8/yBjj8FmlpaWpoKDAIZE4F++++64SEhI0f/58h37O/H+gPBITE+3JUeEGKi1btrS/ftlll2nZsmX2JLAsG0NIp5PoNm3aaMGCBUpLSyt2A5S/K7z376effiJxAqoxluoB8BpWq1VvvfWWmjRpomXLlhV5PPLII0pJSdFXX30lSfYd6goPyyz02WefOTxv0aKFYmNj9eGHHzqUHzp0SGvWrHEoK2ubZ2revLmefPJJtW3bVj/++KO9vCzf+J8ZU/fu3WW1WrV06dISE4hrrrlGFotFb731lkP53LlzFRwcrL59+9rLCmeali5dqo8++qjEPxynTp1a5DN/6aWXJJ3eEW7ZsmUOS/sqWp8+feTn56d9+/apY8eOxT6k0591kyZNNHv27HL9cZ+ZmVnk5/n+++/Lx8dHl112WYnXBQYGSlKRn2dhslH4eqE33nijzG0U54orrtDJkyeLHDhbuGFDcclveVgsFgUEBDgkTampqUV21ZOcH88Wi0XdunXTmjVrlJSUZJ9tKtStWzetWLFCy5YtU3x8vJo3b16mdq1Wq7Zt26bAwECFh4eXWr9wdra0BAuAd2PGCYDX+Oqrr/T7779r0qRJxW5znJiYqNdee02zZs3S1VdfrdjYWPXs2VMTJ05UrVq11LBhQ3333XdatGiRw3U+Pj4aP3687rnnHt14440aMmSITpw4ofHjxysuLs6+BExSmdvcunWr7r//ft10001q1qyZAgICtHTpUm3dulWjR4+21yucGZo/f74aN26soKAgtW3bttj3n5aWph49eiglJUWzZs1SWlqa0tLS7K/Xq1fPPvvUpk0bDR06VGPHjpWvr68uvPBCffPNN5o5c6aefvpph6V6N954o7766is98cQTioqK0rp16+yvhYeHq3Xr1pKk9u3bl/izadOmzVm3nq4IjRo10oQJE/TEE09o//796tu3r2rVqqUjR45o/fr1CgkJ0fjx4yWd3tmuf//+6ty5sx5++GE1aNBAhw4d0tdff6333nvvrP1ERUXp3nvv1aFDh9S8eXMtXrxYb775pu69996zbr9eOIs3c+ZMhYWFKSgoSAkJCWrZsqWaNGmi0aNHyxijyMhIff7550pKSirSRuHP/uWXX9add94pf39/tWjRotilnXfccYdef/113XnnnTpw4IDatm2r1atX69lnn9WVV16pnj17lvmzPZurr75aixYt0n333acbb7xRhw8f1lNPPaW4uLgi9xS2bdtWy5cv1+eff664uDiFhYWpRYsWZ22/R48eWrhwob755hu99tprDq9169ZNx44d08qVK3XrrbeW2MamTZvsW5AfOXJEs2fP1s8//6yHH364yH1uhw4dso/xrKwsrV27VhMnTlTDhg2L3Y0QQDXi0q0pAKACXXvttSYgIMCkpaWVWOeWW24xfn5+JjU11RhjTEpKirnxxhtNZGSkiYiIMIMGDTIbN2502AGv0MyZM03Tpk1NQECAad68uZk9e7a55ppriuwcVpY2jxw5YgYPHmxatmxpQkJCTGhoqDnvvPPMSy+95LB714EDB0zv3r1NWFiYkeSwg9+ZCnewK+nx9x3ejDEmLy/PjB071jRo0MD+nl555ZUi7Z6tzdJ2/CvPrnrFHUD6d4W73W3YsKHY1z/55BPTo0cPEx4ebgIDA03Dhg3NjTfeaL799luHemvXrjX9+vUzERERJjAw0DRp0sQ8/PDDRfo5c1e9Nm3amOXLl5uOHTuawMBAExcXZ/7973/bd34rVNxnPnXqVJOQkGB8fX0dxsPOnTtNr169TFhYmKlVq5a56aabzKFDh4ptY8yYMSY+Pt74+Pg47NJ35q56xhhz7NgxM3z4cBMXF2f8/PxMw4YNzZgxY0xOTk6RWEeMGFHks2zYsGGZdsF77rnnTKNGjUxgYKBp1aqVefPNN+072v3dli1bzCWXXGJq1KhRpvFjzOnPpnC8bd++3eE1m81mIiMjjSTz5ptvFrm2uF31IiMjzUUXXWRmz55trFarvW5xu+oFBQWZ5s2bm5EjR5qUlJRSYwXg3SzGGFOJeRkAeK0TJ06oefPmuvbaazVz5kxXh4Mq0L17dx09erTUc64AAN6HpXoAUAapqal65pln1KNHD0VFRengwYN66aWXlJmZedaDTwEAgHcgcQKAMggMDNSBAwd033336fjx46pRo4Y6d+6sGTNmqE2bNq4ODwAAVDKW6gEAAABAKdiOHAAAAABKQeIEAAAAAKVwaeK0cuVK9e/fX/Hx8bJYLEUO6TvTokWL1KtXL9WpU0fh4eHq0qWLvv7666oJFgAAAEC15dLNIbKystSuXTvddddduuGGG0qtv3LlSvXq1UvPPvusatasqTlz5qh///764YcfdP7555epT5vNpt9//11hYWEOp5wDAAAAqF6MMcrMzFR8fLzDgfbFcZvNISwWiz7++GNde+21Tl3Xpk0b3Xzzzfq///u/MtX/9ddfVb9+/XJECAAAAMAbHT58WPXq1TtrHY/ejtxmsykzM1ORkZEl1snNzVVubq79eWGeePjwYYWHh1d6jAAAAADcU0ZGhurXr6+wsLBS63p04vTiiy8qKytLAwcOLLHOxIkTNX78+CLl4eHhJE4AAAAAynQLj8fuqjdv3jyNGzdO8+fPV3R0dIn1xowZo/T0dPvj8OHDVRglAAAAAG/gkTNO8+fP19ChQ7VgwQL17NnzrHUDAwMVGBhYRZEBAAAA8EYeN+M0b948DR48WO+//76uuuoqV4cDAAAAoBpw6YzTyZMn9csvv9ifJycna8uWLYqMjFSDBg00ZswY/fbbb3r77bclnU6a7rjjDr388svq3LmzUlNTJUnBwcGKiIio0NisVqvy8/MrtM3qyN/fX76+vq4OAwAAADgnLt2OfPny5erRo0eR8jvvvFNz587V4MGDdeDAAS1fvlyS1L17d61YsaLE+mWRkZGhiIgIpaenF7s5hDFGqampOnHihDNvBWdRs2ZNxcbGcm4WAAAA3EppucHfuc05TlWltA8nJSVFJ06cUHR0tGrUqMEf++fAGKPs7GylpaWpZs2aiouLc3VIAAAAgJ0ziZNHbg5RWaxWqz1pioqKcnU4XiE4OFiSlJaWpujoaJbtAQAAwCN53OYQlanwnqYaNWq4OBLvUvh5cs8YAAAAPBWJUzFYnlex+DwBAADg6UicAAAAAKAU3OOEcmvUqJFGjhypkSNHujoUAACqNavNaH3ycaVl5ig6LEidEiLl61PxKz6qoh9vei/04979WG1G6/cfL3N9EqdKUlWDSip9KVxp27VbLBZ9/PHHuvbaays2MAAAUOmWbE/R+M93KiU9x14WFxGksf1bq29ixe1oWxX9eNN7oR/37qewj9/Syp44sVSvEizZnqJLJy3VP95cp4c+2KJ/vLlOl05aqiXbUyqlv5SUFPtj6tSpCg8Pdyh7+eWXK6VfAADgWku2p+jed390+ANTklLTc3Tvuz9W2N8eVdGPN70X+nHvfkrqozQkThWsqgbV38XGxtofERERslgsDmXvv/++mjRpooCAALVo0ULvvPOO/dpGjRpJkq677jpZLBb783379umaa65RTEyMQkNDdeGFF+rbb7+t8NgBAED5WG1G4z/fqeIO5CwsG//5Tllt53ZkZ1X0403vhX7cu5+z9VEaluqVwhijU/nWMtW12ozGfrajxB+2RdK4z3bqkqa1y7RsL9jf95x3pPv444/10EMPaerUqerZs6e++OIL3XXXXapXr5569OihDRs2KDo6WnPmzFHfvn3t5yydPHlSV155pZ5++mkFBQXprbfeUv/+/bV79241aNDgnGICAADnbn3y8bN+Y24kpaTnaPCc9aoTFljufv7IzK30fqqiD/qhn7L0cTYkTqU4lW9V6//7ukLaMpJSM3LUdtw3Zaq/c0If1Qg4tx/R5MmTNXjwYN13332SpFGjRmndunWaPHmyevTooTp16kiSatasqdjYWPt17dq1U7t27ezPn376aX388cf67LPPdP/9959TTAAA4Nzt/D29TPVW7T1ayZFUXT/e9F7ox/37OROJk5fbtWuX/vnPfzqUXXLJJaXe95SVlaXx48friy++0O+//66CggKdOnVKhw4dqsxwAQDAWWTk5OvLrSn6aNOv2njwzzJdc9tF9dUwKqTcfR48lqX3fjhcqf1URR/0Qz/O9FEcEqdSBPv7aueEPmWquz75uAbP2VBqvbl3XahOCZFl6rsinLnczxhT6hLAxx57TF9//bUmT56spk2bKjg4WDfeeKPy8vIqJCYAAFA2BVabVv1yVB9t+lVJO48ot8Am6fQtAP5+Psr73/MzWSTFRgRpwjVtz2lnX6vNaOnPfyg1PafY2xEqop+q6IN+6KcsfZwNm0OUwmKxqEaAX5keXZvVUVxEkEr6MVp0eivFrs3qlKm9c72/SZJatWql1atXO5StWbNGrVq1sj/3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6uZnNoYAALdVpqV6pSVNJ06ccKo+AAAoaveR04kTG0MAgPtxele9SZMmaf78+fbnAwcOVFRUlOrWrauffvrJ6QCmTZumhIQEBQUFqUOHDlq1atVZ67/33ntq166datSoobi4ON111106duyY0/0CAOBOsnILdOh4tiRmnADAHTmdOL3xxhuqX7++JCkpKUlJSUn66quv1K9fPz322GNOtTV//nyNHDlSTzzxhDZv3qyuXbuqX79+OnToULH1V69erTvuuENDhw7Vjh07tGDBAm3YsEHDhg1z9m0AAOBW9hzJlDFS7dBARYWyQy0AuBunE6eUlBR74vTFF19o4MCB6t27tx5//HFt2LDBqbamTJmioUOHatiwYWrVqpWmTp2q+vXra/r06cXWX7dunRo1aqQHH3xQCQkJuvTSS3XPPfdo48aNzr4NAADcSuGOeizTAwD35HTiVKtWLR0+fFiStGTJEvXs2VOSZIyR1Wotczt5eXnatGmTevfu7VDeu3dvrVmzpthrLr74Yv36669avHixjDE6cuSIFi5cqKuuuqrEfnJzc5WRkeHwAADA3bAxBAC4N6cTp+uvv1633nqrevXqpWPHjqlfv36SpC1btqhp06Zlbufo0aOyWq2KiYlxKI+JiVFqamqx11x88cV67733dPPNNysgIECxsbGqWbOmXn311RL7mThxoiIiIuyPwtkyAADcyW4SJwBwa04nTi+99JLuv/9+tW7dWklJSQoNDZV0egnffffd53QAFovjAX/GmCJlhXbu3KkHH3xQ//d//6dNmzZpyZIlSk5O1vDhw0tsf8yYMUpPT7c/CmfLAABwF8YYdtQDADdXpnOc/s7f31+PPvpokfKRI0c61U7t2rXl6+tbZHYpLS2tyCxUoYkTJ+qSSy6xb0Jx3nnnKSQkRF27dtXTTz+tuLi4ItcEBgYqMJCbbAEA7uuPk7k6npUnH4vULJrECQDckdMzTpL0zjvv6NJLL1V8fLwOHjwoSZo6dao+/fTTMrcREBCgDh06KCkpyaE8KSlJF198cbHXZGdny8fHMWRfX19Jp7+tAwDAExUu02sUFaLgAF8XRwMAKI7TidP06dM1atQo9evXTydOnLBvCFGzZk1NnTrVqbZGjRql//73v5o9e7Z27dqlhx9+WIcOHbIvvRszZozuuOMOe/3+/ftr0aJFmj59uvbv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T1X1UVX9MKbdtx9jjDp06KD4+PhS67oscapdu7Z8fX2VmprqUJ6WlqaYmJhir4mNjS22vp+fn6Kiooq9JjAwUIGBgUXKIiIiziH6svH19a30/zno59yEh4dXal/e9pnRj3v3U9njWfK+z4x+3LOPQozp6t2PN72XQoxp9+wnICBAPj6lb/3gss0hAgIC1KFDByUlJTmUJyUl6eKLLy72mi5duhSp/80336hjx47F3t9UkhEjRjgfcDnQj3v3UxW87TOjH/fupyp422dGP+7ZR1Xypp+Nt/XjTe+lKnnb5+ZOY81iTFnuhKoc8+fP1+23364ZM2aoS5cumjlzpt58803t2LFDDRs21JgxY/Tbb7/p7bfflnR6O/LExETdc889uvvuu7V27VoNHz5c8+bN0w033OCqtwEPlJGRoYiICKWnp1fZt0xAZWE8w9swpuFtGNPewaX3ON188806duyYJkyYoJSUFCUmJmrx4sVq2LChJCklJcXhTKeEhAQtXrxYDz/8sF5//XXFx8frlVdeIWmC0wIDAzV27NgiyzgBT8R4hrdhTMPbMKa9g0tnnAAAAADAE7j0AFwAAAAA8AQkTgAAAABQChInAAAAACgFiRMAAAAAlILECW5t2rRpSkhIUFBQkDp06KBVq1YVqbNr1y4NGDBAERERCgsLU+fOnR12YyzJr7/+qoCAALVs2bIyQgeKWLlypfr376/4+HhZLBZ98sknReqMGzdOLVu2VEhIiGrVqqWePXvqhx9+KFP7jGlUtYkTJ+rCCy9UWFiYoqOjde2112r37t0OdYwxGjdunOLj4xUcHKzu3btrx44dZWqfMY2qVJbxbLFYin288MILpbbPePZ8JE5wW/Pnz9fIkSP1xBNPaPPmzeratav69evnkBTt27dPl156qVq2bKnly5frp59+0n/+8x8FBQWV2v7cuXM1cOBAZWdn6/vvv6/MtwJIkrKystSuXTu99tprJdZp3ry5XnvtNW3btk2rV69Wo0aN1Lt3b/3xxx+lts+YRlVbsWKFRowYoXXr1ikpKUkFBQXq3bu3srKy7HWef/55TZkyRa+99po2bNig2NhY9erVS5mZmaW2z5hGVSrLeE5JSXF4zJ49WxaLpUxH4zCevYAB3FSnTp3M8OHDHcpatmxpRo8ebX9+8803m0GDBjndts1mM40bNzZLliwx//rXv8xdd93l8PqyZcuMJPPnn3/ayzZv3mwkmeTkZHvZzJkzTb169UxwcLC59tprzYsvvmgiIiKcjgfVjyTz8ccfl1ovPT3dSDLffvvtWesxpuEO0tLSjCSzYsUKY8zpcRkbG2uee+45e52cnBwTERFhZsyYcda2GNNwtTPHc3GuueYac/nll5faFuPZOzDjBLeUl5enTZs2qXfv3g7lvXv31po1ayRJNptNX375pZo3b64+ffooOjpaF110UbHLn860bNkyZWdnq2fPnrr99tv14Ycflunbz7/7/vvvNXz4cD300EPasmWLevXqpWeeecapNoCzycvL08yZMxUREaF27dqdtS5jGu4gPT1dkhQZGSlJSk5OVmpqqsPv8sDAQHXr1s3+u7wkjGm42pnj+UxHjhzRl19+qaFDh5baFuPZO5A4wS0dPXpUVqtVMTExDuUxMTFKTU2VJKWlpenkyZN67rnn1LdvX33zzTe67rrrdP3112vFihVnbX/WrFm65ZZb5OvrqzZt2qhp06aaP3++UzG++uqr6tevnx599FE1b95c9913n/r16+fcGwWK8cUXXyg0NFRBQUF66aWXlJSUpNq1a5/1GsY0XM0Yo1GjRunSSy9VYmKiJNl/X5/td3lJGNNwpeLG85neeusthYWF6frrry+1PcazdyBxgluzWCwOz40x9jKbzSZJuuaaa/Twww+rffv2Gj16tK6++mrNmDGjxDZPnDihRYsWadCgQfayQYMGafbs2U7Ftnv3bnXq1Mmh7MznQHn06NFDW7Zs0Zo1a9S3b18NHDhQaWlpJdZnTMMd3H///dq6davmzZtX5LWz/S4vDmMarna28Vxo9uzZuu2220q9r5rx7D38XB0AUJzatWvL19e3yDeSaWlp9m8ua9euLT8/P7Vu3dqhTqtWrbR69eoS237//feVk5Ojiy66yF5mjJHNZtPOnTvVunVr+fj42MsL5efnO7RT3D/8f68PlFdISIiaNm2qpk2bqnPnzmrWrJlmzZqlMWPGFFufMQ1Xe+CBB/TZZ59p5cqVqlevnr08NjZW0umZp7i4OHv533+XF4cxDVcqaTz/3apVq7R79+4yzRoxnr0HM05wSwEBAerQoYOSkpIcypOSknTxxRfb61x44YVFtgrds2ePGjZsWGLbs2bN0iOPPKItW7bYHz/99JN69Ohh//anTp06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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10, 5))\n", "ax = plt.gca()\n", "\n", "ax.plot(df[\"last_report\"], df[\"cum_sum\"], marker=\"o\", label=\"Total\")\n", "ax.bar(\n", " df[\"first_report\"],\n", " df[\"total\"],\n", " width=timedelta(days=1),\n", " align=\"edge\",\n", " edgecolor=\"w\",\n", " color=\"tab:green\",\n", " label=\"Daily\",\n", ")\n", "ax.xaxis.set_major_formatter(mdates.DateFormatter(\"%d %b\\n%Y\"))\n", "ax.xaxis.set_major_locator(mdates.WeekdayLocator(1))\n", "ax.xaxis.set_minor_locator(mdates.DayLocator())\n", "ax.set_xlim(df[\"first_report\"].min(), df[\"first_report\"].max())\n", "\n", "# ---------\n", "# Cosmetics\n", "ax.set_ylabel(\"Precipitation (inches)\")\n", "ax.set_title(\"August 2024 Precipitation at WBB\")\n", "ax.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Stations with more than 1 inch precipitation in a week" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "🚚💨 Speedy delivery from Synoptic's \u001b[32mprecipitation\u001b[0m service.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "📦 Received data from 1,050 stations.\n" ] } ], "source": [ "df = Precipitation(\n", " state=\"UT\",\n", " pmode=\"totals\",\n", " start=\"2024-06-01\",\n", " end=\"2024-06-07\",\n", " units=\"english\",\n", ").df()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "shape: (3, 19)
totalfirst_reportlast_reportcountreport_typeunitsidstidnameelevationlatitudelongitudemnet_idstatetimezoneelev_demperiod_of_recordis_restrictedis_active
f64datetime[μs, UTC]datetime[μs, UTC]i64strstru32strstrf64f64f64u32strstrf64struct[2]boolbool
1.12024-06-01 00:00:00 UTC2024-06-07 00:00:00 UTC144"precip_accum""Inches"1490"MCRU1""MONTE CRISTO"8931.041.46547-111.4968825"UT""America/Denver"8950.1{"2000-01-20T00:00:00Z","2024-11-11T20:00:00Z"}falsetrue
1.432024-06-01 00:00:00 UTC2024-06-07 00:00:00 UTC576"precip_accum_fifteen_minute""Inches"72189"UCC42""Centerfield"5164.039.09943-111.8077194"UT""America/Denver"5164.0{"2018-09-18T18:04:00Z","2024-11-11T22:00:00Z"}falsetrue
3.622024-06-01 00:00:00 UTC2024-06-07 00:00:00 UTC556"precip_accum""Inches"2957"BLKU1""BLACKS FORK COMMISSARY NEAR CO…8845.040.96083-110.57944106"UT""America/Denver"8848.4{"2001-06-06T00:00:00Z","2024-11-11T22:00:00Z"}falsetrue
" ], "text/plain": [ "shape: (3, 19)\n", "┌───────┬─────────────┬─────────────┬───────┬───┬──────────┬─────────────┬─────────────┬───────────┐\n", "│ total ┆ first_repor ┆ last_report ┆ count ┆ … ┆ elev_dem ┆ period_of_r ┆ is_restrict ┆ is_active │\n", "│ --- ┆ t ┆ --- ┆ --- ┆ ┆ --- ┆ ecord ┆ ed ┆ --- │\n", "│ f64 ┆ --- ┆ datetime[μs ┆ i64 ┆ ┆ f64 ┆ --- ┆ --- ┆ bool │\n", "│ ┆ datetime[μs ┆ , UTC] ┆ ┆ ┆ ┆ struct[2] ┆ bool ┆ │\n", "│ ┆ , UTC] ┆ ┆ ┆ ┆ ┆ ┆ ┆ │\n", "╞═══════╪═════════════╪═════════════╪═══════╪═══╪══════════╪═════════════╪═════════════╪═══════════╡\n", "│ 1.1 ┆ 2024-06-01 ┆ 2024-06-07 ┆ 144 ┆ … ┆ 8950.1 ┆ {\"2000-01-2 ┆ false ┆ true │\n", "│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ 0T00:00:00Z ┆ ┆ │\n", "│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ \",\"2024-… ┆ ┆ │\n", "│ 1.43 ┆ 2024-06-01 ┆ 2024-06-07 ┆ 576 ┆ … ┆ 5164.0 ┆ {\"2018-09-1 ┆ false ┆ true │\n", "│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ 8T18:04:00Z ┆ ┆ │\n", "│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ \",\"2024-… ┆ ┆ │\n", "│ 3.62 ┆ 2024-06-01 ┆ 2024-06-07 ┆ 556 ┆ … ┆ 8848.4 ┆ {\"2001-06-0 ┆ false ┆ true │\n", "│ ┆ 00:00:00 ┆ 00:00:00 ┆ ┆ ┆ ┆ 6T00:00:00Z ┆ ┆ │\n", "│ ┆ UTC ┆ UTC ┆ ┆ ┆ ┆ \",\"2024-… ┆ ┆ │\n", "└───────┴─────────────┴─────────────┴───────┴───┴──────────┴─────────────┴─────────────┴───────────┘" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.filter(pl.col(\"total\") > 1).sort(\"total\")" ] } ], "metadata": { "kernelspec": { "display_name": "synoptic2", "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.12.5" } }, "nbformat": 4, "nbformat_minor": 2 }