{ "cells": [ { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "# Cross-slope section\n", "\n", "We compute a cross-slope section of fields through gridded data in ACCESS-OM2-01 using the `metpy.interpolate.cross_section` function; see https://unidata.github.io/MetPy/latest/examples/cross_section.html#sphx-glr-examples-cross-section-py." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Load modules" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from dask.distributed import Client\n", "import numpy as np\n", "import xarray as xr\n", "import xgcm\n", "import intake\n", "\n", "from metpy.interpolate import cross_section\n", "\n", "import cartopy.crs as ccrs\n", "import matplotlib.pyplot as plt\n", "import matplotlib.path as mpath\n", "import cmocean as cm\n", "from matplotlib.colors import BoundaryNorm\n", "from matplotlib.ticker import (MultipleLocator, AutoMinorLocator)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Start a cluster with multiple cores" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/g/data/xp65/public/apps/med_conda/envs/analysis3-25.08/lib/python3.11/site-packages/distributed/node.py:187: UserWarning: Port 8787 is already in use.\n", "Perhaps you already have a cluster running?\n", "Hosting the HTTP server on port 38267 instead\n", " warnings.warn(\n" ] }, { "data": { "text/html": [ "
\n", "
\n", "
\n", "

Client

\n", "

Client-a9923057-78c3-11f0-9cce-00000190fe80

\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "
Connection method: Cluster objectCluster type: distributed.LocalCluster
\n", " Dashboard: /proxy/38267/status\n", "
\n", "\n", " \n", " \n", " \n", "\n", " \n", "
\n", "

Cluster Info

\n", "
\n", "
\n", "
\n", "
\n", "

LocalCluster

\n", "

8ea1a376

\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", "
\n", " Dashboard: /proxy/38267/status\n", " \n", " Workers: 48\n", "
\n", " Total threads: 48\n", " \n", " Total memory: 188.56 GiB\n", "
Status: runningUsing processes: True
\n", "\n", "
\n", " \n", "

Scheduler Info

\n", "
\n", "\n", "
\n", "
\n", "
\n", "
\n", "

Scheduler

\n", "

Scheduler-186e4020-6a67-48b2-8ae9-c1f6d1f78433

\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", " Comm: tcp://127.0.0.1:36159\n", " \n", " Workers: 0 \n", "
\n", " Dashboard: /proxy/38267/status\n", " \n", " Total threads: 0\n", "
\n", " Started: Just now\n", " \n", " Total memory: 0 B\n", "
\n", "
\n", "
\n", "\n", "
\n", " \n", "

Workers

\n", "
\n", "\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 0

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:45059\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/33921/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:37181\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-tabmppzz\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 1

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:41713\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/34557/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:44335\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-bbwr70la\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 2

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:33065\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/33239/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:46047\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-krmzda0r\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 3

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:38491\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/38373/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:44345\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-19lwyd__\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 4

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:43045\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/38297/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:37797\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-oa73sifm\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 5

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:34551\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/36941/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:43531\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-3qhgrm_i\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 6

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:38241\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/41435/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:44059\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-kahpp9nz\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 7

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:44875\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/35105/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:34191\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-tkkm4pnn\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 8

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:44137\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/38827/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:36051\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-ce2tfsxz\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 9

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:38533\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/36429/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:37613\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-3tm1g3bn\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 10

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:46027\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/35399/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:38991\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-zmkccz0q\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 11

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:35187\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/34547/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:38531\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-kgkb3ke4\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 12

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:45843\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/37341/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:41153\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-zrbykqd9\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 13

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:40715\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/43355/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:39533\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-wid54fmc\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 14

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:42781\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/40499/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:34493\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-glhge9j6\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 15

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:42687\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/42143/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:37377\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-ont5zvda\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 16

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:44977\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/45365/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:35107\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-_ijyljf1\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 17

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:42677\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/34713/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:37355\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-_aazqbks\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 18

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:39817\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/38945/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:44275\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-w01wma89\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 19

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:38853\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/37353/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:44005\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-jl00j5ts\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 20

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:32903\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/42715/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:39429\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-w9yawoqd\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 21

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:45315\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/46679/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:38683\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-iw2lasz0\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 22

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:46703\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/37601/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:44833\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-vrw2kwtu\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 23

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:46641\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/37705/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:36731\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-nytpkxj0\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 24

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:45569\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/38885/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:44943\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-53_slqst\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 25

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:38033\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/33805/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:33325\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-c0jdjkwg\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 26

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:35357\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/35385/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:44819\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-iqhkupec\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 27

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:41957\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/40895/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:41065\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-4p_xwyjt\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 28

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:43751\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/32795/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:37491\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-wcrm4g_m\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 29

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:35737\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/42805/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:45725\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-zbwdxmog\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 30

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:38695\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/41565/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:40373\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-pg6xwzhu\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 31

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:44449\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/41553/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:36533\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-h59k8rum\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 32

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:44413\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/43809/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:34313\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-9005_usz\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 33

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:39263\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/46433/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:36741\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-2z2glmby\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 34

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:35299\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/35649/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:44947\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-gz1_nnwn\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 35

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:42343\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/32961/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:34399\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-cotgmis0\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 36

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:42771\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/38471/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:46553\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-inowfv39\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 37

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:38435\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/34205/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:43013\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-51s13dp5\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 38

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:46471\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/38621/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:38927\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-84778qol\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 39

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:46785\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/45909/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:44105\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-3ybetwsq\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 40

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:41347\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/44329/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:46487\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-litpvmnx\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 41

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:43225\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/46391/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:36763\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-i8iu1nzw\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 42

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:45821\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/44741/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:34749\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-a9_grf6p\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 43

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:37905\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/46095/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:40973\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-efxr_l49\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 44

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:38243\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/46725/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:38295\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-c6tgdy2m\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 45

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:33245\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/35381/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:43157\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-on1z_ult\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 46

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:39461\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/46619/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:37227\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-vp5s_zjm\n", "
\n", "
\n", "
\n", "
\n", " \n", "
\n", "
\n", "
\n", "
\n", " \n", "

Worker: 47

\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", " \n", "\n", " \n", "\n", "
\n", " Comm: tcp://127.0.0.1:41405\n", " \n", " Total threads: 1\n", "
\n", " Dashboard: /proxy/34073/status\n", " \n", " Memory: 3.93 GiB\n", "
\n", " Nanny: tcp://127.0.0.1:33841\n", "
\n", " Local directory: /jobfs/147046130.gadi-pbs/dask-scratch-space/worker-x20z9xub\n", "
\n", "
\n", "
\n", "
\n", " \n", "\n", "
\n", "
\n", "\n", "
\n", "
\n", "
\n", "
\n", " \n", "\n", "
\n", "
" ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "client = Client(threads_per_worker = 1)\n", "client" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Open the Intake Catalog" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "catalog = intake.cat.access_nri" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "depth = 3000 # metres" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pick shelf coordinates" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# OM2 longitude coordinates run from [-280, 80] to [-180, 180] - so we need to add 100.\n", "shelf_coord = (-62, -60 + 100)\n", "deep_coord = (-56.5, -59 + 100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Load velocity and bathymetry data" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/g/data/xp65/public/apps/med_conda/envs/analysis3-25.08/lib/python3.11/site-packages/intake_esm/core.py:301: FutureWarning: When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas. Pass `(name,)` instead of `name` to silence this warning.\n", " records = grouped.get_group(internal_key).to_dict(orient='records')\n", "/g/data/xp65/public/apps/med_conda/envs/analysis3-25.08/lib/python3.11/site-packages/intake_esm/source.py:306: ConcatenationWarning: Attempting to concatenate datasets without valid dimension coordinates: retaining only first dataset. Request valid dimension coordinate to silence this warning.\n", " warnings.warn(\n" ] } ], "source": [ "# Select data in the southern part of the Southern Ocean\n", "lat_slice = slice(-80, -59)\n", "\n", "# We use a time-mean from some output from the RYF run\n", "expt = '01deg_jra55v13_ryf9091'\n", "\n", "# Select the datastore for the experiment\n", "esm_datastore = catalog[expt]\n", "\n", "# We want to limit our date range to the 1950s.\n", "# (If you were a cookbook user, this would have been `start_time = '1950-01-31 00:00:00'` and `end_time = '1959-12-31 00:00:00'`)\n", "# With the catalog, we use the following regular expression to filter on date - it says \"find me anything where the date starts with '1950/1951.../1959'\":\n", "# See also https://docs.python.org/3/library/re.html\n", "date_str = '^195[0-9].*'\n", "\n", "# Import bathymetry as a data array\n", "hu = esm_datastore.search(variable='hu',start_date=date_str).to_dask()['hu']\n", "hu = hu.sel(yu_ocean=lat_slice) # Select our lat slice" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/g/data/xp65/public/apps/med_conda/envs/analysis3-25.08/lib/python3.11/site-packages/intake_esm/core.py:301: FutureWarning: When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas. Pass `(name,)` instead of `name` to silence this warning.\n", " records = grouped.get_group(internal_key).to_dict(orient='records')\n" ] } ], "source": [ "# Load density and potential temperature.\n", "\n", "rho_temp_datastore = esm_datastore.search(\n", " variable=[\"pot_rho_2\",\"pot_temp\"], # We can search for these together by passing a list to variable - it's faster that doing it separately.\n", " start_date=date_str,\n", " frequency=\"1mon\",\n", " variable_cell_methods=\"time: mean\"\n", ")\n", "\n", "rho_temp_dataset = rho_temp_datastore.to_dask(xarray_open_kwargs={\"chunks\": {}}) \n", "\n", "pot_rho_2 = rho_temp_dataset[\"pot_rho_2\"]\n", "pot_temp = rho_temp_dataset[\"pot_temp\"]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "

01deg_jra55v13_ryf9091 catalog with 1 dataset(s) from 40 asset(s):

\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
unique
filename1
path40
file_id1
frequency1
start_date40
end_date40
variable42
variable_long_name42
variable_standard_name23
variable_cell_methods2
variable_units17
realm1
derived_variable0
\n", "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "esm_datastore.search(\n", " variable=[\"xt_ocean\",\"yt_ocean\",\"xu_ocean\", \"yu_ocean\"], \n", " start_date=date_str,\n", " frequency=\"1mon\",\n", " file_id=\"ocean.1mon.nv:2.xt_ocean:3600.xu_ocean:3600.yt_ocean:2700.yu_ocean:2700\", # If we don't add this, we will get two datasets back.\n", ")" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/g/data/xp65/public/apps/med_conda/envs/analysis3-25.08/lib/python3.11/site-packages/intake_esm/core.py:301: FutureWarning: When grouping with a length-1 list-like, you will need to pass a length-1 tuple to get_group in a future version of pandas. Pass `(name,)` instead of `name` to silence this warning.\n", " records = grouped.get_group(internal_key).to_dict(orient='records')\n" ] } ], "source": [ "# We're also gonna need xu_ocean, xt_ocean, yu_ocean, and yt_ocean - so we search for them all at once too\n", "grid_datastore = esm_datastore.search(\n", " variable=[\"xt_ocean\",\"yt_ocean\",\"xu_ocean\", \"yu_ocean\"], \n", " start_date=date_str,\n", " frequency=\"1mon\",\n", " file_id=\"ocean.1mon.nv:2.xt_ocean:3600.xu_ocean:3600.yt_ocean:2700.yu_ocean:2700\", # If we don't add this, we will get two datasets back.\n", ")\n", "grid = grid_datastore.to_dask() " ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "Y Axis (not periodic, boundary=None):\n", " * center yt_ocean --> outer\n", " * outer yu_ocean --> center\n", "X Axis (periodic, boundary=None):\n", " * center xt_ocean --> right\n", " * right xu_ocean --> center" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Give information on the grid: location of u (momentum) and t (tracer) points on B-grid \n", "ds = xr.merge(\n", " [\n", " pot_temp.sel(yt_ocean=lat_slice).sel(st_ocean=slice(0, depth)),\n", " grid.sel(yu_ocean=lat_slice).sel(yt_ocean=lat_slice)\n", " ]\n", ")\n", "\n", "ds.coords['xt_ocean'].attrs.update(axis='X')\n", "ds.coords['xu_ocean'].attrs.update(axis='X', c_grid_axis_shift=0.5)\n", "ds.coords['yt_ocean'].attrs.update(axis='Y')\n", "ds.coords['yu_ocean'].attrs.update(axis='Y', c_grid_axis_shift=0.5)\n", "\n", "grid_depth = xgcm.Grid(ds, periodic=['X'])\n", "grid_depth" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Take time mean for density and temperature" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "scrolled": true }, "outputs": [], "source": [ "# Make coordinate range selections before taking mean - it'll be faster!\n", "pot_rho_2 = pot_rho_2.sel(yt_ocean = lat_slice).sel(st_ocean=slice(0, depth))\n", "pot_rho_2 = pot_rho_2.mean(dim = 'time')" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "scrolled": true }, "outputs": [], "source": [ "pot_temp = pot_temp.sel(yt_ocean = lat_slice).sel(st_ocean=slice(0, depth))\n", "pot_temp = pot_temp.mean(dim = 'time')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we make the cross sections using the cross_section function of metpy" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "tags": [] }, "outputs": [], "source": [ "#choosing number of steps in cross section\n", "step_no = 400\n", "\n", "# Create dataset\n", "ds_pot_rho_2 = xr.Dataset({\"pot_rho_2\": pot_rho_2, \"lat\": pot_rho_2.yt_ocean, \"lon\": pot_rho_2.xt_ocean})\n", "\n", "# Interpolate to xu_ocean and yu_ocean\n", "# Rename coordinate names\n", "ds_pot_rho_2 = ds_pot_rho_2.rename({'xt_ocean': 'x', 'yt_ocean': 'y'})\n", "\n", "# Convert latitude from ACCESS-OM2 default range of [-280, 80] to [-180, 180] which is what metpy expects.\n", "ds_pot_rho_2['x'] = ds_pot_rho_2['x'] + 100\n", "ds_pot_rho_2['x'].attrs = pot_rho_2['xt_ocean'].attrs\n", "\n", "# MetPy parsing\n", "pot_rho_2_parsed = ds_pot_rho_2.metpy.parse_cf('pot_rho_2', coordinates={'y': 'y', 'x': 'x'})\n", "\n", "pot_rho_2_section = cross_section(pot_rho_2_parsed,\n", " start=(shelf_coord[0], shelf_coord[1]),\n", " end=(deep_coord[0], deep_coord[1]),\n", " steps = step_no,\n", " interp_type='linear')" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# Create dataset\n", "ds_pot_temp= xr.Dataset({\"pot_temp\": pot_temp, \"lat\": pot_temp.yt_ocean, \"lon\": pot_temp.xt_ocean})\n", "\n", "# Interpolate to xu_ocean and yu_ocean\n", "# Rename coordinate names\n", "ds_pot_temp = ds_pot_temp.rename({'xt_ocean': 'x', 'yt_ocean': 'y'})\n", "\n", "# Convert longitude from ACCESS-OM2 range of [-280, 80] to [-180, 180] which is what metpy expects.\n", "ds_pot_temp['x'] = ds_pot_temp['x'] + 100\n", "ds_pot_temp['x'].attrs = pot_temp['xt_ocean'].attrs\n", "\n", "# MetPy parsing\n", "pot_temp_parsed = ds_pot_temp.metpy.parse_cf('pot_temp', coordinates={'y': 'y', 'x': 'x'})\n", "pot_temp_section = cross_section(pot_temp_parsed,\n", " start = (shelf_coord[0], shelf_coord[1]),\n", " end = (deep_coord[0], deep_coord[1]),\n", " steps = step_no,\n", " interp_type = 'linear')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally calculate the distance along the transect (for plotting purposes)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# Define number of points you want to interpolate\n", "step_no = 400\n", "\n", "# Radius of the Earth\n", "Rearth = 6371 # km\n", "\n", "# Difference between points in lat/lon space\n", "dlon = deep_coord[1] - shelf_coord[1]\n", "dlat = deep_coord[0] - shelf_coord[0]\n", "\n", "# Calculate distance in km between the two end points\n", "distance_endpoints = Rearth * np.deg2rad(np.sqrt(dlat**2 + (dlon * np.cos(np.deg2rad(np.mean([shelf_coord[0], deep_coord[0]]))))**2))\n", "\n", "# Create array with length of step_no\n", "distance_in_km = np.linspace(0, distance_endpoints, step_no)\n", "\n", "# Repeat by the number of depth levels\n", "distance_in_km = np.tile(distance_in_km, (len(pot_temp_section.st_ocean), 1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting cross-slope section of potential temperature" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk4AAALrCAYAAAAIiAioAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjUsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvWftoOwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzsnXecHVXd/99nZm6/2zebzW6STU9IL0AaTToKgoiKFayA+PjwqD/FjgX1QfRBfUDlUUSliiC9JEACCCG0kIRAQnqym2y219umnN8fc+furVtCkk2Z9+t1X3PnzDlnzsydO/Od7/mezxFSSomLi4uLi4uLi8uAKMPdABcXFxcXFxeXIwXXcHJxcXFxcXFxGSSu4eTi4uLi4uLiMkhcw8nFxcXFxcXFZZC4hpOLi4uLi4uLyyBxDScXFxcXFxcXl0HiGk4uLi4uLi4uLoPENZxcXFxcXFxcXAaJazi5uLi4uLi4uAwS13A6glm3bh2f/exnGT9+PH6/n3A4zPz587nhhhtoa2sb7uYdUE477TROO+204W7GYcVdd93FTTfdlHebEILrrrvukLZnqDzzzDMcf/zxhEIhhBA8+OCD/eZ/4YUX8Pl87Ny5c1D1Syn5y1/+woknnkgoFKK4uJj58+fz0EMPpfLs3buX733veyxevJjKykqKi4tZsGABt956K6ZpDvpYfve73zFt2jR8Ph/jx4/nRz/6EbquD7p8IVpaWvjP//xPxo0bh8/nY+TIkZx33nk5/++enh6uueYaampq8Pv9zJ07l3vuuWfQ+2lqauLyyy+nsrKSYDDI4sWLeeaZZzLy6LrOxIkTC15z2ezZs4frrruON998c9DtGApDuR6uu+46hBA5H7/fnzf/YM97PvLtRwjBL37xiyEfYzrjxo3LW++VV16Zk/eVV17hnHPOoaioiHA4zPve9z5efPHFQe/rYFwPRxXS5Yjk1ltvlZqmyRkzZsibb75ZrlixQi5btkz+7Gc/k+PHj5cXXXTRcDfxgHLqqafKU089dbibcVjxgQ98QNbV1eXdtmrVKrl79+5D26AhYFmWLC8vl4sWLZJPP/20XLVqlWxra+s3//z58+XVV1896H1cccUV0ufzyWuvvVY+/fTT8sknn5S//OUv5V133ZXK88gjj8gxY8bI7373u/Kxxx6Ty5Ytk//1X/8lFUWRn/3sZwe1n5/+9KdSCCG//e1vyxUrVsgbbrhBer1e+cUvfnHQbc1HQ0ODnDBhgpwyZYr805/+JJ977jl5//33y6985Sty7969GXnPOussWVpaKv/whz/IZ599Vn7hC1+QgLzzzjsH3E8sFpMzZ86Uo0ePlnfccYdctmyZvPDCC6WmaXLlypUZeW+//XZZVlYmW1paBqz31VdflYD8y1/+MqTjHgxDvR5++MMfSkA++eSTctWqVanP6tWrc/IO5bznA5CXXHJJxn5WrVolGxoahnyc6dTV1cmlS5fm1Ltt27aMfK+88or0+Xzy5JNPlv/617/kAw88IBctWiR9Pp986aWXBtzPwboejiZcw+kI5KWXXpKqqspzzz1XxmKxnO3xeFw+9NBD/dYRiUQOVvMOCq7hlEt/htPhTn19vQTkf//3fw8q/+OPPy4BuXHjxkHl/9e//iUBee+99/abr62tTSYSiZz0q6++WgJy165d/ZZvaWmRfr9ffulLX8pIv/7666UQQm7YsGFQ7c3HhRdeKGtra/s1KKWU8rHHHpNAhkEopW1M1dTUSMMw+i1/8803SyDjoarrupw+fbo88cQTM/LG43FZXl4ur7/++gHbfzANp6FeD47h1NzcPGDewZ73QgBDMvAHS11dnfzABz4wYL5zzjlHjhw5Uvb29qbSurq6ZGVlpVyyZMmA5Q/W9XA04RpORyDnn3++1DRtwJu6g/OHu//+++XcuXOlz+eT3/rWt6SUUq5fv15+8IMflKWlpdLn88k5c+bI22+/PaO8aZryJz/5iZwyZYr0+/2ypKREzpo1S950002pPE1NTfKLX/yiHD16tPR6vak/6fLlywds39atW+XHPvYxOWrUKOn1emVVVZU8/fTT5Zo1a1J58hlOra2t8qqrrpI1NTXS4/HI8ePHy+985zs5xqRzI/vDH/4gJ0+eLL1erzzuuOPk3XffndOWvXv3yi996UuytrZWejweOW7cOHnddddJXdcHPI5nnnlGnnrqqbK8vFz6/X45ZswYefHFF2fcwOLxuPzJT34ip06dmjpPl19+uWxqasqp784775SLFi2SoVBIhkIhOWfOHPmnP/0pdT6AnE/6Mf/whz/MqG8wv/WKFStSD+HvfOc7ctSoUbKoqEieccYZg35IvfDCC/L000+X4XBYBgIBuXjxYvnoo4+mtjsPsfTPQAbgBRdcIE844YRB7V9KKU877TQ5bty4QefP5q9//WvOwyMfd9xxhwTkqlWrMtL37Nkjgf1+oGzfvl0KIeR11103YN4vfOELMhwO51yjd911lwTkiy++2G/5M888U06dOjUn/Wc/+5kEZH19fUb6VVddJevq6qRlWQXrdK6j7E/6NfnQQw/JRYsWyUAgIMPhsDzzzDMH5RGRcujXw2ANp6Gc90IMt+EUDoflxz72sZz0iy++WAJyz549/ZY/GNfD0YZrOB1hGIYhg8GgXLhw4aDL1NXVyVGjRskJEybI2267Ta5YsUK+8sorcuPGjbKoqEhOnDhR/u1vf5OPPfaY/PjHP57jCfj5z38uVVWVP/zhD+Uzzzwjn3zySXnTTTdl3FzOOeccOWLECHnrrbfKlStXygcffFD+4Ac/kPfcc8+A7Zs6daqcNGmS/Pvf/55yi3/961+XK1asSOXJNpyi0aicPXu2DIVC8sYbb5TLli2T3//+96WmafL9739/Rv2AHDNmjJw+fbq8++675cMPPyzPPfdcCcj77rsvlW/v3r1yzJgxsq6uTv7xj3+UTz/9tPzJT34ifT6fvPzyy/s9hu3bt0u/3y/POuss+eCDD8qVK1fKO++8U37605+W7e3tUkrbAD333HNlKBSSP/rRj+Ty5cvln/70J1lbWyunT5+e4QX8/ve/LwF58cUXy/vuu08uW7ZM/vrXv5bf//73pZRSbtiwQS5dulRWV1dnuO3Tjzn9ITXY39p54I0bN05+8pOflI899pi8++675dixY+XkyZMH9F6sXLlSejweuWDBAnnvvffKBx98UJ599tlSCJG6Fnbv3i0feOABCcj/+I//kKtWrZJvvPFGwTrj8bgMBALym9/8Zr/7dtB1Xfp8PvmhD31I/upXv5Jjx46ViqLI8ePHy1/+8peDusFfdtllUtO0Absgrr32WgnInp6enG2VlZXy4x//+KDanM3f/vY3Cchbb71VXnrppTIUCkmfzydPPfXUHONi0aJFeY2It956SwLyj3/8Y7/7qq6ulh/5yEdy0h999FEJyKeeeioj/d5775WAXLduXcE6Ozs75V/+8hcJyO9973up69PpPr7zzjslIM8++2z54IMPynvvvVcuWLBAer1e+cILL/Tb3qFeD1L2GU7V1dVSURRZVVUlP/3pT8udO3dm5BvKeS8EIMvKyqTf75de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mDgRERER6cTEiYiIiEgnJk5EREREOjFxIiIiItKJiRMRERGRTkyciIiIiHRi4kRERESkExOnCDgAJhEREfkwcYqAA2ASERGRDxMnIiIiIp2YOBERERHpxMSJiIiISCcmTkREREQ6MXEiIiIi0omJExEREZFOTJyIiIiIdGLiFAEHwCQiIiIfJk4RcABMIiIi8mHiRERERKQTEyciIiIinZg4EREREenExImIiIhIJyZORERERDoxcSIiIiLSiYkTERERkU5MnCLgAJhERETkY4x2AF1dXl4e8vLyUFVVBbvdHu1wOowKEd0A2rB7IaR22bUUphlFhA9K9tWJEHfzppUIccg6uhMuVr922qONVhzacO3JLRwcSU8QumPx7qelYvqObWChlo9kqDbVMF1uzfHstsL0PfiY6P9hFy38DIYTuL/O+s3mcDb9hAeGrQasUNTg9S39vmmprVDtnkw7euII9z7vLXjFiYiIiEgnJk5EREREOjFxIiIiItKJiRMRERGRTkyciIiIiHRi4kRERESkExMnIiIiIp2YOEXAATCJiIjIh4lTBHl5edi1axc2b94c7VCIiIgoypg4EREREenExImIiIhIJyZORERERDpFNXFaunQpxo4di/j4eKSnp+PSSy/Fnj17/MrMmzcPkiT5fY0fP96vjNPpxMKFC5GamorY2FjMnj0bR48e9StTUVGB6667Dna7HXa7Hddddx0qKys7uotERETUg0Q1cVq3bh3y8vKwadMmrF69Gh6PB9OmTUNtba1fuRkzZqCwsFD7+uCDD/y2L1q0CG+++SZWrFiBDRs2oKamBrNmzYKiNM1Wfe2116KgoACrVq3CqlWrUFBQgOuuu65T+klEREQ9gzGaO1+1apXf8rJly5Ceno6tW7figgsu0NZbLBZkZmaGbMPhcOD555/HSy+9hKlTpwIAXn75ZeTk5OCTTz7B9OnTsXv3bqxatQqbNm3CuHHjAADPPfccJkyYgD179mDQoEEd1EMiIiLqSbrUPU4OhwMAkJyc7Ld+7dq1SE9Px+mnn4758+ejuLhY27Z161a43W5MmzZNW5ednY1hw4Zh48aNAIAvv/wSdrtdS5oAYPz48bDb7VqZQE6nE1VVVX5fRERE1Lt1mcRJCIE77rgD5513HoYNG6atnzlzJl555RV89tlnePzxx7F582ZMmTIFTqcT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ly7F2LFjER8fj/T0dFx66aXYs2ePXxlJkkJ+/fnPfwYAlJeXY+HChRg0aBBiYmLQr18/3H777XA4HBH3//e//x0DBgyA1WrF6NGj8fnnn3dIP0OJZt/vv//+oDYzMzM7rK/NtUe/AeCWW27BqaeeCpvNhrS0NMyZMwfff/99xP1393MOtK3v0TznQPv13UcIgZkzZ0KSJLz11lsR9x+t8x7NfveUcz5p0qSg7ddcc03E/Xf3c96Wfkf7nHeWXp04rVu3Dnl5edi0aRNWr14Nj8eDadOmoba2VitTWFjo9/Xvf/8bkiTh8ssvBwAcP34cx48fx2OPPYbt27dj+fLlWLVqFW666aYW971y5UosWrQI9913H7799lucf/75mDlzJg4fPtyhffaJZt8B4IwzzvBre/v27R3W1+bao98AMHr0aCxbtgy7d+/GRx99BCEEpk2bBsU3kWkIPeGcA23rOxC9cw60X999/vKXv2iTCEcSzfMezX4DPeecz58/36/cs88+2+K+e8o5b22/geie804jSFNcXCwAiHXr1oUtM2fOHDFlypQW2/nPf/4jzGazcLvdYcucffbZ4pe//KXfusGDB4u77767dUG3k87s+5IlS8TIkSPbGmq7aq9+f/fddwKA2LdvX9gyPfWc6+l7VzrnQpxc3wsKCkTfvn1FYWGhACDefPPNFvfVlc57Z/a7p5zziRMnil/96let2ldPOOdt6XdXO+cdpVdfcQrk+4gpOTk55PYTJ07g/fffj3hFxeFwICEhAUZj6KkAXS4Xtm7dimnTpvmtnzZtGjZu3NiGyE9eZ/XdZ+/evcjOzsaAAQNwzTXXYP/+/W0L/CS1R79ra2uxbNkyDBgwADk5OSHL9NRzrqfvPl3lnANt73tdXR1++tOf4umnn9b1EURXO++d1W+fnnDOAeCVV15BamoqzjjjDCxevBjV1dVh99NTzjnQun77dKVz3mGinbl1FaqqiksuuUScd955Ycs88sgjIikpSdTX14ctU1paKvr16yfuu+++sGWOHTsmAIgvvvjCb/2DDz4oTj/99NYHf5I6s+9CCPHBBx+I//3vf2Lbtm1i9erVYuLEiSIjI0OUlpa2uQ9tcbL9zs/PF7GxsQKAGDx4cItXXHraOW9N34XoOudciJPr+8033yxuuukmbRkRrrx0pfPemf0Wouec83/+859i9erVYvv27eK1114T/fv3F1OnTg3bTk85563ttxBd65x3JCZOjW677TaRm5srjhw5ErbMoEGDxIIFC8JudzgcYty4cWLGjBnC5XKFLef7wdq4caPf+j/96U9i0KBBrQ/+JHVm30OpqakRGRkZ4vHHH29VvZN1sv2urKwUP/zwg1i3bp245JJLxKhRo8Imlj3tnLem76FE65wL0fa+v/3222LgwIGiurpaW6c3ceoK570z+x1KdzznoWzZskUAEFu3bg25vSec81Ai9TuUaJ7zjsTESQixYMEC0bdvX7F///6wZdavXy8AiIKCgpDbq6qqxIQJE8SFF14Y8Q+I0+kUBoNBvPHGG37rb7/9dnHBBRe0vgMnobP7Hs7UqVOD7gnoSO3R7+acTqeIiYkRr776atjtPemcNxep7+F09jkX4uT6/qtf/UpIkiQMBoP2BUDIsiwmTpwYsq2uct47u9/hdLdzHoqqqsJkMokVK1aE3N4TznkokfodTjTOeUfr1YmTqqoiLy9PZGdnix9++KHFsjfccIMYPXp0yG0Oh0OMHz9eTJw4UdTW1ura99lnny1uvfVWv3VDhgzptJsHo9n3QA0NDaJPnz7igQceaFP91mivfgdyOp3CZrOJZcuWhS3TU855ID19D9SZ51yI9ul7YWGh2L59u98XAPHXv/61xT9O0Tzv0ex3oO54zkPx9b+lm627+zkPRU+/A3X2Oe8svTpxuvXWW4Xdbhdr164VhYWF2lddXZ1fOYfDIWJiYsQzzzwT1EZVVZUYN26cGD58uNi3b59fOx6PRys3ZcoU8dRTT2nLK1asECaTSTz//PNi165dYtGiRSI2NlYcPHiw4zrcTDT7fuedd4q1a9eK/fv3i02bNolZs2aJ+Pj4Tul7e/T7xx9/FA899JDYsmWLOHTokNi4caOYM2eOSE5OFidOnNDK9cRz3ta+R/OcC9E+fQ8l1EdWXem8R7PfPeGc79u3TzzwwANi8+bN4sCBA+L9998XgwcPFmeddVaX/f0ezX5H+5x3ll6dOAEI+RX4n/Ozzz4rbDabqKysDGpjzZo1Yds5cOCAVi43N1csWbLEr25+fr7Izc0VZrNZjBo1qlWZ/MmKZt+vvvpqkZWVJUwmk8jOzhZz584VO3fu7KCe+muPfh87dkzMnDlTpKenC5PJJPr27SuuvfZa8f333/uV64nnvK19j+Y5F6J9+h6u3cAEoiud92j2uyec88OHD4sLLrhAJCcnC7PZLE499VRx++23i7KyMr9yPe2ct7Xf0T7nnUUSQgg9T98RERER9XYcx4mIiIhIJyZORERERDoxcSIiIiLSiYkTERERkU5MnIiIiIh0YuJEREREpBMTJyIiIiKdmDgRERER6cTEiYiIiEgnJk5E1C399a9/xYABAxATE4NLL70UDocjbNmysjKkp6fj4MGDQdtcLhfuvPNOLF68GC6Xq02xXHHFFXjiiSfaVJeIuhcmTkTU7dx77714+umn8cILL2DDhg349ttv8cADD4Qtv3TpUlxyySXo379/0LaVK1di1KhROPfcc/HSSy8FbZ83bx4uvfRSv3X/+9//YLVa8eijjwIAfv/73+PBBx9EVVXVSfWLiLo+Jk5E1K1s3rwZjzzyCFauXIkLLrgAo0aNwi233IL33nsvZPn6+no8//zz+MUvfhFyu6qqMBgMUBQFqqpG3P+//vUv/L//9//w9NNP46677gIAjBgxAv3798crr7zS9o4RUbfAxImIupXHHnsMU6ZMwahRo7R1aWlpKC0tDVn+ww8/hNFoxIQJE0Juv+aaa7Bp0yZ88cUXuP7661vc96OPPooFCxbg1VdfDUrEZs+ejddee62VvSGi7sYY7QCIiPRyOp1499138dhjj/mtr6+vh91uD1ln/fr1GDNmTNg2LRYL/vKXv0Tc99133438/Hy89957mDp1atD2s88+G0uXLoXT6YTFYonYHhF1T0yciKjb+Oabb1BfX48777xT+5gMANxuNyZPnhyyzsGDB5GdnX1S+/3www/x9ttv49NPP8WUKVNClunTpw+cTieKioqQm5t7Uvsjoq6LiRMRdRs//PADrFYrtm/f7rd+9uzZOPfcc0PWqa+vh9VqPan9jhgxAqWlpfj973+PsWPHIj4+PqiMzWYDANTV1Z3Uvoioa+M9TkTUbVRVVSE9PR0DBw7UvsxmM77//ntcfvnlIeukpqaioqLipPbbp08frFu3DoWFhZgxYwaqq6uDypSXlwPw3m9FRD0XEyci6jZSU1NRVVUFIYS27sEHH8TFF1+MoUOHhqxz1llnYdeuXSe97379+mHdunUoLi7GtGnTgoYe2LFjB/r27YvU1NST3hcRdV1MnIio25gyZQoaGhrw8MMP4+DBg3jooYfwzjvv4JlnnglbZ/r06di5c+dJX3UCgL59+2Lt2rUoKyvDtGnT/Abd/PzzzzFt2rST3gcRdW1MnIio28jIyMDy5cvxzDPPYOjQodi4cSM2bNiAnJycsHWGDx+OMWPG4D//+U+7xOD72K6yshIXXXQRKisr0dDQgDfffBPz589vl30QUdcliebXvImIeqAPPvgAixcvxo4dOyDL7f//Yn5+Pt5++218/PHH7d42EXUtfKqOiHq8iy++GHv37sWxY8davDrVViaTCU899VS7t0tEXQ+vOBERERHpxHuciIiIiHRi4kRERESkExMnIiIiIp2YOBERERHpxMSJiIiISCcmTkREREQ6MXEiIiIi0omJExEREZFOTJyIiIiIdGLiRERERKTT/wdFLzLdfWW3LgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(figsize=(6, 8), sharex = True)\n", "\n", "pot_temp_section_top = pot_temp_section.sel(st_ocean=slice(0, 3000))\n", "\n", "axs.set_title('Cross-slope section of (%.1f,%.1f) to (%.1f,%.1f)' % (shelf_coord[0], shelf_coord[1]-100, deep_coord[0], deep_coord[1]-100))\n", "\n", "cmesh = axs.pcolormesh(distance_in_km,\n", " pot_temp_section_top.st_ocean.values,\n", " pot_temp_section_top.values,\n", " cmap = 'RdBu_r')\n", "\n", "# Colorbar\n", "cbar = plt.colorbar(cmesh, orientation = 'horizontal')\n", "cbar.set_label(r'$\\theta$ ($^\\circ$K)')\n", "\n", "cs = axs.contour(distance_in_km[0, :],\n", " pot_rho_2_section.st_ocean,\n", " pot_rho_2_section,\n", " cmap = 'gray')\n", "\n", "axs.clabel(cs, cs.levels,\n", " fontsize = 8,\n", " colors = 'k',\n", " inline = True,\n", " use_clabeltext = True)\n", "\n", "# Axes\n", "plt.gca().invert_yaxis()\n", "plt.xlim([0, 350])\n", "plt.xlabel('Distance northwards from shelf (km)')\n", "plt.ylabel('Depth (m)')\n", "axs.xaxis.set_minor_locator(MultipleLocator(10))\n", "axs.yaxis.set_minor_locator(MultipleLocator(50))\n", "\n", "axs.set_facecolor('darkgrey') # Since our colorbar goes through white, we'll set our mask to grey.\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.11.13" }, "other_supplementary_files": [ "images/topographic_gradient_sketch.png" ] }, "nbformat": 4, "nbformat_minor": 4 }