{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "4f76d2c2-e0dc-4278-86a8-ab7a1bcd0432",
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "63b9ba63-5584-4fbe-b7bf-24b547e2f7a5",
   "metadata": {},
   "outputs": [],
   "source": [
    "import easygems.remap as egr\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import xarray as xr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "172ec729-2b8f-4ff9-801c-a4aa08ac4565",
   "metadata": {},
   "outputs": [],
   "source": [
    "grid = xr.open_dataset(\"/Users/lkluft/Desktop/aes_bubble/Torus_Triangles_20x4_5000m.nc\")\n",
    "ds = xr.open_dataset(\"/Users/lkluft/Desktop/aes_bubble/aes_bubble_atm_2d_ml_20080801T000000Z.nc\", chunks={})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "0e51115e-fb64-46fb-b777-5569104db874",
   "metadata": {},
   "outputs": [],
   "source": [
    "nx, ny = 18, 9\n",
    "lon, lat = np.radians(np.meshgrid(np.linspace(-180, 180, nx), np.linspace(-75, 75, ny)))\n",
    "\n",
    "weights = egr.compute_weights_delaunay((grid.clon, grid.clat), (lon.ravel(), lat.ravel()))\n",
    "\n",
    "ds_remap = xr.apply_ufunc(\n",
    "    egr.apply_weights,\n",
    "    ds,\n",
    "    kwargs=weights,\n",
    "    input_core_dims=[[\"ncells\"]],\n",
    "    output_core_dims=[[\"xy\"]],\n",
    "    output_dtypes=[\"f4\"],\n",
    "    vectorize=True,\n",
    "    dask=\"parallelized\",\n",
    "    dask_gufunc_kwargs={\n",
    "        \"output_sizes\": {\"xy\": lon.size},\n",
    "    },\n",
    ").assign(\n",
    "    xy=pd.MultiIndex.from_product(\n",
    "        (lat[:, 0], lon[0, :]), \n",
    "        names=(\"lat\", \"lon\"),\n",
    "    ),\n",
    ").unstack(\"xy\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "1323e3f3-c330-42b8-8dde-a7987441becd",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.QuadMesh at 0x1409bafc0>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlAAAAHFCAYAAAA9occoAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABN3UlEQVR4nO3de3zP9f//8fvb7Mg25rBDzaywhFRTTMUkY6KkA8mp8ElS37V0kE9ZJzp9UAnp4+PYwaePSJFDxdQHfZB9QpJq2rAlwhw3tufvD5+9f73tYK+99/b24na9XF6XS+/n6/l8vp6v9zbvR4/n8/V8O4wxRgAAAKiwat4eAAAAgN0QQAEAAFhEAAUAAGARARQAAIBFBFAAAAAWEUABAABYRAAFAABgEQEUAACARQRQAAAAFhFAnWNWr16ttLQ0HThwoMS5xMREJSYmnvUxnQ0//vijRowYofj4eNWqVUthYWG67rrr9K9//avCfZw4cULPPvusGjZsKH9/f1122WV68803S637yy+/qGfPnqpVq5Zq1qypTp066dtvvy1RLy8vT6NGjVKTJk0UFBSkiy66SHfeeae2bNlS6XutrIreX8OGDeVwOEo9AgICznidP9d/7bXXzlh/xowZcjgc2rFjR2Vu65x1/PhxPfjgg6pXr54uvvhiPffcczr9ixt+/fVX1axZU1988YVLebdu3VSrVi1lZ2eX6PePP/5QZGSkrrvuOhUVFWn//v26++67Vbt2bV1yySWaOnVqiTbffPONAgMDtXXr1qq9Sclj1x84cKAaNmx4xnofffSR4uLiFBISom7dumnXrl0l6nTr1k39+/cvtf2OHTt08803KywsTA6HQykpKTpw4IDl32PAMoNzyquvvmokmczMzBLntmzZYrZs2XL2B3UWvPnmm+ayyy4zL774olm2bJlZvHixGTBggJFknn322Qr1MXjwYOPv729eeeUVs2LFCvPkk08ah8NhXnzxRZd6e/bsMVFRUaZZs2Zm3rx5ZtGiReb66683wcHB5ocffnCp265dOxMUFGReeeUV8+WXX5pZs2aZRo0ameDgYLNjx44qu/+KqOj9ffvtt2bNmjUux9y5c40k07t37zNeR5IZNGiQWbNmjdm9e/cZ60+fPr3M31k7e/bZZ01ERIT58MMPzbRp00xQUJCZPXu2S53k5GTTv3//Em1zcnJMnTp1TFJSUolzd999t6lRo4bZvn27McaYe++918TFxZlPP/3UjBs3zlSrVs2sWrXKWf/EiRPmiiuuMM8880wV36Hx6PUHDBhgYmJiyq3z008/GV9fXzNq1CizdOlS07p1a9OxY0eXOnPnzjV16tQxe/bsKbWPHj16mDp16pj58+ebNWvWmB07dpiTJ0+aNWvWmI8++shIMq+++qqlsQMVQQB1jikvgDqf/f7776aoqKhE+c0332yCgoLM8ePHy22/efNm43A4zJgxY1zKhwwZYgIDA82+ffucZY899pjx9fV1CYAOHjxo6tata+666y5n2fbt240k89e//tWlz9WrVxtJZty4cZbusSyjR48+4weNlfsrTVpampFkPv/88zOOR5IZPXr0GesVO18DqGuvvdbl/R4yZIjp1auX8/X7779v6tSpY37//fdS2xcHrVOmTHGWFX+gT5o0yVlWv35989577zlfd+rUyTzxxBPO12PHjjVxcXFn/BuoLE9dvyIB1KRJk0yTJk2cr//9738bh8Nhjh49aowxZv/+/SYiIsJMnz69zD4aNWpkkpOTSz2XmZlJAAWPYQrvHJKWlqbHHntMkhQbG+tMP69cuVJSySm8HTt2yOFw6NVXX9XLL7+shg0bKjAwUImJifrxxx914sQJPfnkk4qKilJoaKhuu+027dmzp8R1586dq4SEBNWoUUM1a9ZU586dtXHjxrNxy05169aVw+EoUX7ttdfq6NGj+uOPP8ptv2DBAhljdO+997qU33vvvTp27JiWLFniLJs/f75uvPFGxcTEOMtCQkLUs2dPffLJJzp58qQkydfXV5IUGhrq0metWrUkqcR02Pbt29WnTx/Vr19f/v7+atq0qd56660z3HnFWLm/0xljNH36dF1yySW68cYb3RrH2rVrdd111ykgIEBRUVEaOXKkTpw4UaLe3LlzlZSUpMjISAUGBqpp06Z68skndeTIEWed2bNny+FwaM2aNSXaP/fcc/L19dXu3bvLHMtPP/2ke++9V40bN3ZOr3bv3l2bNm1yqVdUVKQXXnhBcXFxCgwMVK1atXTFFVfo9ddfL/dejx8/rho1ajhf16xZU8ePH5ckHThwQCkpKRo3bpzq1q1bavu77rpLvXv31ogRI7Rjxw7t27dPQ4cOVadOnfTAAw9U6Dq//PKLnn/+eb399tvy9/cv9ToDBw5UzZo19cMPP6hz586qUaOGIiMj9dJLL0k69TO7/vrrVaNGDTVp0kQzZ86s8H1W5PrSqWncuLg45+/9rFmzyqx7pmsbY5Sfny9JeuKJJ9S0aVMNHDiwRNuVK1fK4XDop59+0meffeb89/J8m0rGOcy78Rv+LDs72zz00ENGkvnoo4+c0y8HDx40xhjTvn170759e2f94v+7iomJMd27dzeffvqpmTNnjgkPDzdNmjQx/fr1M/fdd5/57LPPzJQpU0zNmjVN9+7dXa754osvGofDYe677z7z6aefmo8++sgkJCSYGjVqVGi68MSJExU6SssuVURiYqKpV6+eOXnyZLn1evfuberVq1ei/PDhw0aSGTlypDHGmKNHjxqHw2Eee+yxEnUnTpxoJJlt27Y5y2699VYTFRVlvvzyS3Po0CGzdetWc9NNN5kGDRqYP/74w1lvy5YtJjQ01LRo0cLMmjXLLFu2zDz66KOmWrVqJi0trdyxVyQDVdH7K82yZcuMJPPCCy+Ue41iKiMDtWXLFhMUFGQuv/xy8/7775uPP/7YdO7c2TRo0KBEBur5558348ePN4sWLTIrV640U6ZMMbGxsaZDhw7OOvn5+SYiIsLcc889Ltc5ceKEiYqKMnfeeWe540xPTzePPvqo+de//mXS09PN/PnzTY8ePUxgYKDLVOzYsWONj4+PGT16tPniiy/MkiVLzIQJE874cxk6dKhp2bKl2bFjh9m8ebOJiooyL7/8sjHmVDbqxhtvLLe9Mcbs27fPREZGmg4dOpi77rrL1KpVy2RnZ7vU6dKli+nUqZP57bffzNdff22CgoLM3LlzjTHGJCUlmfvuu6/cawwYMMD4+fmZpk2bmtdff90sX77c3Hvvvc7fiyZNmphp06aZpUuXmm7duhlJZv369VV2/eIM5K233mo++eQTM2fOHNOoUSMTHR19xt/rtWvXmmrVqpmPP/7Y7Nu3z/Tt29c0bdrUGGPM119/bQIDA82PP/5YatuDBw+aNWvWmIiICHPdddc5/738c6aMDBQ8iQDqHFPeFF5ZAVTLli1NYWGhs3zChAlGkrnllltc2qekpBhJzoAsKyvLVK9e3Tz00EMu9Q4dOmQiIiJcprNKU3z9ihwrVqyw9kYYY9555x0jybz++utnrNupUycTFxdX6jk/Pz/zl7/8xRhjzK5du4wkM3bs2BL13nvvPSPJrF692llWUFBghgwZ4nIvV1xxRYmfT+fOnc3FF1/sfG+LDR8+3AQEBLgEW6cHl08//bSJiYkpN+is6P2VplevXsbHx8fs3LmzzDp/VlYA1atXLxMYGGhyc3OdZSdPnjSXXXZZuVN4RUVF5sSJEyY9Pd1IMv/973+d50aPHm38/PzMb7/95iwrnvpKT0+v0Hj/PJaCggLTuHFj88gjjzjLu3XrZq688kpLfRljTG5urrnmmmucP/euXbuao0ePmlWrVpX7wX66xYsXO/s4fQ2VMcb88MMPpnHjxs469913nykqKjKzZ8829evXP+P0bPFawXnz5jnLTpw4YerVq2ckmW+//dZZvm/fPuPj42NSU1Or5PqFhYUmKirKXH311S6/rzt27DC+vr5nDKCMMWbUqFHG4XAYSSYyMtKsWbPG5Ofnm8svv9w8//zzZ2wfExNjbr755lLPEUDBk5jCOw907dpV1ar9/x9l06ZNJUk333yzS73i8qysLEnS0qVLdfLkSfXv318nT550HgEBAWrfvr1z6rAsUVFRWrduXYWO+Ph4S/f02Wef6cEHH9Qdd9yhhx56qEJtSpsCLOtcRes+8MADmjdvnsaPH6/09HTNnTtXfn5+uvHGG/Xrr79KOjUN8cUXX+i2225TUFCQy3vZtWtXHT9+XGvXrnX26evr63I8//zz+vXXX0uUnz7VYuX+iv3xxx9asGCBunTpoosuuqjM9hWxYsUKdezYUeHh4c4yHx8f9erVq0TdX375RX369FFERIR8fHzk6+ur9u3bS5LLk1zFU1nvvPOOs2zixIlq0aKF2rVrV+54Tp48qTFjxujyyy+Xn5+fqlevLj8/P23fvt3lGtdee63++9//atiwYVq6dKny8vIqdL/h4eH65ptvlJmZqV27dmnRokXy8fHR/fffr7/+9a9q3Lix5s2bp2bNmiksLEzdunUr9am75ORktWnTRo0bN1bfvn1LnI+Li9MPP/yg7du36/fff9e0adO0f/9+paamavz48QoLC9OkSZN06aWXqm7durrnnnu0f/9+lz4cDoe6du3qfF29enU1atRIkZGRuuqqq5zlYWFhql+/vvN3193rb9u2Tbt371afPn1cfgdjYmLUtm3bCr3PL7zwgv744w/98MMPysrKUps2bfTyyy9LOjWF9+uvv6pbt24KCwvT5Zdfrvnz51eoX8DTqnt7AHBfWFiYy2s/P79yy4vXN/z222+SpGuuuabUfv8clJXGz89PV155ZYXG6OPjU6F60qnArmfPnurUqZPefffdcgOHYnXq1FFGRkaJ8iNHjqigoMD5XtSuXVsOh0P79u0rUbd4nVVx3SVLlmjatGn68MMPdccddzjrJSUlqWHDhkpLS9P06dO1b98+nTx5Um+++WaZ2ybs3bvX+d/r1q1zOTd16lR9+umnWrhwoUt5bGys5fs73Zw5c5Sfn6/BgweXet6Kffv2KSIiokT56WWHDx/WDTfcoICAAL3wwgvOLSCys7PVs2dPHTt2zFk3PDxcvXr10ttvv60nn3xSW7Zs0VdffaW33377jONJTU3VW2+9pSeeeELt27dX7dq1Va1aNQ0ePNjlGiNHjlSNGjU0Z84cTZkyRT4+PmrXrp1efvlltWrVqtxrOBwOl0fxX3rpJVWrVk2PPfaYfvjhB91zzz1asGCB2rVrp2HDhqlv375KT08v0Y+/v7/z76801apVU6NGjZyvR4wYoauuukp9+vTRF198oSeeeEIrVqxQo0aNdNdddyklJcUlwA4KCiqxJs/Pz6/U3ws/Pz/nvwHuXr/476is34uKrkeqVauWc23h9u3bNXbsWC1fvly+vr7q27evmjRpop07d2rlypXq2bOnvvvuOzVp0qRCfQOeQgB1ASte/Pqvf/3LZUF1Re3YscPlQ748K1asqNAeVkuXLlWPHj3Uvn17zZs3r9wPnT9r0aKFPvjgA+Xm5rr8Y168oLh58+aSpMDAQDVq1KjEQuPiuoGBgbrkkkskyRmwnB5g1qpVS40aNdLmzZslnQrKfHx81K9fPz344IOlju/P79PpH9qffvqp/Pz8yv0wr+j9nW7atGkKDw9Xt27dyuy7ourUqaPc3NwS5aeXffnll9q9e7dWrlzpzDpJKnVvM0n6v//7P82ePVsff/yxlixZolq1aumee+4543jmzJmj/v37a8yYMS7le/fudX4YS6eyMampqUpNTdWBAwf0+eef66mnnlLnzp2VnZ2toKCgM15LOpVteemll/T555/L19dXn3/+uZo1a6YuXbpIOhXQtWzZUocPH1bNmjUr1GdpVq5cqblz5zp/tp999pmSkpKcvx/Dhw/XoEGDKt1/VV6/Tp06kkr+DpRVVhH333+/+vfvr+uuu06HDx/W119/rUmTJikoKEhdu3bV5ZdfruXLlxNAwesIoM4xxU+6/Pn/oD2lc+fOql69un7++WfdfvvtltsXT+FVRFxc3BnrLFu2TD169ND111+vBQsWlPvUz+luvfVW/fWvf9XMmTP1xBNPOMtnzJihwMBA54ecJN12222aMGGCsrOzFR0dLUk6dOiQPvroI91yyy2qXr268/6kU08x/TnA3Ldvn3788Ud17NhR0qn/++/QoYM2btyoK664osJBnxVW7q/Y+vXr9d133+nxxx933pM7OnTooIULF+q3335zTuMVFhZq7ty5LvWKM4an//zKyirFx8erbdu2evnll7V582b95S9/cXkyqywOh6PENRYtWqRdu3a5ZFP+rFatWrrjjju0a9cupaSkaMeOHbr88svPeC3p1Af7wIEDnVNTxhiXpwoPHz7sLK+s/Px83X///Ro9erQzkC/tOu5coyqvHxcXp8jISL3//vtKTU11/ux//fVXrV692vk3VFHTp0/X1q1bndN0xdc5W/cPWOK95VcozYoVK4wkc//995vVq1ebdevWmby8PGNM2YvIT18gWdzHhx9+6FJe/LTMunXrnGVjxowx1atXN/fff7+ZP3++WblypZk7d6559NFHPbZxX2m++uorExgYaBo2bGi+/PLLEhtB/nlx9syZM42Pj4+ZOXOmSx/FG02++uqrZuXKleapp54qcyPNyMhI06JFCzN//nyzePFi065dOxMcHGy2bt3qrHfo0CETExNjateubV577TXz5ZdfmnfffddceeWVxsfHx2Vh/JYtW0zt2rXNtddea6ZPn25WrFhhFi5caMaNG+fy5FlpKvIUnpX7KzZ06NASTxVWhMpYRL5p0yYTGBhoLr/8cvPBBx+YhQsXms6dO5vo6GiXReR79+41tWvXNi1btjQfffSR+eSTT0zv3r2dC5VL29OneOG4w+Go8OLs/v37G39/fzN+/HjzxRdfmFdeecXUq1fPXHzxxS5/J926dTNPPvmk82m9WbNmmYYNG5qYmBhTUFBQoWtNmzbNREZGmgMHDjjLtmzZYnx8fMzTTz9tli1bZhISEsx1111Xavv27dubZs2anfE6Tz/9tLniiivMiRMnnGVLly41Pj4+5vXXXzeLFi0ycXFxLk8uDhgwwNSoUaPC1yxv0XVlrv/3v//d+RRe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KDkcDi1YsMDlvDFGaWlpioqKUmBgoBITE7VlyxaXOvn5+XrooYdUt25d1ahRQ7fccot27txZ7nXT0tLkcDhcjoiIiKq+PcsIoAAAsKPiNVDuHBYcOXJELVu21MSJE0s9/8orr2jcuHGaOHGi1q1bp4iICHXq1EmHDh1y1klJSdH8+fP1wQcf6Ouvv9bhw4fVrVs3FRYWlnvtZs2aKScnx3ls2rTJ0tg9gSk8AADs6CxP4SUnJys5Obn0rozRhAkTNGrUKPXs2VOSNHPmTIWHh+u9997T/fffr4MHD2ratGmaPXu2brrpJknSnDlzFB0drc8//1ydO3cu89rVq1c/J7JOf0YGCgAAuCUzM1O5ublKSkpylvn7+6t9+/ZavXq1JGnDhg06ceKES52oqCg1b97cWacs27dvV1RUlGJjY9W7d2/98ssvnrkRCwigAACwI1MFh6S8vDyXIz8/3/JQcnNzJUnh4eEu5eHh4c5zubm58vPzU+3atcusU5rWrVtr1qxZWrp0qd555x3l5uaqbdu22rdvn6UxLl++XEePHrXUpjwEUAAA2FEVBVDR0dEKDQ11HmPHjq30kBynfd+kMaZEWYnbOEOd5ORk3X777WrRooVuuukmLVq0SNKpKUIrbr/9dtWuXVtt27bVyJEjtXTpUh0+fNhSH3/GGigAAC5g2dnZCgkJcb729/e33Efx+qTc3FxFRkY6y/fs2ePMSkVERKigoED79+93yULt2bNHbdu2rfC1atSooRYtWmj79u2Wxrh//3795z//UXp6ulauXKm33npLx48f19VXX63ExES99NJLlvojAwUAgB1V0VN4ISEhLkdlAqjY2FhFRERo+fLlzrKCggKlp6c7g6P4+Hj5+vq61MnJydHmzZstBVD5+fnaunWrS6BWET4+PkpISNCTTz6pJUuWaPXq1erTp482bNigV1991VJfUiUDqPvuu8/lscRiR44c0X333VeZLgEAgAXFO5G7c1hx+PBhZWRkKCMjQ9KpheMZGRnKysqSw+FQSkqKxowZo/nz52vz5s0aOHCggoKC1KdPH0lSaGioBg0apEcffVRffPGFNm7cqL59+zqn5op17NjRZauEESNGKD09XZmZmfrmm290xx13KC8vTwMGDLA0/q1bt2rKlCnq3bu3IiMjdeONNyovL09/+9vf9O2331p7M1TJKbyZM2fqpZdeUnBwsEv5sWPHNGvWLP3jH/+oTLcAAOActX79enXo0MH5OjU1VZI0YMAAzZgxQ48//riOHTumYcOGaf/+/WrdurWWLVvmEiuMHz9e1atX11133aVjx46pY8eOmjFjhnx8fJx1fv75Z+3du9f5eufOnbr77ru1d+9e1atXT23atNHatWsVExNjafzNmjVTvXr1lJKSoqefflrNmjWr7FshyWIAlZeXJ2OMjDE6dOiQAgICnOcKCwu1ePFi1a9f360BncmkSZP06quvKicnR82aNdOECRN0ww03lFk/PT1dqamp2rJli6KiovT4449r6NChHh0jAAAed5b3gUpMTJQxZTdyOBxKS0tTWlpamXUCAgL05ptv6s033yyzzo4dO1xef/DBB9YGWoaHH35Yq1atUlpamhYsWKDExEQlJibqhhtuUM2aNS33ZymAqlWrlnMb9SZNmpQ473A49Oyzz1oeREXNnTtXKSkpmjRpkq677jq9/fbbSk5O1vfff68GDRqUqJ+ZmamuXbtqyJAhmjNnjv79739r2LBhqlevnm6//XaPjRMAAJxbJkyYIEk6cOCAvvrqK6Wnp+uZZ57Rpk2bdOWVV2rt2rWW+rMUQK1YsULGGN14442aN2+ewsLCnOf8/PwUExOjqKgoSwOwYty4cRo0aJAGDx4s6dSbsXTpUk2ePLnUxy6nTJmiBg0aON+0pk2bav369XrttdcIoAAAtuaQ9XVMp7e/EBUVFenkyZMqKChQfn6+Tpw4USLrVRGWAqj27dtLOpXZiY6OVrVqZ+8hvoKCAm3YsEFPPvmkS3lSUlKZO5iuWbPGZcdTSercubOmTZumEydOyNfXt0Sb/Px8l03E8vLyqmD0AADAmx5++GGlp6dry5YtCgsLU7t27fSXv/xFiYmJat68ueX+KrWIvHjh1tGjR5WVlaWCggKX81dccUVlui3X3r17VVhYWO4up6fLzc0ttf7Jkye1d+/eUh+BHDt2rEenIQEAqBKV+ELgEu0vILt379aQIUMqHTCdrlIB1O+//657771Xn332Wannz/Styu6wustpafVLKy82cuRI55MF0qkMVHR0dGWHCwCAZ5zlReR2duLECQUHB6tr16665JJLqqTPSs3BpaSkaP/+/Vq7dq0CAwO1ZMkSzZw5U40bN9bChQurZGCnq1u3rnx8fEpkm/68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OBwur40xJcpgX8OHD9d3332n999/39tD8ai4uDhlZGRo7dq1euCBBzRgwAB9//333h4WbKK6twdwvhk+fLh69+5dbp2GDRs6/7tu3bqqW7eumjRpoqZNmyo6Olpr1661RRrZ6r3u3r1bHTp0UEJCgqZOnerh0VU9q/d7Pqpbt658fHxKZJv27NlTIisFe3rooYe0cOFCrVq1ShdffLG3h+NRfn5+atSokSSpVatWWrdunV5//XW9/fbbXh4Z7IAAqooVB0SVUZx5ys/Pr8oheYyVe921a5c6dOig+Ph4TZ8+XdWq2S/56c7P9nzh5+en+Ph4LV++XLfddpuzfPny5br11lu9ODK4yxijhx56SPPnz9fKlSsVGxvr7SGddcYY2/z7C+8jgPKS//znP/rPf/6j66+/XrVr19Yvv/yiZ555Rpdeeqktsk9W7N69W4mJiWrQoIFee+01/f77785zERERXhyZ52RlZemPP/5QVlaWCgsLlZGRIUlq1KiRatas6d3BuSk1NVX9+vVTq1atnNnErKys83JN2+HDh/XTTz85X2dmZiojI0NhYWFq0KCBF0dW9R588EG99957+vjjjxUcHOzMMoaGhiowMNDLo6t6Tz31lJKTkxUdHa1Dhw7pgw8+0MqVK7VkyRJvDw12YeAV3333nenQoYMJCwsz/v7+pmHDhmbo0KFm586d3h5alZs+fbqRVOpxvhowYECp97tixQpvD61KvPXWWyYmJsb4+fmZq6++2qSnp3t7SB6xYsWKUn+OAwYM8PbQqlxZf6PTp0/39tA84r777nP+DterV8907NjRLFu2zNvDgo2wDxQAAIBF9luIAgAA4GUEUAAAABYRQAEAAFhEAAUAAGARARQAAIBFBFAAAAAWEUABAABYRAAFoITExESlpKR4exgAcM4igAIAALCIAAoAAMAiAigA5dq/f7/69++v2rVrKygoSMnJydq+fbvz/IwZM1SrVi0tXbpUTZs2Vc2aNdWlSxfl5OR4cdQA4FkEUADKNXDgQK1fv14LFy7UmjVrZIxR165ddeLECWedo0eP6rXXXtPs2bO1atUqZWVlacSIEV4cNQB4VnVvDwDAuWv79u1auHCh/v3vf6tt27aSpHfffVfR0dFasGCB7rzzTknSiRMnNGXKFF166aWSpOHDh+u5557z2rgBwNPIQAEo09atW1W9enW1bt3aWVanTh3FxcVp69atzrKgoCBn8CRJkZGR2rNnz1kdKwCcTQRQAMpkjCmz3OFwOF/7+vq6nHc4HGW2BYDzAQEUgDJdfvnlOnnypL755htn2b59+/Tjjz+qadOmXhwZAHgXARSAMjVu3Fi33nqrhgwZoq+//lr//e9/1bdvX1100UW69dZbvT08APAaAigA5Zo+fbri4+PVrVs3JSQkyBijxYsXl5i2A4ALicOwUAEAAMASMlAAAAAWEUABAABYRAAFAABgEQEUAACARQRQAAAAFhFAAQAAWEQABQAAYBEBFAAAgEUEUAAAABYRQAEAAFhEAAUAAGARARQAAIBF/w/PlmhQwNK2ewAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ds_remap.prw.isel(time=10).plot()"
   ]
  }
 ],
 "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.12.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}