{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "f373e554",
   "metadata": {
    "tags": [
     "papermill-error-cell-tag"
    ]
   },
   "source": [
    "<span style=\"color:red; font-family:Helvetica Neue, Helvetica, Arial, sans-serif; font-size:2em;\">An Exception was encountered at '<a href=\"#papermill-error-cell\">In [8]</a>'.</span>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "864e13c1-5879-4940-9f1d-0288c77992fd",
   "metadata": {
    "editable": true,
    "execution": {
     "iopub.execute_input": "2025-03-26T20:36:26.785535Z",
     "iopub.status.busy": "2025-03-26T20:36:26.785362Z",
     "iopub.status.idle": "2025-03-26T20:36:26.791819Z",
     "shell.execute_reply": "2025-03-26T20:36:26.791588Z"
    },
    "papermill": {
     "duration": 0.01893,
     "end_time": "2025-03-26T20:36:26.792560",
     "exception": false,
     "start_time": "2025-03-26T20:36:26.773630",
     "status": "completed"
    },
    "slideshow": {
     "slide_type": ""
    },
    "tags": [
     "parameters"
    ]
   },
   "outputs": [],
   "source": [
    "from IPython.display import display, Markdown\n",
    "\n",
    "# Parameters injected by Papermill\n",
    "variable = 'tos'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "861ad674",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-03-26T20:36:26.798477Z",
     "iopub.status.busy": "2025-03-26T20:36:26.798368Z",
     "iopub.status.idle": "2025-03-26T20:36:26.799941Z",
     "shell.execute_reply": "2025-03-26T20:36:26.799701Z"
    },
    "papermill": {
     "duration": 0.005256,
     "end_time": "2025-03-26T20:36:26.800630",
     "exception": false,
     "start_time": "2025-03-26T20:36:26.795374",
     "status": "completed"
    },
    "tags": [
     "injected-parameters"
    ]
   },
   "outputs": [],
   "source": [
    "# Parameters\n",
    "variable = \"heat_content_lprec\"\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "dce4db04-3953-4356-b4cd-7f811e6ac563",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-03-26T20:36:26.806281Z",
     "iopub.status.busy": "2025-03-26T20:36:26.806174Z",
     "iopub.status.idle": "2025-03-26T20:36:26.809483Z",
     "shell.execute_reply": "2025-03-26T20:36:26.809231Z"
    },
    "papermill": {
     "duration": 0.007442,
     "end_time": "2025-03-26T20:36:26.810649",
     "exception": false,
     "start_time": "2025-03-26T20:36:26.803207",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/markdown": [
       "# heat_content_lprec \n",
       " This notebook compares area-weighted mean time series for heat_content_lprec in different basins."
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Dynamically generate markdown content\n",
    "markdown_text = f\"# {variable} \\n This notebook compares area-weighted mean time series for {variable} in different basins.\"\n",
    "\n",
    "# Display the updated markdown content\n",
    "display(Markdown(markdown_text))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "13834ab8-5413-4cd4-8b72-d02389459983",
   "metadata": {
    "editable": true,
    "execution": {
     "iopub.execute_input": "2025-03-26T20:36:26.817915Z",
     "iopub.status.busy": "2025-03-26T20:36:26.817805Z",
     "iopub.status.idle": "2025-03-26T20:36:26.838131Z",
     "shell.execute_reply": "2025-03-26T20:36:26.837900Z"
    },
    "papermill": {
     "duration": 0.025577,
     "end_time": "2025-03-26T20:36:26.838909",
     "exception": false,
     "start_time": "2025-03-26T20:36:26.813332",
     "status": "completed"
    },
    "slideshow": {
     "slide_type": ""
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "ca374cc2",
   "metadata": {
    "editable": true,
    "execution": {
     "iopub.execute_input": "2025-03-26T20:36:26.845040Z",
     "iopub.status.busy": "2025-03-26T20:36:26.844847Z",
     "iopub.status.idle": "2025-03-26T20:36:41.064652Z",
     "shell.execute_reply": "2025-03-26T20:36:41.064346Z"
    },
    "papermill": {
     "duration": 14.223961,
     "end_time": "2025-03-26T20:36:41.065674",
     "exception": false,
     "start_time": "2025-03-26T20:36:26.841713",
     "status": "completed"
    },
    "slideshow": {
     "slide_type": ""
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "%%capture \n",
    "# comment above line to see details about the run(s) displayed\n",
    "from misc import *\n",
    "import glob\n",
    "from mom6_tools.m6toolbox import weighted_temporal_mean\n",
    "print(\"Last update:\", date.today())\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "9f7b0baf-fc8c-42a2-8f85-394752748d3c",
   "metadata": {
    "editable": true,
    "execution": {
     "iopub.execute_input": "2025-03-26T20:36:41.075040Z",
     "iopub.status.busy": "2025-03-26T20:36:41.073997Z",
     "iopub.status.idle": "2025-03-26T20:36:41.132057Z",
     "shell.execute_reply": "2025-03-26T20:36:41.131784Z"
    },
    "papermill": {
     "duration": 0.062307,
     "end_time": "2025-03-26T20:36:41.132966",
     "exception": false,
     "start_time": "2025-03-26T20:36:41.070659",
     "status": "completed"
    },
    "slideshow": {
     "slide_type": ""
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "# figure size\n",
    "fs = (10,4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "7a76c19e-4617-421e-9912-6e37b8b411cd",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-03-26T20:36:41.139822Z",
     "iopub.status.busy": "2025-03-26T20:36:41.139315Z",
     "iopub.status.idle": "2025-03-26T20:36:41.203979Z",
     "shell.execute_reply": "2025-03-26T20:36:41.203707Z"
    },
    "papermill": {
     "duration": 0.068851,
     "end_time": "2025-03-26T20:36:41.204871",
     "exception": false,
     "start_time": "2025-03-26T20:36:41.136020",
     "status": "completed"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "# load data\n",
    "ds = []\n",
    "#variable = 'tos'\n",
    "for c, p in zip(casename, ocn_path):\n",
    "  file = glob.glob(p+'{}.native.{}.??????-??????.nc'.format(c, variable))[0]\n",
    "  ds.append(xr.open_dataset(file))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "502465ab-ff8d-4a56-82eb-96eb140f2fb9",
   "metadata": {
    "papermill": {
     "duration": 0.002706,
     "end_time": "2025-03-26T20:36:41.210746",
     "exception": false,
     "start_time": "2025-03-26T20:36:41.208040",
     "status": "completed"
    },
    "tags": []
   },
   "source": [
    "## Global"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c0fe1f07",
   "metadata": {
    "tags": [
     "papermill-error-cell-tag"
    ]
   },
   "source": [
    "<span id=\"papermill-error-cell\" style=\"color:red; font-family:Helvetica Neue, Helvetica, Arial, sans-serif; font-size:2em;\">Execution using papermill encountered an exception here and stopped:</span>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "ea77f10f-3d7e-4191-a3d1-8bcd7318125c",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-03-26T20:36:41.217257Z",
     "iopub.status.busy": "2025-03-26T20:36:41.216733Z",
     "iopub.status.idle": "2025-03-26T20:36:41.748306Z",
     "shell.execute_reply": "2025-03-26T20:36:41.747500Z"
    },
    "papermill": {
     "duration": 0.5354,
     "end_time": "2025-03-26T20:36:41.748783",
     "exception": true,
     "start_time": "2025-03-26T20:36:41.213383",
     "status": "failed"
    },
    "tags": []
   },
   "outputs": [
    {
     "ename": "KeyError",
     "evalue": "\"No variable named 'heat_content_lprec'. Variables on the dataset include ['time', 'region', 'heat_content_lprec_mean', 'heat_content_lprec_int']\"",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[0;32m/glade/work/gmarques/conda-envs/mom6-tools/lib/python3.11/site-packages/xarray/core/dataset.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m   1475\u001b[0m             \u001b[0mvariable\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_variables\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1476\u001b[0m         \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1477\u001b[0;31m             \u001b[0m_\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvariable\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_get_virtual_variable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_variables\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msizes\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1478\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mKeyError\u001b[0m: 'heat_content_lprec'",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[0;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[0;32m/glade/work/gmarques/conda-envs/mom6-tools/lib/python3.11/site-packages/xarray/core/dataset.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m   1574\u001b[0m                 \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_construct_dataarray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1575\u001b[0m             \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1576\u001b[0;31m                 raise KeyError(\n\u001b[0m\u001b[1;32m   1577\u001b[0m                     \u001b[0;34mf\"No variable named {key!r}. Variables on the dataset include {shorten_list_repr(list(self.variables.keys()), max_items=10)}\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/glade/work/gmarques/conda-envs/mom6-tools/lib/python3.11/site-packages/xarray/core/dataset.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m   1475\u001b[0m             \u001b[0mvariable\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_variables\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1476\u001b[0m         \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1477\u001b[0;31m             \u001b[0m_\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvariable\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_get_virtual_variable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_variables\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msizes\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1478\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/glade/work/gmarques/conda-envs/mom6-tools/lib/python3.11/site-packages/xarray/core/dataset.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(variables, key, dim_sizes)\u001b[0m\n\u001b[1;32m    208\u001b[0m     \u001b[0msplit_key\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msplit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\".\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    209\u001b[0m     \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msplit_key\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 210\u001b[0;31m         \u001b[0;32mraise\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    211\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mKeyError\u001b[0m: 'heat_content_lprec'",
      "\nThe above exception was the direct cause of the following exception:\n",
      "\u001b[0;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[0;32m/glade/derecho/scratch/gmarques/tmp/ipykernel_125188/847476785.py\u001b[0m in \u001b[0;36m?\u001b[0;34m()\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0mreg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'Global'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      2\u001b[0m \u001b[0mfig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0max\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msubplots\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnrows\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mncols\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mfigsize\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mfs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      3\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ml\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlabel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlabel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m   \u001b[0mds\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mvariable\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mregion\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mreg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0ml\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlw\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      6\u001b[0m \u001b[0;31m#ax.set_ylabel(ds[variable].attrs['units'])\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      7\u001b[0m \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_xlabel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Year'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/glade/work/gmarques/conda-envs/mom6-tools/lib/python3.11/site-packages/xarray/core/dataset.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m   1572\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mutils\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhashable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1573\u001b[0m             \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1574\u001b[0m                 \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_construct_dataarray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1575\u001b[0m             \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1576\u001b[0;31m                 raise KeyError(\n\u001b[0m\u001b[1;32m   1577\u001b[0m                     \u001b[0;34mf\"No variable named {key!r}. Variables on the dataset include {shorten_list_repr(list(self.variables.keys()), max_items=10)}\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1578\u001b[0m                 ) from e\n\u001b[1;32m   1579\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mKeyError\u001b[0m: \"No variable named 'heat_content_lprec'. Variables on the dataset include ['time', 'region', 'heat_content_lprec_mean', 'heat_content_lprec_int']\""
     ]
    },
    {
     "data": {
      "image/png": "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79+f67IBAAByltNV8saPH9/nUaSWlpaIiD6PPh1x/fXXx8SJE6OpqannwhAXX3xxjBgxIm6//fa46qqr4qyzzupzblFRURQVFeWyVAAAgAHL6QjTrFmzYvfu3dHZ2dlrfMeOHRERMXPmzOTcV199Nc4777yjrqJ3/vnnR3d3d+zevTuXpQAAAORdTsG0YMGCaG9vjw0bNvQar6+vj7KysqisrEzOLSsri5deeumom9Q+99xzERExadKkXJYCAACQdzmdkjd//vyYO3durFixItra2mLq1KnR2NgYTz/9dDQ0NPQcPaquro76+vrYu3dvlJeXR0TEzTffHDU1NfEXf/EX8eUvfzlOO+202Lp1a/zDP/xDXHLJJXHuuecO/rcDAAAYgJyCKSJi48aNsXr16lizZk20tLTEOeecE42NjbF48eKe13R1dUVXV1d8+J64N954Y5x55pnx7W9/O66++up47733YsqUKXHbbbfFzTffPDjfBgAAYBAVZB+ummEi33fzBQAAhod8t0HOlxUHAAA4WQgmAACABMEEAACQIJgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAIEEwAQAAJAgmAACABMEEAACQIJgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAIEEwAQAAJAgmAACABMEEAACQIJgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAIEEwAQAAJAgmAACABMEEAACQIJgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAIEEwAQAAJAgmAACABMEEAACQIJgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAIEEwAQAAJAgmAACABMEEAACQIJgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAICHnYGpvb4+VK1dGWVlZjB49OioqKmL9+vXHPf/JJ5+Miy66KEpKSmLMmDExY8aMePjhh3NdBgAAQN4V5jph4cKF8eKLL0ZdXV1MmzYt1q1bF0uWLInu7u648sorjzm3rq4uVq9eHddee23U1tbGqFGj4vXXX48PPvig318AAAAgXwqyLMuO98WbNm2Kyy+/vCeSjpg3b17s2rUr9u3bFyNHjuxz7ssvvxwXXHBBrF27NlatWjWgRbe1tUVpaWm0trZGSUnJgN4LAAAYvvLdBjmdktfU1BTFxcWxaNGiXuNVVVVx8ODB2L59e3Lu/fffH0VFRXHjjTf2b6UAAABDLKdg2rlzZ0yfPj0KC3ufyTd79uye51N+9rOfxfTp02PDhg1x9tlnx8iRI2PSpEnxta997SNPyevo6Ii2trZeDwAAgHzLKZiam5tj3LhxR40fGWtubk7OPXDgQOzZsydqamqipqYmtmzZEsuWLYu77747qqqqjvm5a9eujdLS0p7H5MmTc1k2AABAv+R80YeCgoJ+Pdfd3R2HDx+OxsbGWLx4cUREXHzxxfHuu+/GPffcE3fccUdMnTq1z7m1tbVxyy239Pzc1tYmmgAAgLzL6QjT+PHj+zyK1NLSEhHR59GnD8+NiLj00kt7jc+fPz8iIl555ZXk3KKioigpKen1AAAAyLecgmnWrFmxe/fu6Ozs7DW+Y8eOiIiYOXNmcu6Rv3P6v45cpG/ECPfQBQAATiw5VcqCBQuivb09NmzY0Gu8vr4+ysrKorKyMjn3i1/8YkREPPXUU73GN23aFCNGjIjzzz8/l6UAAADkXU5/wzR//vyYO3durFixItra2mLq1KnR2NgYTz/9dDQ0NPTcg6m6ujrq6+tj7969UV5eHhG/v/T4Qw89FNddd12888478elPfzq2bNkSDzzwQFx33XU9rwMAADhR5HzRh40bN8bq1atjzZo10dLSEuecc06vCzlERHR1dUVXV1d8+J64o0aNis2bN8ff/u3fxje+8Y1oaWmJP/7jP466urpeF3QAAAA4URRkH66aYSLfd/MFAACGh3y3gSstAAAAJAgmAACABMEEAACQIJgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAIEEwAQAAJAgmAACABMEEAACQIJgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAIEEwAQAAJAgmAACABMEEAACQIJgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAIEEwAQAAJAgmAACABMEEAACQIJgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAIEEwAQAAJAgmAACABMEEAACQIJgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAIEEwAQAAJAgmAACABMEEAACQIJgAAAASBBMAAECCYAIAAEgQTAAAAAmCCQAAIEEwAQAAJOQcTO3t7bFy5cooKyuL0aNHR0VFRaxfvz7nD7711lujoKAgZs6cmfNcAACAoVCY64SFCxfGiy++GHV1dTFt2rRYt25dLFmyJLq7u+PKK688rvd49dVX4+67746JEyfmvGAAAIChUpBlWXa8L960aVNcfvnlPZF0xLx582LXrl2xb9++GDly5DHfo7OzM84///y48MIL47/+67/inXfeiZ07d+a06La2tigtLY3W1tYoKSnJaS4AAPDxke82yOmUvKampiguLo5Fixb1Gq+qqoqDBw/G9u3bP/I96urqoqWlJe66667cVgoAADDEcgqmnTt3xvTp06OwsPeZfLNnz+55/lhee+21+PrXvx7f+c53ori4+Lg/t6OjI9ra2no9AAAA8i2nYGpubo5x48YdNX5krLm5OTm3u7s7li9fHgsXLozLLrssp0WuXbs2SktLex6TJ0/OaT4AAEB/5HyVvIKCgn49961vfSv27NkT99xzT64fGbW1tdHa2trz2L9/f87vAQAAkKucrpI3fvz4Po8itbS0RET0efQpImLfvn2xZs2aqKuri1NOOSUOHToUEb+/AER3d3ccOnQoioqK4tRTT+1zflFRURQVFeWyVAAAgAHL6QjTrFmzYvfu3dHZ2dlrfMeOHRERyXsqvfHGG/Hee+/FTTfdFGPHju15/OIXv4jdu3fH2LFjo7a2tp9fAQAAID9yOsK0YMGC+O53vxsbNmyIv/7rv+4Zr6+vj7KysqisrOxzXkVFRTzzzDNHja9cuTJaW1vjsccei0mTJuW4dAAAgPzKKZjmz58fc+fOjRUrVkRbW1tMnTo1Ghsb4+mnn46GhoaeezBVV1dHfX197N27N8rLy+P000+Pz33uc0e93+mnnx6dnZ19PgcAAPCHllMwRURs3LgxVq9eHWvWrImWlpY455xzorGxMRYvXtzzmq6urujq6ooc7okLAABwwinIhmHV5PtuvgAAwPCQ7zbI+bLiAAAAJwvBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwAAAAJggkAACBBMAEAACQIJgAAgATBBAAAkCCYAAAAEgQTAABAgmACAABIEEwA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oaGh5x5M1dXVUV9fH3v37o3y8vKIiFi+fHk88MADsWjRoqirq4sJEybEgw8+GL/85S9jy5YtOS26qKgobrvttj5P04PBZK8xVOw1hoq9xlCx1xgq+d5rOd24NiKivb09Vq9eHf/6r/8aLS0tcc4550RtbW0sXry45zXLli2L+vr6ePPNN2PKlCk947/5zW9i1apV8W//9m/x29/+NioqKuLOO++MSy65ZNC+EAAAwGDJOZgAAABOFvm5lAQAAMDHgGACAABIEEwAAAAJJ1Qwtbe3x8qVK6OsrCxGjx4dFRUVsX79+uOa+/bbb8eyZcvijDPOiNNOOy3mzJkTW7duzfOKGa76u9c2btwYS5YsialTp8app54aU6ZMiauuuir27NkzBKtmOBrI77UPu/XWW6OgoMA960ga6F578skn46KLLoqSkpIYM2ZMzJgxIx5++OE8rpjhaiB77Zlnnom5c+fGhAkTori4OGbPnh333XdfdHV15XnVDEeHDx+OVatWxbx58+ITn/hEFBQUxO23337c8wetD7ITyNy5c7PTTz89+6d/+qds27Zt2dVXX51FRPb973//mPPef//9bObMmdmkSZOyhoaG7Cc/+Ul2xRVXZIWFhdlPf/rTIVo9w0l/99oFF1yQ/eVf/mX26KOPZj/96U+zxx9/PJs+fXpWXFyc7dy5c4hWz3DS3732Yf/5n/+ZFRUVZRMnTsxmzJiRx9UynA1kr61duzYbMWJEdt1112VPPfVUtmXLluz+++/P/vEf/3EIVs5w09+9tnnz5mzEiBHZ5z73ueyHP/xhtnnz5uzGG2/MIiKrqakZotUznLz55ptZaWlpduGFF/bss9tuu+245g5mH5wwwfTv//7vWURk69at6zU+d+7crKysLOvs7EzOfeCBB7KIyJ599tmesd/97nfZpz/96eyCCy7I25oZngay137zm98cNXbgwIFs1KhRWXV19aCvleFtIHvtiN/97ndZRUVFVlNTk1100UWCiT4NZK+99NJL2YgRI7JvfvOb+V4mHwMD2WtXXXVVVlRUlLW3t/canzdvXlZSUpKX9TK8dXd3Z93d3VmWZdl///d/5xRMg9kHJ8wpeU1NTVFcXByLFi3qNV5VVRUHDx6M7du3H3Pu2WefHXPmzOkZKywsjKVLl8YLL7wQBw4cyNu6GX4GstcmTJhw1FhZWVlM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",
      "text/plain": [
       "<Figure size 1000x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "reg = 'Global'\n",
    "fig, ax = plt.subplots(nrows=1,ncols=1,figsize=fs)\n",
    "for l, i in zip(label, range(len(label))):\n",
    "  ds[i][variable].sel(region=reg).plot(ax=ax, label=l, lw=3)\n",
    "\n",
    "#ax.set_ylabel(ds[variable].attrs['units'])\n",
    "ax.set_xlabel('Year')\n",
    "ax.grid()\n",
    "ax.legend(ncol=3,loc=1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b8b4dc27-3be0-4973-8bdd-4a0de25e4316",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "source": [
    "## PersianGulf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "11b61be4-fdcf-475c-a524-2a3ac8c76ecf",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "reg = 'PersianGulf'\n",
    "fig, ax = plt.subplots(nrows=1,ncols=1,figsize=fs)\n",
    "for l, i in zip(label, range(len(label))):\n",
    "  ds[i][variable].sel(region=reg).plot(ax=ax, label=l, lw=3)\n",
    "\n",
    "#ax.set_ylabel(ds[variable].attrs['units'])\n",
    "ax.set_xlabel('Year')\n",
    "ax.grid()\n",
    "ax.legend(ncol=3,loc=1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fa711e4f-4e29-4094-ada2-4ae38e234a82",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "source": [
    "## RedSea"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a40d43fe-7d25-414c-8d87-79517880d35f",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "reg = 'RedSea'\n",
    "fig, ax = plt.subplots(nrows=1,ncols=1,figsize=fs)\n",
    "for l, i in zip(label, range(len(label))):\n",
    "  ds[i][variable].sel(region=reg).plot(ax=ax, label=l, lw=3)\n",
    "\n",
    "#ax.set_ylabel(ds[variable].attrs['units'])\n",
    "ax.set_xlabel('Year')\n",
    "ax.grid()\n",
    "ax.legend(ncol=3,loc=1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "88ad3620-a8da-4180-83d1-f39edfd5aae2",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "source": [
    "## BlackSea"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6e85f68d-eb4e-44fe-acba-84c08de56905",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "reg = 'BlackSea'\n",
    "fig, ax = plt.subplots(nrows=1,ncols=1,figsize=fs)\n",
    "for l, i in zip(label, range(len(label))):\n",
    "  ds[i][variable].sel(region=reg).plot(ax=ax, label=l, lw=3)\n",
    "\n",
    "#ax.set_ylabel(ds[variable].attrs['units'])\n",
    "ax.set_xlabel('Year')\n",
    "ax.grid()\n",
    "ax.legend(ncol=3,loc=1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9c5641d3-c954-411b-abee-d4825c4208ab",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "source": [
    "## MedSea"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "67297917-8d56-4a6d-9d59-a478035429a1",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "reg = 'MedSea'\n",
    "fig, ax = plt.subplots(nrows=1,ncols=1,figsize=fs)\n",
    "for l, i in zip(label, range(len(label))):\n",
    "  ds[i][variable].sel(region=reg).plot(ax=ax, label=l, lw=3)\n",
    "\n",
    "#ax.set_ylabel(ds[variable].attrs['units'])\n",
    "ax.set_xlabel('Year')\n",
    "ax.grid()\n",
    "ax.legend(ncol=3,loc=1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0543bf55-997b-4ac3-b22b-76c7f52ee97b",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "source": [
    "## BalticSea"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "198da03e-467e-49f3-b8a5-2a31ad3b9711",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "reg = 'BalticSea'\n",
    "fig, ax = plt.subplots(nrows=1,ncols=1,figsize=fs)\n",
    "for l, i in zip(label, range(len(label))):\n",
    "  ds[i][variable].sel(region=reg).plot(ax=ax, label=l, lw=3)\n",
    "\n",
    "#ax.set_ylabel(ds[variable].attrs['units'])\n",
    "ax.set_xlabel('Year')\n",
    "ax.grid()\n",
    "ax.legend(ncol=3,loc=1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "44aa11d1-830c-45a8-9235-0a03ec35daa6",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "source": [
    "## HudsonBay"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0fa02937-1b4e-4ade-a803-d2994b12545f",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "reg = 'HudsonBay'\n",
    "fig, ax = plt.subplots(nrows=1,ncols=1,figsize=fs)\n",
    "for l, i in zip(label, range(len(label))):\n",
    "  ds[i][variable].sel(region=reg).plot(ax=ax, label=l, lw=3)\n",
    "\n",
    "#ax.set_ylabel(ds[variable].attrs['units'])\n",
    "ax.set_xlabel('Year')\n",
    "ax.grid()\n",
    "ax.legend(ncol=3,loc=1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e29ef839-e162-4ceb-927a-d82b7a59277e",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "source": [
    "## Arctic"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "64880ae9-0688-4c3a-ab45-0e76d5284852",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "reg = 'Arctic'\n",
    "fig, ax = plt.subplots(nrows=1,ncols=1,figsize=fs)\n",
    "for l, i in zip(label, range(len(label))):\n",
    "  ds[i][variable].sel(region=reg).plot(ax=ax, label=l, lw=3)\n",
    "\n",
    "#ax.set_ylabel(ds[variable].attrs['units'])\n",
    "ax.set_xlabel('Year')\n",
    "ax.grid()\n",
    "ax.legend(ncol=3,loc=1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1de03483-3233-4881-86a7-06813ce0211f",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "source": [
    "## PacificOcean"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d8be41b0-a06e-4bac-ad2f-72b3dc32a3c1",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "reg = 'PacificOcean'\n",
    "fig, ax = plt.subplots(nrows=1,ncols=1,figsize=fs)\n",
    "for l, i in zip(label, range(len(label))):\n",
    "  ds[i][variable].sel(region=reg).plot(ax=ax, label=l, lw=3)\n",
    "\n",
    "#ax.set_ylabel(ds[variable].attrs['units'])\n",
    "ax.set_xlabel('Year')\n",
    "ax.grid()\n",
    "ax.legend(ncol=3,loc=1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1b5bb92f-04ee-4edb-844a-dc32285a3017",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "source": [
    "## AtlanticOcean "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c7a7a1b2-7665-4f42-aa57-3e8ccf255528",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "reg = 'AtlanticOcean'\n",
    "fig, ax = plt.subplots(nrows=1,ncols=1,figsize=fs)\n",
    "for l, i in zip(label, range(len(label))):\n",
    "  ds[i][variable].sel(region=reg).plot(ax=ax, label=l, lw=3)\n",
    "\n",
    "#ax.set_ylabel(ds[variable].attrs['units'])\n",
    "ax.set_xlabel('Year')\n",
    "ax.grid()\n",
    "ax.legend(ncol=3,loc=1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bfa1406b-88fb-4638-a11c-9b530c50e48b",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "source": [
    "## IndianOcean"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "674dc694-f91c-48d8-8cf9-18a9dc35dd87",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "reg = 'IndianOcean'\n",
    "fig, ax = plt.subplots(nrows=1,ncols=1,figsize=fs)\n",
    "for l, i in zip(label, range(len(label))):\n",
    "  ds[i][variable].sel(region=reg).plot(ax=ax, label=l, lw=3)\n",
    "\n",
    "#ax.set_ylabel(ds[variable].attrs['units'])\n",
    "ax.set_xlabel('Year')\n",
    "ax.grid()\n",
    "ax.legend(ncol=3,loc=1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "36a07721-9d05-42e2-b24d-a559f814478b",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "source": [
    "## SouthernOcean"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5f6bc7ed-e959-49ad-8916-e307249b43fc",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "reg = 'SouthernOcean'\n",
    "fig, ax = plt.subplots(nrows=1,ncols=1,figsize=fs)\n",
    "for l, i in zip(label, range(len(label))):\n",
    "  ds[i][variable].sel(region=reg).plot(ax=ax, label=l, lw=3)\n",
    "\n",
    "#ax.set_ylabel(ds[variable].attrs['units'])\n",
    "ax.set_xlabel('Year')\n",
    "ax.grid()\n",
    "ax.legend(ncol=3,loc=1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0b23cca5-e9a3-477a-a387-1c653c04989b",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "source": [
    "## LabSea"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "51e70d80-7a39-4989-aecc-bd5016b324fa",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "reg = 'LabSea'\n",
    "fig, ax = plt.subplots(nrows=1,ncols=1,figsize=fs)\n",
    "for l, i in zip(label, range(len(label))):\n",
    "  ds[i][variable].sel(region=reg).plot(ax=ax, label=l, lw=3)\n",
    "\n",
    "#ax.set_ylabel(ds[variable].attrs['units'])\n",
    "ax.set_xlabel('Year')\n",
    "ax.grid()\n",
    "ax.legend(ncol=3,loc=1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8f01e1c4-7a2b-491f-a311-1c52f299f45b",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "source": [
    "## BaffinBay"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "64bdc239-6eef-4838-93d4-340528c4cde1",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "reg = 'BaffinBay'\n",
    "fig, ax = plt.subplots(nrows=1,ncols=1,figsize=fs)\n",
    "for l, i in zip(label, range(len(label))):\n",
    "  ds[i][variable].sel(region=reg).plot(ax=ax, label=l, lw=3)\n",
    "\n",
    "#ax.set_ylabel(ds[variable].attrs['units'])\n",
    "ax.set_xlabel('Year')\n",
    "ax.grid()\n",
    "ax.legend(ncol=3,loc=1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5a24685a-397b-4381-bdfa-4bacdde702a8",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "source": [
    "## Maritime"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9215bd4f-3bb8-41b7-a4b5-98d228cedfc6",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "reg = 'Maritime'\n",
    "fig, ax = plt.subplots(nrows=1,ncols=1,figsize=fs)\n",
    "for l, i in zip(label, range(len(label))):\n",
    "  ds[i][variable].sel(region=reg).plot(ax=ax, label=l, lw=3)\n",
    "\n",
    "#ax.set_ylabel(ds[variable].attrs['units'])\n",
    "ax.set_xlabel('Year')\n",
    "ax.grid()\n",
    "ax.legend(ncol=3,loc=1);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "248dd205-fc5c-486c-b405-87109b2bf2f4",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "source": [
    "## SouthernOcean60S"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1bed67b9-8a1a-4852-b49d-9c646f161e85",
   "metadata": {
    "papermill": {
     "duration": null,
     "end_time": null,
     "exception": null,
     "start_time": null,
     "status": "pending"
    },
    "tags": []
   },
   "outputs": [],
   "source": [
    "reg = 'SouthernOcean60S'\n",
    "fig, ax = plt.subplots(nrows=1,ncols=1,figsize=fs)\n",
    "for l, i in zip(label, range(len(label))):\n",
    "  ds[i][variable].sel(region=reg).plot(ax=ax, label=l, lw=3)\n",
    "\n",
    "#ax.set_ylabel(ds[variable].attrs['units'])\n",
    "ax.set_xlabel('Year')\n",
    "ax.grid()\n",
    "ax.legend(ncol=3,loc=1);"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python (mom6-tools)",
   "language": "python",
   "name": "mom6-tools"
  },
  "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.9"
  },
  "papermill": {
   "default_parameters": {},
   "duration": 26.407927,
   "end_time": "2025-03-26T20:36:44.367607",
   "environment_variables": {},
   "exception": true,
   "input_path": "template.ipynb",
   "output_path": "heat_content_lprec.ipynb",
   "parameters": {
    "variable": "heat_content_lprec"
   },
   "start_time": "2025-03-26T20:36:17.959680",
   "version": "2.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}