{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "sst-intro",
   "metadata": {},
   "source": [
    "# A four-cell sea-surface temperature sample\n",
    "\n",
    "Fetch a tiny NOAA CoastWatch subset, inspect its units, and visualize the four\n",
    "grid centers. This uses `usdata` v0.6 or newer and the optional pandas reader.\n",
    "\n",
    "**Saved outputs are a recorded run.** The execution and source retrieval times\n",
    "below identify the snapshot. NOAA may revise data; a future run can differ.\n",
    "Run **Restart Kernel and Run All Cells** to reproduce the workflow, or change\n",
    "the query cell to explore another small region and timestamp.\n",
    "\n",
    "See [examples setup](../README.md) for the optional environment and execution commands."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "sst-setup",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Executed (UTC): 2026-09-09T00:11:44+00:00\n",
      "usdata 0.7.0; pandas 3.0.5\n"
     ]
    }
   ],
   "source": [
    "from datetime import UTC, datetime\n",
    "\n",
    "import pandas as pd\n",
    "from IPython.display import Markdown, display\n",
    "\n",
    "import usdata\n",
    "from usdata import build_query, get\n",
    "from usdata.fetch import fetch\n",
    "\n",
    "pd.set_option(\"display.max_rows\", 8)\n",
    "pd.set_option(\"display.max_columns\", 8)\n",
    "print(f\"Executed (UTC): {datetime.now(UTC).isoformat(timespec='seconds')}\")\n",
    "print(f\"usdata {usdata.__version__}; pandas {pd.__version__}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "sst-query-notes",
   "metadata": {},
   "source": [
    "## 1. Select the input\n",
    "\n",
    "Bounds are `(west, south, east, north)`. These coordinates select four ocean\n",
    "grid centers at one analysis time. Keep exploratory subsets small; date-only\n",
    "bounds mean midnight, whereas this dataset's analyses are at noon UTC."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "sst-query",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time</th>\n",
       "      <th>latitude</th>\n",
       "      <th>longitude</th>\n",
       "      <th>analysed_sst</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2024-05-06 12:00:00+00:00</td>\n",
       "      <td>30.025</td>\n",
       "      <td>-80.075</td>\n",
       "      <td>26.85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2024-05-06 12:00:00+00:00</td>\n",
       "      <td>30.025</td>\n",
       "      <td>-80.025</td>\n",
       "      <td>26.99</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2024-05-06 12:00:00+00:00</td>\n",
       "      <td>30.075</td>\n",
       "      <td>-80.075</td>\n",
       "      <td>26.78</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2024-05-06 12:00:00+00:00</td>\n",
       "      <td>30.075</td>\n",
       "      <td>-80.025</td>\n",
       "      <td>26.95</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       time  latitude  longitude  analysed_sst\n",
       "0 2024-05-06 12:00:00+00:00    30.025    -80.075         26.85\n",
       "1 2024-05-06 12:00:00+00:00    30.025    -80.025         26.99\n",
       "2 2024-05-06 12:00:00+00:00    30.075    -80.075         26.78\n",
       "3 2024-05-06 12:00:00+00:00    30.075    -80.025         26.95"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dataset = get(\"noaa:coastwatch-sst\")\n",
    "query = build_query(\n",
    "    bbox=(-80.08, 30.02, -80.02, 30.08),\n",
    "    start=\"2024-05-06T12:00Z\",\n",
    "    end=\"2024-05-06T12:00Z\",\n",
    "    variables=[\"analysed_sst\"],\n",
    ")\n",
    "items = fetch(dataset, query)\n",
    "(item,) = items\n",
    "frame = item.open(parse_dates=[\"time\"])\n",
    "display(frame.round({\"latitude\": 3, \"longitude\": 3, \"analysed_sst\": 3}))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "sst-units-notes",
   "metadata": {},
   "source": [
    "## 2. Inspect units and provenance\n",
    "\n",
    "ERDDAP's second CSV record contains units. The reader moves it into metadata\n",
    "instead of treating it as an observation. Coordinates, measurements, and units\n",
    "stay in their original scientific conventions; no unit conversion occurs."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "sst-units",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>source units</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>time</th>\n",
       "      <td>UTC</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>latitude</th>\n",
       "      <td>degrees_north</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>longitude</th>\n",
       "      <td>degrees_east</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>analysed_sst</th>\n",
       "      <td>degree_C</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               source units\n",
       "time                    UTC\n",
       "latitude      degrees_north\n",
       "longitude      degrees_east\n",
       "analysed_sst       degree_C"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "units = frame.attrs[\"units\"]\n",
    "display(pd.Series(units, name=\"source units\").to_frame())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "sst-provenance",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "noaa:coastwatch-sst\n",
      "Retrieved (UTC): 2026-09-09T00:11:44.923930+00:00\n",
      "Bytes: 261; cache hit: False\n",
      "Checksum: sha256:161d5cd3383fb2a6601d298aedd07f16966a47742881204115a1361c5b2a9a2e\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "[Source request](<https://coastwatch.noaa.gov/erddap/griddap/noaacwBLENDEDsstDNDaily.csv?analysed_sst%5B(2024-05-06T12:00:00Z):1:(2024-05-06T12:00:00Z)%5D%5B(30.025):1:(30.075)%5D%5B(-80.075):1:(-80.025)%5D>)"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "for item in items:\n",
    "    print(f\"{item.asset.dataset_id}\")\n",
    "    print(f\"Retrieved (UTC): {item.provenance.retrieved_at.isoformat()}\")\n",
    "    print(f\"Bytes: {item.provenance.size}; cache hit: {item.from_cache}\")\n",
    "    print(f\"Checksum: {item.provenance.checksum}\")\n",
    "    display(Markdown(f\"[Source request](<{item.provenance.source_url}>)\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "sst-analysis-notes",
   "metadata": {},
   "source": [
    "## 3. Summarize and plot\n",
    "\n",
    "This is an **unweighted mean of four nearby grid centers**, not a regional or\n",
    "climate statistic. The axes show grid coordinates, not a projected map. The\n",
    "color scale applies only to this small sample."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "sst-summary",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "4 cells; mean SST: 26.89 degree_C\n"
     ]
    }
   ],
   "source": [
    "print(f\"{len(frame)} cells; mean SST: {frame['analysed_sst'].mean():.2f} {units['analysed_sst']}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "sst-plot",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 600x400 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import MaxNLocator\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(6, 4), layout=\"constrained\")\n",
    "points = ax.scatter(\n",
    "    frame[\"longitude\"],\n",
    "    frame[\"latitude\"],\n",
    "    c=frame[\"analysed_sst\"],\n",
    "    s=700,\n",
    "    marker=\"s\",\n",
    "    cmap=\"viridis\",\n",
    "    edgecolors=\"white\",\n",
    ")\n",
    "for row in frame.itertuples():\n",
    "    ax.annotate(\n",
    "        f\"{row.analysed_sst:.2f}\",\n",
    "        (row.longitude, row.latitude),\n",
    "        ha=\"center\",\n",
    "        va=\"center\",\n",
    "        color=\"#17252a\",\n",
    "        weight=\"bold\",\n",
    "        bbox={\"facecolor\": \"white\", \"alpha\": 0.85, \"edgecolor\": \"none\"},\n",
    "    )\n",
    "ax.set(\n",
    "    xlabel=\"Longitude (degrees east)\",\n",
    "    ylabel=\"Latitude (degrees north)\",\n",
    "    title=\"CoastWatch SST · 6 May 2024, 12:00 UTC\",\n",
    ")\n",
    "ax.ticklabel_format(useOffset=False)\n",
    "ax.xaxis.set_major_locator(MaxNLocator(nbins=4))\n",
    "ax.margins(0.35)\n",
    "fig.colorbar(points, ax=ax, label=f\"SST ({units['analysed_sst']})\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "sst-cache-notes",
   "metadata": {},
   "source": [
    "## 4. Reuse the cached input\n",
    "\n",
    "Fetching the same query again validates and reuses the cached file. Editing\n",
    "`frame` leaves the raw CSV and provenance untouched. For a persistent set of\n",
    "pinned inputs, use a manifest as in the [monthly climate notebook](../monthly-climate/example.ipynb)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "sst-cache",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Second fetch used cache: True\n",
      "Same checksum: True\n"
     ]
    }
   ],
   "source": [
    "(cached,) = fetch(dataset, query)\n",
    "print(f\"Second fetch used cache: {cached.from_cache}\")\n",
    "print(f\"Same checksum: {cached.provenance.checksum == item.provenance.checksum}\")"
   ]
  }
 ],
 "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.14.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
