Skip to content

Instantly share code, notes, and snippets.

@jbusecke
Created September 18, 2023 18:17
Show Gist options
  • Save jbusecke/ba74c702c8213c6ae9d4e3e2eacc2593 to your computer and use it in GitHub Desktop.
Save jbusecke/ba74c702c8213c6ae9d4e3e2eacc2593 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "01492b06-150e-4ff9-bf1f-c4ddae5ebe66",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<p><strong>pangeo-cmip6 catalog with 1 dataset(s) from 1 asset(s)</strong>:</p> <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>unique</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>activity_id</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>institution_id</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>source_id</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>experiment_id</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>member_id</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>table_id</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>variable_id</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>grid_label</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>zstore</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>dcpp_init_year</th>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>version</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>derived_variable_id</th>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# get cmip example dataset\n",
"from xmip.utils import google_cmip_col\n",
"col = google_cmip_col()\n",
"cat = col.search(variable_id='pr', table_id='day', source_id='GFDL-ESM4', experiment_id='historical', member_id='r1i1p1f1')\n",
"cat"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "1f0e6c16-c03e-4c68-804d-ab6142f41507",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"--> The keys in the returned dictionary of datasets are constructed as follows:\n",
"\t'activity_id.institution_id.source_id.experiment_id.table_id.grid_label'\n"
]
},
{
"data": {
"text/html": [
"\n",
"<style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
"</style>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
" <div>\n",
" <progress value='1' class='' max='1' style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
" 100.00% [1/1 00:03&lt;00:00]\n",
" </div>\n",
" "
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ddict = cat.to_dataset_dict()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "6b77caff-179c-4f59-8c62-208143a44932",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"ds = ddict['CMIP.NOAA-GFDL.GFDL-ESM4.historical.day.gr1']"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "07c6838a-3e08-4d5d-997b-18a51fce42f2",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import xesmf as xe\n",
"import xarray as xr\n",
"import numpy as np\n",
"tg_coords = xr.Dataset( #grid to interpolate CMIP6 simulations to\n",
" { \"longitude\": ([\"a\"], np.arange(0,10), {\"units\": \"degrees_east\"}),\n",
" \"latitude\": ([\"b\"], np.arange(0,10), {\"units\": \"degrees_north\"}),})\n",
"regridder = xe.Regridder(ds,tg_coords,method='nearest_s2d')\n",
"output = regridder(ds)\n",
"a = output.isel(time=0).squeeze().pr"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "7ae8abd7-4313-479d-b4b1-5266edb9ad24",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.QuadMesh at 0x7fa4655c0e50>"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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88AiiYiISG5cuG0WuCaJiIiISAJHkoiIiGSn+u9hyvmkNBZJREREcuN0m1ngdBsRERGRBI4kERERyY0jSWaBRRIREZHchKr+MOV8Uhyn24iIiIgkcCSJiIhIZkLUH6acT8pjkURERCQ3rkkyC5xuIyIiIpLAkSQiIiK5ceG2WWCRREREJDOVqD9MOZ+UxyKJiIhIblyTZBa4JomIiIhIAkeSiIiI5MY1SWaBRRIREZHcON1mFjjdRkRERCSBI0lERERy40iSWWCRREREJDcWSWaB021EREREEjiSREREJDc+3WYWWCQRERHJjDtumwdOtxEREVGHVlNTg9mzZ+Pq1auyXpdFEhERkdyEDAcZzdraGikpKbJfl0USERERdXhTp07FoUOHZL2myWuShKgvd1UqLjIjIiICABVMXJMkWya/Hv369cObb76JU6dOQaPRwN7e3uDjixcvbvY1W1wk7dixA++88w5+/PFHAED//v0RFRWFuXPntvSSRERERC3ywQcfoEuXLsjOzkZ2drbBx1QqVdsVSatWrcI777yDRYsWISAgAACQlZWF6Oho/Pzzz3jrrbdaclkiIiLzwC0A2lxeXp7+/+Wa5WrRmqTExES8//77iI+PxzPPPINnnnkG8fHxSEpKwvbt201KiIiIqMPjwm1F7NixA76+vrC1tYWtrS18fX3xwQcftPh6LRpJqqurg5+fX4N2jUaD2traFidDRERE1BKtMcvVoiJp5syZSExMxMaNGw3ak5KS8MILL7TkkkREROaD793W5nSzXDNmzNC3PfPMM3jkkUewaNGi1i2SYmJi9P+vUqnwwQcfIC0tDY8//jgA4Ouvv0ZBQQFefPHFZidBRERkTrjjdttrjVkuo4uknJycBp0CwJUrVwAA3bt3R/fu3XHhwoUWJUJERETUUq0xy2V0kXTixIkWdUBERPSrw+k2RezYsaPRWa57Z8TuL6Qawx23iYiI5KbQ023btm2Dt7c3bG1todFocPLkySbjMzIyoNFoYGtriz59+kg+oX7gwAH4+PhArVbDx8dH8u0/HtSvEAJxcXHw8PBAp06dEBISIjnzlJWVhaeeegr29vbo0qULQkJCcPfuXaNe+/nz5zF8+HB0794dV65cwZUrV9C9e3cMHz4c58+fR05ODnJycnD27FmjrgfIsOM2ERERKS85ORlRUVHYtm0bnnjiCbz33nsYN24cLl68iF69ejWIz8vLw/jx4zFv3jzs2bMHf//737FgwQJ0794d06dPB1BftISHh+PNN9/E1KlTkZKSgrCwMGRmZsLf39/ofjds2ICNGzdi586dePjhh/HWW29h9OjRuHz5MhwcHPR9jR07FrGxsXj33XdhY2OD3NxcWFgYN57TGjNeKqHbcakDKi8vh5OTE0IwGVYqa6XTISKidqxW1OArHEZZWRkcHR1bpQ/d7yXvNWthYWvb4utoKyuR9/sVzcrV398fw4cPR2Jior5t0KBBmDJlCuLj4xvEL126FEeOHMGlS5f0bZGRkcjNzUVWVhYAIDw8HOXl5Th69Kg+ZuzYsejatSv27t1rVL9CCHh4eCAqKgpLly4FAFRVVcHV1RUJCQmYP38+AODxxx/H6NGj8eabbxp7m1odp9uIiIjkpttx25SjGaqrq5GdnY3Q0FCD9tDQUJw6dUrynKysrAbxY8aMwZkzZ1BTU9NkjO6axvSbl5eHoqIigxi1Wo3g4GB9THFxMb755hv06NEDgYGBcHV1RXBwMDIzM5t1H+TGIomIiEhuMq1JKi8vNziqqqokuyspKUFdXR1cXV0N2l1dXVFUVCR5TlFRkWR8bW0tSkpKmozRXdOYfnX/bSrm6tWrAIC4uDjMmzcPX3zxBYYPH46nn35a/x6xSmCRRERE1E55enrCyclJf0hNm93r/vcqE0I0+f5lUvH3txtzTVNjtFotAGD+/PmYPXs2hg0bhnfeeQcDBgzAn//850bzb21cuE1ERCQzuTaTLCgoMFiTpFarJeNdXFxgaWnZYNSouLi4wQiOjpubm2S8lZUVnJ2dm4zRXdOYft3c3ADUjyi5u7tLxujafXx8DK4zaNAg5OfnS+bfFtrNSFJ8fDxUKhWioqKUToWIiMg0Mk23OTo6GhyNFUk2NjbQaDRIT083aE9PT0dgYKDkOQEBAQ3i09LS4OfnB2tr6yZjdNc0pl9vb2+4ubkZxFRXVyMjI0Mf07t3b3h4eODy5csG1/nhhx/g5eUlmX9baBcjSadPn0ZSUhIeeeQRpVMhIiLqkGJiYhAREQE/Pz8EBAQgKSkJ+fn5iIyMBADExsbi2rVr2LVrF4D6J9m2bNmCmJgYzJs3D1lZWdixY4f+qTUAWLJkCUaOHImEhARMnjwZhw8fxrFjxwwWVD+oX90AyLp169C/f3/0798f69atg52dHZ5//nl9zGuvvYbVq1fj0UcfxdChQ/HRRx/h+++/x/79+9vqFjageJF069YtvPDCC3j//fdb9OZzRERE7Y6J020t2UwyPDwcpaWlWLNmDQoLC+Hr64vU1FT9SExhYaHB1JW3tzdSU1MRHR2NrVu3wsPDA5s3b9bvkQQAgYGB2LdvH1auXIlVq1ahb9++SE5O1u+RZEy/APD666/j7t27WLBgAW7evAl/f3+kpaXp90gCgKioKFRWViI6Ohq//PILHn30UaSnp6Nv377NvxkyUXyfpFmzZqFbt2545513EBISgqFDh2LTpk2SsVVVVQYr+8vLy+Hp6cl9koiI6IHacp+kPivXwdKEfZLqKitx9a3lrZorPZiiI0n79u3Dd999h9OnTxsVHx8fjzfeeKOVsyIiIiJScOF2QUEBlixZgj179sDWyGo7NjYWZWVl+qOgoKCVsyQiImoBhd67jeSl2EhSdnY2iouLodFo9G11dXX429/+hi1btqCqqgqWlpYG56jV6kZX9hMREbUXcm0BQMpSrEh6+umnce7cOYO22bNnY+DAgVi6dGmDAomIiIioLSlWJDk4OMDX19egzd7eHs7Ozg3aiYiIiNqa4lsAEBERmR1T1xVxuq1daFdF0ldffaV0CkRERCbjmiTz0G7eloSIiIioPWlXI0lERERmg6NBHR6LJCIiIrlxTZJZ4HQbERERkQSOJBEREcmMC7fNA4skIiIiuXG6zSxwuo2IiIhIAkeSiIiIZMbpNvPAIomIiEhunG4zC5xuIyIiIpLAkSQiIiK5cSTJLLBIIiIikhnXJJkHFklERB2Nqv2ulLDsbK90Co0SohqoaKvOwJEkM9B+v9OIiIiIFMSRJCIiIrlxJMkssEgiIiKSGdckmQdOtxERERFJ4EgSERGR3DjdZhZYJBEREcmM023mgdNtRERERBI4kkRERCQ3TreZBRZJREREcmORZBY43UZEREQkgSNJREREMlP99zDlfFIeiyQiIiK5cbrNLLBIIiIikhm3ADAPXJNEREREJIEjSURERHLjdJtZYJFERETUGljodHicbiMiIiKSwJEkIiIimXHhtnlgkURERCQ3rkkyC5xuIyIiIpLAkSQiIiKZcbrNPLBIIiIikhun28wCp9uIiIiIJHAkiYiISGacbjMPLJKIiIjk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",
"text/plain": [
"<Figure size 640x480 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"a.plot()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "16780e2c-1e9d-4f0b-8a05-2dc7d37c6e12",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/plain": [
"array([3.6592563e-05, 2.0317914e-06, 1.8810955e-07, 4.7660916e-12,\n",
" 6.0903998e-15, 1.4805888e-16, 9.9563187e-20, 3.4857774e-19,\n",
" 1.1665387e-13, 0.0000000e+00], dtype=float32)"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.diag(a)"
]
},
{
"cell_type": "markdown",
"id": "f567f6d3-2ff1-4edd-988e-1a32949460f5",
"metadata": {},
"source": [
"It seems to me this is spanning up a domain between 0,10 for each coordinate. I guess what you want from this is the array diagnoal? But honestly I might just do it manually to be really.\n",
"Lets confirm this:"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "f92ebb78-2d6f-477a-b6b3-a9e53213f1a6",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
"<defs>\n",
"<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
"<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
"<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
"<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
"</symbol>\n",
"<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
"<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
"<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"</symbol>\n",
"</defs>\n",
"</svg>\n",
"<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
" *\n",
" */\n",
"\n",
":root {\n",
" --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
" --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
" --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
" --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
" --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
" --xr-background-color: var(--jp-layout-color0, white);\n",
" --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
" --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
"}\n",
"\n",
"html[theme=dark],\n",
"body[data-theme=dark],\n",
"body.vscode-dark {\n",
" --xr-font-color0: rgba(255, 255, 255, 1);\n",
" --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
" --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
" --xr-border-color: #1F1F1F;\n",
" --xr-disabled-color: #515151;\n",
" --xr-background-color: #111111;\n",
" --xr-background-color-row-even: #111111;\n",
" --xr-background-color-row-odd: #313131;\n",
"}\n",
"\n",
".xr-wrap {\n",
" display: block !important;\n",
" min-width: 300px;\n",
" max-width: 700px;\n",
"}\n",
"\n",
".xr-text-repr-fallback {\n",
" /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
" display: none;\n",
"}\n",
"\n",
".xr-header {\n",
" padding-top: 6px;\n",
" padding-bottom: 6px;\n",
" margin-bottom: 4px;\n",
" border-bottom: solid 1px var(--xr-border-color);\n",
"}\n",
"\n",
".xr-header > div,\n",
".xr-header > ul {\n",
" display: inline;\n",
" margin-top: 0;\n",
" margin-bottom: 0;\n",
"}\n",
"\n",
".xr-obj-type,\n",
".xr-array-name {\n",
" margin-left: 2px;\n",
" margin-right: 10px;\n",
"}\n",
"\n",
".xr-obj-type {\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-sections {\n",
" padding-left: 0 !important;\n",
" display: grid;\n",
" grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
"}\n",
"\n",
".xr-section-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-section-item input {\n",
" display: none;\n",
"}\n",
"\n",
".xr-section-item input + label {\n",
" color: var(--xr-disabled-color);\n",
"}\n",
"\n",
".xr-section-item input:enabled + label {\n",
" cursor: pointer;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-section-item input:enabled + label:hover {\n",
" color: var(--xr-font-color0);\n",
"}\n",
"\n",
".xr-section-summary {\n",
" grid-column: 1;\n",
" color: var(--xr-font-color2);\n",
" font-weight: 500;\n",
"}\n",
"\n",
".xr-section-summary > span {\n",
" display: inline-block;\n",
" padding-left: 0.5em;\n",
"}\n",
"\n",
".xr-section-summary-in:disabled + label {\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-section-summary-in + label:before {\n",
" display: inline-block;\n",
" content: '►';\n",
" font-size: 11px;\n",
" width: 15px;\n",
" text-align: center;\n",
"}\n",
"\n",
".xr-section-summary-in:disabled + label:before {\n",
" color: var(--xr-disabled-color);\n",
"}\n",
"\n",
".xr-section-summary-in:checked + label:before {\n",
" content: '▼';\n",
"}\n",
"\n",
".xr-section-summary-in:checked + label > span {\n",
" display: none;\n",
"}\n",
"\n",
".xr-section-summary,\n",
".xr-section-inline-details {\n",
" padding-top: 4px;\n",
" padding-bottom: 4px;\n",
"}\n",
"\n",
".xr-section-inline-details {\n",
" grid-column: 2 / -1;\n",
"}\n",
"\n",
".xr-section-details {\n",
" display: none;\n",
" grid-column: 1 / -1;\n",
" margin-bottom: 5px;\n",
"}\n",
"\n",
".xr-section-summary-in:checked ~ .xr-section-details {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-array-wrap {\n",
" grid-column: 1 / -1;\n",
" display: grid;\n",
" grid-template-columns: 20px auto;\n",
"}\n",
"\n",
".xr-array-wrap > label {\n",
" grid-column: 1;\n",
" vertical-align: top;\n",
"}\n",
"\n",
".xr-preview {\n",
" color: var(--xr-font-color3);\n",
"}\n",
"\n",
".xr-array-preview,\n",
".xr-array-data {\n",
" padding: 0 5px !important;\n",
" grid-column: 2;\n",
"}\n",
"\n",
".xr-array-data,\n",
".xr-array-in:checked ~ .xr-array-preview {\n",
" display: none;\n",
"}\n",
"\n",
".xr-array-in:checked ~ .xr-array-data,\n",
".xr-array-preview {\n",
" display: inline-block;\n",
"}\n",
"\n",
".xr-dim-list {\n",
" display: inline-block !important;\n",
" list-style: none;\n",
" padding: 0 !important;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-dim-list li {\n",
" display: inline-block;\n",
" padding: 0;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-dim-list:before {\n",
" content: '(';\n",
"}\n",
"\n",
".xr-dim-list:after {\n",
" content: ')';\n",
"}\n",
"\n",
".xr-dim-list li:not(:last-child):after {\n",
" content: ',';\n",
" padding-right: 5px;\n",
"}\n",
"\n",
".xr-has-index {\n",
" font-weight: bold;\n",
"}\n",
"\n",
".xr-var-list,\n",
".xr-var-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-var-item > div,\n",
".xr-var-item label,\n",
".xr-var-item > .xr-var-name span {\n",
" background-color: var(--xr-background-color-row-even);\n",
" margin-bottom: 0;\n",
"}\n",
"\n",
".xr-var-item > .xr-var-name:hover span {\n",
" padding-right: 5px;\n",
"}\n",
"\n",
".xr-var-list > li:nth-child(odd) > div,\n",
".xr-var-list > li:nth-child(odd) > label,\n",
".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
" background-color: var(--xr-background-color-row-odd);\n",
"}\n",
"\n",
".xr-var-name {\n",
" grid-column: 1;\n",
"}\n",
"\n",
".xr-var-dims {\n",
" grid-column: 2;\n",
"}\n",
"\n",
".xr-var-dtype {\n",
" grid-column: 3;\n",
" text-align: right;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-var-preview {\n",
" grid-column: 4;\n",
"}\n",
"\n",
".xr-index-preview {\n",
" grid-column: 2 / 5;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-var-name,\n",
".xr-var-dims,\n",
".xr-var-dtype,\n",
".xr-preview,\n",
".xr-attrs dt {\n",
" white-space: nowrap;\n",
" overflow: hidden;\n",
" text-overflow: ellipsis;\n",
" padding-right: 10px;\n",
"}\n",
"\n",
".xr-var-name:hover,\n",
".xr-var-dims:hover,\n",
".xr-var-dtype:hover,\n",
".xr-attrs dt:hover {\n",
" overflow: visible;\n",
" width: auto;\n",
" z-index: 1;\n",
"}\n",
"\n",
".xr-var-attrs,\n",
".xr-var-data,\n",
".xr-index-data {\n",
" display: none;\n",
" background-color: var(--xr-background-color) !important;\n",
" padding-bottom: 5px !important;\n",
"}\n",
"\n",
".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
".xr-var-data-in:checked ~ .xr-var-data,\n",
".xr-index-data-in:checked ~ .xr-index-data {\n",
" display: block;\n",
"}\n",
"\n",
".xr-var-data > table {\n",
" float: right;\n",
"}\n",
"\n",
".xr-var-name span,\n",
".xr-var-data,\n",
".xr-index-name div,\n",
".xr-index-data,\n",
".xr-attrs {\n",
" padding-left: 25px !important;\n",
"}\n",
"\n",
".xr-attrs,\n",
".xr-var-attrs,\n",
".xr-var-data,\n",
".xr-index-data {\n",
" grid-column: 1 / -1;\n",
"}\n",
"\n",
"dl.xr-attrs {\n",
" padding: 0;\n",
" margin: 0;\n",
" display: grid;\n",
" grid-template-columns: 125px auto;\n",
"}\n",
"\n",
".xr-attrs dt,\n",
".xr-attrs dd {\n",
" padding: 0;\n",
" margin: 0;\n",
" float: left;\n",
" padding-right: 10px;\n",
" width: auto;\n",
"}\n",
"\n",
".xr-attrs dt {\n",
" font-weight: normal;\n",
" grid-column: 1;\n",
"}\n",
"\n",
".xr-attrs dt:hover span {\n",
" display: inline-block;\n",
" background: var(--xr-background-color);\n",
" padding-right: 10px;\n",
"}\n",
"\n",
".xr-attrs dd {\n",
" grid-column: 2;\n",
" white-space: pre-wrap;\n",
" word-break: break-all;\n",
"}\n",
"\n",
".xr-icon-database,\n",
".xr-icon-file-text2,\n",
".xr-no-icon {\n",
" display: inline-block;\n",
" vertical-align: middle;\n",
" width: 1em;\n",
" height: 1.5em !important;\n",
" stroke-width: 0;\n",
" stroke: currentColor;\n",
" fill: currentColor;\n",
"}\n",
"</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt;\n",
"Dimensions: (a: 1, b: 1)\n",
"Dimensions without coordinates: a, b\n",
"Data variables:\n",
" longitude (a) int64 0\n",
" latitude (b) int64 0</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-f8a62982-5b69-430d-bb76-339eb49d8b38' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-f8a62982-5b69-430d-bb76-339eb49d8b38' class='xr-section-summary' title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span>a</span>: 1</li><li><span>b</span>: 1</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-15aaea75-251c-4c5a-a5a4-b05441109a84' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-15aaea75-251c-4c5a-a5a4-b05441109a84' class='xr-section-summary' title='Expand/collapse section'>Coordinates: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'></ul></div></li><li class='xr-section-item'><input id='section-fd46bda8-3cd9-4baa-8a05-fd30d96b46f6' class='xr-section-summary-in' type='checkbox' checked><label for='section-fd46bda8-3cd9-4baa-8a05-fd30d96b46f6' class='xr-section-summary' >Data variables: <span>(2)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>longitude</span></div><div class='xr-var-dims'>(a)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0</div><input id='attrs-5b9bb42a-4bf7-4312-837d-fb811e69ac69' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-5b9bb42a-4bf7-4312-837d-fb811e69ac69' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-58b01e0a-642a-41bb-9c75-f4e82d40119c' class='xr-var-data-in' type='checkbox'><label for='data-58b01e0a-642a-41bb-9c75-f4e82d40119c' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees_east</dd></dl></div><div class='xr-var-data'><pre>array([0])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>latitude</span></div><div class='xr-var-dims'>(b)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0</div><input id='attrs-30244208-c36c-451f-91e8-54d0db270a16' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-30244208-c36c-451f-91e8-54d0db270a16' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-44a945b3-3c3b-4244-86b8-2715445dcfc9' class='xr-var-data-in' type='checkbox'><label for='data-44a945b3-3c3b-4244-86b8-2715445dcfc9' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>degrees_north</dd></dl></div><div class='xr-var-data'><pre>array([0])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-74a1415f-d770-46ea-8fa7-da9226cee843' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-74a1415f-d770-46ea-8fa7-da9226cee843' class='xr-section-summary' title='Expand/collapse section'>Indexes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'></ul></div></li><li class='xr-section-item'><input id='section-ee608664-8abf-4b7f-8b83-5538a29bccec' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-ee608664-8abf-4b7f-8b83-5538a29bccec' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>"
],
"text/plain": [
"<xarray.Dataset>\n",
"Dimensions: (a: 1, b: 1)\n",
"Dimensions without coordinates: a, b\n",
"Data variables:\n",
" longitude (a) int64 0\n",
" latitude (b) int64 0"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tg_coords.isel(a=[0], b=[0])"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "b82cb604-7bf0-4743-841a-2921f9c22ae9",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# Manually loop over each location\n",
"datasets = []\n",
"for tg in range(len(tg_coords.a)):\n",
" single_tg = tg_coords.isel(a=[tg], b=[tg])\n",
" regridder = xe.Regridder(ds,single_tg, method='nearest_s2d')\n",
" datasets.append(regridder(ds).squeeze())\n",
"manual_result = xr.concat(datasets, dim='tg')"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "f8452122-91da-4a9a-84f2-f50e30845256",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
"<defs>\n",
"<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
"<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
"<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
"<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
"</symbol>\n",
"<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
"<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
"<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
"</symbol>\n",
"</defs>\n",
"</svg>\n",
"<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
" *\n",
" */\n",
"\n",
":root {\n",
" --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
" --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
" --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
" --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
" --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
" --xr-background-color: var(--jp-layout-color0, white);\n",
" --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
" --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
"}\n",
"\n",
"html[theme=dark],\n",
"body[data-theme=dark],\n",
"body.vscode-dark {\n",
" --xr-font-color0: rgba(255, 255, 255, 1);\n",
" --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
" --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
" --xr-border-color: #1F1F1F;\n",
" --xr-disabled-color: #515151;\n",
" --xr-background-color: #111111;\n",
" --xr-background-color-row-even: #111111;\n",
" --xr-background-color-row-odd: #313131;\n",
"}\n",
"\n",
".xr-wrap {\n",
" display: block !important;\n",
" min-width: 300px;\n",
" max-width: 700px;\n",
"}\n",
"\n",
".xr-text-repr-fallback {\n",
" /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
" display: none;\n",
"}\n",
"\n",
".xr-header {\n",
" padding-top: 6px;\n",
" padding-bottom: 6px;\n",
" margin-bottom: 4px;\n",
" border-bottom: solid 1px var(--xr-border-color);\n",
"}\n",
"\n",
".xr-header > div,\n",
".xr-header > ul {\n",
" display: inline;\n",
" margin-top: 0;\n",
" margin-bottom: 0;\n",
"}\n",
"\n",
".xr-obj-type,\n",
".xr-array-name {\n",
" margin-left: 2px;\n",
" margin-right: 10px;\n",
"}\n",
"\n",
".xr-obj-type {\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-sections {\n",
" padding-left: 0 !important;\n",
" display: grid;\n",
" grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
"}\n",
"\n",
".xr-section-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-section-item input {\n",
" display: none;\n",
"}\n",
"\n",
".xr-section-item input + label {\n",
" color: var(--xr-disabled-color);\n",
"}\n",
"\n",
".xr-section-item input:enabled + label {\n",
" cursor: pointer;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-section-item input:enabled + label:hover {\n",
" color: var(--xr-font-color0);\n",
"}\n",
"\n",
".xr-section-summary {\n",
" grid-column: 1;\n",
" color: var(--xr-font-color2);\n",
" font-weight: 500;\n",
"}\n",
"\n",
".xr-section-summary > span {\n",
" display: inline-block;\n",
" padding-left: 0.5em;\n",
"}\n",
"\n",
".xr-section-summary-in:disabled + label {\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-section-summary-in + label:before {\n",
" display: inline-block;\n",
" content: '►';\n",
" font-size: 11px;\n",
" width: 15px;\n",
" text-align: center;\n",
"}\n",
"\n",
".xr-section-summary-in:disabled + label:before {\n",
" color: var(--xr-disabled-color);\n",
"}\n",
"\n",
".xr-section-summary-in:checked + label:before {\n",
" content: '▼';\n",
"}\n",
"\n",
".xr-section-summary-in:checked + label > span {\n",
" display: none;\n",
"}\n",
"\n",
".xr-section-summary,\n",
".xr-section-inline-details {\n",
" padding-top: 4px;\n",
" padding-bottom: 4px;\n",
"}\n",
"\n",
".xr-section-inline-details {\n",
" grid-column: 2 / -1;\n",
"}\n",
"\n",
".xr-section-details {\n",
" display: none;\n",
" grid-column: 1 / -1;\n",
" margin-bottom: 5px;\n",
"}\n",
"\n",
".xr-section-summary-in:checked ~ .xr-section-details {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-array-wrap {\n",
" grid-column: 1 / -1;\n",
" display: grid;\n",
" grid-template-columns: 20px auto;\n",
"}\n",
"\n",
".xr-array-wrap > label {\n",
" grid-column: 1;\n",
" vertical-align: top;\n",
"}\n",
"\n",
".xr-preview {\n",
" color: var(--xr-font-color3);\n",
"}\n",
"\n",
".xr-array-preview,\n",
".xr-array-data {\n",
" padding: 0 5px !important;\n",
" grid-column: 2;\n",
"}\n",
"\n",
".xr-array-data,\n",
".xr-array-in:checked ~ .xr-array-preview {\n",
" display: none;\n",
"}\n",
"\n",
".xr-array-in:checked ~ .xr-array-data,\n",
".xr-array-preview {\n",
" display: inline-block;\n",
"}\n",
"\n",
".xr-dim-list {\n",
" display: inline-block !important;\n",
" list-style: none;\n",
" padding: 0 !important;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-dim-list li {\n",
" display: inline-block;\n",
" padding: 0;\n",
" margin: 0;\n",
"}\n",
"\n",
".xr-dim-list:before {\n",
" content: '(';\n",
"}\n",
"\n",
".xr-dim-list:after {\n",
" content: ')';\n",
"}\n",
"\n",
".xr-dim-list li:not(:last-child):after {\n",
" content: ',';\n",
" padding-right: 5px;\n",
"}\n",
"\n",
".xr-has-index {\n",
" font-weight: bold;\n",
"}\n",
"\n",
".xr-var-list,\n",
".xr-var-item {\n",
" display: contents;\n",
"}\n",
"\n",
".xr-var-item > div,\n",
".xr-var-item label,\n",
".xr-var-item > .xr-var-name span {\n",
" background-color: var(--xr-background-color-row-even);\n",
" margin-bottom: 0;\n",
"}\n",
"\n",
".xr-var-item > .xr-var-name:hover span {\n",
" padding-right: 5px;\n",
"}\n",
"\n",
".xr-var-list > li:nth-child(odd) > div,\n",
".xr-var-list > li:nth-child(odd) > label,\n",
".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
" background-color: var(--xr-background-color-row-odd);\n",
"}\n",
"\n",
".xr-var-name {\n",
" grid-column: 1;\n",
"}\n",
"\n",
".xr-var-dims {\n",
" grid-column: 2;\n",
"}\n",
"\n",
".xr-var-dtype {\n",
" grid-column: 3;\n",
" text-align: right;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-var-preview {\n",
" grid-column: 4;\n",
"}\n",
"\n",
".xr-index-preview {\n",
" grid-column: 2 / 5;\n",
" color: var(--xr-font-color2);\n",
"}\n",
"\n",
".xr-var-name,\n",
".xr-var-dims,\n",
".xr-var-dtype,\n",
".xr-preview,\n",
".xr-attrs dt {\n",
" white-space: nowrap;\n",
" overflow: hidden;\n",
" text-overflow: ellipsis;\n",
" padding-right: 10px;\n",
"}\n",
"\n",
".xr-var-name:hover,\n",
".xr-var-dims:hover,\n",
".xr-var-dtype:hover,\n",
".xr-attrs dt:hover {\n",
" overflow: visible;\n",
" width: auto;\n",
" z-index: 1;\n",
"}\n",
"\n",
".xr-var-attrs,\n",
".xr-var-data,\n",
".xr-index-data {\n",
" display: none;\n",
" background-color: var(--xr-background-color) !important;\n",
" padding-bottom: 5px !important;\n",
"}\n",
"\n",
".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
".xr-var-data-in:checked ~ .xr-var-data,\n",
".xr-index-data-in:checked ~ .xr-index-data {\n",
" display: block;\n",
"}\n",
"\n",
".xr-var-data > table {\n",
" float: right;\n",
"}\n",
"\n",
".xr-var-name span,\n",
".xr-var-data,\n",
".xr-index-name div,\n",
".xr-index-data,\n",
".xr-attrs {\n",
" padding-left: 25px !important;\n",
"}\n",
"\n",
".xr-attrs,\n",
".xr-var-attrs,\n",
".xr-var-data,\n",
".xr-index-data {\n",
" grid-column: 1 / -1;\n",
"}\n",
"\n",
"dl.xr-attrs {\n",
" padding: 0;\n",
" margin: 0;\n",
" display: grid;\n",
" grid-template-columns: 125px auto;\n",
"}\n",
"\n",
".xr-attrs dt,\n",
".xr-attrs dd {\n",
" padding: 0;\n",
" margin: 0;\n",
" float: left;\n",
" padding-right: 10px;\n",
" width: auto;\n",
"}\n",
"\n",
".xr-attrs dt {\n",
" font-weight: normal;\n",
" grid-column: 1;\n",
"}\n",
"\n",
".xr-attrs dt:hover span {\n",
" display: inline-block;\n",
" background: var(--xr-background-color);\n",
" padding-right: 10px;\n",
"}\n",
"\n",
".xr-attrs dd {\n",
" grid-column: 2;\n",
" white-space: pre-wrap;\n",
" word-break: break-all;\n",
"}\n",
"\n",
".xr-icon-database,\n",
".xr-icon-file-text2,\n",
".xr-no-icon {\n",
" display: inline-block;\n",
" vertical-align: middle;\n",
" width: 1em;\n",
" height: 1.5em !important;\n",
" stroke-width: 0;\n",
" stroke: currentColor;\n",
" fill: currentColor;\n",
"}\n",
"</style><pre class='xr-text-repr-fallback'>&lt;xarray.DataArray &#x27;pr&#x27; (tg: 10)&gt;\n",
"array([3.6592563e-05, 2.0317914e-06, 1.8810955e-07, 4.7660916e-12,\n",
" 6.0903998e-15, 1.4805888e-16, 9.9563187e-20, 3.4857774e-19,\n",
" 1.1665387e-13, 0.0000000e+00], dtype=float32)\n",
"Coordinates:\n",
" time object 1850-01-01 12:00:00\n",
" member_id &lt;U8 &#x27;r1i1p1f1&#x27;\n",
" dcpp_init_year float64 nan\n",
"Dimensions without coordinates: tg</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'>'pr'</div><ul class='xr-dim-list'><li><span>tg</span>: 10</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-b75c14a4-3129-4723-9f44-0c95fd6788ea' class='xr-array-in' type='checkbox' checked><label for='section-b75c14a4-3129-4723-9f44-0c95fd6788ea' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>3.659e-05 2.032e-06 1.881e-07 4.766e-12 ... 3.486e-19 1.167e-13 0.0</span></div><div class='xr-array-data'><pre>array([3.6592563e-05, 2.0317914e-06, 1.8810955e-07, 4.7660916e-12,\n",
" 6.0903998e-15, 1.4805888e-16, 9.9563187e-20, 3.4857774e-19,\n",
" 1.1665387e-13, 0.0000000e+00], dtype=float32)</pre></div></div></li><li class='xr-section-item'><input id='section-0e5fff9d-9d98-411f-94c0-2bcb47869761' class='xr-section-summary-in' type='checkbox' checked><label for='section-0e5fff9d-9d98-411f-94c0-2bcb47869761' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>time</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>object</div><div class='xr-var-preview xr-preview'>1850-01-01 12:00:00</div><input id='attrs-11334a95-fbce-4428-bf6b-62810b6573e2' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-11334a95-fbce-4428-bf6b-62810b6573e2' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-585cba90-4b44-44fb-af37-856c2a282f56' class='xr-var-data-in' type='checkbox'><label for='data-585cba90-4b44-44fb-af37-856c2a282f56' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array(cftime.DatetimeNoLeap(1850, 1, 1, 12, 0, 0, 0, has_year_zero=True),\n",
" dtype=object)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>member_id</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>&lt;U8</div><div class='xr-var-preview xr-preview'>&#x27;r1i1p1f1&#x27;</div><input id='attrs-7e117a03-7043-421d-b3ec-bde2ee289f3f' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-7e117a03-7043-421d-b3ec-bde2ee289f3f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-7725e61d-e400-4867-b180-727007311a60' class='xr-var-data-in' type='checkbox'><label for='data-7725e61d-e400-4867-b180-727007311a60' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array(&#x27;r1i1p1f1&#x27;, dtype=&#x27;&lt;U8&#x27;)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>dcpp_init_year</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>nan</div><input id='attrs-82e6e0c4-e87f-4ce1-9a3b-63bb985f73ce' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-82e6e0c4-e87f-4ce1-9a3b-63bb985f73ce' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-a73cc728-2224-4ad4-b8c4-2839890f2412' class='xr-var-data-in' type='checkbox'><label for='data-a73cc728-2224-4ad4-b8c4-2839890f2412' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array(nan)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-2f07ac30-55a2-4c3d-842e-b014b118a70a' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-2f07ac30-55a2-4c3d-842e-b014b118a70a' class='xr-section-summary' title='Expand/collapse section'>Indexes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'></ul></div></li><li class='xr-section-item'><input id='section-71bc78bf-6270-494d-9a7d-4a5b29c2befc' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-71bc78bf-6270-494d-9a7d-4a5b29c2befc' class='xr-section-summary' title='Expand/collapse section'>Attributes: <span>(0)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'></dl></div></li></ul></div></div>"
],
"text/plain": [
"<xarray.DataArray 'pr' (tg: 10)>\n",
"array([3.6592563e-05, 2.0317914e-06, 1.8810955e-07, 4.7660916e-12,\n",
" 6.0903998e-15, 1.4805888e-16, 9.9563187e-20, 3.4857774e-19,\n",
" 1.1665387e-13, 0.0000000e+00], dtype=float32)\n",
"Coordinates:\n",
" time object 1850-01-01 12:00:00\n",
" member_id <U8 'r1i1p1f1'\n",
" dcpp_init_year float64 nan\n",
"Dimensions without coordinates: tg"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"manual_result.isel(time=0).pr.load()"
]
},
{
"cell_type": "markdown",
"id": "0a3b62da-37bc-4018-81b4-4631c5ae595b",
"metadata": {},
"source": [
"Ok so this seems to give the same result. Overall both methods seem clunky and not very efficient, but either one might still work sufficiently fast here. \n",
"\n",
"If this turns out to be slow, I would recommend"
]
}
],
"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.10.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment