{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## How to use ciso on structured grids" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2026-09-29T15:02:47.061039Z", "iopub.status.busy": "2026-09-29T15:02:47.060791Z", "iopub.status.idle": "2026-09-29T15:02:48.875283Z", "shell.execute_reply": "2026-09-29T15:02:48.874275Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Downloading data from 'https://github.com/ioos/ciso/releases/download/v0.2.2.post0/Averages_Best_Excluding_Day1.nc' to file '/home/runner/.cache/pooch/7fda05e350e2b6024d65024f525963ce-Averages_Best_Excluding_Day1.nc'.\n" ] } ], "source": [ "import warnings\n", "\n", "import iris\n", "import pooch\n", "\n", "fname = \"Averages_Best_Excluding_Day1.nc\"\n", "version = \"v0.2.2.post0\"\n", "url = f\"https://github.com/ioos/ciso/releases/download/{version}/{fname}\"\n", "\n", "fname = pooch.retrieve(\n", " url,\n", " known_hash=\"sha256:b5446c930003b91b3c35204e39d7beb89da8c16c1f3c2b343a5563a65ecd9265\",\n", ")\n", "\n", "\n", "with warnings.catch_warnings():\n", " warnings.simplefilter(\"ignore\")\n", " cubes = iris.load_raw(fname)\n", "\n", "# Last time step.\n", "salt = cubes.extract_cube(\"sea_water_salinity\")[-1, ...]" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2026-09-29T15:02:48.877140Z", "iopub.status.busy": "2026-09-29T15:02:48.876857Z", "iopub.status.idle": "2026-09-29T15:02:48.884727Z", "shell.execute_reply": "2026-09-29T15:02:48.883917Z" } }, "outputs": [], "source": [ "from netCDF4 import Dataset\n", "\n", "with Dataset(fname) as nc:\n", " lon = nc[\"lon_rho\"][:]\n", " lat = nc[\"lat_rho\"][:]" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2026-09-29T15:02:48.886398Z", "iopub.status.busy": "2026-09-29T15:02:48.886235Z", "iopub.status.idle": "2026-09-29T15:02:48.935635Z", "shell.execute_reply": "2026-09-29T15:02:48.934683Z" } }, "outputs": [], "source": [ "p = salt.coord(\"sea_surface_height_above_reference_ellipsoid\").points\n", "q = salt.data" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2026-09-29T15:02:48.937342Z", "iopub.status.busy": "2026-09-29T15:02:48.937163Z", "iopub.status.idle": "2026-09-29T15:02:48.950438Z", "shell.execute_reply": "2026-09-29T15:02:48.949445Z" } }, "outputs": [], "source": [ "import numpy as np\n", "\n", "from ciso import zslice\n", "\n", "p0 = -250\n", "\n", "isoslice = zslice(q.astype(np.float64), p, p0)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2026-09-29T15:02:48.952601Z", "iopub.status.busy": "2026-09-29T15:02:48.952282Z", "iopub.status.idle": "2026-09-29T15:02:49.236258Z", "shell.execute_reply": "2026-09-29T15:02:49.235433Z" } }, "outputs": [], "source": [ "import cartopy.crs as ccrs\n", "import matplotlib.pyplot as plt\n", "from cartopy.mpl.gridliner import LATITUDE_FORMATTER, LONGITUDE_FORMATTER\n", "\n", "extent = [lon.min(), lon.max(), lat.min(), lat.max()]\n", "\n", "\n", "_plate_carree = ccrs.PlateCarree()\n", "\n", "\n", "def make_map(projection=_plate_carree):\n", " fig, ax = plt.subplots(\n", " figsize=(9, 13),\n", " subplot_kw={\"projection\": projection},\n", " )\n", " gl = ax.gridlines(draw_labels=True)\n", " gl.right_labels = gl.top_labels = False\n", " gl.xformatter = LONGITUDE_FORMATTER\n", " gl.yformatter = LATITUDE_FORMATTER\n", " ax.set_extent(extent)\n", " ax.coastlines(\"50m\")\n", " return fig, ax" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2026-09-29T15:02:49.238525Z", "iopub.status.busy": "2026-09-29T15:02:49.238250Z", "iopub.status.idle": "2026-09-29T15:02:49.629247Z", "shell.execute_reply": "2026-09-29T15:02:49.628345Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from numpy import ma\n", "\n", "fig, ax = make_map()\n", "\n", "cs = ax.pcolormesh(lon, lat, ma.masked_invalid(isoslice))\n", "\n", "kw = {\"shrink\": 0.5, \"orientation\": \"vertical\", \"extend\": \"both\"}\n", "cbar = fig.colorbar(cs, **kw)" ] } ], "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.6" } }, "nbformat": 4, "nbformat_minor": 1 }