diff --git a/.gitignore b/.gitignore index 3d2a76b..96b1378 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,7 @@ .ipynb_checkpoints .mypy_cache .ruff_cache -.venv +.venv* build dist @@ -20,10 +20,11 @@ coverage.xml docs/_build docs/generated -# ide +# ide / agent tooling .idea .eclipse .vscode +.claude # Mac .DS_Store diff --git a/CHANGELOG.md b/CHANGELOG.md index 149c3a2..bdf3cf4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/). +## Unreleased + +Added: + - `conservative_2d` regridding for grids that aren't 1D-separable: curvilinear (2D `lat`/`lon`) grids, unstructured meshes (`ConservativeRegridder.from_polygons`), and grid-to-polygon aggregation (e.g. gridded data → region shapes). Built on shapely 2 polygon intersection with optional `sparse` weight storage, an analytic cylindrical-equal-area `manifold="cea"` option for spherical areas on lat/lon grids, antimeridian handling, and netCDF weight-matrix caching. Exposed via the `.regrid.conservative_2d` accessor and the reusable `ConservativeRegridder` class; install with the `conservative-2d` extra ([#70](https://github.com/xarray-contrib/xarray-regrid/pull/70)). + ## 0.4.2 (2026-01-28) New contributors: diff --git a/docs/getting_started.rst b/docs/getting_started.rst index 8af1130..8a49cc7 100644 --- a/docs/getting_started.rst +++ b/docs/getting_started.rst @@ -29,9 +29,10 @@ Next load in the data you want to regrid, and the data with a grid you want to r Multiple regridding methods are available: * `linear interpolation `_ (``.regrid.linear``) -* `nearest-neighbor `_ (``.regrid.nearest``) +* `nearest-neighbor `_ (``.regrid.nearest``) * `cubic interpolation `_ (``.regrid.cubic``) * `conservative regridding `_ (``.regrid.conservative``) +* `conservative 2D regridding `_ (``.regrid.conservative_2d``) for curvilinear grids, unstructured meshes, and grid-to-polygon aggregation * `zonal statistics `_ (``.regrid.stat``) is available to compute statistics such as the maximum value, or variance. Additionally, there are separate methods available to compute the diff --git a/docs/index.rst b/docs/index.rst index 10bf3bc..a12d045 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -36,6 +36,7 @@ The following methods are supported: * `Linear `_ * `Nearest-neighbor `_ * `Conservative `_ +* `Conservative 2D (curvilinear / unstructured / polygon aggregation) `_ * `Cubic `_ * `Zonal statistics `_ * `"Most common value" (zonal statistics) `_ diff --git a/docs/notebooks/demos/demo_conservative_2d_curvilinear.ipynb b/docs/notebooks/demos/demo_conservative_2d_curvilinear.ipynb new file mode 100644 index 0000000..b78a29d --- /dev/null +++ b/docs/notebooks/demos/demo_conservative_2d_curvilinear.ipynb @@ -0,0 +1,296 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0", + "metadata": {}, + "source": [ + "# Conservative 2D regrid — curvilinear target\n", + "\n", + "**Conservative regridding** resamples a gridded field while preserving its\n", + "area-weighted integral: each output cell is the area-weighted average of\n", + "the source cells it overlaps. It's the right tool for fluxes and intensive\n", + "quantities — precipitation, sea-surface temperature, mass-balance budgets —\n", + "where bilinear or nearest-neighbor interpolation would bias the total.\n", + "\n", + "The fast `.regrid.conservative` accessor only works on **1D-separable**\n", + "grids: plain rectilinear lat/lon, where lat depends only on `y` and lon\n", + "only on `x`. **Curvilinear** grids store coordinates as 2D arrays\n", + "`lat(y, x)` / `lon(y, x)` and are common in ocean models (ORCA, tripolar)\n", + "or any rotated/projected setup. Their cells aren't axis-aligned, so we\n", + "drop to `.regrid.conservative_2d`, which builds the full 2D polygon\n", + "intersection.\n", + "\n", + "**In this notebook.** We regrid a smooth analytic two-bump field from a\n", + "regular lat/lon grid onto a 30°-rotated curvilinear target — a minimal\n", + "stand-in for any curvilinear ocean grid — and verify that the\n", + "area-weighted integral is preserved to machine precision." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "1", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:06.360118Z", + "iopub.status.busy": "2026-05-29T13:27:06.359974Z", + "iopub.status.idle": "2026-05-29T13:27:07.447877Z", + "shell.execute_reply": "2026-05-29T13:27:07.447311Z" + } + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import xarray as xr\n", + "import matplotlib.pyplot as plt\n", + "\n", + "import xarray_regrid # noqa: F401\n", + "from xarray_regrid import ConservativeRegridder" + ] + }, + { + "cell_type": "markdown", + "id": "2", + "metadata": {}, + "source": [ + "## Source — regular 1° lat/lon, analytic two-bump field\n", + "\n", + "A simple synthetic field — one positive Gaussian bump in the northern\n", + "hemisphere, one negative in the southern — gives us something we can\n", + "visually track from source to target." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "3", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:07.449773Z", + "iopub.status.busy": "2026-05-29T13:27:07.449278Z", + "iopub.status.idle": "2026-05-29T13:27:07.587128Z", + "shell.execute_reply": "2026-05-29T13:27:07.586648Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuwAAAFUCAYAAAB/UWl5AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAj61JREFUeJztnQe4E1X6xr8kt1GkSRcUsGBFWFgQrKusWHbXtio2EF1cCzZUyioC6ooV26JYVtS1rr0h6toLiwp2hb/YYJViA6Tee5P5P9/JnMk5MyeTmdzkJrl5f88Tkpw5M3NmJuGevPOe90Qsy7IIAAAAAAAAUJREC90AAAAAAAAAQHrQYQcAAAAAAKCIQYcdAAAAAACAIgYddgAAAAAAAIoYdNgBAAAAAAAoYtBhBwAAAAAAoIhBhx0AAAAAAIAiBh12AAAAAAAAihh02AEAAAAAAChi0GEHAJQtd911F0UiEfrmm2+KepvFAh8TH9s111xDTYm1a9fSX/7yF+rcubM4vnPOOcc5Vr6eYXn11VfFuvyciX322Uc8AADAD3TYAQAgCy6//HJ64okn8nru3n77bZoyZQqtWrUqr/spd/hacsf8tNNOo3/96190wgknFLpJAACgUaG/BQAAELST9+c//5kOPfRQrZw7e8OHD6fq6uqcdNinTp1KJ554IrVp0wYXJk+8/PLLtNtuu9HkyZOdMsuyaMOGDVRZWYnzDgAoOFDYAShz6uvrqba2ttDNaDLEYjGqqakRlghQGqxcudLzg4ivH19Hvp4AAFBo0GEHoED8+uuvwivbo0cPocZ27NiRfv/739OCBQu0eg8//DD179+fmjVrRu3bt6fjjz+evvvuu0A+WFZmefsmD/L1119PW2+9tdj3Z599JpYvXLiQjjrqKOrQoYPYX+/evenCCy/Utsn7Pumkk6hTp05i3Z122onuvPNOz76XLFkitpcJ/rFw8cUXi2Ns3bo1tWjRgvbcc0965ZVXtHpq22+77Tan7b/97W/p3Xff1ep+9NFH4th79eolOl3sTeY2//TTT75tGTlypDjHdXV1nmX777+/OB8Mt2PdunV09913i9f84P35edife+452nvvvWmzzTajVq1aiXbff//9advCVpgLLrhAvO7Zs6ezH97u4YcfTr/5zW+0+n/84x/F8qeeesopmzdvnijjfUu++uorOvLII6ldu3bUvHlzoSw/++yzFJbrrruOttpqK/E54eP65JNPGvyZnDFjhrhm3C4+30uXLhVK96WXXkrdunUT+zrkkEPo559/1rbJ2/vDH/5AL7zwAvXt21dc8x133JEee+yxQF7zr7/+WpwD9Ryn87DzZ5rvrPD54/0MGDBAO+d+yM8tH8fAgQPpjTfeCLQeAADAEgNAgTj11FPpkUceoTFjxojOBXcm33zzTfr888+dzhh3FkaNGiU6d9OmTaMVK1bQDTfcQG+99Ra9//77WdskZs2aRRs3bqRTTjlFdHq588GdXO4oswWAy7kT9OWXX9LTTz9Nf//738V6vH/u4HFHhtvNHXvuDJ588sm0Zs0a8QNEMmLECHrttddEh8sPXu+OO+6gY445hkaPHi1+yPzzn/+kYcOG0TvvvCM6YCrcyeU6f/3rX0U7rrrqKtGB5Y6otC+8+OKL4j2fO+6sf/rpp6KzxM///e9/06rfbGe555576PnnnxcdQMny5cuFbUJaJtjnzIMUudPF54rhjlg6+DryDwb+cTNx4kRx3fj6zZkzh4499ljjOnxM//d//0cPPPCA6BzzDwmGzzlfpyeffFKcO+788znmz0Q0GhWdwD/96U+iLr/mst133925fkOGDKH169fTWWedRZtvvrn40cH1+bN42GGHURD4HPE1OOOMM8TniD+T++67L3388cfih1w23HfffeLH25lnnik65Hxd+ccjb5c71uPHj6fFixfTTTfdROeff77nR+IXX3xBRx99tPhe8Q8v/ozzDxM+x/xD2MQOO+wgruW5554rfhCcd955zjn+4YcfPPX588PncosttqAJEyaIH5f//ve/hS3q0Ucf9T1//Jnmzyyff/6e8OeTzzt/97p3757VOQMAlBEWAKAgtG7d2jrjjDPSLq+trbU6duxo7bzzztaGDRuc8meeeYZ7wNbFF1/slO29997i4WbkyJHWVltt5bz/+uuvxbqtWrWyVq5cqdXda6+9rM0228z69ttvtfJEIuG8Pvnkk60uXbpYP/74o1Zn+PDh4njWr1+vtSnIfzH19fXWpk2btLJffvnF6tSpk3XSSSd52r755ptbP//8s1P+5JNPivKnn37aKVPbIXnggQdEvddff90pmzVrlijjbTPxeNzq1q2bdfTRR2vrTp8+3YpEItZXX33llLVo0UKcXzfuba5a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P2bQZBHhWMBJlcL42g3KvKPkU0h8YiC1bRlUd2c9g+fdrdL6TiSVC6U9W4XZL/IxWzXduP0MkY1p14eqDooHKOw5tsSMHTs2aFWaPn164LoAAAAAAKA8wUynOe6wv//++4HqyclSQG7Jt28r37Ywv+mE3ctMarBRTbdfW0qZVHNlWUJd5tT3quJSPZfKucmvria8SDXc5EmXZU7aC6WUciuqb19OpKS2IWZon5WoSH88rmNWz437/JmWZXudck2pWBPzmhbTgEmV8pEg41bate2H9SS7fe6q193Udh/1XbbVqHJn2z4/fNX0kCq6JKya7lMGvzooZfhmsRKAlrFuuRK4w/7KK6/ktyUAAAAAAKCsKBaF/eeff6YzzzyTnn76aRFZfsQRR9ANN9xALVu2TFufx3G+8MILtGTJEurQoQMdeuihdOmll1Lr1q19hewHHniAhg8fHqp9uZu7GTQJL3q+kaJutl86oypsKEup6UoCio/CnlrPWyaTYExpL36pL6Ztym2lAi3St0Ffz3A3wXXcpvNgOl9B0JNjstoEaOSM9kC+dl9FOn2CjFbd1ETKEtfm/dR38dIT+K6uLJf55LDngjC+dpOK7redgGWBfOoh7wA0OAkGKTAgS/jvTZAUsnx32I877jgRqPLiiy9SXV0djRo1ik455RS6//77jfW///578bjmmmtoxx13FOM5Tz31VFH2yCOPaHVnzZolAlokbdq0Cd0+dNgBAAAAAEBBSOarB+2wU174/PPPac6cOfTuu++KSUGZm266iQ466CDRIe/atatnnZ133pkeffRR5/3WW29Nf//730UwS319PVVUVGgd9M6dOzeojTk0+YFyJJcTGbBCbFKJpVKcrVqcDlaw3Q/TMr+ysPtxl/m1J5fI85fuDoXfuQ9DLie34DtB8gEUFTOEkskKaUaV1LRNVmXVh6m+8pD7cfYX9BGtSD6My7wPK1aRfBj2aUUrMj782hJkffFw71e2KVbhbXPYYw5wbo3nN+y1C/CZCayuh/xMApDOwx70waxZs0Z7bNq0iRrC3LlzRadadtaZoUOHCmvMvHnzAm9n9erV1KpVK62zzpxxxhkiRXHgwIF05513ZvV3DQo7AAAAAAAoGQ979+7dtXL2kk+ZMiXrNixfvpw6duyolXGnu127dmJZEH788UfhX2cbjcoll1xC++67LzVv3lz43U8//XRau3YtnXXWWaHaiA47aBBy5kk1tzvrbflMYxnLwxSXMsXF/dr03l0WRgHPtC13mWlZQ/E7f37nPSy5vExInMp9goy2CT9/u98MqU6dYKkyTpVALQ14jDEfL74Pmkc+W4KoyUEy2rPNdtfKApzVAIp6VkBVBzkiHsLDHrfrLV26VCjZkurqamP9CRMm0JVXXpnRDtNQWOU/+OCDhZfd/cNh0qRJzut+/frRunXr6Oqrr0aHHQAAAAAAlAb8UzuojTJhP3NnXe2wp+O8886jE0880bdOr169hL985cqVWjn70DkJJpP3/NdffxUDSjfbbDN6/PHHqbKy0rf+oEGDhBLPNp50PzRMQGEvQ1TlsrH9wVKBjWaZ129Sik0KccQuk89qPT8l21QWdc1cmq5eum2pdeW2/LZjXs97POprtU4u7kyo1ycPNzeaBDKPvVEy2XOUIBM6t91v2wFTZZwqPm2JFOCuQ1bbzkH90Cq6sV52M5UGaoPvfuFVB7knzBi1eMgBUhy1yI9MDB48mFatWkXz58+n/v37i7KXX36ZEomE6GD7KevDhg0THe+nnnqKampqMu7rgw8+oLZt24bqrDPosAMAAAAAgIJghfCwW3kSR3bYYQehko8ePZpmzpwpYh3HjBkjstJlQsx3331H++23H91zzz1i8Ch31vfff39av3493Xvvvc4AWIZ/JMRiMZHpvmLFCtptt91EZ54jIy+//HI6//zzQ7cRHfYSwSRm5XT7lF/8FHX3MlUVlq8r7GfTMk11juhlquqcUt29CnbMnnFUzmAaraj0zlwaUxRve/ZSU2a6e/vqes7sp/b21WWyDab2+R6P65jVc+M+f6Zl2V6nXAMhvzAKs6/S7t62tqI6K6nP1fNT3308786m0285/0p7lopyIAU7Y3pPw/3pbqCsg2KEx8AFHQcXz+PNzPvuu0900rlTLidOuvHGG53l3IlftGiR6KAzCxYscBJkttlmG21bX3/9NfXo0UPYY2bMmEHnnnuu+LHB9aZPny5+GDTJDvs333wj/D58e4JH6/KvHc65vPDCC6mqKjW1+0cffSSiczhHk3/d8IxV48aNK2jbAQAAAABAcc902q5du7STJDHcAVcV/n322Sej4s+qvTphUkMoiQ77woULhY/o1ltvFb9OPvnkE/HrhEfacqA9I29NcG4m3874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9lhneTweF5312tpaevvtt+nuu++mu+66iy6++OKCthsAAAAAAJix4gmyOIs90CORt9P497//nYYMGSJE3zZt2gRax7Is0c/s0qWLEJOHDh1KX3zxhVbn559/puOOO45atWoltnvyySfT2rVrm2aHnVXys88+m66++mo69dRTabvttqMdd9yRjjrqKKfOCy+8QJ999hnde++91LdvXzrwwAPp0ksvpRkzZohOPACqvaShj2LeHwAAAFBKOexyttOMDyt/Cjv3FY888kg67bTTAq9z1VVX0Y033kgzZ86kefPmUYsWLWjYsGG0ceNGpw531j/99FN68cUX6ZlnnqHXX3+dTjnllKbZYV+wYAF99913FI1GqV+/fuKXDHfIP/nkE6fO3LlzaZdddqFOnTo5ZXzS1qxZI04UAAAAAAAoLgJ31hPJR76YOnUqnXvuuaIvGajdlkXXX389XXTRRXTIIYdQnz596J577qHvv/+ennjiCVHn888/pzlz5tAdd9whLN177LEH3XTTTfTggw+Kek2uw/7VV1+J5ylTpogTw79Q2MO+zz77iFsNzPLly7XOOiPf87J0bNq0SXTq1QcAmYA6DhoLKxJxHgAA0NQolg57WL7++mvRv2QbjKR169aiY84iMsPPbIMZMGCAU4frswDNinzJpMRMmDCBrrzySt86/OskYeduXnjhhXTEEUeI17NmzaJu3brRww8/TH/961+zbsO0adPEryo3v/76a9bbBACAfBApxYgjAEDRIPs2rA4XC1bdxuAd8XideHKLq9XV1eLRmEgx2CQWy2X8zCEoKhUVFdSuXTtfMbnoOuznnXcenXjiib51evXqRcuWLROv2bcu4QvDyzgZhuncuTO988472rorVqxwlqVj4sSJNHbsWOc9W294P9tus02WRwUAAAAAUNwdd1aDC0lVVZXony3/7N+h1mvZsiV1795dK5s8ebJwYWQrDG+//fZU7BS0w96hQwfxyET//v1FB33RokXC/8PU1dXRN998Q1tttZV4P3jwYDHCd+XKlc6vGTb486hctaPvxv2rjD8IS5cupc0224wiJXgLmn918geZj4GPHTQNcF2bJriuTRNc16ZJU7iurKxzZ71r166FbgrV1NQIW0nYYBDLsjz9s3TqelBhOBukGMziMI+tlPB7Dj+Rdbhf6g5SYTu3n5hcshMn8ReD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6iurefPm1gUXXCDSC2bMmGHFYjFRFxQHb7/9tkiI4Wv45ZdfWvfee6+4jiNGjNASCzp16mSdcMIJ1ieffGI9+OCD4rreeuutBW078IevEydN3HXXXSJl4pRTTrHatGmjJTuB4ua8886zXn31Vevrr7+23nrrLWvo0KFW+/btrZUrV4rlp556qrXllltaL7/8svXee+9ZgwcPFg9QXPDfTfk3lLtF06dPF6/57yxzxRVXiO/mk08+aX300UfWIYccYvXs2dPasGGDs40DDjjA6tevnzVv3jzrzTfftLbddlvrmGOOKeBRgaYGOuwlysiRI8V/LO7HK6+84tT55ptvrAMPPNBq1qyZ+CPCf1zq6uq07XD9vn37WlVVVVavXr1ETCQoHubPn28NGjRIRHfW1NRYO+ywg3X55ZdbGzdu1Op9+OGH1h577CE6gFtssYX4AwOKn5tuukl06Pj7xzGP//3vfwvdJBACjsHt0qWLuH78veP3ixcvdpZzh+70008Xsav8I/qwww6zli1bhnNcZPDfQdPfU/47K6MdJ02aJIQR/j92v/32sxYtWqRt46effhIddBbQOD551KhRjoAGQC6I8D+50eoBAAAAAAAAuQY57AAAAAAAABQx6LADAAAAAABQxKDDDgAAAAAAQBGDDjsAAAAAAABFDDrsAAAAAAAAFDHosAMAAAAAAFDEoMMOAAAAAABAEYMOOwAAAAAAAEUMOuwAgLJnn332oXPOOafJ7PPEE0+kQw89NC/bBgAA0PhUFGCfAABQ9jz22GNUWVnpnIcePXqIDnxj/3AAAABQ/KDDDgAABaBdu3Y47wAAAAIBSwwAACj88ssvNGLECGrbti01b96cDjzwQPriiy+c5XfddRe1adOGnn/+edphhx2oZcuWdMABB9CyZcucOvX19XTWWWeJeptvvjmNHz+eRo4cqdlUVEsMv/7222/p3HPPpUgkIh7MlClTqG/fvtr1uf7664UaL4nH4zR27FhnX+PGjSPLsrR1EokETZs2jXr27EnNmjWjXXfdlR555BFcdwAAKBHQYQcAAJf/+7333qOnnnqK5s6dKzq/Bx10ENXV1Tl11q9fT9dccw3961//otdff52WLFlC559/vrP8yiuvpPvuu49mzZpFb731Fq1Zs4aeeOIJX3tMt27d6JJLLhEdf7Xzn4lrr71W/Ii488476c0336Sff/6ZHn/8ca0Od9bvuecemjlzJn366afih8Hxxx9Pr732Gq49AACUALDEAACADSvp3FHnTvaQIUNEGXe8u3fvLjrcRx55pCjjzjt3frfeemvxfsyYMaKzLbnpppto4sSJdNhhh4n3//jHP2j27Nm+9phYLEabbbYZde7cOdT1YMWd93X44YeL99wuVv8lmzZtossvv5z+85//0ODBg0VZr169ROf+1ltvpb333hvXHwAAihx02AEAwObzzz+niooKGjRokHNO2GbSu3dvsUzCVhnZWWe6dOlCK1euFK9Xr15NK1asoIEDBzrLuTPev39/YU3JJbwvVuPV9nL7BwwY4NhiFi9eLO4I/P73v9fWra2tpX79+uHaAwBACYAOOwAAhERNd2HYc+72jeeCaDTq2a5qzQnC2rVrxfOzzz5LW2yxhbasuro6B60EAACQb+BhBwAAGx5EygNG582b55yTn376iRYtWkQ77rhjoPPUunVr6tSpE7377rvawNAFCxb4rldVVSXqqXTo0IGWL1+uddo/+OADbV+s7qvt5fbPnz/fec/t5o45++y32WYb7cFWHwAAAMUPFHYAALDZdttt6ZBDDqHRo0cLfzd7yidMmCCUaS4PyplnnikGenKnePvttxeedk6fkekvJjj5hQewDh8+XHSw27dvL9JjfvjhB7rqqqvoz3/+M82ZM4eee+45atWqlbPe2WefTVdccYVoO+9r+vTptGrVKmc5HwMPiOWBpmzJ2WOPPYSVhn36vB1OrwEAAFDcQGEHAAAFTnZhv/kf/vAHMUiT1W0eMOq2wfjBMY7HHHOMiIfkbXD047Bhw6impibtOjxo9ZtvvhHeeFbWpeJ/880304wZM0QU4zvvvKOl0TDnnXcenXDCCaLjzfviDroc7Cq59NJLadKkSeJHBG+TYyjZIsMxjwAAAIqfiJUP4yUAAAAHVra5o3zUUUeJzjMAAAAQBlhiAAAgx/AkSC+88IKITORYRY51/Prrr+nYY4/FuQYAABAaWGIAACAP6S48mdFvf/tb2n333enjjz8WOeissgMAAABhgSUGAAAAAACAIgYKOwAAAAAAAEUMOuwAAAAAAAAUMeiwAwAAAAAAUMSgww4AAAAAAEARgw47AAAAAAAARQw67AAAAAAAABQx6LADAAAAAABQxKDDDgAAAAAAQBGDDjsAAAAAAABUvPw/LLBvQ+g8d4wAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "lat = np.linspace(-60, 60, 121)\n", + "lon = np.linspace(-120, 120, 241)\n", + "Lo, La = np.meshgrid(lon, lat)\n", + "field = (\n", + " np.exp(-((Lo - 40) ** 2 + (La - 20) ** 2) / 500)\n", + " - np.exp(-((Lo + 60) ** 2 + (La + 15) ** 2) / 400)\n", + ")\n", + "src = xr.DataArray(\n", + " field,\n", + " dims=(\"latitude\", \"longitude\"),\n", + " coords={\"latitude\": lat, \"longitude\": lon},\n", + ")\n", + "src.plot(figsize=(8, 3.5), cmap=\"RdBu_r\", center=0)\n", + "plt.title(\"source: analytic two-bump field\")\n", + "plt.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "id": "4", + "metadata": {}, + "source": [ + "## Target — rotated curvilinear grid\n", + "\n", + "To break 1D-separability we take a regular `(ny, nx)` mesh and rotate it\n", + "30° in the lat/lon plane. The result has the same kind of 2D coordinate\n", + "variables you'd find in an ORCA or rotated-pole grid: `longitude(ny, nx)`\n", + "and `latitude(ny, nx)` riding on a non-axis-aligned mesh." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "5", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:07.588525Z", + "iopub.status.busy": "2026-05-29T13:27:07.588433Z", + "iopub.status.idle": "2026-05-29T13:27:07.643663Z", + "shell.execute_reply": "2026-05-29T13:27:07.643350Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdkAAAGJCAYAAADGyUn1AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAA/KpJREFUeJzs3QeYbWV1N/BjBTtSBEVFjYJoTOxKLDGxfYZYklgxKCIi2Oi9CSpdsIMoTUEENMbeEQuggh17wy5qVLDX8z2/HddkzZp3z70Xb5k78/6fZ7jMnHP2Xvvd+7yr/9fVptPpdNLR0dHR0dGx0nH1lX/Ijo6Ojo6Ojq5kOzo6Ojo6ViG6J9vR0dHR0bGK0JVsR0dHR0fHKkJXsh0dHR0dHasIXcl2dHR0dHSsInQl29HR0dHRsYrQlWxHR0dHR8cqQleyHR0dHR0dqwhdyXas9bja1a42ee5znzvz+2mnnTb87bLLLpv52wMe8IDhp2Ph4uijj57c/va3n/z5z39eLef73e9+N1ks8Px75lcl3vWud02uf/3rT3784x+v0vMsNnQl29GxwPH9739/2EQ//elPTxarvFdeeeXkqKOOmuyzzz6Tq1/9/7al3XbbbXLXu951sv7660+ue93rTrbccsvh2L/85S+bStPnb3azm02uc53rTO51r3tN3vve98553//8z/9MHvrQhw7Hu/Wtbz05//zzJ6sDr3vd6yYvetGLrvLnf/3rXw/Xvrrkrfh//+//TW5729tOjjjiiDVy/rUWuIs7OtZm/OY3v5n+4Q9/mPn91FNPxcc9/eY3vznzt9/97nfDz9qIiy++eLge17VY5T3++OOnN7zhDYd7mXGf+9xn+pznPGf6kpe8ZHrSSSdNd9555+k666wz/P1Pf/rTrPc+/vGPn17zmtec7rnnntNXvvKV06222mr4/cMf/vCs9+2www7T+9///tM3velN0wMOOGC60UYbTX/5y19OVzW23nrr6WabbXaVP//jH/94WNdDDjlkzmue/7p2qwKveMUrpte97nWnV1555So/12LBNde0ku/oyDCv4re//e3giSwv1l133WW+59rXvvaCXuhf/epXk+td73qL/pxjOPXUUyePeMQj5tzLj3zkI3Pe+zd/8zeTPffcc/Lxj398cu9733v4m/9//etfPznmmGOG1+BJT3rS5G//9m8ne++99+TCCy+c+fxFF100OfPMMyd///d/P3nUox41efvb3z750pe+NLnb3e621q7fNa95zeFnVeM//uM/Js9+9rMn55577mT77bdf5edbFFjTWr5j7cN3v/vd6fbbbz+96U1vOr32ta89vdWtbjXdaaedZjxFlnbr0Wp5mCx7Fv673vWu6d3udrfBS+HV3PGOd5w+4AEPmHMM3svNbnaz6X/8x3/M/K1a963z/OM//uPwE/jABz4wvOfss8+ePv/5z59uuummw7n/+Z//efrVr351znk/+tGPTh/60IcO3tZ1rnOdwRP6yEc+Mus9l1122eBpbb755tN11113uv76608f/ehHz5Ijy3f++ecP7+dJrbfees21DjnrT3iJH/rQh4Zz3OIWtxjuxc1vfvPprrvuOv31r3896zhPfvKTp9e73vWmX/va16YPe9jDpte//vWnj3zkI4fXvPfZz372dIMNNhj+/vCHP3y4xy2vyd+f8pSnTG9yk5sM57vDHe4wPfnkk5db3ha+8Y1vDO857bTTpsuDN7zhDcP73/nOd878ba+99ppe4xrXmF5xxRWz3nv44YcP7/32t7898zfX5/m1Fuecc85wzbzE+bCse/byl798WAtr4nvxjGc8Y/qzn/1s5nXPXl2T8Gp9bw466KDpXe961+H54ine9773nZ533nkzn/cMtdY17k/rO8e7Peyww6a3uc1tBrmcb7/99pv+9re/nfW++A7y+O9xj3sM34Nb3/rW09NPP725Fne5y12mj3jEI+Zdr47/Q/dkO1Y433bPe95z8vOf/3yy4447DoUq3/ve9yZveMMbhpzRVfEYv/zlL0+e8IQnTJ7+9KdPnva0p0222GKLyeMe97gh//TDH/5wsskmm8zybMjw+Mc/fqXcuSOPPHLIAfJ+rrjiiqH45olPfOLkYx/72Mx7zjvvvMnDHvawwdM55JBDhvfzvP75n/958uEPf3hYD7j44osHj4lsN7/5zYfCqxNOOGEouPrCF74w5AAznvGMZ0w22mijycEHHzx4RS3IQR522GHDe6z3/e53v+Hv//AP/zD8y6Ow7jvvvPNkgw02GDy6l770pZPvfve7w2sZf/zjH4dc5H3ve9/JscceOyPPdtttNznnnHMm22677eAZfvCDH5xsvfXWc2S5/PLLh9cV2DzrWc8aZH/nO985eepTnzrkVHfddddlyttCeJlyry2Q2/P2+9//fnLppZdODjzwwMkNbnCDmXWHT33qU5PNN998csMb3nDWZ+M98sO3uMUthv8//PDDh3U45ZRTBu9PnnTDDTecLA9a98xzeuihh04e9KAHDffB8+y+ex4uuOCCybWuda3JAQccMDxf7svxxx8/fE4REVi7V7/61cN3wPP/i1/8YnLyyScPMrqfd77znYdzOqbj/9u//dvk3//934fP/t3f/d2orDvssMPk9NNPnzz60Y+e7LHHHsMzLZ/6xS9+cfKmN71p1nu/9rWvDe9zL5/85CcPa+O58Mzf8Y53nPVef/vv//7v5Vqvju7JdqwgnvSkJ02vfvWrD3m3ij//+c9XyZP1N55sxpe//OXh7y996Utn/Z2HwPPIntpf48luueWWs3K1L37xi4e/f+5zn5u5ptvd7naDFxvXB87P2n/wgx88628VF1100XC817zmNXPk46388Y9/nP41Oc7WOY844ojp1a52tem3vvWtWZ6sY+y7776z3vuJT3xi+DvvN2O77babs65PfepTBy/tJz/5yZxc6I1udKMZWVY0J3vggQcO7//FL37RfD3WMH622GKL4f5liHyIQlR8/vOfHz5z4oknzvr7r371q+nHPvax6Q9+8IPlknHsnv3oRz8avMSHPOQhs3LEL3vZy4b3n3LKKcvMyTperRfgBW+88caDx708Odn6nfv0pz89/C7/nCFf7e/ZS47voKhIvi4e7R577DHnXBEduPzyy+dZsY5Ary7uWG5orWDBPvzhD5/c/e53n/P6VW0hUOHJas/glbDgzz777Jm//elPfxo8ZudfkZztfHjKU54yy/sOz+sb3/jGjAf01a9+dbLNNtsMVak/+clPhh9ezAMf+MDJhz70oZmWkyzTH/7wh+H9qjHXW2+9ySc/+ck55+a1XOMa1/ir5M/nJBPZeI1sD95dBU+otmWEh5Yh75bheG984xuHtff/sQ5+3DteWusalwfWiUcZnl3FHe5wh6FK2LMnvyoPWquLf/Ob30zWWWedOZ+NHK/XM3jxvNwcJVke1Hv2vve9b/CwefG5Ktr7eNXyvcuC48Uz6Fn66U9/OnjvvmNXdU3f8Y53DP/uvvvus/7Oo4UqlzWOZx94ziJK8T3IuPGNbzz86953LBs9XNyx3NAfJ7SlmGRlgpJtQch4//33H8LR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Zl7/zW9+M33GM54xXX/99afXu971pv/+7/8+/eEPf7hC57jiiiuG4/q3o2Op4lvf+tb0JS95yfRDH/rQ9M9//vP05z//+fSkk06a9R7fkVNOOWV67rnnTi+88MLpBz7wgTnH+f3vfz/97//+7+luu+02/fKXv9w81x/+8IfpAQccMD3++OOnX/nKV+a8/r3vfW965plnTi+77LJBpo985CODTIF3v/vd08985jPD/5OTTG94wxumv/vd74a/veIVr5j+8pe/nCPTq171qul3v/vd6ctf/vI553T8j370o9NDDz10euqpp46u04knnjg9/PDDpxdccMEsmeIYL3rRi6Y//vGPpyeffPL0jW9843DuwE9+8pNB1pDpTW960/TVr3719Kc//enwN9dpXfPxLrroouGYX/va12a9N+Mb3/jGsJb777//9E9/+lNT7s997nPTvffee/pf//Vfs2QKvOUtbxne43Wy/+xnP5v1+ktf+tLpr3/960EmMr74xS8ezgu/+MUvpieccMJ0bcaK6IFFNyCA1SnEE8j5DtyirDI5IlYIlhLWp1BIR0fHssG7E4KUbxSGDVJ53ydVq3Ksejxbk3T0iCr2iXxcJroX7lWIVMO6MbXG3xUkxXSbjKALVGSTZQo4No+T96roqE7SUZilqpa32pqkoy9VfjgKgchkDVTUHnTQQUMhUp2fGpN0rAu5hJyrx8mjI7se1L322mtOcRgZhZp5gDEIPU/SERUwk1aBlLW2TmSMIQWOF21SwOsKmeSSrZm9L7fVxKg+0QLerdeqB8/TJRtvl9yt6UY8Vd70H/7wh0G+PAvYNfP+tWxlUotFi+ki82T//u//vvkaC/Za17rWYFUHvvjFLw7WCOtvedE92Y6liD/+8Y/Tt73tbdPdd999Xo/zoIMOGrwk362K73znO9Ozzjpr+Jenw7PNntTb3/726aWXXjrj7Zx22mnT17/+9dPf/va3w994lL/61a9mne+tb33r9JWvfOX029/+dtPjhEsuuWTYG5blcR555JHT888/f47HSUbeIa+QTGefffaMTMAT9fcsE6+eJwof/OAHpx//+MdnHfPiiy8ejskz5zFXTzCiBd6z3377jXqcn/3sZ4fXzznnnFkyBXi/7sWb3/zmWTKB6+T5+5z/J2PIFHudta0y+cyHP/zhYV3PO++8OeeMCAZP+dvf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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ny, nx = 30, 50\n", + "xi, yi = np.meshgrid(\n", + " np.linspace(-110, 110, nx),\n", + " np.linspace(-45, 45, ny),\n", + " indexing=\"xy\",\n", + ")\n", + "th = np.deg2rad(30)\n", + "lon2d = xi * np.cos(th) - yi * np.sin(th)\n", + "lat2d = xi * np.sin(th) + yi * np.cos(th)\n", + "target = xr.Dataset(coords={\n", + " \"longitude\": ((\"ny\", \"nx\"), lon2d),\n", + " \"latitude\": ((\"ny\", \"nx\"), lat2d),\n", + "})\n", + "\n", + "fig, ax = plt.subplots(figsize=(8, 4))\n", + "ax.plot(lon2d, lat2d, color=\"0.3\", lw=0.4)\n", + "ax.plot(lon2d.T, lat2d.T, color=\"0.3\", lw=0.4)\n", + "ax.set_title(\"curvilinear target (30° rotation)\")\n", + "ax.set_xlabel(\"longitude\"); ax.set_ylabel(\"latitude\")\n", + "ax.set_aspect(\"equal\")" + ] + }, + { + "cell_type": "markdown", + "id": "6", + "metadata": {}, + "source": [ + "## Regrid and plot\n", + "\n", + "`ConservativeRegridder` builds the weight matrix once — that's the\n", + "expensive step, since it computes the area of every source/target polygon\n", + "intersection — and lets us reuse it for the apply step and for the\n", + "diagnostic in the next cell. The one-shot equivalent is\n", + "`src.regrid.conservative_2d(target, ...)`. Either way, output is on the\n", + "curvilinear `(ny, nx)` mesh, with NaN where target cells fall outside the\n", + "source domain." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "7", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:07.644998Z", + "iopub.status.busy": "2026-05-29T13:27:07.644928Z", + "iopub.status.idle": "2026-05-29T13:27:08.514098Z", + "shell.execute_reply": "2026-05-29T13:27:08.513640Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi4AAAGJCAYAAACtu7gUAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAmS9JREFUeJztnQeYG9XVv4+0vdjrsu69gAvggo2N6QSDKQkQCKHGQCihJvTy/UMPvXwEYkIIYCDAhyEBQoCYXgIYA6aD7eBu3NvuenvR/J/ftUceXc3ce2clrTTSeZ9nwJLujkZ1Xp17zrkhy7IsYhiGYRiGCQDhdB8AwzAMwzCMKSwuDMMwDMMEBhYXhmEYhmECA4sLwzAMwzCBgcWFYRiGYZjAwOLCMAzDMExgYHFhGIZhGCYwsLgwDMMwDBMYWFwYhmEYhgkMLC6MknfffZdCoZD4v44DDjhAbMncpynXX3+92CcTDFLxHugocNx4v9k89thj4rply5b5/ixkM+n8PmCyGxYXhkmA+vp6cRLLxC/dV199NeYE2x5uueUWevHFF5N2TAzDMImSn/AemKxmv/32o4aGBiosLEz3oWSsuNxwww3i35n2CxviMmPGjITkBeLyi1/8go4++uikHluQwechP1/91fn6669TrsPPAZMqOOISIOrq6jrsvhobGykSiVA4HKbi4mLxfya92K8JkzywxixExA/4POjEBaKfybKfyu8SyHwQngMmuPDZKEOxcza+//57Oumkk6hr1660zz77RG9/8sknacKECVRSUkLdunWjE044gVauXBm3H/ziHjp0qBg3adIk+s9//hM392zPMT/zzDP0+9//nvr160elpaVUU1PjOf/80EMP0bBhw2L268aPP/4ofq2XlZVRz5496eKLL6ampibXsXPnzqVDDz2UKioqxP3vv//+9OGHH8aN++CDD2iPPfYQJxAcw1/+8hdfz+1zzz0Xfe4qKyvplFNOoVWrVsWMOe2006i8vFxcj+PHv3v06EGXXXYZtbW1iTHIacB1AFEXPE9y/sPbb79N++67r3j8Xbp0oaOOOormz5+vPUbVa2LyGHD8eO2BfVzOHKC77rqL9tprL+revbvYB/b197//PeYYMB4nuMcffzz699ivDe7v17/+NfXq1YuKiopol112oUcffTSh94AbuJ8zzjiD+vbtK+5nyJAhdO6551Jzc7Myv8kt92Tw4MH005/+lF577TWaOHGieOx4/+y666504IEHxu0DoojnHlEn5/Oii2J5fcaeffZZuvnmm6l///7i/XvQQQfRokWL2vVZWL58OZ133nk0YsQI8TjwWh533HExj9f5PLz33ntiPF4D3L8K7PvII4+Mec3wnMnfBXiMeO7mzZsnorM41v/5n/9xfQ6S8V5gGMBTRRkOvoh22mknEbLHr0OAL75rrrmGfvnLX9KZZ55JGzZsoPvvv198cXzxxRfiBAn+/Oc/0wUXXCBOnPiCwBcavjQgQW5fXDfddJP4hYSTM75MvH4tPfLII/Sb3/xGnPguuugiWrJkifiSg0ANGDAgOg6/ZPHFvGLFCvrtb38rTjx/+9vfxMlcBtcddthh4gR63XXXiQjPzJkz6Sc/+YmQIsgR+Oabb+iQQw4RwoCTR2trqxiPk6cJ+BI//fTThfjceuuttG7dOvrjH/8oTgrO5w5AUKZNm0aTJ08WJ/o333yT7r77biFLOHHiGPAc498///nP6ZhjjhF/N2bMGPF/jMdjgjjiWPF84HXae++96fPPPxcnUR1ur4nJY8Drs3r1anrjjTfEcy6D8XjNTj75ZCEAECS8115++WU64ogjxBj8Hd5feO7PPvtscR0eO8B97rnnnuJEhvcYnot///vfQjAgV3hf+H0PuIHHgPuvqqoSxzBy5EghMpAs/LJvzy/6hQsX0oknniieo7POOkuc+I8//njxGq1du5Z69+4dI8k4BvwwSAa33XabeG/j9ayurqY77rhDvAYQFb+fhU8//ZQ++ugjcWz4POPzjfcjZAE/eCARTiAteJ2uvfZaZcQFt+G+1qxZQ7/73e/E8/H000/TO++84zp+06ZN4nhxHBBor89iou8FholiMRnJddddB0uxTjzxxJjrly1bZuXl5Vk333xzzPXffPONlZ+fH72+qanJ6t69u7XHHntYLS0t0XGPPfaY2O/+++8fve6dd94R1w0dOtSqr6+P2a99G/4PmpubrZ49e1rjxo0T92Hz0EMPxe333nvvFdc9++yz0evq6uqs4cOHx+wzEolYO+20kzVt2jTxbxscy5AhQ6yDDz44et3RRx9tFRcXW8uXL49e9/3334vnRPd2to991113tRoaGqLXv/zyy+Jvr7322uh1p556qrjuxhtvjNnH+PHjrQkT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7uPQQw+1xo8fb82dO9f64IMPrJ122sk68cQT0/iomHTC4pJGTj31VPFBlrd33nknOmbZsmXWYYcdZpWUlIgvR3xptrS0xOwH48eNG2cVFhZaQ4cOFeXVuca8efOsyZMni7Ly4uJia9SoUdYtt9xiNTY2xoz76quvrH322UecpPv16ye+NJlt3H///eKEi/cRyqM//vhjfmpcQLuBPn36iOcJ7yFcXrRoUfR2nHDPO+88UXoPMf75z39urVmzJmefS3w/uX3P4fvPLom+5pprxI8KfC4POugga+HChTH72LRpkxAV/MBDO4jTTz89+gOPyT1C+E+6oz4MwzAMwzAmcB8XhmEYhmECA4sLwzAMwzCBgcWFYRiGYZjAwOLCMAzDMExgYHFhGIZhGCYwsLgwDMMwDBMYWFwYhmEYhgkMLC4MwzAMwwQGFheGyTAOOOAAuuiii7LmPrFIpr0GEsMwTKLwIosMw9Dzzz8fXXgSDB48WIhMRwsUwzCMDhYXhmGoW7du/CwwDBMIeKqIYTKYLVu20PTp06lr165UWlpKhx12GP3www/R2x977DHq0qULvfbaazRq1CgqLy+nQw89lNasWRMd09raSr/97W/FuO7du9OVV15Jp556asz0jXOqCP9evnw5XXzxxRQKhcQGrr/+eho3blzM8d17770iOmPT1tZGl1xySfS+rrjiCizkGvM3kUiEbr31VhoyZAiVlJTQ2LFj6e9//3sKnj2GYbIRFheGyWCQH/LZZ5/RSy+9RHPmzBEScPjhh1NLS0t0TH19Pd111130t7/9jd5//31asWIFXXbZZdHbb7/9dnrqqado5syZ9OGHH1JNTQ29+OKLymmj/v3704033igEyClBOu6++24hU48++ih98MEHtHnzZnrhhRdixkBannjiCXrwwQfpu+++E4J0yimn0Hvvvef7+WEYJvfgqSKGyVAQWYGwQDb22msvcR0EZMCAAUI8jjvuOHEdJAYSMGzYMHH5ggsuENJhc//999PVV19NP//5z8XlP/3pT/Tqq68qp43y8vKoU6dO1Lt3b1/HjAgM7uuYY44Rl3FciAbZNDU10S233EJvvvkmTZkyRVw3dOhQITl/+ctfaP/99/d1fwzD5B4sLgyTocyfP5/y8/Np8uTJ0esw/TJixAhxmw2mkGxpAX369KH169eLf1dXV9O6deto0qRJ0dshJRMmTBBTNskE94XojPN4cfwTJ06MThctWrRIRIgOPvjgmL9tbm6m8ePHJ/V4GIbJTlhcGCbgOKuBAHJS5LySZBAOh+P265yyMqG2tlb8/5VXXqF+/frF3FZUVJSEo2QYJtvhHBeGyVCQbIvE2rlz50av27RpEy1cuJBGjx5ttI+Kigrq1asXffrppzEJtJ9//rny7woLC8U4Jz169KC1a9fGyMuXX34Zc1+I9jiPF8c/b9686GUcNwQFeTjDhw+P2TAFxjAMo4MjLgyToey000501FFH0VlnnSXyP5BzctVVV4lIBa435cILLxQJsZCDkSNHipwXVCvZ1UJuoFIIib4nnHCCEI3KykpRbbRhwwa644476Be/+AXNnj2b/v3vf1Pnzp2jf/e73/2ObrvtNnHsuK977rmHqqqqorfjMSBxGAm5mKraZ599xBQT8niwH1Q7MQzDqOCIC8NkMKgEQj7KT3/6U5HMimgHEmvl6SEVKH8+8cQTRVk19oGS6WnTplFxcbHn3yC5d9myZSJ3BpEWOwL0wAMP0IwZM0QJ8yeffBJTvQQuvfRS+tWvfiUEBPcFUbGTgm1uuukmuuaaa4RMYZ8o38bUEcqjGYZhdISsVEyGMwyTsSDSAWH45S9/KSSCYRgmSPBUEcNkOWgm9/rrr4tSY5Qjoxx66dKldNJJJ6X70BiGYXzDU0UMk+WgGghN4fbYYw/ae++96ZtvvhF9VBB1YRiGCRo8VcQwDMMwTGDgiAvDMAzDMIGBxYVhGIZhmMDA4sIwDMMwTGBgcWEYhmEYJjCwuDAMwzAMExhYXBiGYRiGCQwsLgzDMAzDBAYWF4ZhGIZhKCj8f7CRRwnXiXnMAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "rgr = ConservativeRegridder(\n", + " src, target, x_coord=\"longitude\", y_coord=\"latitude\",\n", + ")\n", + "regridded = rgr.regrid(src)\n", + "\n", + "fig, ax = plt.subplots(figsize=(8, 4))\n", + "pc = ax.pcolormesh(lon2d, lat2d, regridded.values, cmap=\"RdBu_r\",\n", + " shading=\"auto\", vmin=-1, vmax=1)\n", + "fig.colorbar(pc, ax=ax, shrink=0.8)\n", + "ax.set_title(\"regridded onto rotated curvilinear grid\")\n", + "ax.set_xlabel(\"longitude\"); ax.set_ylabel(\"latitude\")\n", + "ax.set_aspect(\"equal\")" + ] + }, + { + "cell_type": "markdown", + "id": "8", + "metadata": {}, + "source": [ + "## Conservation check\n", + "\n", + "The regridder exposes its cell-overlap areas as `source_coverage_areas`\n", + "(area of each source cell covered by the target) and `target_areas` (area\n", + "of each target cell covered by the source), both derived from the internal\n", + "matrix `A[i, j] = area(target_i ∩ source_j)`. For target cells fully inside\n", + "the source domain, the area-weighted sum of outputs equals the direct A·s\n", + "integral to machine precision — the defining property of *conservative*\n", + "regridding." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "9", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:08.515454Z", + "iopub.status.busy": "2026-05-29T13:27:08.515345Z", + "iopub.status.idle": "2026-05-29T13:27:08.608383Z", + "shell.execute_reply": "2026-05-29T13:27:08.607923Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "direct : 325.275958\n", + "via regrid : 325.275958\n", + "relative err : 0.00e+00\n", + "coverage : 87.60% of target cells inside source\n" + ] + } + ], + "source": [ + "src_cover = rgr.source_coverage_areas # area of each source cell covered by target\n", + "tgt_cover = rgr.target_areas.reshape(regridded.shape) # per target cell, covered by source\n", + "valid = np.isfinite(regridded.values)\n", + "\n", + "direct = float((src.values.ravel() * src_cover).sum())\n", + "via_regrid = float((regridded.values[valid] * tgt_cover[valid]).sum())\n", + "print(f\"direct : {direct:.6f}\")\n", + "print(f\"via regrid : {via_regrid:.6f}\")\n", + "print(f\"relative err : {abs(direct - via_regrid) / max(abs(direct), 1e-12):.2e}\")\n", + "print(f\"coverage : {valid.mean():.2%} of target cells inside source\")" + ] + } + ], + "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.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/notebooks/demos/demo_conservative_2d_regions.ipynb b/docs/notebooks/demos/demo_conservative_2d_regions.ipynb new file mode 100644 index 0000000..57d28fd --- /dev/null +++ b/docs/notebooks/demos/demo_conservative_2d_regions.ipynb @@ -0,0 +1,1168 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "e5c70992", + "metadata": {}, + "source": [ + "# Conservative 2D regrid — regions (grid → country/state polygons)\n", + "\n", + "A common analysis question is: *given a gridded variable, what's its\n", + "area-weighted mean over each of these regions?* — countries, states,\n", + "watersheds, ocean basins, exclusive economic zones. This is the canonical\n", + "[xagg](https://github.com/ks905383/xagg)-style workflow and a natural fit\n", + "for **conservative regridding**: each region's output value is the\n", + "area-weighted average of the source cells it overlaps, which is exactly\n", + "what you want for fluxes and intensive quantities (precipitation,\n", + "temperature, mass-balance budgets) where bilinear or nearest-neighbor\n", + "interpolation would bias the total.\n", + "\n", + "Because the targets are arbitrary polygons rather than a grid, the fast\n", + "`.regrid.conservative` accessor doesn't apply. We use\n", + "`ConservativeRegridder.from_polygons`, which takes a 1D array of shapely\n", + "polygons as source and target.\n", + "\n", + "**In this notebook.**\n", + "\n", + "1. Aggregate xarray's air-temperature tutorial dataset (NMC reanalysis,\n", + " ~daily 2.5° lat/lon over North America) onto US states built by\n", + " dissolving county boundaries from `geodatasets`.\n", + "2. Visualize the per-state means against the source grid.\n", + "3. Verify conservation directly from the internal weight matrix.\n", + "4. Save the regridder, reload it, and reuse it on JJA vs. DJF subsets to\n", + " get per-state seasonal swings — showing the weight matrix is reusable\n", + " across any source field on the same grid." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "b28b1f2e", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:30.587981Z", + "iopub.status.busy": "2026-05-29T13:27:30.587773Z", + "iopub.status.idle": "2026-05-29T13:27:31.713553Z", + "shell.execute_reply": "2026-05-29T13:27:31.713090Z" + } + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import xarray as xr\n", + "import matplotlib.pyplot as plt\n", + "import geopandas as gpd\n", + "import geodatasets\n", + "\n", + "import xarray_regrid # noqa: F401\n", + "from xarray_regrid import ConservativeRegridder, polygons_from_coords" + ] + }, + { + "cell_type": "markdown", + "id": "537c0ed3", + "metadata": {}, + "source": [ + "## Source — NCEP reanalysis surface air temperature\n", + "\n", + "`xr.tutorial.open_dataset(\"air_temperature\")` is a small (~3 MB) NMC\n", + "reanalysis subset: 4×daily surface air temperature over North America on\n", + "a 2.5° lat/lon grid. We reduce it to a long-term mean, convert from\n", + "Kelvin to °C, and align with the state polygons' CRS:\n", + "\n", + "- Native longitudes are on `[0, 360)`; states are on `[-180, 180)`, so\n", + " we wrap.\n", + "- Native latitudes are descending; we sort to ascending so xarray's\n", + " `pcolormesh` doesn't flip the image." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "721e935c", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:31.715075Z", + "iopub.status.busy": "2026-05-29T13:27:31.714888Z", + "iopub.status.idle": "2026-05-29T13:27:31.786099Z", + "shell.execute_reply": "2026-05-29T13:27:31.785705Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'mean_air_temperature' (lat: 25, lon: 53)> Size: 11kB\n",
+       "array([[ 25.21615068,  25.23573973,  24.96414384, ...,  24.18820548,\n",
+       "         24.13144521,  24.15510274],\n",
+       "       [ 24.97920205,  24.78700685,  24.32039384, ...,  23.70954795,\n",
+       "         23.6270274 ,  23.29383562],\n",
+       "       [ 24.49986301,  23.80333219,  23.47931507, ...,  23.66092466,\n",
+       "         23.13796233,  22.66645548],\n",
+       "       ...,\n",
+       "       [ -8.3812363 ,  -8.82269178,  -9.08830479, ..., -22.54210959,\n",
+       "        -19.56648973, -15.43440068],\n",
+       "       [-10.41560616, -10.35602397, -10.40066096, ..., -23.39409589,\n",
+       "        -21.56424315, -18.79073973],\n",
+       "       [-12.77355822, -12.96694863, -13.26337329, ..., -22.33409932,\n",
+       "        -21.21188356, -19.71195205]], shape=(25, 53))\n",
+       "Coordinates:\n",
+       "  * lat      (lat) float32 100B 15.0 17.5 20.0 22.5 25.0 ... 67.5 70.0 72.5 75.0\n",
+       "  * lon      (lon) float32 212B -160.0 -157.5 -155.0 ... -35.0 -32.5 -30.0\n",
+       "Attributes:\n",
+       "    long_name:     4xDaily Air temperature at sigma level 995\n",
+       "    units:         degC\n",
+       "    precision:     2\n",
+       "    GRIB_id:       11\n",
+       "    GRIB_name:     TMP\n",
+       "    var_desc:      Air temperature\n",
+       "    dataset:       NMC Reanalysis\n",
+       "    level_desc:    Surface\n",
+       "    statistic:     Individual Obs\n",
+       "    parent_stat:   Other\n",
+       "    actual_range:  [185.16 322.1 ]
" + ], + "text/plain": [ + " Size: 11kB\n", + "array([[ 25.21615068, 25.23573973, 24.96414384, ..., 24.18820548,\n", + " 24.13144521, 24.15510274],\n", + " [ 24.97920205, 24.78700685, 24.32039384, ..., 23.70954795,\n", + " 23.6270274 , 23.29383562],\n", + " [ 24.49986301, 23.80333219, 23.47931507, ..., 23.66092466,\n", + " 23.13796233, 22.66645548],\n", + " ...,\n", + " [ -8.3812363 , -8.82269178, -9.08830479, ..., -22.54210959,\n", + " -19.56648973, -15.43440068],\n", + " [-10.41560616, -10.35602397, -10.40066096, ..., -23.39409589,\n", + " -21.56424315, -18.79073973],\n", + " [-12.77355822, -12.96694863, -13.26337329, ..., -22.33409932,\n", + " -21.21188356, -19.71195205]], shape=(25, 53))\n", + "Coordinates:\n", + " * lat (lat) float32 100B 15.0 17.5 20.0 22.5 25.0 ... 67.5 70.0 72.5 75.0\n", + " * lon (lon) float32 212B -160.0 -157.5 -155.0 ... -35.0 -32.5 -30.0\n", + "Attributes:\n", + " long_name: 4xDaily Air temperature at sigma level 995\n", + " units: degC\n", + " precision: 2\n", + " GRIB_id: 11\n", + " GRIB_name: TMP\n", + " var_desc: Air temperature\n", + " dataset: NMC Reanalysis\n", + " level_desc: Surface\n", + " statistic: Individual Obs\n", + " parent_stat: Other\n", + " actual_range: [185.16 322.1 ]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ds = xr.tutorial.open_dataset(\"air_temperature\")\n", + "air = (ds[\"air\"].mean(\"time\") - 273.15).sortby(\"lat\")\n", + "air = air.assign_coords(lon=(((air.lon + 180) % 360) - 180)).sortby(\"lon\")\n", + "air.attrs[\"units\"] = \"degC\"\n", + "air.name = \"mean_air_temperature\"\n", + "air" + ] + }, + { + "cell_type": "markdown", + "id": "434441b2", + "metadata": {}, + "source": [ + "## Regions — US states from `geodatasets`\n", + "\n", + "`geodatasets.get_path(\"geoda.ncovr\")` returns a GeoPackage of the 49\n", + "contiguous-US counties (+ DC). We **dissolve** on `STATE_NAME` —\n", + "geopandas' equivalent of a `groupby` for geometries — to combine each\n", + "state's counties into one (Multi)Polygon. The result is exactly what\n", + "`ConservativeRegridder.from_polygons` wants: one shapely (Multi)Polygon\n", + "per region. The air-temperature grid doesn't cover Alaska or Hawaii,\n", + "which is why ncovr (contiguous-US only) is a natural fit." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "8c6437b2", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:31.787271Z", + "iopub.status.busy": "2026-05-29T13:27:31.787193Z", + "iopub.status.idle": "2026-05-29T13:27:32.106364Z", + "shell.execute_reply": "2026-05-29T13:27:32.105963Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "49 states/DC, CRS=EPSG:4326, bounds=[-124.7, 25.0, -67.0, 49.4]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
STATE_NAMEgeometry
0AlabamaPOLYGON ((-87.62572 30.87672, -87.61593 30.848...
1ArizonaPOLYGON ((-113.32838 32.04356, -114.82097 32.4...
2ArkansasPOLYGON ((-93.4789 33.02139, -93.51174 33.0211...
\n", + "
" + ], + "text/plain": [ + " STATE_NAME geometry\n", + "0 Alabama POLYGON ((-87.62572 30.87672, -87.61593 30.848...\n", + "1 Arizona POLYGON ((-113.32838 32.04356, -114.82097 32.4...\n", + "2 Arkansas POLYGON ((-93.4789 33.02139, -93.51174 33.0211..." + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "counties = gpd.read_file(geodatasets.get_path(\"geoda.ncovr\"))\n", + "states = (\n", + " counties.dissolve(by=\"STATE_NAME\", aggfunc=\"first\")\n", + " .reset_index()[[\"STATE_NAME\", \"geometry\"]]\n", + " .sort_values(\"STATE_NAME\")\n", + " .reset_index(drop=True)\n", + ")\n", + "print(f\"{len(states)} states/DC, CRS={states.crs}, \"\n", + " f\"bounds={states.total_bounds.round(1).tolist()}\")\n", + "states.head(3)" + ] + }, + { + "cell_type": "markdown", + "id": "3a3b8ac5", + "metadata": {}, + "source": [ + "## Build the regridder and apply\n", + "\n", + "`from_polygons` takes flat 1D arrays of source and target polygons:\n", + "\n", + "- **Source polygons** come from the 1D grid coords via\n", + " `polygons_from_coords`, which builds a rectangle per cell from the\n", + " coordinate midpoints (so a 25×53 grid → 1325 source polygons).\n", + "- **Target polygons** are just the states' `geometry` column.\n", + "\n", + "Source data has to be flattened to a single `src_cell` dimension to match\n", + "the flat polygon array. Constructing the regridder is the expensive step\n", + "— it computes the area of every source/target polygon intersection.\n", + "Once built, `rgr.regrid(...)` is a sparse matrix-vector product against\n", + "the precomputed weights and is essentially instant." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "da3e70c8", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:32.107649Z", + "iopub.status.busy": "2026-05-29T13:27:32.107569Z", + "iopub.status.idle": "2026-05-29T13:27:32.823406Z", + "shell.execute_reply": "2026-05-29T13:27:32.823072Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "state\n", + "Minnesota 4.30\n", + "North Dakota 4.65\n", + "Maine 5.08\n", + "Wyoming 5.53\n", + "Montana 5.78\n", + "Vermont 6.02\n", + "Wisconsin 6.06\n", + "Idaho 6.43\n", + "Michigan 6.75\n", + "South Dakota 7.12\n", + "New Hampshire 7.17\n", + "New York 7.28\n", + "Colorado 7.48\n", + "Iowa 8.46\n", + "Rhode Island 8.50\n", + "Connecticut 8.72\n", + "Washington 8.83\n", + "Massachusetts 8.84\n", + "Oregon 8.99\n", + "Pennsylvania 9.25\n", + "Utah 9.38\n", + "Nebraska 9.57\n", + "Ohio 9.64\n", + "District of Columbia 9.97\n", + "Nevada 10.17\n", + "Illinois 10.24\n", + "West Virginia 10.26\n", + "Indiana 10.47\n", + "New Jersey 11.43\n", + "Maryland 11.47\n", + "Virginia 11.94\n", + "Missouri 12.05\n", + "Kentucky 12.20\n", + "Kansas 12.61\n", + "Delaware 12.77\n", + "New Mexico 12.90\n", + "Tennessee 13.74\n", + "California 14.46\n", + "North Carolina 14.90\n", + "Arkansas 15.33\n", + "Oklahoma 15.34\n", + "South Carolina 15.91\n", + "Arizona 16.53\n", + "Georgia 16.54\n", + "Alabama 16.61\n", + "Mississippi 17.10\n", + "Texas 18.35\n", + "Louisiana 18.85\n", + "Florida 21.93\n", + "dtype: float64" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "src_polys = polygons_from_coords(air.lon.values, air.lat.values)\n", + "tgt_polys = states.geometry.to_numpy()\n", + "\n", + "rgr = ConservativeRegridder.from_polygons(\n", + " source_polygons=src_polys,\n", + " target_polygons=tgt_polys,\n", + " source_dim=\"src_cell\",\n", + " target_dim=\"state\",\n", + " target_coords=xr.Dataset(coords={\"state\": states.STATE_NAME.values}),\n", + ")\n", + "\n", + "src_flat = xr.DataArray(air.values.ravel(), dims=(\"src_cell\",))\n", + "state_mean = rgr.regrid(src_flat)\n", + "state_mean.attrs[\"units\"] = \"degC\"\n", + "state_mean.to_series().sort_values().round(2)" + ] + }, + { + "cell_type": "markdown", + "id": "3542f836", + "metadata": {}, + "source": [ + "## Map + ranked bar chart\n", + "\n", + "States filled by area-weighted mean temperature, with the source grid\n", + "shown underneath for reference. Both panels share the same `vmin`/`vmax`\n", + "so a state's color on the bar chart matches its color on the map. A\n", + "sanity check: the warm/cool gradient should track latitude (Florida and\n", + "the Gulf states warmest, the Upper Midwest and Northeast coolest)." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "bb8d0dda", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:32.824903Z", + "iopub.status.busy": "2026-05-29T13:27:32.824825Z", + "iopub.status.idle": "2026-05-29T13:27:33.062202Z", + "shell.execute_reply": "2026-05-29T13:27:33.061788Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABW0AAAJOCAYAAADMCCWlAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3QV4FOcWBuAvShJCCCQEDVrcXYp7izsUd3cvTqG4u7UUKa5Feila3LW4uwRLQlzuc/6wYROSsJGVJN/bO5fN7uzM7MzqmfOfYxYcHBwMIiIiIiIiIiIiIjIJ5sbeACIiIiIiIiIiIiL6gkFbIiIiIiIiIiIiIhPCoC0RERERERERERGRCWHQloiIiIiIiIiIiMiEMGhLREREREREREREZEIYtCUiIiIiIiIiIiIyIQzaEhEREREREREREZkQBm2JiIiIiIiIiIiITIilsTeAiIiIiIiITFtQUBCeP3+OZMmSwczMzNibQ0REFG8FBwfDw8MD6dKlg7l55Pm0DNoSERERERFRlCRg6+rqyr1EREQUR548eYIMGTJEejuDtkRERERERBQlybAVjx49gqOjI/eWCWVAv3nzBqlSpYoyW4sMi8fFNPG4mJ7Eekzc3d3ViVDNZ2tkGLQlIiIiIiKiKGlKIjg4OKiJTCfg4ePjo45JYgp4mDoeF9PE42J6EvsxMftGuaHEt0eIiIiIiIiIiIiITBiDtkREREREREREREQmhEFbIiIiIiIiIiIiIhPCoC0RERERERERERGRCWHQloiIiIiIiIiIiMiEMGhLREREREREREREZEIYtCUiIiIiIiIiIiIyIQzaEhEREREREREREZkQBm2JiIiIiIiIiIiITAiDtkREREREREREREQmhEFbIiIiIiIiIiIiIhPCoC0RERERERERERGRCWHQloiIiIiIiIiIiMiEMGhLREREREREREREZEIYtCUiIiIiIiIiIiIyIQzaEhEREREREREREZkQBm2JiIiIiIiIiIiITAiDtkREREREREREREQmhEFbIiIiIiIiIiIiIhPCoC0RERERERERERGRCWHQloiIiIiIiIiIiMiEWBp7A4iIiIiIiBIzS0tL5MuXL/TvkydPYsqUKXB2dkavXr10Xs6PP/6ILVu2wNbWNsz17dq1Q+PGjVG7du1Yb+vDns3hYMWfkaYi2MwMHqld8enV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u1xd8c6YMc73g31o5nfgtWvi7etrgvkAgJTDJTyFvzLVF2B66s/FRTPFO306cUgudh7fzkfY7k8hO4//8EH0p7UlVLC//cZW7mn/6XRsL2l9vO06vmsq+35u9ND/n6aG9hB421/sKfThf6de2oOLnf/uhIXa9/c2LCQs2c6NuNp78u0893YeP9y+T31xseP72eS873HlFxAgpfr1N70JNGPPkV7zTZlzQtKl84r3OA8e+MlrHQs71M8GONLvmGYfa2YvHCdoe+3aNZMFTtDWcXBcHBPHxfE46zG59+//1Ce93iTTFgAAACmHftibkA98U3Y+AxKRi4uLyXadNGmSuX758mXJnTu3vPfeezJixAh5//33TR1dLbsQFd1Ga+xqJnBEO3bsMI2bR48eLUnh7t614uLlmSSPjceFhYfL/cBQuXvRTVzt/slz7GSoGHVNaABA3BC0BQAAQMqRwJitvc9QgvPw8fGRLVu2mAZk2ojsl19+kVKlSllvHzlyZLzGrVy5slkAAEDK5jy5xwAAAHCeTNuELICNMm01i3bdunXm+qJFi6R169bW27t16yZLly41l7du3SrVqlUzdWzr1Klj3WbPnj2mrm7BggXl559/NuvWrl0rbdu2NZevXr1q6tWWLl1ahg0bZjJzlTZX08fWOrzaVE3HUVr3tl27dibDt3DhwvLFF19wrAEAcFBk2gIAAACAHWiAdObMmabxlzYO06DqjRs3Im0THBwsL730kixevNgEX2/dumW9TYOvq1atknPnzpmGYx06dIh03w8++EBatGgh/fv3N83MLHLkyCErV640Dc327dsngwYNkhUrVpjb9LqWWAgJCZFixYqZxmu6b48KCgoyi4WlWRsAAEgcZNoCAAAgxQi3wRdgKzVq1JBt27aZLFlLduyjjhw5Ivnz5zcBW0tZBYumTZuKh4eHFCpUSO7cufPYfTdt2iTt27c3ly3flQZbX375ZSlTpox06dJFDh06ZL1Ns2w9PT1NM7GcOXOabN2ojBo1yjRJsSx58uRJwEwAAIC4ImgLAACAFIPqCHC0Egla3uDTTz+VVq1axfn+mikbk/BoynmMHz/eBII1q3bjxo2RMmYjjqm1drXmblS03IJ2tbYs58+fj/P+AwCA+HOa8ghhoWFmiZdkXtssuhdzNhs/JNS+44fZef7tOLy9nzoPbgbYdXxX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ly5daq2Rr1m5ejZPlSpVrB8EX79+3Yylr120MVpCM28BAIB9ELQFgCgcPnxY3N3d5amn/jvNLHPmzFKsWDFzm0W6dOmkUKFC1utaFuHatWvmspZAuHr1qnlTZaEB2UqVKtl8zvWx9M1YxP3V/dc3ZBYnTpwwmcF62qSnp6d10czbkydP2nyfAABA/LVr107mzZsnly5dklSpUkmWLFmst2nJpq1bt5qAq34Q+/XXX0c5hp69o6WVnn32WfNBtNKSTvohr55NpK8BXn/99Sjvqx/26hlCERcAAJB4qGkLAAkQseOzJTPm0TqytqDdgB8dN2KZhtjw9/c333///XfJlSvXY12uAQCA46hRo4b07dtXfv75Z1N7PjAw0HqblmN64YUXzIfDAQEBkT60jUjP9FH6gbGeQaRWrlxpSiRFrOEfFS2p9MEHH9j4pwIAALFFpi0AREHLC2gTMc1isbh586YcPXpUSpYsGas509IE2bJlk+3bt1vXaW26Xbt2xXg/zaax1LCzyJo1q2kcFjFwG7EpmT6WZvlG3F/d/507d1qv635rcFbf6BUuXDjSkidPHp4HAAA4EP0guHbt2vLpp59ag68Wb7zxhgwZMkT2799vyiNpVmxULB/K6pk+EV9baJatvo7QRRugRkWzcfVMHsuiDVcBAEDiIdMWAKJQpEgRadGihfTo0cPUe9Uas0OHDjUZqro+tjRDRjNVNDCqNW21xq1mtOgbsehoDTptatahQwfzZktPh6xTp46pQff555+bbJs///xT/vjjD/H29rber1+/fuaNne67PtbYsWOtNe6U/gzaJE2bj4WFhUnNmjXNmzBtkKbjdO3alecCAAAOpHfv3qauvpZoikhLFehrEv0wV0scxEXdunXlm2++Ma9R1N69e81jPEpfg3AmDgAASYdMWwCIxrRp08zphE2bNjWNOvSN0bJlyx4riRCTt956Szp27ChdunQxY2gNWa09lyZNmhg7P585c8bUytUMW0vm76RJk0zNOn1jtW3bNhOAjWjQoEHSuXNnE3zVx9Ig7aOZOR9++KG89957JpCsYzZp0sSUSyhQoADPAwAAHIx+ENu9e/fH1g8fPlyaNWtmGozF9WwZ/QB57dq15vWEvhaYPXu2DfcYAADYiku4PYovAgCipBmu+gZJm4toABUAACA50OxeLcekZwxlzJgxqXcH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qWVxc3MzQdiI6+Li9u3bZv900f23lJAIDw83c67HZcOGDeZ4FipUSMqXLy/Dhw83PzeQWAjaAgAAAAAAm7t//74MHDjQZC6uWrXKBEk1WPnoqehDhw6Vfv36yeHDh6Vx48YmcPv+++/Lxx9/bNZ98sknJij7448/Wu+jATsN/GkW5IQJE+S7776TcePGRbsvpUqVMoHjdevWmesakIt4XellDVQqDeLVq1dPKlSoYPZfA9BXr16Vdu3aRfsYXbp0kUuXLpkSBwsWLJApU6bItWvXHttOA5w6zr59++S5556Tl156yQSRNbip91NHjx41AUz92ZQGbGfMmCHffvutHDx4UAYMGCCdOnWy7v/58+eldevW0qxZM9mzZ4+8+uqrZl5jQ8sG6L7r/TRA/uKLL8r//vc/GTZsmPnZNZCpJQQsdO50ez1mOv8a9NVjocfLQo/1l19+afZVj9vq1atlyJAhkR73wYMHMmbMGJk5c6asX79ezp07ZzJqE4POTd++fU3pg127dpmfR+kc6D5rRq3+DI+ifi0SVTgAAAAAAICdXb9+PVzDEPv37zfXT58+ba6PHz8+0naFChUKnz17dqR1H374YXj16tWjHXv06NHhlSpVivHxW7duHd67d29zuX///uFvvvlmeKZMmcIPHz4cHhwcHJ4uXbrw5cuXWx+vUaNGke5//vx5s79Hjx4115955pnwfv36mcs6ht62fft26/bHjx8368aNG2ddp9ffffdd63V/f3+z7o8//jDX16xZY67fvn3buk1gYKDZt02bNkXan1deeSW8Y8eO5vKwYcPCS5YsGen2t95667GxHvXo/mzevNms+/77763r5syZE54mTRrr9fr164d/8sknkcaZOXNmeI4cOaJ9nPnz54dnzpzZen3atGnmcU6cOGFd9/XXX4dny5YtPDby5csXaV6jo4+TIUOGKG97+PBh+OXLlyOtmzt3rtmvXbt2xWo/YhofSCj3xA0RAwAAAAAAZ3D8+HGTMbt161ZTEsCSYasZlaVLl7Zup7VFI2bn6qn4r7zyivTo0cO6Xk+9j1g/VEsqaCanbqun3evt2nDKMn7JkiWt27799ttm0RIMmv2qNENVM3i1bqlmxmqmq5ZXePrpp83te/fulTVr1pjT8h+lj6llCCLSzFh3d3dTMsCicOHCpszBo8qWLWu9rOUDdL+jysi10FIFmpXasGHDSOuDg4NNJrDSjOSnnnoq0u3Vq1ePdszo9kfLQCgtGxBxXWBgoNy7d8/sq87N33//HSmzNjQ01Gyj+6llFlauXGmyg48cOWLup8cn4u1Kv2vpAYscOXLEOA+2psfr0bIK/8SxAcdA0BYAAAAAANicnqqfL18+U7ogZ86cJmirwVoNNkakgUsLS91Tvc+jQUitY6q05qqWFNAyA1pOQYO52kjqiy++MLfrY+lp7hEbhkWsQavBZD2tX+vXalBRg7Za41SDx5aAou6H7v9nn3322M+lwcWE8PDweKyu7KMlIyKyzMnvv/8uuXLlinSbnt6fUBH3R/clunWWfdT90bnXcgyP0hq3WktXa+T27NnTBHZ1/jdu3GgC8XrsLXMc1TwkddDUEozX54UlIA4kFYK2AAAAAADApm7evGmyTzX4WqtWLbNOA3dPolmdGnQ9deqUCcxGZdOmTSYY/M4771jXnT17NlIGpWa5PkqzRzXzVRuOaWMpzaLVQK4GZjVoa6lnqzRjVuvLaiMxHe9JihUrZrJJd+/eLZUqVbJmyOq4cZEqVSpr5qqFZg1rcFYziDVbOCrazMvS0Mxiy5YtYg86N3pso5pjtXPnThPg1SC6pS7svHnzJDnQ54XOt+57+/btH6trq7WOqWuLxEIjMgAAAAAAYFMaHNVGX1qOQIOX2ohKm5LFhmZx6qn1Wv5Ayxfs379fpk2bJmPHjjW3FylSxAQwNbtWSxXodosWLXriuJrJWbt2bdPozBKg1dIAQUFBplFaxIBo7969TcmEjh07yvbt283j/PXXX9K9e/dIAVULbeDVoEEDee2112Tbtm0meKuX06ZNa81UjQ0NRuv2S5culevXr5usVm26pg26tPmYNvXSfdHmWRMnTrQ2Z3v99ddNBvGbb75pAqqzZ882zcHsQUteaFM0PU7atEtLM+ixePfdd83tGszVUhO6fxp810Zj2kAtOdC51+eaPu/0w4Zly5aZn0GbxmnWcIsWLZJ6F+FECNoCAAAAAADbBhtcXU0gT7MutSSCBhxHjx4dq/u++uqrMnXqVBM80+xYDaZqALJAgQLm9ubNm5vx+vTpYzIjNfP2vffei9XYOpYGXS1BW91PDeRqsM5Sz1Zptq/WbdVtGzVqZPZDSytoluWj2ZcWGsjUTGEdr1WrVqYmrwZctWRAbGn5Aw2GDh061IylP6P68MMPzc+owWzNqm3SpIkpl2CZk7x585rM4MWLF0u5cuVMkFRr9tqDlqTQoPLy5culSpUqUq1aNRk3bpwJOCt9fA2wawazHnsNkut+JxdVq1aVHTt2mOCzHkOdb33OaYB6/PjxSb17cCIu2o0sqXcCAAAAAAAgJblw4YLkyZPHNOWqX79+Uu+OU9JgvwbbtaxBchwfzo2atgAAAAAAAAmkJSC0nIFm5V6+fFmGDBliauJq5i2Szt27d039Yi15EVVjufjSMbWOcVwyqYG4IGgLAAAAAACQQFrH9e233zY1ULUsQo0aNUxpAA8PD+Y2ibRp00Zq1qxpLtu6gdiePXvMdzc3N5uOC1hQHgEAAAAAAAAAHAiNyAAAAAAAAADAgRC0BQAAAAAAAAAHQtAWAAAAAAAAABwIQVsAAAAAAAAAcCAEbQEAAAAAAADAgRC0BQAAAAAAAAAHQtAWAAAAAAAAABwIQVsAAAAAAAAAcCAEbQEAAAAAAABAHMf/Af2cSW9gsJiFAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, (ax_map, ax_bar) = plt.subplots(\n", + " 1, 2, figsize=(14, 6), gridspec_kw={\"width_ratios\": [1.6, 1]},\n", + ")\n", + "\n", + "air.plot(ax=ax_map, cmap=\"coolwarm\", alpha=0.5,\n", + " cbar_kwargs={\"shrink\": 0.65, \"label\": \"grid mean T [°C]\"})\n", + "\n", + "vmin, vmax = float(air.min()), float(air.max())\n", + "states_plot = states.assign(mean_T=state_mean.values)\n", + "states_plot.plot(\n", + " column=\"mean_T\", cmap=\"coolwarm\", ax=ax_map,\n", + " edgecolor=\"black\", linewidth=0.4,\n", + " vmin=vmin, vmax=vmax,\n", + ")\n", + "ax_map.set_xlim(-128, -65); ax_map.set_ylim(22, 52)\n", + "ax_map.set_title(\"Annual mean surface T — states vs. source grid\")\n", + "ax_map.set_xlabel(\"longitude\"); ax_map.set_ylabel(\"latitude\")\n", + "\n", + "ordered = state_mean.to_series().sort_values()\n", + "colors = plt.cm.coolwarm((ordered.values - vmin) / (vmax - vmin))\n", + "ax_bar.barh(ordered.index, ordered.values, color=colors)\n", + "ax_bar.set_xlabel(\"area-weighted mean T [°C]\")\n", + "ax_bar.tick_params(axis=\"y\", labelsize=7)\n", + "ax_bar.grid(axis=\"x\", alpha=0.3)\n", + "plt.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "id": "803247d2", + "metadata": {}, + "source": [ + "## Conservation check\n", + "\n", + "The internal area matrix `A[i, j] = area(state_i ∩ src_cell_j)` lets us\n", + "verify conservation directly: integrating the source field weighted by\n", + "source-cell coverage should equal integrating the regridded field\n", + "weighted by target-cell area. Equality to machine precision is the\n", + "defining property of *conservative* regridding." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "041a51f3", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:33.063398Z", + "iopub.status.busy": "2026-05-29T13:27:33.063310Z", + "iopub.status.idle": "2026-05-29T13:27:33.156601Z", + "shell.execute_reply": "2026-05-29T13:27:33.156122Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "direct A·s : 9037.413298\n", + "Σ state_mean · a_state : 9037.413298\n", + "relative error : 0.00e+00\n" + ] + } + ], + "source": [ + "A = rgr.areas # (n_states, n_src)\n", + "tgt_area = rgr.target_areas\n", + "src_cover = rgr.source_coverage_areas\n", + "\n", + "direct = float((air.values.ravel() * src_cover).sum())\n", + "via_regrid = float((state_mean.values * tgt_area).sum())\n", + "print(f\"direct A·s : {direct:.6f}\")\n", + "print(f\"Σ state_mean · a_state : {via_regrid:.6f}\")\n", + "print(f\"relative error : {abs(direct - via_regrid) / abs(direct):.2e}\")" + ] + }, + { + "cell_type": "markdown", + "id": "ff49d6b7", + "metadata": {}, + "source": [ + "## Reuse: persist the regridder, apply to summer vs. winter\n", + "\n", + "The weight matrix depends only on the source/target geometry, not on the\n", + "data. Save once with `to_netcdf`, reload with `from_netcdf`, and apply\n", + "to any field on the same source grid — no need to rebuild the (expensive)\n", + "polygon intersection. Below we use one saved regridder on JJA and DJF\n", + "subsets to compute per-state seasonal amplitude. Continental interior\n", + "states show the largest swing; Florida and California — moderated by\n", + "ocean and latitude — show the smallest." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "8fa88419", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:33.157852Z", + "iopub.status.busy": "2026-05-29T13:27:33.157783Z", + "iopub.status.idle": "2026-05-29T13:27:33.428075Z", + "shell.execute_reply": "2026-05-29T13:27:33.427561Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "wrote states_regridder.nc (38.0 KB)\n", + "largest seasonal swing:\n", + "state\n", + "Minnesota 30.9\n", + "North Dakota 30.0\n", + "Wisconsin 28.4\n", + "Iowa 27.8\n", + "South Dakota 27.4\n", + "Name: JJA − DJF [°C], dtype: float64\n", + "\n", + "smallest seasonal swing (maritime / subtropical):\n", + "state\n", + "Florida 10.1\n", + "California 14.1\n", + "Georgia 16.1\n", + "South Carolina 16.6\n", + "Louisiana 16.6\n", + "Name: JJA − DJF [°C], dtype: float64\n" + ] + } + ], + "source": [ + "import tempfile\n", + "from pathlib import Path\n", + "path = Path(tempfile.gettempdir()) / \"states_regridder.nc\"\n", + "rgr.to_netcdf(path)\n", + "print(f\"wrote {path.name} ({path.stat().st_size / 1024:.1f} KB)\")\n", + "\n", + "rgr2 = ConservativeRegridder.from_netcdf(path)\n", + "\n", + "def seasonal_mean(months):\n", + " sub = ds[\"air\"].sel(time=ds[\"time.month\"].isin(months)).mean(\"time\") - 273.15\n", + " sub = sub.sortby(\"lat\")\n", + " sub = sub.assign_coords(lon=(((sub.lon + 180) % 360) - 180)).sortby(\"lon\")\n", + " flat = xr.DataArray(sub.values.ravel(), dims=(\"src_cell\",))\n", + " return rgr2.regrid(flat)\n", + "\n", + "summer = seasonal_mean([6, 7, 8])\n", + "winter = seasonal_mean([12, 1, 2])\n", + "amplitude = (summer - winter).to_series().rename(\"JJA − DJF [°C]\").round(1)\n", + "print(\"largest seasonal swing:\")\n", + "print(amplitude.sort_values(ascending=False).head(5))\n", + "print(\"\\nsmallest seasonal swing (maritime / subtropical):\")\n", + "print(amplitude.sort_values().head(5))" + ] + } + ], + "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.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/notebooks/demos/demo_conservative_2d_spherical.ipynb b/docs/notebooks/demos/demo_conservative_2d_spherical.ipynb new file mode 100644 index 0000000..60ace71 --- /dev/null +++ b/docs/notebooks/demos/demo_conservative_2d_spherical.ipynb @@ -0,0 +1,1065 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "56882b32", + "metadata": {}, + "source": [ + "# Conservative 2D regrid — spherical `s2` manifold\n", + "\n", + "Conservative regridding preserves integrals by computing overlap *areas* between source and target cells. On latitude/longitude grids, the geometry model used for those overlaps matters:\n", + "\n", + "- `\"planar\"` (default): fast planar shapely intersections in the raw coordinate plane.\n", + "- `\"cea\"`: cylindrical equal-area projection before planar intersection (good spherical area approximation for many workflows).\n", + "- `\"s2\"`: great-circle spherical geometry through [`spherely`](https://github.com/benbovy/spherely), which is the most geometrically faithful option.\n", + "\n", + "This notebook gives a compact, step-by-step view of the workflow:\n", + "\n", + "1. Build a simple analytic source field.\n", + "2. Visualize source and target grids.\n", + "3. Regrid with each manifold and compare outputs.\n", + "4. Verify conservation with a known integral.\n", + "5. Show where `s2` and `cea` diverge most.\n", + "6. Persist and reload an `s2` regridder for reuse." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "31587931", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T23:03:14.081584Z", + "iopub.status.busy": "2026-05-29T23:03:14.081396Z", + "iopub.status.idle": "2026-05-29T23:03:16.386152Z", + "shell.execute_reply": "2026-05-29T23:03:16.385478Z" + } + }, + "outputs": [], + "source": [ + "import tempfile\n", + "from pathlib import Path\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import xarray as xr\n", + "\n", + "import xarray_regrid # noqa: F401\n", + "from xarray_regrid import ConservativeRegridder" + ] + }, + { + "cell_type": "markdown", + "id": "5385e5c7", + "metadata": {}, + "source": [ + "## Source field and target grid\n", + "\n", + "We use a smooth test field on a 1° grid,\n", + "\n", + "\\[\n", + "f(\\phi, \\lambda) = \\cos^2(\\phi)\\,(1 + 0.15\\sin(3\\lambda))\n", + "\\]\n", + "\n", + "where `\\phi` is latitude and `\\lambda` is longitude. This keeps the latitudinal structure intuitive while introducing longitudinal variability so map comparisons are visually informative." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "5a2c9bae", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T23:03:16.388103Z", + "iopub.status.busy": "2026-05-29T23:03:16.387594Z", + "iopub.status.idle": "2026-05-29T23:03:16.432638Z", + "shell.execute_reply": "2026-05-29T23:03:16.432223Z" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray 'f' (latitude: 180, longitude: 360)> Size: 518kB\n",
+       "array([[7.58534061e-05, 7.52561943e-05, 7.46614390e-05, ...,\n",
+       "        7.76434047e-05, 7.70486493e-05, 7.64514375e-05],\n",
+       "       [6.82542028e-04, 6.77168213e-04, 6.71816502e-04, ...,\n",
+       "        6.98648743e-04, 6.93297033e-04, 6.87923218e-04],\n",
+       "       [1.89518011e-03, 1.88025891e-03, 1.86539909e-03, ...,\n",
+       "        1.93990282e-03, 1.92504300e-03, 1.91012179e-03],\n",
+       "       ...,\n",
+       "       [1.89518011e-03, 1.88025891e-03, 1.86539909e-03, ...,\n",
+       "        1.93990282e-03, 1.92504300e-03, 1.91012179e-03],\n",
+       "       [6.82542028e-04, 6.77168213e-04, 6.71816502e-04, ...,\n",
+       "        6.98648743e-04, 6.93297033e-04, 6.87923218e-04],\n",
+       "       [7.58534061e-05, 7.52561943e-05, 7.46614390e-05, ...,\n",
+       "        7.76434047e-05, 7.70486493e-05, 7.64514375e-05]], shape=(180, 360))\n",
+       "Coordinates:\n",
+       "  * latitude   (latitude) float64 1kB -89.5 -88.5 -87.5 -86.5 ... 87.5 88.5 89.5\n",
+       "  * longitude  (longitude) float64 3kB -179.5 -178.5 -177.5 ... 178.5 179.5
" + ], + "text/plain": [ + " Size: 518kB\n", + "array([[7.58534061e-05, 7.52561943e-05, 7.46614390e-05, ...,\n", + " 7.76434047e-05, 7.70486493e-05, 7.64514375e-05],\n", + " [6.82542028e-04, 6.77168213e-04, 6.71816502e-04, ...,\n", + " 6.98648743e-04, 6.93297033e-04, 6.87923218e-04],\n", + " [1.89518011e-03, 1.88025891e-03, 1.86539909e-03, ...,\n", + " 1.93990282e-03, 1.92504300e-03, 1.91012179e-03],\n", + " ...,\n", + " [1.89518011e-03, 1.88025891e-03, 1.86539909e-03, ...,\n", + " 1.93990282e-03, 1.92504300e-03, 1.91012179e-03],\n", + " [6.82542028e-04, 6.77168213e-04, 6.71816502e-04, ...,\n", + " 6.98648743e-04, 6.93297033e-04, 6.87923218e-04],\n", + " [7.58534061e-05, 7.52561943e-05, 7.46614390e-05, ...,\n", + " 7.76434047e-05, 7.70486493e-05, 7.64514375e-05]], shape=(180, 360))\n", + "Coordinates:\n", + " * latitude (latitude) float64 1kB -89.5 -88.5 -87.5 -86.5 ... 87.5 88.5 89.5\n", + " * longitude (longitude) float64 3kB -179.5 -178.5 -177.5 ... 178.5 179.5" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lat = np.linspace(-89.5, 89.5, 180)\n", + "lon = np.linspace(-179.5, 179.5, 360)\n", + "\n", + "src = xr.DataArray(\n", + " (np.cos(np.deg2rad(lat)) ** 2)[:, None]\n", + " * (1.0 + 0.15 * np.sin(3 * np.deg2rad(lon))[None, :]),\n", + " dims=(\"latitude\", \"longitude\"),\n", + " coords={\"latitude\": lat, \"longitude\": lon},\n", + " name=\"f\",\n", + ")\n", + "\n", + "target = xr.Dataset(\n", + " coords={\n", + " \"latitude\": np.linspace(-89, 89, 90),\n", + " \"longitude\": np.linspace(-179, 179, 180),\n", + " }\n", + ")\n", + "\n", + "src" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "ad1556c8", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T23:03:16.433871Z", + "iopub.status.busy": "2026-05-29T23:03:16.433795Z", + "iopub.status.idle": "2026-05-29T23:03:16.747423Z", + "shell.execute_reply": "2026-05-29T23:03:16.747045Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, axes = plt.subplots(1, 2, figsize=(12, 4), constrained_layout=True)\n", + "\n", + "src.plot(ax=axes[0], cmap=\"viridis\", cbar_kwargs={\"shrink\": 0.8})\n", + "axes[0].set_title(\"Source field on 1° grid\")\n", + "\n", + "axes[1].set_title(\"Target grid (2° centers)\")\n", + "axes[1].set_xlabel(\"longitude\")\n", + "axes[1].set_ylabel(\"latitude\")\n", + "axes[1].set_xlim(-180, 180)\n", + "axes[1].set_ylim(-90, 90)\n", + "axes[1].scatter(\n", + " target.longitude.values,\n", + " np.zeros_like(target.longitude.values),\n", + " s=8,\n", + " alpha=0.4,\n", + " label=\"lon centers @ equator\",\n", + ")\n", + "axes[1].scatter(\n", + " np.zeros_like(target.latitude.values),\n", + " target.latitude.values,\n", + " s=8,\n", + " alpha=0.4,\n", + " label=\"lat centers @ prime meridian\",\n", + ")\n", + "axes[1].grid(alpha=0.3)\n", + "axes[1].legend(loc=\"lower left\", fontsize=8)" + ] + }, + { + "cell_type": "markdown", + "id": "2e1c76fc", + "metadata": {}, + "source": [ + "## Regrid with each manifold\n", + "\n", + "All three runs use the same source, target, and conservative operator interface; only the manifold changes.\n", + "\n", + "To make the transformation visually obvious, we overlay coarse target-grid lines on each output map." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "da88f365", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T23:03:16.748790Z", + "iopub.status.busy": "2026-05-29T23:03:16.748711Z", + "iopub.status.idle": "2026-05-29T23:03:20.715413Z", + "shell.execute_reply": "2026-05-29T23:03:20.715061Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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8yN5yJdd3g7vGq4xQ32S8LBDOr1wnKUhZWQeFxeh814GjYvx9nTDQ/mcDSnGhT3fo/UOGxesrY33XSNzjobrsRgXwYd5++Www3cDqxeGzDPbk59rv1xm6L2NHTvEcJs5V+Q8ijmDKU/KF23ljDr5go1lPy5C1gm0HCFnuDHjbRcTF2LOmCBf6NWTknxB1pfyhVNOOiy/U7/ebiYzo636y5pra90649eVYDtQqiva1qakrtTVVvG7Nk9b26ordbSVzpO0ld2uwJ0zTbSVi4tSbdUbxg+9pzm0TFudMgNxUdCzBtoa1NdZ0FY9sX57fBbyRbA97pxrPmc4uhu1p61ZOZNr66TtcSe/SzljDrV1mvrKaWub7dCpa+s026EVtHXe2qFl9heitpbYoWyWtgavXZkcKmorWb5UWzk9Y3KoqK8ta2saF4XtkbSVO48kLqRr10bamr4KsdEkXwRzRh1t1cu3p630uybSVm79Derrqqqtevoc6utWZG5+krjpppt0g6XX6+kGzr//+7+rN73pTeqII47Il3nDG96g3vrWt6qLL75YXXnllWrHjh3aN2h1dXVTtx0AAACYRaCtAAAAAPQVAAAAaJOhihv/LSJzc+f861//enXcccfpuw2okb8lvfPgoosuUn/yJ3+ifvu3f1tP++AHP6iOPvpo9YlPfEL9/u///qZsNwAAADCrQFsBAAAA6CsAAADQJqMk0n9N1ltE5uYniU996lN6CODv/d7vqaOOOkr98i//sh4CaLn22mvVDTfcoE466aR82u7du9UDHvAAdcUVV4jlrq2tqb179zp/AAAAwCIAbQUAAADmQ19x3QoAAGBeGDW8a340P93Ui3nn/Pe//33twXf22Werl770peorX/mK+uM//mO1tLSkTj31VN24SUnvlKekn+08jgsuuECdf/75hempp9dwmDT280oZct5XekKFHfbKGPpllPnYFvyz4ur+WcQ3y583XC56phV+2OJ8yPN5kVPOgPMNr8GA8zbNN8yejEg8R5ZhyM/LP//W1yvo5xWXfmfIZzd43stgPOcL5dTwitd+tktu/PhxwZXjn396jIsxU90fd2BjhzvnfrGBOsvGjrf8+PwFfHHtOV91/f/Y7+d8HJOSfKEnqsqIsVMjX4RyButna3IG58Xn5ww+LzBl6+nEm7mFnGHPeVqG7KU5/k6p/vr5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AGAzwbUrAAAAMF1SlyDiYFVrvZS0Y77KD+pHHnmk7mC/8cYbnenp59TSjiO1tku95qmFzd3udjd1ww03aJucpaUlNRed82eddZbzOb31/+tf/7q69NJLtXffZvP2t79d/+KRHtj0Kb1ve9vb8gfX1iH32/ICivraWr+mgeMaFiZfn/y+Yf2jQn5Puf9WA+Omsd+cvC71FyuuZ7aB8f8tbKf3mr13/bdYX7582bh0+qiwXXHRtz3/LnvcZDhf4/G8UaW4sH7qE8eFthVzC9/4uJDXT/eXPofAXy/7XPQqLGwn876NuKDzpLjI3tvjZLzamO1qEheDCnERTxAXXM7Y6HzRNGf4cdE0Z/BxUZ4XqsYFnefHhZtDmsUFdxyqsOjaOmldcWJ9SnXFPd9yDuXW47Y9jal5yaHzoq10W6elra63aSj3lefQ0DHMyqiaQ9VUcijV1qY5lNXWQHucHrdJ2uP0uUVSbGwlbc3eT0db3Wk8NP/5+zWJts66vs66tm71dmh1bZ2fdqjzOZBDfW1tmkO3orZm5cxODk0/RxXjwn8vHoMp9XXV0Vb/++dJW6fZ11VHW1NC2kpfZ81zvippR3p65/tll12mHve4x+V3xqefzzzzTHadBz3oQerDH/6wXi61lk357ne/qzvtN6NjvnHn/POe9zyxcfHVr35VbSYf/ehH1dlnn62fzvuABzxAXXTRRerkk09W11xzjR62AAAAAMwi0FYAAABgcfQV160AAADA5KR9wKeeeqq63/3up3/gTvuBDxw4oE477TQ9/2lPe5q6zW1uoy644AL9+dnPfrb68z//c90+eO5zn6v+8z//U732ta9Vf/zHf7xppyP0A0ttHv3oR6uPfexjajO58MIL1emnn65Pwt3vfnfdSb99+3b1vve9b1O3CwAAAGgCtBUAAADYevqK61YAAABblYhY29T6U/V50pOepN74xjeq8847T93nPvdR3/jGN/ToOPuQ2Ouuu079+Mc/zpdPHzb7T//0T+orX/mKute97qU75dOO+nPOOUf8jm9961v6TvuZfSAs5W//9m/VLW5xC7VZpN5AV111lTr33HPzaekQhZNOOkldccUV7Dpra2v6z7J3796pbCsAAABQBWgrAAAAsLX0FdetAAAAQHuceeaZoo3N5z//+cK0E088UX3pS1+qXP4v//Iv6w7+1JHljne8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qdSSStm8ebP6gUAeHEOHDhVFw/blG/WXb9Rf48nfvF977TWxzz77iHK53IRPzD5ia+NxbOcb9Zdv1F/jEVtrEVsbj2M736i/fKP+8htf5QB9T8+OK/bjGDBgQFsNzEuktfGRjTErVzrKgfkiDs7b2L58o/7yjfprrGHDhjX4E/KF2No8HNv5Rv3lG/XXWMRWL2Jr83Bs5xv1l2/UX/7iqxxYb7fB9aS4pA8AAAAAAAAAgCZjcB4AAAAAAAAAgCZjcD6DBg4cKC666CL1bxGxfflG/eUb9Yd2RdvPN+ov36i/fCt6/SG+orcNti/fqL98o/7QTrghLAAAAAAAAAAATcaV8wAAAAAAAAAANBmD8wAAAAAAAAAANBmD8wAAAAAAAAAANBmD8wAAAAAAAAAANBmD8y122WWXife85z1i1113Fbvvvrt2mVKpVPN32223eZZ58MEHxbve9S51R+u3vOUtYtGiRSIP27Zq1Spx3HHHqWX22msvce6554q+vr7Mb1uQfffdt6au5s+f71nmiSeeEO973/vEoEGDxJgxY8SVV14p8mLBggVqG+W6H3rooWLZsmUijy6++OKaenrb297mvL59+3Zx1llniT333FMMHjxYnHzyyWLt2rUiq/74xz+KE044Qeyzzz5qW+644w7P65ZliQsvvFDsvffeYpdddhFHHXWUeO655zzLrF+/XnziE58QQ4cOVcfrpz71KbFlyxaRh+2bNWtWTX0ec8wxudk+pK/IsbUd42vRY2tR4iuxldhKbC02YiuxldjaGsTX/MRXvrciLgbnW6ynp0eccsop4swzzzQut3DhQrF69Wrn76STTnJeW7lypfoC/v73v188/vjj4stf/rL49Kc/Le655x6R5W3r7+9X6y2Xe+SRR8Qtt9yiBgbkIGLWt81k7ty5nrr6whe+4Ly2efNmMXXqVDF27FixfPlycdVVV6lg+/3vf19k3U9/+lNxzjnniIsuukg89thjYsKECWLatGli3bp1Io/e8Y53eOrpoYcecl77yle+In7729+K22+/XfzhD38QL7/8svjwhz8ssur1119X9SEHd3TkifR3vvMdccMNN4hHH31U7Lbbbqru5I8QNnly89RTT4n77rtP3HnnnerE4jOf+YzIw/ZJcjDeXZ8/+clPPK9nefuQviLH1naNr0WNrUWLr8RWYiuxtbiI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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "out_planar = src.regrid.conservative_2d(\n", + " target, x_coord=\"longitude\", y_coord=\"latitude\", manifold=\"planar\"\n", + ")\n", + "out_cea = src.regrid.conservative_2d(\n", + " target, x_coord=\"longitude\", y_coord=\"latitude\", manifold=\"cea\"\n", + ")\n", + "out_s2 = src.regrid.conservative_2d(\n", + " target, x_coord=\"longitude\", y_coord=\"latitude\", manifold=\"s2\"\n", + ")\n", + "\n", + "# Coarse visual guide to the target grid structure.\n", + "lat_lines = target.latitude.values[::8]\n", + "lon_lines = target.longitude.values[::8]\n", + "\n", + "vmin = float(src.min())\n", + "vmax = float(src.max())\n", + "\n", + "fig, axes = plt.subplots(1, 3, figsize=(15, 4), constrained_layout=True)\n", + "for ax, title, arr in [\n", + " (axes[0], \"planar\", out_planar),\n", + " (axes[1], \"cea\", out_cea),\n", + " (axes[2], \"s2\", out_s2),\n", + "]:\n", + " arr.plot(ax=ax, cmap=\"viridis\", vmin=vmin, vmax=vmax, add_colorbar=(ax is axes[2]))\n", + " for y in lat_lines:\n", + " ax.axhline(float(y), color=\"white\", lw=0.25, alpha=0.45)\n", + " for x in lon_lines:\n", + " ax.axvline(float(x), color=\"white\", lw=0.25, alpha=0.45)\n", + " ax.set_title(title)\n", + " ax.set_xlim(-180, 180)\n", + " ax.set_ylim(-90, 90)" + ] + }, + { + "cell_type": "markdown", + "id": "0690370a", + "metadata": {}, + "source": [ + "## Conservation check against an analytic integral\n", + "\n", + "For this notebook's check field, the dominant term is `\\cos^2(lat)`, whose integral over the unit sphere is `8π/3`. We integrate each regridded output against true spherical target-cell areas and compare errors. This is a practical sanity check that conservative weighting behaves as expected." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "b179e5ff", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T23:03:20.717016Z", + "iopub.status.busy": "2026-05-29T23:03:20.716927Z", + "iopub.status.idle": "2026-05-29T23:03:20.720113Z", + "shell.execute_reply": "2026-05-29T23:03:20.719783Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "manifold integral |error|\n", + " planar 8.376836 7.44e-04\n", + " cea 8.377474 1.06e-04\n", + " s2 8.377219 3.61e-04\n", + " truth 8.377580\n" + ] + } + ], + "source": [ + "TRUE = 8 * np.pi / 3\n", + "\n", + "\n", + "def sph_cell_areas(lat_vals, lon_vals):\n", + " lat_r = np.deg2rad(lat_vals)\n", + " dlat = np.gradient(lat_r)\n", + " dlon = np.gradient(np.deg2rad(lon_vals))\n", + " return (np.sin(lat_r + dlat / 2) - np.sin(lat_r - dlat / 2))[:, None] * dlon[None, :]\n", + "\n", + "\n", + "a_tgt = sph_cell_areas(target.latitude.values, target.longitude.values)\n", + "\n", + "print(f\"{'manifold':>8} {'integral':>11} {'|error|':>10}\")\n", + "for manifold, arr in {\n", + " \"planar\": out_planar.values,\n", + " \"cea\": out_cea.values,\n", + " \"s2\": out_s2.values,\n", + "}.items():\n", + " valid = np.isfinite(arr)\n", + " integral = float((arr[valid] * a_tgt[valid]).sum())\n", + " print(f\"{manifold:>8} {integral:>11.6f} {abs(integral - TRUE):>10.2e}\")\n", + "print(f\"{'truth':>8} {TRUE:>11.6f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "a5cf0a55", + "metadata": {}, + "source": [ + "## Where `s2` and `cea` differ most\n", + "\n", + "At fine resolutions, `cea` and `s2` are often close. The gap becomes easier to see on coarse grids, where great-circle vs projected straight-edge assumptions diverge more strongly." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "1ef50b58", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T23:03:20.721254Z", + "iopub.status.busy": "2026-05-29T23:03:20.721195Z", + "iopub.status.idle": "2026-05-29T23:03:21.041927Z", + "shell.execute_reply": "2026-05-29T23:03:21.041506Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "max |s2 − cea|: 2.23e-03\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABYIAAAFVCAYAAABSGJucAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAy71JREFUeJzsnQmcFMX595/unmt3uUEuRQE1ioqiEhXvqAEUE42+RoxRJAiJ9xXPAB54xAsVRYlRUBP9YzRqohLiHTUieEbxwAsFRS6595qZ7n4/T+GM09W1O129M7M7O7+vn3bpnqrqmuqafrqefupXhuu6LgEAAAAAAAAAAAAAAABot5itXQEAAAAAAAAAAAAAAAAAxQWOYAAAAAAAAAAAAAAAAGjnwBEMAAAAAAAAAAAAAAAA7Rw4ggEAAAAAAAAAAAAAAKCdA0cwAAAAAAAAAAAAAAAAtHPgCAYAAAAAAAAAAAAAAIB2DhzBAAAAAAAAAAAAAAAA0M6BIxgAAAAAAAAAAAAAAADaOXAEAwAAAAAAAAAAAAAAQDsHjmAAgDabNm2iU089lXr37k2GYdC5555LX375pfj3fffdp13eSy+9JPLy33wcfPDBYgMAAFAa+vfvT6ecckredHz/53s524NClRmUltigIHBduc5B03bo0KEo9QAAAABaAtvKK664Iq/tvvHGG2ngwIFkWRYNGTJEHEun03TRRRdRv379yDRNOvroo3ExAChD4AgGBeXzzz+n3/72t8JoJBIJ6tSpE+2333502223UX19PVq7nXDttdeKh4bTTjuN/vKXv9BJJ53U2lUCAICyJjMQy2yRSIS23HJL4VT85ptvWrt6QKKurk4MpIO8wCw03333nRigH3jggbTFFltQly5daJ999qGHH34Y1wkAUHE89thjdPzxx4vxZ3V1Ne2www50wQUX0Lp161q7amXLM888Ixy+PI6fNWuWGPsxM2fOFPbn//2//0f3338/nXfeea1dVQBACCJhMgGg4umnn6bjjjuO4vE4nXzyybTLLrtQMpmkV199lS688EL64IMP6O6770bjtQNeeOEFMei8/PLLs8dc1xXO/mg02qp1AwCAcuaqq66iAQMGUENDA73++uvCQcx2dOHCheIFa2uwaNEiEflTyfz5z38mx3E8juArr7xS/LvUs1TmzZtHf/jDH+iII46giRMn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0vvvvy/sIjtuOQ/bN4464uhoPsa2l2cOyc6C5sg4edkW89TbDDxo5LqxFi/b5+bgqCc+NztkecoqT9nl557m9AgL9dzCz0z8nMUakfwMIjvg+fkJevoAgHKH73+s5c7jMB4/cpQvR56+8cYbYuZlBrZFrAnLtokX++QtA6/hwjawFBR6HMb2kOURuRy+r7M95Pt9kPs7n/+EE04Q9oTtI+fn2TQtnRGkoiVjad1nAB3YCc7tzA76CRMmCCc9l8MLtWdekLOsEi9mx/rPfC3YrvPzEc8M4r7G/wagXeICUEA++eQTd/z48W7//v3dWCzmduzY0d1vv/3c22+/3W1oaMimS6VS7pVXXukOGDDAjUajbr9+/dxLL73Uk4b573//6+6zzz5uVVWV27dvX/eiiy5y//3vf7Mn2H3xxRez6Q466CB355139tXn7bffdk844QR36623duPxuNuzZ0/3yCOPdN98801f2rvvvtvdc889xbm43oMHDxbnW7ZsWZPfd/Xq1e4ZZ5zh7rjjjm5NTY3buXNnd++993b/9re/+dLecccdIh1/3169ermnnXaau3btWl+6m2++2d1yyy1FfbntuK78/XjLwN+d2+CRRx5R1uvVV191f/rTn4rvwfXaddddxTXI5fPPP3dPPvlkt3fv3qJOfE5um0cffbTJ75thm222cUeNGuU5tnjxYlGnWbNmaZ8n831yrylz5513ij7CbTF06FD35Zdf9rUFAAC0B/jeyffBN954w/eZbdvutttuK7Z0Oq11D3/nnXfcAw44QNxHt9pqK/e6665zp02bJs61fPnyZu/ruZ+NGTPGc+y9994T9+JEIiHOPWXKFPfee+8V5bI9yK072/s+ffoI+3rwwQe7CxcuVJa5ceNG8Syw3XbbiWeIHj16uPvuu6970003uclkMpvuu+++c0866SS3U6dOwu7yv/l7qmxQU/DzAKdfsWKFx3byMW4vGa4r1zmX1157TTw3cF053+WXX55Ny7ZXhj/P9+gd5Lkl01ea2oK2AQAAtGUaGxvdCy+80N1tt92yYxr+N48PcmnuftgaY4ZCjcN4XHzBBRdk7SePC+fNmxd4LFRfX++effbZbvfu3UU9fvazn7lLly712Ktcm5Jru5uyY02NuYOOpZt71gjyDJAZb954442+/PL3Yvh54xe/+IXbpUsX8byyww47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8tYtklb/TvJiec9tSvsU9dfFsKW2cvznNqRjhhugLiFxDUNsQdMCAAAAlQpsJgAAAKDz8jSoIxiLxbUEOIIBAABoSkMENLxwBAMAAKhkYDMBAACAYCbTssQWNC0ID9zoAAAA9BeLC7oBAAAAlUoJbOb06dOpf//+lEgkaO+996YFCxY0mfbPf/4zHXDAAdS1a1exHXbYYb70p5xyipjZl7uNHDkyVN0AAAAAbTmloBsIDVoPAACA9jTXoFsYMKgFAADQHii2zXz44Yfp/PPPp8svv5zefvtt2m233WjEiBG0cuVKZfqXXnqJTjjhBHrxxRdp3rx51K9fPxo+fDh98803nnTs+P3222+z2//93/+FbgMAAABASyM46AZCA0cwAACANhPdhEEtAACAdkORbebUqVNp/PjxNHbsWNppp51oxowZVF1dTTNnzlSmf/DBB+n000+nIUOG0I477kj33HMPOY5Dzz//vCddPB6n3r17ZzeOHgYAAACKCa/lpLOB8MARDAAAQFPvUGPTBINaAAAAlWwzN2zY4NkapcV+MySTSXrrrbeEvEMG0zTFPkf7BqGuro5SqRR169bNFzncs2dP2mGHHei0006j7777rkXNAAAAAOTF0JCFgARhZTiCr7vuOvrxj39MHTt2FA8mRx99NC1atMiTpqGhgc444wzq3r07dejQgY499lhasWJFq9UZAADaHSG0mzCoLT2wmQAAUJ42k+UaOnfunN34fq5i9erVZNs29erVy3Oc95cvXx6oehdffDH17dvX40xmWYgHHnhARAlff/319J///IcOP/xwca72DOwmAAC0/4hgHQlC5pFHHhEzaDj94MGDac6cOZSL67o0efJk6tOnD1VVVQl7+umnn3rSrFmzhk488UTq1KkTdenShcaNG0ebNm3Kfv7ll1/6tPl5e/3116lYRKhM4IcQdvKyMzidTtNll10mNK0+/PBDqqmpEWnOO+88evrpp8XF4genM888k4455hj673//W5A6ONK+7fr96GnbGwGXSvsj4lIp735jo+vZTyblM3Ea78NXfYNUCDvC67zHklKaZEPSX9+Ut9x0Ku1L49gOWXaS6uo214unkOXiOt76M4bp/d6WYlVHM+Jtv0jU2x2jsai/LmnvuRWn9tdFugSWVDdxbstbl3jMnyYtPf86jpG3Lq7rTeOSKkKSj+Zk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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "coarse_lat = np.linspace(-85, 85, 35)\n", + "coarse_lon = np.linspace(-175, 175, 70)\n", + "coarse_src = xr.DataArray(\n", + " np.cos(np.deg2rad(coarse_lat))[:, None] ** 2\n", + " * np.sin(np.deg2rad(coarse_lon))[None, :],\n", + " dims=(\"latitude\", \"longitude\"),\n", + " coords={\"latitude\": coarse_lat, \"longitude\": coarse_lon},\n", + ")\n", + "coarse_tgt = xr.Dataset(\n", + " coords={\n", + " \"latitude\": np.linspace(-82.5, 82.5, 12),\n", + " \"longitude\": np.linspace(-172.5, 172.5, 24),\n", + " }\n", + ")\n", + "\n", + "coarse_s2 = coarse_src.regrid.conservative_2d(\n", + " coarse_tgt, x_coord=\"longitude\", y_coord=\"latitude\", manifold=\"s2\"\n", + ")\n", + "coarse_cea = coarse_src.regrid.conservative_2d(\n", + " coarse_tgt, x_coord=\"longitude\", y_coord=\"latitude\", manifold=\"cea\"\n", + ")\n", + "diff = coarse_s2 - coarse_cea\n", + "\n", + "fig, axes = plt.subplots(1, 3, figsize=(14, 3.3), constrained_layout=True)\n", + "coarse_src.plot(ax=axes[0], cmap=\"coolwarm\")\n", + "axes[0].set_title(\"Coarse source field\")\n", + "coarse_s2.plot(ax=axes[1], cmap=\"coolwarm\")\n", + "axes[1].set_title(\"Regridded with s2\")\n", + "diff.plot(ax=axes[2], cmap=\"RdBu_r\", center=0)\n", + "axes[2].set_title(\"s2 − cea difference\")\n", + "for ax in axes:\n", + " ax.set_xlim(-180, 180)\n", + " ax.set_ylim(-90, 90)\n", + " ax.grid(alpha=0.25, lw=0.4)\n", + "\n", + "print(f\"max |s2 − cea|: {float(np.nanmax(np.abs(diff.values))):.2e}\")" + ] + }, + { + "cell_type": "markdown", + "id": "1a1504ff", + "metadata": {}, + "source": [ + "## Reuse: persist the `s2` regridder\n", + "\n", + "The expensive part is building geometry and overlaps. Save once, reload, and apply repeatedly to fields on the same source/target grids." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "854b57c8", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T23:03:21.043239Z", + "iopub.status.busy": "2026-05-29T23:03:21.043146Z", + "iopub.status.idle": "2026-05-29T23:03:24.891732Z", + "shell.execute_reply": "2026-05-29T23:03:24.891266Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "saved 2312 KB, manifold='s2'\n", + "bit-identical forward: True\n" + ] + } + ], + "source": [ + "rgr = ConservativeRegridder(\n", + " src,\n", + " target,\n", + " x_coord=\"longitude\",\n", + " y_coord=\"latitude\",\n", + " manifold=\"s2\",\n", + ")\n", + "path = Path(tempfile.gettempdir()) / \"s2_regridder.nc\"\n", + "rgr.to_netcdf(path)\n", + "rgr2 = ConservativeRegridder.from_netcdf(path)\n", + "\n", + "print(f\"saved {path.stat().st_size / 1024:.0f} KB, manifold={rgr2.manifold!r}\")\n", + "print(\n", + " \"bit-identical forward:\",\n", + " np.array_equal(rgr.regrid(src).values, rgr2.regrid(src).values),\n", + ")" + ] + } + ], + "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.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/notebooks/demos/demo_conservative_2d_unstructured.ipynb b/docs/notebooks/demos/demo_conservative_2d_unstructured.ipynb new file mode 100644 index 0000000..09f387a --- /dev/null +++ b/docs/notebooks/demos/demo_conservative_2d_unstructured.ipynb @@ -0,0 +1,337 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0", + "metadata": {}, + "source": [ + "# Conservative 2D regrid — unstructured mesh + save/load\n", + "\n", + "**Conservative regridding** resamples a gridded field while preserving its\n", + "area-weighted integral — the right tool for fluxes and intensive\n", + "quantities, where bilinear or nearest-neighbor interpolation would bias\n", + "the total.\n", + "\n", + "**Unstructured meshes** — ICON triangles, MPAS hexagons, finite-element\n", + "models, generic Voronoi tessellations — are the natural geometry for\n", + "simulations that need adaptive resolution (denser cells over land, coarser\n", + "over open ocean). They have no `(y, x)` index structure: every cell is\n", + "just an arbitrary polygon. So they're never 1D-separable, and the fast\n", + "`.regrid.conservative` accessor doesn't apply.\n", + "\n", + "`ConservativeRegridder.from_polygons` takes a flat 1D array of shapely\n", + "polygons as source and/or target. The same machinery handles\n", + "structured→unstructured, unstructured→structured, and unstructured→\n", + "unstructured.\n", + "\n", + "**In this notebook.**\n", + "\n", + "1. Build a synthetic Voronoi mesh as a stand-in for a real ICON/MPAS dataset.\n", + "2. Regrid a smooth analytic field from a structured lat/lon source onto\n", + " the mesh.\n", + "3. **Persist the regridder to disk** — for a fixed source/target pair the\n", + " weight matrix is the same forever, so saving it lets a long-running\n", + " pipeline (or a follow-up notebook) skip the polygon-intersection build\n", + " on restart." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "1", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:25.418264Z", + "iopub.status.busy": "2026-05-29T13:27:25.418017Z", + "iopub.status.idle": "2026-05-29T13:27:26.673193Z", + "shell.execute_reply": "2026-05-29T13:27:26.672719Z" + } + }, + "outputs": [], + "source": [ + "import tempfile\n", + "from pathlib import Path\n", + "\n", + "import numpy as np\n", + "import xarray as xr\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.collections import PolyCollection\n", + "from scipy.spatial import Voronoi\n", + "import shapely\n", + "\n", + "import xarray_regrid # noqa: F401\n", + "from xarray_regrid import ConservativeRegridder, polygons_from_coords" + ] + }, + { + "cell_type": "markdown", + "id": "2", + "metadata": {}, + "source": [ + "## Build a Voronoi mesh\n", + "\n", + "Real pipelines load a pre-built mesh (UGRID, ICON, MPAS); for a\n", + "self-contained demo we synthesize one — jitter a regular grid of generator\n", + "points, take the Voronoi tessellation, and clip to the bounding box. The\n", + "construction details aren't the point: `from_polygons` only needs a 1D\n", + "array of shapely polygons however we get them." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "3", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:26.675191Z", + "iopub.status.busy": "2026-05-29T13:27:26.675033Z", + "iopub.status.idle": "2026-05-29T13:27:26.689933Z", + "shell.execute_reply": "2026-05-29T13:27:26.689581Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "398 mesh cells\n" + ] + } + ], + "source": [ + "def voronoi_mesh(n_points, bbox, seed=0):\n", + " rng = np.random.default_rng(seed)\n", + " x0, y0, x1, y1 = bbox\n", + " side = int(np.sqrt(n_points))\n", + " xs, ys = np.linspace(x0, x1, side), np.linspace(y0, y1, side)\n", + " pts = np.column_stack([np.repeat(xs, side), np.tile(ys, side)])\n", + " pts += rng.normal(scale=(x1 - x0) / side * 0.25, size=pts.shape)\n", + " halo = np.array([\n", + " [2*x0 - x1, 2*y0 - y1], [2*x1 - x0, 2*y0 - y1],\n", + " [2*x0 - x1, 2*y1 - y0], [2*x1 - x0, 2*y1 - y0],\n", + " ])\n", + " vor = Voronoi(np.concatenate([pts, halo]))\n", + " clip = shapely.box(x0, y0, x1, y1)\n", + " polys = []\n", + " for i in range(len(pts)):\n", + " r = vor.regions[vor.point_region[i]]\n", + " if not r or -1 in r:\n", + " continue\n", + " p = shapely.intersection(shapely.Polygon(vor.vertices[r]), clip)\n", + " if p.is_empty or p.geom_type != \"Polygon\":\n", + " continue\n", + " polys.append(p)\n", + " return np.array(polys, dtype=object)\n", + "\n", + "bbox = (-120, -50, 120, 50)\n", + "mesh_polys = voronoi_mesh(n_points=400, bbox=bbox)\n", + "print(f\"{len(mesh_polys)} mesh cells\")" + ] + }, + { + "cell_type": "markdown", + "id": "4", + "metadata": {}, + "source": [ + "## Structured lat/lon source\n", + "\n", + "A smooth `sin(2λ)·cos(3φ)` field on a 1° rectilinear grid — wavy enough\n", + "that the regridded mesh values are visually distinct, smooth enough that\n", + "no individual mesh cell aliases the pattern." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "5", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:26.691245Z", + "iopub.status.busy": "2026-05-29T13:27:26.691164Z", + "iopub.status.idle": "2026-05-29T13:27:26.694539Z", + "shell.execute_reply": "2026-05-29T13:27:26.694114Z" + } + }, + "outputs": [], + "source": [ + "lat_s = np.linspace(-50, 50, 100, endpoint=False) + 0.5\n", + "lon_s = np.linspace(-120, 120, 240, endpoint=False) + 0.5\n", + "Lo, La = np.meshgrid(lon_s, lat_s)\n", + "src = xr.DataArray(\n", + " np.sin(np.deg2rad(Lo) * 2) * np.cos(np.deg2rad(La) * 3),\n", + " dims=(\"latitude\", \"longitude\"),\n", + " coords={\"latitude\": lat_s, \"longitude\": lon_s},\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "6", + "metadata": {}, + "source": [ + "## Regrid onto the mesh\n", + "\n", + "`from_polygons` takes flat 1D arrays of source and target polygons. Source\n", + "polygons come from the 1D grid coords via `polygons_from_coords` (one\n", + "rectangle per cell, built from coordinate midpoints); target polygons are\n", + "the Voronoi mesh cells. Source data has to be flattened to a single\n", + "`src_cell` dimension to match the flat polygon array." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "7", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:26.695935Z", + "iopub.status.busy": "2026-05-29T13:27:26.695850Z", + "iopub.status.idle": "2026-05-29T13:27:27.456738Z", + "shell.execute_reply": "2026-05-29T13:27:27.456264Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ConservativeRegridder(src_dims=('src_cell',), dst_dims=('cell',), 398x24000, nnz=31875)\n" + ] + } + ], + "source": [ + "rgr = ConservativeRegridder.from_polygons(\n", + " source_polygons=polygons_from_coords(lon_s, lat_s),\n", + " target_polygons=mesh_polys,\n", + " source_dim=\"src_cell\",\n", + " target_dim=\"cell\",\n", + ")\n", + "print(rgr)\n", + "\n", + "src_flat = xr.DataArray(src.values.ravel(), dims=(\"src_cell\",))\n", + "mesh_vals = rgr.regrid(src_flat)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "8", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:27.458386Z", + "iopub.status.busy": "2026-05-29T13:27:27.458292Z", + "iopub.status.idle": "2026-05-29T13:27:27.538742Z", + "shell.execute_reply": "2026-05-29T13:27:27.538305Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'regridded onto 398-cell Voronoi mesh')" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAooAAAEYCAYAAADbMtdZAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzsvQdcXNl5Nv5MZSpD772DBAgQSKj33vvu2ms7iZMvif3F9vclsfNP7Nhx4rTPdoodO467t2i16r13oYqEaEKA6L3OAMP0+f/egwYBmmHuFLRF8/z2Lpo7d24995znvOV5eVar1QoffPDBBx988MEHH3yYAv7UFT744IMPPvjggw8++OAjij744IMPPvjggw8+OITPouiDDz744IMPPvjgg134iKIPPvjggw8++OCDD3bhI4o++OCDDz744IMPPtiFjyj64IMPPvjggw8++GAXPqLogw8++OCDDz744INd+IiiDz744IMPPvjggw924SOKPvjggw8++OCDDz7YhY8o+uCDDz744IMPPvhgFz6i6IMPPvjggw8++OBFXLt2DZs3b0ZUVBR4PB6OHDni9DdXrlxBfn4+/Pz8kJKSgl/96lcvbfOjH/0ICQkJkEgkmDdvHu7evTvjz81HFH3wwQcffPDBBx+8iJGREeTm5jJixwUNDQ3YuHEjli9fjkePHuErX/kK/uAP/gBnz54d32b//v342te+hm9961soLS1l+1+7di26u7tn9Nn5iKIPn1jQ7ItmavTXGZYtW8YWb+6TK/72b/+W7dOHTw7stYPPf/7zbCbvw8y8J6/qnD/88MOP+lR8eA2wfv16fPe738X27ds5bf+Tn/wEiYmJ+H//7/8hMzMTX/rSl7Br1y784Ac/GN/m+9//Pr74xS/iC1/4ArKysthvZDIZfvGLX8zglfiIog8+fGqh1WoZSfX2YD46Oorf//3fx+zZs6FSqaBQKNjM9t/+7d9gNBpf2v78+fNYtGgR69ACAwNZ59fY2PjSdjqdDt/73vdYB0jbRkdHY/fu3aisrMQnATSrFwqF+MxnPuNwm6GhIUilUuzYseOVnpsPPvgAu32ORqPhvKjV6pfW6fV6r9zakpISrFq1atI6shbSeoLBYMCDBw8mbcPn89ln2zYzBeGM7t0HH2YQS5YsYaRFLBb77rMDovjtb3+b/ZuLNZUr6J4Teduw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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(8, 4))\n", + "patches = [np.asarray(p.exterior.coords) for p in mesh_polys]\n", + "pc = PolyCollection(patches, array=mesh_vals.values, cmap=\"RdBu_r\",\n", + " edgecolor=\"0.4\", lw=0.3, clim=(-1, 1))\n", + "ax.add_collection(pc)\n", + "ax.set_xlim(bbox[0], bbox[2]); ax.set_ylim(bbox[1], bbox[3])\n", + "ax.set_aspect(\"equal\")\n", + "fig.colorbar(pc, ax=ax, shrink=0.8)\n", + "ax.set_title(f\"regridded onto {len(mesh_polys)}-cell Voronoi mesh\")" + ] + }, + { + "cell_type": "markdown", + "id": "9", + "metadata": {}, + "source": [ + "## Persist the regridder\n", + "\n", + "The weight matrix is purely a function of source and target geometry —\n", + "not of the data — so for a fixed source/target pair it never needs to\n", + "change. `to_netcdf` writes it (along with shape and version metadata) to\n", + "a small NetCDF; `from_netcdf` rebuilds the regridder. A reload-then-apply\n", + "gives bit-identical output to the original, so a long-running pipeline\n", + "can skip the (expensive) polygon-intersection build on restart." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "10", + "metadata": { + "execution": { + "iopub.execute_input": "2026-05-29T13:27:27.539955Z", + "iopub.status.busy": "2026-05-29T13:27:27.539884Z", + "iopub.status.idle": "2026-05-29T13:27:27.834293Z", + "shell.execute_reply": "2026-05-29T13:27:27.833852Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " xarray_regrid_version: 0.4.2\n", + " created: 2026-05-29T13:27:27.541727+00:00\n", + " src_shape: 24000\n", + " dst_shape: 398\n", + "\n", + "reload bit-identical: True\n" + ] + } + ], + "source": [ + "path = Path(tempfile.gettempdir()) / \"mesh_regridder.nc\"\n", + "rgr.to_netcdf(path)\n", + "\n", + "with xr.open_dataset(path) as weights:\n", + " for k in (\"xarray_regrid_version\", \"created\", \"src_shape\", \"dst_shape\"):\n", + " print(f\" {k}: {weights.attrs[k]}\")\n", + "\n", + "rgr2 = ConservativeRegridder.from_netcdf(path)\n", + "same = np.array_equal(rgr.regrid(src_flat).values, rgr2.regrid(src_flat).values)\n", + "print(f\"\\nreload bit-identical: {same}\")" + ] + } + ], + "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.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/notebooks/index.rst b/docs/notebooks/index.rst index c923b05..1b86a53 100644 --- a/docs/notebooks/index.rst +++ b/docs/notebooks/index.rst @@ -22,3 +22,12 @@ Most notebooks compare the methods implemented in xarray-regrid against more sta demos/demo_most_common.ipynb demos/demo_variance.ipynb demos/demo_conservative_nan_threshold.ipynb + +.. toctree:: + :maxdepth: 1 + :caption: Conservative 2D (curvilinear / unstructured / regions / spherical) + + demos/demo_conservative_2d_curvilinear.ipynb + demos/demo_conservative_2d_unstructured.ipynb + demos/demo_conservative_2d_regions.ipynb + demos/demo_conservative_2d_spherical.ipynb diff --git a/pyproject.toml b/pyproject.toml index 50ecd81..c0832fb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,6 +44,22 @@ accel = [ "opt-einsum", "dask[distributed]", ] +conservative-2d = [ + # For conservative regridding on grids that aren't 1D-separable + # (curvilinear, unstructured). Uses shapely for 2D polygon intersection. + "shapely>=2.0", + # Sparse weight storage. Without it the (n_dst, n_src) area matrix falls + # back to dense, which is infeasible for mesh/region problems of any size. + "sparse", + # Needed by ConservativeRegridder.to_netcdf / from_netcdf (group support). + "h5netcdf", +] +spherical = [ + # Great-circle (s2) geometry for conservative_2d via spherely (s2geometry). + # Builds on conservative-2d. + "xarray-regrid[conservative-2d]", + "spherely>=0.1.1", +] benchmarking = [ "matplotlib", "zarr", @@ -53,6 +69,15 @@ benchmarking = [ "pooch", "cftime", # required for decode time of test netCDF files ] +notebooks = [ + # Extra dependencies needed to run docs/notebooks/demos/*.ipynb. + # Combine with [conservative-2d] and [accel] for the full demo set, + # e.g.: pip install "xarray-regrid[notebooks,conservative-2d,accel]" + "matplotlib", + "pooch", # xr.tutorial.open_dataset backend + "geopandas", # polygon regions demo + "geodatasets", # ships the ncovr US county boundaries +] dev = [ "hatch", "ruff", @@ -74,7 +99,7 @@ docs = [ # Required for ReadTheDocs path = "src/xarray_regrid/__init__.py" [tool.hatch.envs.default] -features = ["accel", "dev", "benchmarking"] +features = ["accel", "dev", "benchmarking", "conservative-2d"] [tool.hatch.envs.default.scripts] lint = [ @@ -185,3 +210,18 @@ warn_return_any = true warn_unused_ignores = true show_error_codes = true exclude = ["tests/*", "docs"] + +# shapely, sparse, and spherely are untyped; the conservative_2d module bridges +# to them, so treating every signature that mentions sparse.COO as an error is +# noise. +[[tool.mypy.overrides]] +module = [ + "xarray_regrid.methods.conservative_2d", + "xarray_regrid.methods._conservative_2d_serialization", +] +disallow_any_unimported = false +warn_return_any = false + +[[tool.mypy.overrides]] +module = ["shapely", "shapely.*", "sparse", "scipy", "scipy.*", "spherely"] +ignore_missing_imports = true diff --git a/src/xarray_regrid/__init__.py b/src/xarray_regrid/__init__.py index 0dcaaec..61d94c0 100644 --- a/src/xarray_regrid/__init__.py +++ b/src/xarray_regrid/__init__.py @@ -1,12 +1,18 @@ from xarray_regrid import methods +from xarray_regrid.methods.conservative_2d import ( + ConservativeRegridder, + polygons_from_coords, +) from xarray_regrid.regrid import Regridder from xarray_regrid.utils import Grid, create_regridding_dataset __all__ = [ + "ConservativeRegridder", "Grid", "Regridder", "create_regridding_dataset", "methods", + "polygons_from_coords", ] __version__ = "0.4.2" diff --git a/src/xarray_regrid/methods/_conservative_2d_serialization.py b/src/xarray_regrid/methods/_conservative_2d_serialization.py new file mode 100644 index 0000000..6bdb9a6 --- /dev/null +++ b/src/xarray_regrid/methods/_conservative_2d_serialization.py @@ -0,0 +1,116 @@ +from datetime import datetime, timezone +from importlib.metadata import PackageNotFoundError, version +from pathlib import Path +from typing import Any + +import numpy as np +import xarray as xr + +from xarray_regrid.methods._conservative_2d_spec import RegridSpec + +try: + import sparse + + _HAS_SPARSE = True +except ImportError: # pragma: no cover + sparse = None + _HAS_SPARSE = False + +# Bump on breaking change to the on-disk format in ConservativeRegridder.to_netcdf. +_SCHEMA_VERSION = 1 + + +def _package_version() -> str: + try: + return version("xarray-regrid") + except PackageNotFoundError: + return "unknown" + + +def _coo_components( + weights: "sparse.COO | np.ndarray", +) -> tuple[np.ndarray, np.ndarray, np.ndarray, tuple[int, int]]: + if _HAS_SPARSE and isinstance(weights, sparse.COO): + coords = np.asarray(weights.coords) + return ( + coords[0].astype(np.int64, copy=False), + coords[1].astype(np.int64, copy=False), + np.asarray(weights.data), + weights.shape, + ) + arr = np.asarray(weights) + rows, cols = np.nonzero(arr) + return ( + rows.astype(np.int64, copy=False), + cols.astype(np.int64, copy=False), + arr[rows, cols], + arr.shape, + ) + + +def _coo_from_components( + row: np.ndarray, + col: np.ndarray, + data: np.ndarray, + shape: tuple[int, int], +) -> "sparse.COO | np.ndarray": + if _HAS_SPARSE: + return sparse.COO( + coords=np.stack([row, col]), + data=data, + shape=shape, + has_duplicates=False, + sorted=False, + ) + dense = np.zeros(shape, dtype=data.dtype if data.size else np.float64) + dense[row, col] = data + return dense + + +def _metadata_attrs( + spec: RegridSpec, source_coords: xr.Dataset, target_coords: xr.Dataset +) -> dict[str, Any]: + attrs: dict[str, Any] = { + "x_coord": spec.x_coord, + "y_coord": spec.y_coord, + "manifold": spec.manifold, + "src_dims": [str(d) for d in spec.src_dims], + "dst_dims": [str(d) for d in spec.dst_dims], + "src_shape": list(spec.src_shape), + "dst_shape": list(spec.dst_shape), + "xarray_regrid_version": _package_version(), + "created": datetime.now(tz=timezone.utc).isoformat(), + "schema_version": _SCHEMA_VERSION, + } + for prefix, ds, coord in [ + ("source_x", source_coords, spec.x_coord), + ("source_y", source_coords, spec.y_coord), + ("target_x", target_coords, spec.x_coord), + ("target_y", target_coords, spec.y_coord), + ]: + if coord and coord in ds.coords and ds[coord].size: + attrs[f"{prefix}_range"] = [float(ds[coord].min()), float(ds[coord].max())] + return attrs + + +def _metadata_from_attrs(attrs: dict[str, Any], path: Path) -> RegridSpec: + """Parse and validate regridding spec metadata from netCDF attrs.""" + schema_version = int(attrs.get("schema_version", 0)) + if schema_version != _SCHEMA_VERSION: + msg = ( + f"regridder file at {path} uses schema version {schema_version}; " + f"this xarray-regrid understands {_SCHEMA_VERSION}. " + "Upgrade xarray-regrid or re-save." + ) + raise ValueError(msg) + + manifold = str(attrs["manifold"]) + return RegridSpec( + x_coord=str(attrs["x_coord"]), + y_coord=str(attrs["y_coord"]), + manifold=manifold, # type: ignore[arg-type] + src_dims=tuple(str(d) for d in np.atleast_1d(attrs["src_dims"])), + dst_dims=tuple(str(d) for d in np.atleast_1d(attrs["dst_dims"])), + src_shape=tuple(int(s) for s in np.atleast_1d(attrs["src_shape"])), + dst_shape=tuple(int(s) for s in np.atleast_1d(attrs["dst_shape"])), + ) diff --git a/src/xarray_regrid/methods/_conservative_2d_spec.py b/src/xarray_regrid/methods/_conservative_2d_spec.py new file mode 100644 index 0000000..4538199 --- /dev/null +++ b/src/xarray_regrid/methods/_conservative_2d_spec.py @@ -0,0 +1,35 @@ +from collections.abc import Hashable +from dataclasses import dataclass, replace +from typing import Literal + +# Geometry backend used to build cell polygons and compute their intersections. +# - "planar": raw shapely on the user's coords +# - "cea": Lambert cylindrical equal-area projection of 1D lat/lon (degrees) +# — analytic spherical areas at planar cost +# - "s2": true great-circle polygons on the sphere via the optional `spherely` +# package (s2geometry). Each manifold is a GeometryBackend (see the +# _BACKENDS registry in conservative_2d). +Manifold = Literal["planar", "cea", "s2"] + + +@dataclass(frozen=True) +class RegridSpec: + """Canonical metadata describing a source->target regridding layout.""" + + src_dims: tuple[Hashable, ...] + dst_dims: tuple[Hashable, ...] + src_shape: tuple[int, ...] + dst_shape: tuple[int, ...] + x_coord: str + y_coord: str + manifold: Manifold + + def transposed(self) -> "RegridSpec": + """Swap source and target — same layout, opposite direction.""" + return replace( + self, + src_dims=self.dst_dims, + dst_dims=self.src_dims, + src_shape=self.dst_shape, + dst_shape=self.src_shape, + ) diff --git a/src/xarray_regrid/methods/conservative.py b/src/xarray_regrid/methods/conservative.py index 2ab67d9..c055928 100644 --- a/src/xarray_regrid/methods/conservative.py +++ b/src/xarray_regrid/methods/conservative.py @@ -7,7 +7,7 @@ import xarray as xr try: - import sparse # type: ignore + import sparse except ImportError: sparse = None @@ -277,8 +277,7 @@ def format_weights( 3. Weights are converted to a sparse representation (on a per chunk basis) if the `sparse` package is available. """ - # Use single precision weights at minimum, double if input is double - weights_dtype = np.result_type(np.float32, input_dtype) + weights_dtype = utils.min_weight_dtype(input_dtype) new_weights = weights.copy().astype(weights_dtype) chunks: dict[Hashable, tuple[int, ...] | int] = {} diff --git a/src/xarray_regrid/methods/conservative_2d.py b/src/xarray_regrid/methods/conservative_2d.py new file mode 100644 index 0000000..d15e8f9 --- /dev/null +++ b/src/xarray_regrid/methods/conservative_2d.py @@ -0,0 +1,1546 @@ +"""Conservative regridding for grids that aren't 1D-separable. + +The existing ``conservative`` method uses axis-factored 1D overlap — fast and +elegant but strictly rectilinear. This module computes the full 2D cell +intersection via shapely, so it handles: + +- curvilinear grids (2D ``lat[i, j]`` / ``lon[i, j]`` coordinate variables) +- unstructured meshes (arbitrary polygon cells, via + :meth:`ConservativeRegridder.from_polygons`) +- grid-to-polygon aggregation (e.g. gridded data → country shapes) + +For rectilinear grids a cheap analytic fast-path is used, but this module is +still slower and more memory-intensive than ``conservative``; prefer the +axis-factored path when your grid is 1D-separable. + +Requires ``shapely >= 2.0``. If ``sparse`` is available, the weight matrix is +stored as ``sparse.COO``; otherwise a dense numpy matrix is used. +""" + +import math +import os +import warnings +from abc import ABC, abstractmethod +from collections.abc import Callable, Hashable +from concurrent.futures import ThreadPoolExecutor +from dataclasses import dataclass +from functools import cached_property +from pathlib import Path +from typing import Any, ClassVar, Literal, cast + +import numpy as np +import scipy.sparse as sp +import xarray as xr + +from xarray_regrid import utils +from xarray_regrid.methods._conservative_2d_serialization import ( + _coo_components, + _coo_from_components, + _metadata_attrs, + _metadata_from_attrs, +) +from xarray_regrid.methods._conservative_2d_spec import Manifold, RegridSpec +from xarray_regrid.methods.conservative import get_valid_threshold + +NetcdfEngine = Literal["netcdf4", "scipy", "h5netcdf"] | None + + +try: + import shapely + from shapely import affinity + from shapely.strtree import STRtree + + _HAS_SHAPELY = True +except ImportError: # pragma: no cover + shapely = None + affinity = None + STRtree = None + _HAS_SHAPELY = False + +try: + import sparse + + _HAS_SPARSE = True +except ImportError: # pragma: no cover + sparse = None + _HAS_SPARSE = False + +try: + import spherely + + _HAS_SPHERELY = True +except ImportError: # pragma: no cover + spherely = None + _HAS_SPHERELY = False + + +# We fill NaNs with 0 ourselves before matmul (see `_apply_core`), so sparse's +# "NaN will not be propagated" warning is spurious. A module-level filter +# avoids `warnings.catch_warnings` inside the hot matmul path, which is not +# thread-safe — dask threads would race on the global `warnings.filters` list. +warnings.filterwarnings( + "ignore", + message="Nan will not be propagated in matrix multiplication", + category=RuntimeWarning, +) + + +SHAPELY_IMPORT_ERROR = ( + "polygon conservative regridding requires shapely >= 2.0; " + "install with `pip install shapely`." +) + + +def _check_shapely() -> None: + if not _HAS_SHAPELY: + raise ImportError(SHAPELY_IMPORT_ERROR) + + +SPHERELY_IMPORT_ERROR = ( + "manifold='s2' requires the optional `spherely` package. " + "Install with `pip install spherely` or " + "`pip install xarray-regrid[spherical]`." +) + + +def _check_spherely() -> None: + if not _HAS_SPHERELY: + raise ImportError(SPHERELY_IMPORT_ERROR) + + +class _Direction: + """Lazy weights, apply matrix, and coverage mask for one regrid direction. + + Holds the raw ``(n_dst, n_src)`` area matrix in this direction's orientation + and derives, on first access: + + - ``weights``: row-normalized weight matrix + - ``apply_matrix``: the weights as a scipy CSR matrix, used by + ``_apply_core``'s ``(W @ data.T).T`` matmul (see :func:`_to_csr`) + - ``coverage``: which output cells have any source overlap + + A regridder holds two of these (forward, backward); transposing the + regridder swaps them with no recomputation. + """ + + def __init__(self, areas: "sparse.COO | np.ndarray") -> None: + self.areas = areas + + @cached_property + def weights(self) -> "sparse.COO | np.ndarray": + return _row_normalize(self.areas) + + @cached_property + def apply_matrix(self) -> "sp.csr_matrix": + return _to_csr(self.weights) + + @cached_property + def coverage(self) -> np.ndarray: + return _coverage_mask(self.areas) + + +class ConservativeRegridder: + """Reusable conservative regridder for grids that aren't 1D-separable: + curvilinear (2D ``lat``/``lon``), unstructured (via :meth:`from_polygons`), + or arbitrary polygon-to-polygon aggregation. For purely 1D-separable + rectilinear grids, the ``.regrid.conservative`` accessor is faster. + + Build once, apply to many fields via :meth:`regrid` (or by calling the + regridder); ``.T`` gives the backward regridder. Forward and backward + weight matrices are cached lazily. Requires ``shapely >= 2.0``. + + The unnormalized cell-intersection area matrix + ``A[i, j] = area(target_i ∩ source_j)`` is exposed as ``self.areas`` + (sparse ``(n_dst, n_src)`` if the ``sparse`` package is available, dense + otherwise) — useful for conservation diagnostics and per-cell coverage + analysis. + """ + + def __init__( + self, + source: xr.DataArray | xr.Dataset, + target: xr.Dataset, + x_coord: str = "longitude", + y_coord: str = "latitude", + manifold: Manifold = "planar", + n_threads: int | None = None, + ) -> None: + _check_shapely() + _check_manifold(manifold) + source_grid, target_grid, src_x_sort_idx = _normalize_longitude_coords( + source, target, x_coord + ) + src_dims = _spatial_dims(source_grid, x_coord, y_coord) + dst_dims = _spatial_dims(target_grid, x_coord, y_coord) + if not src_dims: + msg = f"source has no dims for coords {x_coord!r}, {y_coord!r}" + raise ValueError(msg) + if not dst_dims: + msg = f"target has no dims for coords {x_coord!r}, {y_coord!r}" + raise ValueError(msg) + spec = RegridSpec( + src_dims=src_dims, + dst_dims=dst_dims, + src_shape=tuple(int(source.sizes[d]) for d in src_dims), + dst_shape=tuple(int(target.sizes[d]) for d in dst_dims), + x_coord=x_coord, + y_coord=y_coord, + manifold=manifold, + ) + backend = _BACKENDS[manifold] + src_grid = backend.grid_from_coords(source_grid, x_coord, y_coord, src_dims) + dst_grid = backend.grid_from_coords(target_grid, x_coord, y_coord, dst_dims) + areas = backend.area_matrix(src_grid, dst_grid, n_threads=n_threads) + if src_x_sort_idx is not None: + x_dim_index = src_dims.index(source[x_coord].dims[0]) + areas = _remap_columns_for_axis_sort( + areas, src_x_sort_idx, spec.src_shape, x_dim_index + ) + self._init_state( + areas=areas, + source_coords=source.coords.to_dataset(), + target_coords=target.coords.to_dataset(), + spec=spec, + ) + + def _init_state( + self, + *, + areas: "sparse.COO | np.ndarray", + source_coords: xr.Dataset, + target_coords: xr.Dataset, + spec: RegridSpec, + ) -> None: + self.areas = areas + self._source_coords = source_coords + self._target_coords = target_coords + self._spec = spec + + @property + def spec(self) -> RegridSpec: + """Canonical metadata describing this regridder's layout.""" + return self._spec + + @property + def x_coord(self) -> str: + return self._spec.x_coord + + @property + def y_coord(self) -> str: + return self._spec.y_coord + + @property + def manifold(self) -> Manifold: + return self._spec.manifold + + @cached_property + def _forward(self) -> _Direction: + return _Direction(self.areas) + + @cached_property + def _backward(self) -> _Direction: + return _Direction(_transpose_weights(self.areas)) + + @property + def forward_weights(self) -> "sparse.COO | np.ndarray": + """The row-normalized forward weight matrix (source → target).""" + return self._forward.weights + + @property + def backward_weights(self) -> "sparse.COO | np.ndarray": + """The row-normalized backward weight matrix (target → source).""" + return self._backward.weights + + @property + def target_areas(self) -> np.ndarray: + """Area of each target cell overlapped by the source domain.""" + return _sum_matrix_axis_1d(self.areas, axis=1) + + @property + def source_coverage_areas(self) -> np.ndarray: + """Area of each source cell covered by target cells.""" + return _sum_matrix_axis_1d(self.areas, axis=0) + + def regrid( + self, + data: xr.DataArray | xr.Dataset, + skipna: bool = True, + nan_threshold: float = 1.0, + ) -> xr.DataArray | xr.Dataset: + """Regrid ``data`` forward (source → target).""" + return _apply_stored_weights( + data, + direction=self._forward, + spec=self.spec, + target_coords=self._target_coords, + skipna=skipna, + nan_threshold=nan_threshold, + ) + + def __call__( + self, + data: xr.DataArray | xr.Dataset, + skipna: bool = True, + nan_threshold: float = 1.0, + ) -> xr.DataArray | xr.Dataset: + return self.regrid(data, skipna=skipna, nan_threshold=nan_threshold) + + def transpose(self) -> "ConservativeRegridder": + """Return the backward regridder (target → source). The original's + forward Direction becomes the new's backward (and vice versa), so any + already-computed weight matrices are reused, not recomputed.""" + new = type(self)._from_state( + areas=_transpose_weights(self.areas), + source_coords=self._target_coords, + target_coords=self._source_coords, + spec=self._spec.transposed(), + ) + if "_forward" in self.__dict__: + new.__dict__["_backward"] = self.__dict__["_forward"] + if "_backward" in self.__dict__: + new.__dict__["_forward"] = self.__dict__["_backward"] + return new + + @property + def T(self) -> "ConservativeRegridder": # noqa: N802 + """Alias for :meth:`transpose` (numpy-style transpose).""" + return self.transpose() + + def __repr__(self) -> str: + nnz = getattr(self.areas, "nnz", None) + shape = getattr(self.areas, "shape", (None, None)) + nnz_str = f"nnz={nnz}" if nnz is not None else "dense" + return ( + f"ConservativeRegridder(src_dims={self._spec.src_dims}, " + f"dst_dims={self._spec.dst_dims}, {shape[0]}x{shape[1]}, {nnz_str})" + ) + + def to_netcdf(self, path: str | Path, engine: NetcdfEngine = None) -> None: + """Save the weight matrix and reproducibility metadata to a netCDF file. + Requires a group-aware engine (``netcdf4`` or ``h5netcdf``); ``engine`` + is forwarded to :func:`xarray.Dataset.to_netcdf`.""" + path = Path(path) + row, col, data, shape = _coo_components(self.areas) + ds_weights = xr.Dataset( + { + "_coo_row": (("nnz",), row), + "_coo_col": (("nnz",), col), + "_coo_data": (("nnz",), data), + }, + attrs={ + **_metadata_attrs(self.spec, self._source_coords, self._target_coords), + "n_dst": int(shape[0]), + "n_src": int(shape[1]), + }, + ) + ds_weights.to_netcdf(path, mode="w", engine=engine) + self._source_coords.to_netcdf( + path, mode="a", group="source_coords", engine=engine + ) + self._target_coords.to_netcdf( + path, mode="a", group="target_coords", engine=engine + ) + + @classmethod + def from_netcdf( + cls, path: str | Path, engine: NetcdfEngine = None + ) -> "ConservativeRegridder": + """Reload a regridder previously written with :meth:`to_netcdf`. + + Validates ``schema_version``; raises :class:`ValueError` if the file + was written by an incompatible version. + """ + path = Path(path) + with xr.open_dataset(path, engine=engine) as ds_weights: + attrs = dict(ds_weights.attrs) + n_dst = int(attrs.pop("n_dst")) + n_src = int(attrs.pop("n_src")) + row = np.asarray(ds_weights["_coo_row"].values) + col = np.asarray(ds_weights["_coo_col"].values) + data = np.asarray(ds_weights["_coo_data"].values) + meta = _metadata_from_attrs(attrs, path) + + with xr.open_dataset(path, group="source_coords", engine=engine) as g: + source_coords = g.load() + with xr.open_dataset(path, group="target_coords", engine=engine) as g: + target_coords = g.load() + + return cls._from_state( + areas=_coo_from_components(row, col, data, (n_dst, n_src)), + source_coords=source_coords, + target_coords=target_coords, + spec=meta, + ) + + @classmethod + def _from_state( + cls, + *, + areas: "sparse.COO | np.ndarray", + source_coords: xr.Dataset, + target_coords: xr.Dataset, + spec: RegridSpec, + ) -> "ConservativeRegridder": + """Construct a regridder directly from its canonical state. Shared + bypass of ``__init__`` used by :meth:`from_netcdf` and + :meth:`from_polygons`.""" + instance = object.__new__(cls) + instance._init_state( + areas=areas, + source_coords=source_coords, + target_coords=target_coords, + spec=spec, + ) + return instance + + @classmethod + def from_polygons( + cls, + source_polygons: np.ndarray, + target_polygons: np.ndarray, + source_dim: str = "cell", + target_dim: str = "cell", + target_coords: xr.Dataset | None = None, + periodic: bool = False, + n_threads: int | None = None, + predicate_filter: bool = True, + ) -> "ConservativeRegridder": + """Build a regridder from explicit shapely polygon arrays — for + unstructured meshes (MPAS, ICON), arbitrary polygon targets (countries, + watersheds), or any non-rectilinear combination. + + Args: + source_polygons, target_polygons: 1D arrays of shapely Polygons. + source_dim, target_dim: Dim names for source/target cells on the + input and output arrays. + target_coords: Optional Dataset of coord variables along + ``target_dim`` to reattach on the output (else: integer index). + periodic: Unwrap polygons that cross the antimeridian (treats x + as longitude on a 360-degree periodic axis). + n_threads: Thread count for parallel GEOS intersection. + predicate_filter: If True, filter STRtree candidates with GEOS + ``intersects``. Set False for tight-bbox grid cells to skip + the predicate (faster on that case, pathological otherwise). + + The regridder applies along ``source_dim``: input data must be 1D + along that dim with element order matching ``source_polygons`` (output + is along ``target_dim``, matching ``target_polygons``). When source + polygons come from a structured grid via :func:`polygons_from_coords`, + flatten the data to match — those polygons are row-major in ``(y, x)``, + so transpose to ``(y, x)`` before ``.values.ravel()``. + + Geometry is planar in the polygons' own coordinate space. For lat/lon + cells, project into an equal-area CRS first or use the structured + path with ``manifold="cea"``. + """ + _check_shapely() + src_polys = np.asarray(source_polygons) + dst_polys = np.asarray(target_polygons) + if src_polys.ndim != 1 or dst_polys.ndim != 1: + msg = "source_polygons and target_polygons must be 1D arrays" + raise ValueError(msg) + if periodic: + src_polys = _normalize_periodic_polygons(src_polys) + dst_polys = _normalize_periodic_polygons( + dst_polys, reference=_polygon_reference_x(src_polys) + ) + + src_grid = _PLANAR.grid_from_polygons(src_polys) + dst_grid = _PLANAR.grid_from_polygons(dst_polys) + n_src = int(src_polys.size) + n_dst = int(dst_polys.size) + tgt_ds = ( + target_coords + if target_coords is not None + else xr.Dataset(coords={target_dim: np.arange(n_dst)}) + ) + return cls._from_state( + areas=_PLANAR.area_matrix( + src_grid, + dst_grid, + n_threads=n_threads, + predicate_filter=predicate_filter, + ), + source_coords=xr.Dataset(coords={source_dim: np.arange(n_src)}), + target_coords=tgt_ds, + spec=RegridSpec( + src_dims=(source_dim,), + dst_dims=(target_dim,), + src_shape=(n_src,), + dst_shape=(n_dst,), + x_coord="", + y_coord="", + manifold="planar", + ), + ) + + +def polygons_from_coords( + x: np.ndarray, + y: np.ndarray, + manifold: Manifold = "planar", + periodic: bool = False, +) -> np.ndarray: + """Build a 1D row-major (y, x) array of shapely cell polygons from 1D or + 2D center coords. Convenience for mixing structured and unstructured paths + via :meth:`ConservativeRegridder.from_polygons`. ``manifold="cea"`` + projects 1D lat/lon (degrees) into Lambert cylindrical equal-area space; + ``periodic=True`` unwraps antimeridian-crossing cells.""" + _check_shapely() + backend = _resolve_manifold(manifold) + x = np.asarray(x) + y = np.asarray(y) + if periodic: + x = _unwrap_longitude(x) + return backend.polys_from_arrays(x, y) + + +def _apply_stored_weights( + data: xr.DataArray | xr.Dataset, + direction: _Direction, + spec: RegridSpec, + target_coords: xr.Dataset, + skipna: bool, + nan_threshold: float, +) -> xr.DataArray | xr.Dataset: + """Apply ``direction``'s cached weight matrix to ``data`` via + ``xr.apply_ufunc``. + + The apply matrix is a scipy CSR of shape ``(n_dst, n_src)``; ``_apply_core`` + evaluates ``(W @ flat.T).T`` (CSR · dense), which is markedly faster than a + ``sparse.COO`` dense matmul (see :func:`_to_csr`). + """ + actual_src_shape = tuple( + int(data.sizes[d]) for d in spec.src_dims if d in data.sizes + ) + if actual_src_shape != spec.src_shape: + msg = ( + f"source spatial shape {actual_src_shape} on dims {spec.src_dims} does " + f"not match the regridder's expected shape {spec.src_shape}" + ) + raise ValueError(msg) + + src_tokens = tuple(f"__src_{d}" for d in spec.src_dims) + data_renamed = data.rename(dict(zip(spec.src_dims, src_tokens, strict=True))) + + output_dtype = _result_dtype(data) + coverage = direction.coverage + result = xr.apply_ufunc( + _apply_core, + data_renamed, + kwargs={ + "apply_weights": direction.apply_matrix, + "coverage": coverage, + "coverage_all": bool(coverage.all()), + "src_shape": spec.src_shape, + "dst_shape": spec.dst_shape, + "skipna": skipna, + "nan_threshold": nan_threshold, + "output_dtype": output_dtype, + }, + input_core_dims=[list(src_tokens)], + output_core_dims=[list(spec.dst_dims)], + exclude_dims=set(src_tokens), + dask="parallelized", + output_dtypes=[output_dtype], + dask_gufunc_kwargs={ + "output_sizes": {d: int(target_coords.sizes[d]) for d in spec.dst_dims}, + "allow_rechunk": True, + }, + keep_attrs=True, + ) + + return _assign_target_coords(result, target_coords, spec) + + +def _coverage_mask(areas: "sparse.COO | np.ndarray") -> np.ndarray: + """Return a boolean ``(n_dst,)`` mask of target cells with any source + overlap, derived from the raw area matrix.""" + if _HAS_SPARSE and isinstance(areas, sparse.COO): + # COO sparse: row_sum is 0 iff row has no nonzero entries. + n_dst = int(areas.shape[0]) + mask = np.zeros(n_dst, dtype=bool) + mask[areas.coords[0]] = True + return mask + arr = np.asarray(areas) + return np.asarray((arr > 0).any(axis=1)) + + +def _sum_matrix_axis_1d(areas: "sparse.COO | np.ndarray", axis: int) -> np.ndarray: + summed = areas.sum(axis=axis) + if hasattr(summed, "todense"): + summed = summed.todense() + return np.asarray(summed, dtype=np.float64).reshape(-1) + + +def _normalize_longitude_coords( + source: xr.DataArray | xr.Dataset, + target: xr.Dataset, + x_coord: str, +) -> tuple[xr.DataArray | xr.Dataset, xr.Dataset, np.ndarray | None]: + """Unwrap x coordinates across the antimeridian so source and target share + a contiguous longitude frame. No-op when the coord isn't present on both + objects or doesn't look like a longitude. + + For 1D rectilinear longitudes on both sides this mirrors the per-value + wrap done by :func:`xarray_regrid.utils.format_lon` for the axis-factored + path, which is what makes a source on ``[0, 360]`` align with a target on + ``[-180, 180]`` (and vice versa). If wrapping breaks source monotonicity + the source coord is sorted in place; the caller is expected to remap the + area-matrix columns by the returned ``src_x_sort_idx`` so the final matrix + columns line up with the user's original data layout. For 2D / curvilinear + coords the existing uniform-shift fallback is kept. + """ + if x_coord not in source.coords or x_coord not in target.coords: + return source, target, None + + source_x = np.asarray(source[x_coord].values) + target_x = np.asarray(target[x_coord].values) + if not _looks_like_longitude(source_x) and not _looks_like_longitude(target_x): + return source, target, None + + source_x = _unwrap_longitude(source_x) + target_x = _unwrap_longitude(target_x) + src_finite = source_x[np.isfinite(source_x)] + tgt_finite = target_x[np.isfinite(target_x)] + + src_x_sort_idx: np.ndarray | None = None + if ( + source_x.ndim == 1 + and target_x.ndim == 1 + and src_finite.size + and tgt_finite.size + ): + # Per-value wrap source into target's 360° window — mirrors format_lon + # so source [0, 360] vs target [-180, 180] (and either reversed) + # aligns. A uniform offset can't reconcile cross-convention grids + # (mean diff is exactly 180° and round() is banker's-rounded to 0). + source_x = utils.wrap_longitudes_to_target_window( + source_x, float(tgt_finite[0]), float(tgt_finite[-1]) + ) + diffs = np.diff(source_x) + if not (np.all(diffs > 0) or np.all(diffs < 0)): + src_x_sort_idx = np.argsort(source_x, kind="stable") + source_x = source_x[src_x_sort_idx] + elif src_finite.size and tgt_finite.size: + # 2D / curvilinear: fall back to uniform shift of target into source's + # window. Doesn't handle cross-convention but preserves the existing + # antimeridian-crossing behavior for 2D coords. + target_x = target_x + _periodic_offset( + float(src_finite.mean()), float(tgt_finite.mean()) + ) + return ( + utils.update_coord(source, x_coord, source_x), + cast(xr.Dataset, utils.update_coord(target, x_coord, target_x)), + src_x_sort_idx, + ) + + +def _looks_like_longitude(values: np.ndarray) -> bool: + finite = values[np.isfinite(values)] + return bool(finite.size and finite.min() >= -360.0 and finite.max() <= 360.0) + + +def _unwrap_longitude(values: np.ndarray) -> np.ndarray: + """Unwrap longitudes along the trailing axis (CF convention). For 2D + coords, latitude doesn't wrap mod 360°, so unwrapping it is incorrect.""" + radians = np.deg2rad(np.asarray(values, dtype=float)) + return np.rad2deg(np.unwrap(radians, axis=-1)) + + +def _normalize_periodic_polygons( + polygons: np.ndarray, reference: float | None = None +) -> np.ndarray: + """Unwrap each polygon across the antimeridian, then shift each into the + same 360-degree window as ``reference`` (or as the first finite center if + ``reference`` is None).""" + unwrapped = [_unwrap_polygon(p) for p in polygons] + if reference is None: + for poly in unwrapped: + center = _polygon_center_x(poly) + if np.isfinite(center): + reference = center + break + if reference is None: + return np.array(unwrapped, dtype=object) + + out = [] + for poly in unwrapped: + offset = _periodic_offset(reference, _polygon_center_x(poly)) + out.append(affinity.translate(poly, xoff=offset) if offset != 0.0 else poly) + return np.array(out, dtype=object) + + +def _polygon_reference_x(polygons: np.ndarray) -> float | None: + """Mean polygon-center x across an array of polygons, or None if all + polygons have non-finite centers.""" + bounds = shapely.bounds(polygons) + centers = 0.5 * (bounds[:, 0] + bounds[:, 2]) + finite = centers[np.isfinite(centers)] + return float(finite.mean()) if finite.size else None + + +def _polygon_center_x(polygon: Any) -> float: + minx, _, maxx, _ = polygon.bounds + return 0.5 * (float(minx) + float(maxx)) + + +def _periodic_offset(reference: float, value: float) -> float: + """Smallest multiple of 360° that brings ``value`` close to ``reference``. + + Half-up symmetric rounding (not Python's banker's ``round()``): for + antipodal pairs (``reference - value`` exactly ±180°) we always shift by + ±360° rather than tying to zero, so the polygon ends up adjacent to + ``reference`` instead of being silently left antipodal. + """ + if not np.isfinite(reference) or not np.isfinite(value): + return 0.0 + diff = (reference - value) / 360.0 + return 360.0 * math.copysign(math.floor(abs(diff) + 0.5), diff) + + +def _unwrap_polygon(polygon: Any) -> Any: + if polygon.is_empty: + return polygon + if polygon.geom_type == "Polygon": + exterior = _unwrap_ring(np.asarray(polygon.exterior.coords)) + holes = [_unwrap_ring(np.asarray(ring.coords)) for ring in polygon.interiors] + return shapely.Polygon(exterior, holes) + if polygon.geom_type == "MultiPolygon": + return shapely.MultiPolygon([_unwrap_polygon(part) for part in polygon.geoms]) + return polygon + + +def _unwrap_ring(ring: np.ndarray) -> np.ndarray: + new_ring = np.asarray(ring, dtype=float).copy() + new_ring[:, 0] = np.unwrap(new_ring[:, 0], period=360.0) + return new_ring + + +def _remap_columns_for_axis_sort( + areas: "sparse.COO | np.ndarray", + sort_idx: np.ndarray, + src_shape: tuple[int, ...], + axis_index: int, +) -> "sparse.COO | np.ndarray": + """Relabel the column indices of an ``(n_dst, prod(src_shape))`` area + matrix so that columns appear in the user's original source-data order + after ``sort_idx`` was applied along ``axis_index`` of ``src_shape``. + + For sparse, we permute the existing ``coords[1]`` column indices forward + via ``sort_idx``. For dense, we fancy-index columns by the inverse + permutation. Both express the same unravel/permute/ravel operation. + """ + sort_idx = np.asarray(sort_idx, dtype=np.int64) + permute = _axis_index_permuter(src_shape, axis_index) + + if _HAS_SPARSE and isinstance(areas, sparse.COO): + new_col = permute(np.asarray(areas.coords[1], dtype=np.int64), sort_idx) + return sparse.COO( + coords=np.stack([np.asarray(areas.coords[0], dtype=np.int64), new_col]), + data=np.asarray(areas.data), + shape=areas.shape, + has_duplicates=False, + sorted=False, + ) + + arr = np.asarray(areas) + inv_sort = np.empty_like(sort_idx) + inv_sort[sort_idx] = np.arange(sort_idx.size, dtype=sort_idx.dtype) + inv_perm = permute(np.arange(arr.shape[1], dtype=np.int64), inv_sort) + return arr[:, inv_perm] + + +def _axis_index_permuter( + src_shape: tuple[int, ...], axis_index: int +) -> "Callable[[np.ndarray, np.ndarray], np.ndarray]": + """Return ``permute(flat_indices, lookup)`` that permutes the + ``axis_index`` component of each row-major flat index via ``lookup``, + leaving all other components untouched.""" + nx = int(src_shape[axis_index]) + inner = int(np.prod(src_shape[axis_index + 1 :])) + stride = nx * inner + + def permute(flat: np.ndarray, lookup: np.ndarray) -> np.ndarray: + outer = (flat // stride) * stride + within = flat % stride + return outer + lookup[within // inner] * inner + within % inner + + return permute + + +def _transpose_weights( + w: "sparse.COO | np.ndarray", +) -> "sparse.COO | np.ndarray": + """Materialize a transposed weight matrix. + + ``sparse.COO.T`` is a lazy view, so callers relying on ``.coords[0]`` + being row indices (e.g. the backward direction's area matrix) should + materialize once here. + """ + if _HAS_SPARSE and isinstance(w, sparse.COO): + t = w.T + return sparse.COO( + coords=np.asarray(t.coords), + data=np.asarray(t.data), + shape=t.shape, + has_duplicates=False, + sorted=False, + ) + return np.asarray(w).T.copy() + + +def _to_csr(weights: "sparse.COO | np.ndarray") -> "sp.csr_matrix": + """Convert row-normalized weights to a scipy CSR matrix for the apply path. + + scipy's C SpMM (CSR · dense) is markedly faster than ``sparse.COO @ + ndarray``, whose numba kernel never converts COO to CSR (unlike sparse's + own ``COO @ COO`` and ``GCXS @ ndarray`` paths). scipy is a hard + dependency, so this is available regardless of whether ``sparse`` is + installed (and also speeds up the dense fallback). + """ + if _HAS_SPARSE and isinstance(weights, sparse.COO): + return sp.csr_matrix( + (weights.data, (weights.coords[0], weights.coords[1])), + shape=weights.shape, + ) + return sp.csr_matrix(np.asarray(weights)) + + +def _is_rectilinear_pair(xc: xr.DataArray, yc: xr.DataArray) -> bool: + """True when x and y are 1D coords on distinct dims (axis-aligned + rectangles — the separable fast path); False for curvilinear 2D coords.""" + return bool(xc.ndim == 1 and yc.ndim == 1 and xc.dims[0] != yc.dims[0]) + + +def _spatial_dims( + obj: xr.DataArray | xr.Dataset, x_coord: str, y_coord: str +) -> tuple[Hashable, ...]: + """Return the spatial dim order to feed to apply_ufunc. + + For 1D rectilinear coords (x and y ride on separate dims), canonicalize to + ``(y_dim, x_dim)`` so the flattened cell order matches the polygon order + emitted by the fast-path in ``_build_grid``. For curvilinear (2D) coords, + preserve the dim order already present on ``obj``. + """ + if x_coord not in obj.coords or y_coord not in obj.coords: + return () + xc = obj[x_coord] + yc = obj[y_coord] + if _is_rectilinear_pair(xc, yc): + return (yc.dims[0], xc.dims[0]) + dims = set(xc.dims) | set(yc.dims) + return tuple(d for d in obj.dims if d in dims) + + +class GeometryBackend(ABC): + """Per-manifold geometry strategy: how a grid's cells are built, how + candidate ``(dst, src)`` overlap pairs are found, and how their intersection + areas are computed. + + Bundling all three per manifold keeps the candidate search consistent with + the coordinate system the cells actually live in: a planar lon/lat bbox + filter is only sound for cells that *are* planar boxes, so each manifold + owns a candidate search valid for its own geometry rather than sharing one + assumption. A new manifold is one new subclass + one registry entry. + """ + + name: ClassVar[str] + + def check_deps(self) -> None: + """Raise if an optional dependency for this manifold is missing.""" + + @abstractmethod + def grid_from_coords( + self, + obj: xr.DataArray | xr.Dataset, + x_coord: str, + y_coord: str, + dims: tuple[Hashable, ...], + ) -> "_Grid": + """Build the cell geometry from the object's x/y coordinates.""" + + @abstractmethod + def polys_from_arrays(self, x: np.ndarray, y: np.ndarray) -> np.ndarray: + """Row-major ``(y, x)`` shapely cell polys for ``polygons_from_coords``.""" + + @abstractmethod + def area_matrix( + self, src: "_Grid", dst: "_Grid", n_threads: int | None = None + ) -> "sparse.COO | np.ndarray": + """Unnormalized ``(n_dst, n_src)`` area-intersection matrix + ``A[i, j] = area(dst_i ∩ src_j)``. (``predicate_filter`` is a + planar-only candidate-search knob widened in by :class:`PlanarBackend`.)""" + + +class PlanarBackend(GeometryBackend): + """Raw shapely geometry in the user's coordinate space. Rectilinear grids + take the analytic axis-aligned box-overlap fast path; curvilinear and + arbitrary-polygon grids go through GEOS clipping. Also serves the + ``from_polygons`` path.""" + + name = "planar" + + def grid_from_coords( + self, + obj: xr.DataArray | xr.Dataset, + x_coord: str, + y_coord: str, + dims: tuple[Hashable, ...], + ) -> "_Grid": + xd = obj[x_coord] + yd = obj[y_coord] + if _is_rectilinear_pair(xd, yd): + return _build_grid(np.asarray(xd.values), np.asarray(yd.values)) + xc, yc = xr.broadcast(xd, yd) + return _build_grid( + np.asarray(xc.transpose(*dims).values), + np.asarray(yc.transpose(*dims).values), + ) + + def polys_from_arrays(self, x: np.ndarray, y: np.ndarray) -> np.ndarray: + return _build_grid(x, y).polys + + @staticmethod + def grid_from_polygons(polys: np.ndarray) -> "_Grid": + """Non-rectilinear _Grid from explicit shapely cell polygons (the + ``from_polygons`` path), keeping all planar _Grid construction here.""" + return _Grid(polys=polys, bounds=shapely.bounds(polys), rectilinear=False) + + def area_matrix( + self, + src: "_Grid", + dst: "_Grid", + n_threads: int | None = None, + *, + predicate_filter: bool = False, + ) -> "sparse.COO | np.ndarray": + n_dst = len(dst.polys) + n_src = len(src.polys) + dst_idx, src_idx = _bbox_candidate_pairs(src.polys, dst.polys, predicate_filter) + if dst_idx.size == 0: + return _empty_weights(n_dst, n_src) + if src.rectilinear and dst.rectilinear: + areas = _analytic_box_areas(src.bounds[src_idx], dst.bounds[dst_idx]) + else: + areas = _intersection_areas_threaded( + dst.polys[dst_idx], src.polys[src_idx], n_threads=n_threads + ) + return _assemble_area_matrix(dst_idx, src_idx, areas, n_dst, n_src) + + +class CeaBackend(PlanarBackend): + """Lambert cylindrical equal-area: 1D rectilinear lat/lon (degrees) are + projected to ``(lon_rad, sin(lat_rad))`` before building cells, giving + mass-conservative weights on the sphere at the planar fast path's cost. + Cells are axis-aligned boxes in projected space, so the candidate search + and intersection reuse :class:`PlanarBackend`. Rectilinear-only.""" + + name = "cea" + + def grid_from_coords( + self, + obj: xr.DataArray | xr.Dataset, + x_coord: str, + y_coord: str, + dims: tuple[Hashable, ...], # noqa: ARG002 — dispatched signature + ) -> "_Grid": + xd = obj[x_coord] + yd = obj[y_coord] + if not _is_rectilinear_pair(xd, yd): + msg = 'manifold="cea" is only supported for rectilinear (1D lat/lon) coords' + raise NotImplementedError(msg) + return _build_cea_grid(np.asarray(xd.values), np.asarray(yd.values)) + + def polys_from_arrays(self, x: np.ndarray, y: np.ndarray) -> np.ndarray: + if x.ndim != 1 or y.ndim != 1: + msg = 'manifold="cea" requires 1D lat/lon arrays' + raise ValueError(msg) + return _build_cea_grid(x, y).polys + + +class S2Backend(GeometryBackend): + """True great-circle geometry on the sphere via the optional ``spherely`` + package (s2geometry). Cells carry spherely Geographies in ``s2_polys`` and + intersection areas are exact great-circle steradians. The candidate search + is s2-specific — a bulge-faithful planar shadow plus antimeridian-seam + handling — because a planar lon/lat bbox does not bound a great-circle cell. + Rectilinear-only.""" + + name = "s2" + + def check_deps(self) -> None: + _check_spherely() + + def grid_from_coords( + self, + obj: xr.DataArray | xr.Dataset, + x_coord: str, + y_coord: str, + dims: tuple[Hashable, ...], # noqa: ARG002 — dispatched signature + ) -> "_Grid": + xd = obj[x_coord] + yd = obj[y_coord] + if not _is_rectilinear_pair(xd, yd): + msg = 'manifold="s2" is only supported for rectilinear (1D lat/lon) coords' + raise NotImplementedError(msg) + return _build_s2_grid(np.asarray(xd.values), np.asarray(yd.values)) + + def polys_from_arrays(self, x: np.ndarray, y: np.ndarray) -> np.ndarray: # noqa: ARG002 + msg = ( + "polygons_from_coords supports manifold 'planar' or 'cea'; for s2 " + "use ConservativeRegridder(..., manifold='s2') directly." + ) + raise ValueError(msg) + + def area_matrix( + self, src: "_Grid", dst: "_Grid", n_threads: int | None = None + ) -> "sparse.COO | np.ndarray": + s2_src = cast("np.ndarray", src.s2_polys) + s2_dst = cast("np.ndarray", dst.s2_polys) + n_dst = len(s2_dst) + n_src = len(s2_src) + dst_idx, src_idx = self._candidate_pairs(src, dst) + if dst_idx.size == 0: + return _empty_weights(n_dst, n_src) + areas = _s2_intersection_areas( + s2_dst[dst_idx], s2_src[src_idx], n_threads=n_threads + ) + return _assemble_area_matrix(dst_idx, src_idx, areas, n_dst, n_src) + + @staticmethod + def _candidate_pairs(src: "_Grid", dst: "_Grid") -> tuple[np.ndarray, np.ndarray]: + """Candidate (dst, src) pairs from the bulge-faithful planar shadow. + + Input coordinates are already convention-reconciled and antimeridian- + unwrapped by :func:`_normalize_longitude_coords` (in ``__init__``); this + loop solves a different, s2-only problem: the *planar shadow's* STRtree + can't see that two cells on opposite sides of ±180° genuinely overlap on + the sphere. Querying the dst boxes shifted by 0 / ±360° in longitude + recovers those seam pairs — spherely then computes their true + great-circle overlap (and the ``area > 0`` filter drops the rest). With + the faithful shadow already bounding each cell's poleward bulge, the + candidate set is a conservative superset on the sphere.""" + _check_shapely() + tree = STRtree(np.asarray(src.polys)) + db = dst.bounds + parts_d, parts_s = [], [] + for shift in (0.0, 360.0, -360.0): + q = ( + dst.polys + if shift == 0.0 + else shapely.box(db[:, 0] + shift, db[:, 1], db[:, 2] + shift, db[:, 3]) + ) + pairs = tree.query(np.asarray(q)) + parts_d.append(np.asarray(pairs[0])) + parts_s.append(np.asarray(pairs[1])) + dst_idx = np.concatenate(parts_d) + src_idx = np.concatenate(parts_s) + if dst_idx.size: + n_src = len(src.polys) + flat = dst_idx.astype(np.int64) * n_src + src_idx.astype(np.int64) + _, uniq = np.unique(flat, return_index=True) + dst_idx, src_idx = dst_idx[uniq], src_idx[uniq] + return dst_idx, src_idx + + +# Manifold registry. Each backend owns its grid construction, candidate-pair +# search, and intersection kernel; new manifolds plug in via a single insert. +# ``_PLANAR`` is also held concretely — ``from_polygons`` uses it directly so its +# planar-only ``grid_from_polygons`` / ``predicate_filter`` are statically visible. +_PLANAR = PlanarBackend() +_BACKENDS: dict[str, GeometryBackend] = { + b.name: b for b in (_PLANAR, CeaBackend(), S2Backend()) +} + + +def _resolve_manifold(manifold: str) -> GeometryBackend: + """Look up the backend for ``manifold``, raising a clear error on an unknown + name (one source of truth for the message).""" + if manifold not in _BACKENDS: + valid = ", ".join(repr(m) for m in sorted(_BACKENDS)) + msg = f"manifold must be one of {{{valid}}}; got {manifold!r}" + raise ValueError(msg) + return _BACKENDS[manifold] + + +def _check_manifold(manifold: str) -> None: + _resolve_manifold(manifold).check_deps() + + +def _build_cea_grid(lon_centers: np.ndarray, lat_centers: np.ndarray) -> "_Grid": + """Build a rectilinear :class:`_Grid` whose cell polygons are in Lambert + cylindrical equal-area coordinates (x' = lon_rad, y' = sin(lat_rad)). + + Projecting *edges* analytically — rather than projecting centers and then + re-midpointing — is required because ``sin()`` is nonlinear: the projected + midpoint of two lat centers is not the same as the midpoint of two + projected lat edges. + """ + _check_shapely() + if lon_centers.size < 2 or lat_centers.size < 2: + msg = 'manifold="cea" requires at least two cells per dimension' + raise ValueError(msg) + lat_edges_deg = np.clip(utils.infer_1d_edges(lat_centers), -90.0, 90.0) + lon_edges_deg = utils.infer_1d_edges(lon_centers) + return _rect_grid_from_edges( + np.deg2rad(lon_edges_deg), + np.sin(np.deg2rad(lat_edges_deg)), + ) + + +def _build_s2_grid(lon_centers: np.ndarray, lat_centers: np.ndarray) -> "_Grid": + """Rectilinear _Grid carrying spherely great-circle cell polygons in + ``s2_polys``, plus a planar shapely shadow (``polys``/``bounds``) used by + :meth:`S2Backend._candidate_pairs` as the STRtree candidate filter (spherely + has no spatial index). The shadow's latitude bounds are extended to each + cell's great-circle apex so the bbox is a conservative superset of the s2 + cell — see :func:`_s2_shadow_boxes`.""" + _check_shapely() + _check_spherely() + if lon_centers.size < 2 or lat_centers.size < 2: + msg = 'manifold="s2" requires at least two cells per dimension' + raise ValueError(msg) + lon_edges_deg = utils.infer_1d_edges(lon_centers) + lat_edges_deg = np.clip(utils.infer_1d_edges(lat_centers), -90.0, 90.0) + shadow_polys, shadow_bounds = _s2_shadow_boxes(lon_edges_deg, lat_edges_deg) + return _Grid( + polys=shadow_polys, + bounds=shadow_bounds, + rectilinear=True, + s2_polys=_s2_cell_polys(lon_edges_deg, lat_edges_deg), + ) + + +def _s2_shadow_boxes( + lon_edges_deg: np.ndarray, lat_edges_deg: np.ndarray +) -> tuple[np.ndarray, np.ndarray]: + """Planar shadow boxes that are a conservative superset of the s2 cells. + + A constant-latitude cell edge is *not* a great circle: its geodesic bows + poleward, reaching a maximum latitude (the apex) + + apex(phi, dlon) = sign(phi) * atan( |tan(phi)| / cos(dlon / 2) ) + + so a planar ``[lat0, lat1]`` box under-bounds the cell and the STRtree could + drop a genuinely-overlapping pair. We extend each cell's poleward latitude + bound to that apex (longitude edges are meridians — themselves great circles + — so they do not bulge). The resulting bbox bounds the cell, making the + candidate search lossless. Returns row-major ``(y, x)`` polys + bounds. + """ + xlo = np.minimum(lon_edges_deg[:-1], lon_edges_deg[1:]) # (nx,) + xhi = np.maximum(lon_edges_deg[:-1], lon_edges_deg[1:]) + ylo = np.minimum(lat_edges_deg[:-1], lat_edges_deg[1:]) # (ny,) + yhi = np.maximum(lat_edges_deg[:-1], lat_edges_deg[1:]) + dlon = np.abs(lon_edges_deg[1:] - lon_edges_deg[:-1]) # (nx,) cell widths + cos_half = np.cos(np.deg2rad(dlon) / 2.0) # (nx,); <= 0 once dlon >= 180 + + def apex(lat_deg: np.ndarray) -> np.ndarray: # (ny,) -> (ny, nx) + phi = np.deg2rad(lat_deg)[:, None] + # arctan2 keeps cos_half <= 0 finite; sign(phi) zeroes the equator edge. + mag = np.arctan2(np.abs(np.tan(phi)), cos_half[None, :]) + return np.rad2deg(np.sign(phi) * mag) + + lat_lo = np.clip(np.minimum(ylo[:, None], apex(ylo)), -90.0, 90.0) # (ny, nx) + lat_hi = np.clip(np.maximum(yhi[:, None], apex(yhi)), -90.0, 90.0) + lon_lo = np.broadcast_to(xlo[None, :], lat_lo.shape).ravel() + lon_hi = np.broadcast_to(xhi[None, :], lat_hi.shape).ravel() + y0f, y1f = lat_lo.ravel(), lat_hi.ravel() + polys = shapely.box(lon_lo, y0f, lon_hi, y1f) + bounds = np.stack([lon_lo, y0f, lon_hi, y1f], axis=1) + return polys, bounds + + +def _s2_cell_polys(lon_edges_deg: np.ndarray, lat_edges_deg: np.ndarray) -> np.ndarray: + """Build an (n_cells,) object array of spherely.Geography polygons. + + Each cell's corners are taken as ``(min, max)`` of its lon/lat edge pair, so + the ring is counter-clockwise in (lon, lat) **regardless of whether the + source lat/lon run ascending or descending** (the CF ``90 → -90`` latitude + convention is descending). ``spherely.create_polygon(..., oriented=True)`` + trusts the winding: a clockwise ring would be read as the cell's + hemisphere-sized *complement*, silently corrupting every weight. Edges are + monotonic and contiguous after longitude unwrapping, so no single cell + straddles the antimeridian and the per-axis ``min/max`` is exact. Row-major + ``(y, x)`` order matches the planar shadow from :func:`_rect_grid_from_edges`. + """ + xlo = np.minimum(lon_edges_deg[:-1], lon_edges_deg[1:]) + xhi = np.maximum(lon_edges_deg[:-1], lon_edges_deg[1:]) + ylo = np.minimum(lat_edges_deg[:-1], lat_edges_deg[1:]) + yhi = np.maximum(lat_edges_deg[:-1], lat_edges_deg[1:]) + if hasattr(spherely, "polygons"): # pragma: no cover — unreleased spherely#52 + # Vectorized constructor (benbovy/spherely#52, not yet released). When + # it lands we build shells as (n, 4, 2) and skip the Python loop. + x0, y0 = np.meshgrid(xlo, ylo, indexing="xy") + x1, y1 = np.meshgrid(xhi, yhi, indexing="xy") + shells = np.stack( + [ + np.stack([x0, y0], axis=-1), + np.stack([x1, y0], axis=-1), + np.stack([x1, y1], axis=-1), + np.stack([x0, y1], axis=-1), + ], + axis=-2, + ).reshape(-1, 4, 2) + return np.asarray(spherely.polygons(shells, oriented=True)) + # Per-cell fallback: `spherely.create_polygon` wants an iterable of tuples, + # and a Python loop over pre-slicing an ndarray is slower than building + # the tuple list inline. + nx = xlo.size + ny = ylo.size + polys = np.empty(ny * nx, dtype=object) + for j in range(ny): + y0f, y1f = float(ylo[j]), float(yhi[j]) + for i in range(nx): + x0f, x1f = float(xlo[i]), float(xhi[i]) + shell = [(x0f, y0f), (x1f, y0f), (x1f, y1f), (x0f, y1f)] + polys[j * nx + i] = spherely.create_polygon(shell, oriented=True) + return polys + + +def _infer_2d_corners(a: np.ndarray) -> np.ndarray: + """Infer (ny+1, nx+1) cell corners from a 2D cell-center array. Interior + corners are the mean of the 4 surrounding centers; boundary corners are + reflected from the adjacent interior row/column.""" + a = np.asarray(a, dtype=float) + ny, nx = a.shape + pad = np.empty((ny + 2, nx + 2), dtype=a.dtype) + pad[1:-1, 1:-1] = a + pad[0, 1:-1] = 2 * a[0, :] - a[1, :] + pad[-1, 1:-1] = 2 * a[-1, :] - a[-2, :] + pad[1:-1, 0] = 2 * a[:, 0] - a[:, 1] + pad[1:-1, -1] = 2 * a[:, -1] - a[:, -2] + pad[0, 0] = 2 * pad[0, 1] - pad[0, 2] + pad[0, -1] = 2 * pad[0, -2] - pad[0, -3] + pad[-1, 0] = 2 * pad[-1, 1] - pad[-1, 2] + pad[-1, -1] = 2 * pad[-1, -2] - pad[-1, -3] + return 0.25 * (pad[:-1, :-1] + pad[1:, :-1] + pad[:-1, 1:] + pad[1:, 1:]) + + +@dataclass +class _Grid: + """Cached cell geometry consumed by a :class:`GeometryBackend`. + + ``polys`` is a flat (n_cells,) object array of shapely Polygons used by the + STRtree candidate-pair search. ``bounds`` is the matching (n_cells, 4) + ``(minx, miny, maxx, maxy)`` array. ``rectilinear`` is True when both the + source x and y were 1D coordinate arrays (axis-aligned rectangles) — the + :class:`PlanarBackend` uses this to compute intersection areas analytically + from the bounds instead of via GEOS clipping. + + ``s2_polys`` is an optional (n_cells,) object array of spherely Geography + polygons (great-circle cells on the sphere), set only for ``manifold="s2"``. + There ``polys``/``bounds`` hold the *bulge-faithful* planar shadow (its + latitude bounds reach each cell's great-circle apex, see + :func:`_s2_shadow_boxes`) so the STRtree candidate set is a conservative + superset of the s2 cells; :class:`S2Backend` computes the actual areas from + ``s2_polys`` via spherely. + """ + + polys: np.ndarray + bounds: np.ndarray + rectilinear: bool + s2_polys: np.ndarray | None = None + + +def _rect_grid_from_edges(xe: np.ndarray, ye: np.ndarray) -> _Grid: + """Build a rectilinear :class:`_Grid` from already-prepared edge arrays. + + Shared by the raw-planar (:func:`_build_grid` 1D branch) and the analytic + equal-area (:func:`_build_cea_grid`) paths. + """ + x0, y0 = np.meshgrid(xe[:-1], ye[:-1], indexing="xy") + x1, y1 = np.meshgrid(xe[1:], ye[1:], indexing="xy") + x0f, y0f, x1f, y1f = x0.ravel(), y0.ravel(), x1.ravel(), y1.ravel() + polys = shapely.box(x0f, y0f, x1f, y1f) + bounds = np.stack([x0f, y0f, x1f, y1f], axis=1) + return _Grid(polys=polys, bounds=bounds, rectilinear=True) + + +def _build_grid(xc: np.ndarray, yc: np.ndarray) -> _Grid: + """Return a _Grid of cell geometry for a structured grid. + + Accepts 1D (rectilinear, separate x and y vectors) or 2D (curvilinear, + co-shaped center arrays) inputs. Output order is row-major in the input dim + order: for 2D inputs of shape (ny, nx) the polygons correspond to cells + reshaped as ``(ny, nx)``. + """ + _check_shapely() + if xc.ndim == 1 and yc.ndim == 1: + xe = utils.infer_1d_edges(xc.astype(float)) + ye = utils.infer_1d_edges(yc.astype(float)) + return _rect_grid_from_edges(xe, ye) + if xc.ndim == 2 and yc.ndim == 2 and xc.shape == yc.shape: + xcorn = _infer_2d_corners(xc) + ycorn = _infer_2d_corners(yc) + ny, nx = xc.shape + c00 = np.stack([xcorn[:-1, :-1], ycorn[:-1, :-1]], axis=-1) + c10 = np.stack([xcorn[:-1, 1:], ycorn[:-1, 1:]], axis=-1) + c11 = np.stack([xcorn[1:, 1:], ycorn[1:, 1:]], axis=-1) + c01 = np.stack([xcorn[1:, :-1], ycorn[1:, :-1]], axis=-1) + rings = np.stack([c00, c10, c11, c01, c00], axis=2).reshape(ny * nx, 5, 2) + polys = shapely.polygons(rings) + return _Grid(polys=polys, bounds=shapely.bounds(polys), rectilinear=False) + msg = "x and y coordinate arrays must both be 1D or both 2D" + raise ValueError(msg) + + +def _bbox_candidate_pairs( + src_polys: np.ndarray, dst_polys: np.ndarray, predicate_filter: bool +) -> tuple[np.ndarray, np.ndarray]: + """Candidate ``(dst, src)`` cell pairs from a planar STRtree bbox query. + + ``predicate_filter=False`` (default) is a bbox-only query and relies on the + downstream ``area > 0`` filter to drop bbox false-positives — a large win + for tight quad bboxes, where the GEOS ``intersects`` predicate inside + STRtree costs more than the no-op intersections it avoids. + ``predicate_filter=True`` runs the predicate, which pays off for loose + bboxes (long, thin diagonals). + """ + _check_shapely() + tree = STRtree(np.asarray(src_polys)) + if predicate_filter: + pairs = tree.query(np.asarray(dst_polys), predicate="intersects") + else: + pairs = tree.query(np.asarray(dst_polys)) + return np.asarray(pairs[0]), np.asarray(pairs[1]) + + +def _analytic_box_areas(src_bounds: np.ndarray, dst_bounds: np.ndarray) -> np.ndarray: + """Per-pair overlap area of axis-aligned boxes from their ``(minx, miny, + maxx, maxy)`` bounds — exact for rectilinear cells, no GEOS clipping.""" + dx = np.minimum(src_bounds[:, 2], dst_bounds[:, 2]) - np.maximum( + src_bounds[:, 0], dst_bounds[:, 0] + ) + dy = np.minimum(src_bounds[:, 3], dst_bounds[:, 3]) - np.maximum( + src_bounds[:, 1], dst_bounds[:, 1] + ) + return np.maximum(dx, 0.0) * np.maximum(dy, 0.0) + + +def _assemble_area_matrix( + dst_idx: np.ndarray, + src_idx: np.ndarray, + areas: np.ndarray, + n_dst: int, + n_src: int, +) -> "sparse.COO | np.ndarray": + """Drop zero-area candidate pairs and assemble the (sparse or dense) + ``(n_dst, n_src)`` unnormalized area-intersection matrix. Row-normalize via + :func:`_row_normalize` to get forward weights; transpose first for backward + (target → source).""" + keep = areas > 0 + return _coo_or_dense( + dst_idx[keep], src_idx[keep], areas[keep].astype(np.float64), (n_dst, n_src) + ) + + +def _row_normalize( + areas: "sparse.COO | np.ndarray", +) -> "sparse.COO | np.ndarray": + """Normalize rows of an area matrix so each row sums to 1 (rows with no + overlap stay all-zero, which produces NaN output under the apply path).""" + if _HAS_SPARSE and isinstance(areas, sparse.COO): + n_dst = areas.shape[0] + dst_idx = areas.coords[0] + src_idx = areas.coords[1] + data = areas.data + if data.size == 0: + return areas + row_sum = np.bincount(dst_idx, weights=data, minlength=n_dst) + new_data = data / row_sum[dst_idx] + return sparse.COO( + coords=np.stack([dst_idx, src_idx]), + data=new_data, + shape=areas.shape, + has_duplicates=False, + sorted=False, + ) + row_sum = areas.sum(axis=1, keepdims=True) + row_sum = np.where(row_sum == 0, 1.0, row_sum) + return areas / row_sum + + +def _threaded_pairwise( + a: np.ndarray, + b: np.ndarray, + kernel: "Callable[[np.ndarray, np.ndarray], np.ndarray]", + *, + n_threads: int | None, + serial_below: int, + max_threads: int, +) -> np.ndarray: + """Apply a vectorized pairwise ``kernel(a, b) -> areas`` over numpy arrays of + geometries, chunked across a ``ThreadPoolExecutor`` when worthwhile. + + Both GEOS (shapely) and s2 (spherely) release the GIL during the boolean op, + so threading scales near-linearly without pickling. Serial below + ``serial_below`` pairs (pool spin-up dominates) or when ``n_threads <= 1``; + ``None`` auto-selects ``min(cpu_count, max_threads)``. + """ + n = len(a) + if n_threads is None: + n_threads = 1 if n < serial_below else min(os.cpu_count() or 1, max_threads) + if n_threads <= 1 or n == 0: + return kernel(a, b) + + splits = np.array_split(np.arange(n), n_threads) + + def _work(idx: np.ndarray) -> np.ndarray: + return kernel(a[idx], b[idx]) + + with ThreadPoolExecutor(max_workers=n_threads) as pool: + parts = list(pool.map(_work, splits)) + return np.concatenate(parts) + + +def _intersection_areas_threaded( + a: np.ndarray, b: np.ndarray, n_threads: int | None +) -> np.ndarray: + """Per-pair planar intersection areas over shapely geometries (GEOS).""" + _check_shapely() + return _threaded_pairwise( + a, + b, + lambda x, y: shapely.area(shapely.intersection(x, y)), + n_threads=n_threads, + serial_below=1_000, + max_threads=16, + ) + + +def _s2_intersection_areas( + dst_geog: np.ndarray, src_geog: np.ndarray, n_threads: int | None = None +) -> np.ndarray: + """Per-pair great-circle intersection areas in steradians (spherely). + + ``radius=1.0`` gives areas on the unit sphere — fine for row-normalized + weights, where the Earth radius cancels out. + """ + _check_spherely() + return _threaded_pairwise( + dst_geog, + src_geog, + lambda x, y: np.asarray(spherely.area(spherely.intersection(x, y), radius=1.0)), + n_threads=n_threads, + serial_below=50_000, + max_threads=4, + ) + + +def _empty_weights(n_dst: int, n_src: int) -> "sparse.COO | np.ndarray": + empty = np.zeros(0, dtype=np.int64) + return _coo_or_dense(empty, empty, np.zeros(0, dtype=np.float64), (n_dst, n_src)) + + +def _coo_or_dense( + rows: np.ndarray, + cols: np.ndarray, + data: np.ndarray, + shape: tuple[int, int], +) -> "sparse.COO | np.ndarray": + """Build a ``sparse.COO`` if available, else a dense ndarray.""" + if _HAS_SPARSE: + return sparse.COO( + coords=np.stack([rows, cols]), + data=data, + shape=shape, + has_duplicates=False, + sorted=False, + ) + arr = np.zeros(shape, dtype=data.dtype if data.size else np.float64) + if data.size: + arr[rows, cols] = data + return arr + + +def _apply_core( + arr: np.ndarray, + apply_weights: Any, + coverage: np.ndarray, + coverage_all: bool, + src_shape: tuple[int, ...], + dst_shape: tuple[int, ...], + skipna: bool, + nan_threshold: float, + output_dtype: np.dtype, +) -> np.ndarray: + """Apply the CSR weight matrix along the trailing spatial dims. + + ``arr`` has shape ``(..., *src_shape)``; ``apply_weights`` is a scipy CSR + of shape ``(n_dst, n_src)`` and the matmul is ``(W @ flat.T).T`` — + returns ``(..., *dst_shape)``. + + ``coverage`` is a boolean ``(n_dst,)`` mask: target cells with any source + overlap. ``coverage_all`` is precomputed so every block skips the + ``coverage.all()`` scan. Uncovered cells are always masked to NaN in the + output, regardless of ``skipna`` — domain boundaries and polygon holes + produce NaN (matches the axis-factored ``conservative`` method). + """ + n_spatial = len(src_shape) + leading_shape = arr.shape[:-n_spatial] if n_spatial > 0 else arr.shape + n_src = int(np.prod(src_shape)) + flat = arr.reshape(-1, n_src) if leading_shape else arr.reshape(1, n_src) + + if skipna and np.issubdtype(flat.dtype, np.floating): + nan_mask = np.isnan(flat) + has_nan = nan_mask.any() + else: + has_nan = False + + if has_nan: + mask = (~nan_mask).astype(flat.dtype) + filled = np.where(nan_mask, flat.dtype.type(0.0), flat) + numerator = np.asarray((apply_weights @ filled.T).T) + fraction = np.asarray((apply_weights @ mask.T).T) + threshold = get_valid_threshold(nan_threshold) + with np.errstate(invalid="ignore", divide="ignore"): + result = numerator / fraction + valid = fraction >= threshold + else: + result = np.asarray((apply_weights @ flat.T).T) + valid = None + # Always mask domain-uncovered cells. With NaNs the uncovered rows already + # have fraction=0 (so the threshold check below catches them), but ANDing + # coverage in keeps the contract explicit and robust to threshold tweaks. + if not coverage_all: + cov = coverage[np.newaxis, :] + valid = cov if valid is None else (valid & cov) + if valid is not None: + result = np.where(valid, result, np.nan) + + # The CSR matmul promotes to float64 (weights are float64) regardless of + # the input dtype — cast back to the requested output dtype so float32-in + # really produces float32-out (halves memory for float32 pipelines). + # astype(copy=False) is a no-op when the dtype already matches. + result = result.astype(output_dtype, copy=False) + + out_shape = (*leading_shape, *dst_shape) if leading_shape else dst_shape + return result.reshape(out_shape) + + +def _result_dtype(obj: xr.DataArray | xr.Dataset) -> np.dtype: + if isinstance(obj, xr.DataArray): + return utils.min_weight_dtype(obj.dtype) + dtypes = [v.dtype for v in obj.data_vars.values()] + if not dtypes: + return np.dtype(np.float64) + return utils.min_weight_dtype(*dtypes) + + +def _assign_target_coords( + obj: xr.DataArray | xr.Dataset, + target_ds: xr.Dataset, + spec: RegridSpec, +) -> xr.DataArray | xr.Dataset: + """Attach target coordinates that name a spatial axis or live on the + output spatial dims. Scalar coords (``dims == ()``) ride along too, so + pinned target metadata (e.g. a fixed timestamp) is preserved.""" + dst_dim_set = set(spec.dst_dims) + spatial = (spec.x_coord, spec.y_coord) + new_coords = { + name: coord + for name, coord in target_ds.coords.items() + if name in spatial or set(coord.dims).issubset(dst_dim_set) + } + return obj.assign_coords(new_coords) if new_coords else obj diff --git a/src/xarray_regrid/regrid.py b/src/xarray_regrid/regrid.py index b2ed389..a6cb08c 100644 --- a/src/xarray_regrid/regrid.py +++ b/src/xarray_regrid/regrid.py @@ -4,7 +4,12 @@ import numpy as np import xarray as xr -from xarray_regrid.methods import conservative, flox_reduce, interp +from xarray_regrid.methods import ( + conservative, + conservative_2d, + flox_reduce, + interp, +) from xarray_regrid.utils import format_for_regrid @@ -17,7 +22,11 @@ class Regridder: linear: linear, bilinear, or higher dimensional linear interpolation nearest: nearest-neighbor regridding cubic: cubic spline regridding - conservative: conservative regridding + conservative: axis-factored conservative regridding (rectilinear, + 1D-separable grids only) + conservative_2d: conservative regridding for grids that aren't + 1D-separable — curvilinear 2D coords, unstructured meshes, or + arbitrary polygon-to-polygon aggregation (requires shapely) most_common: most common value regridder stat: area statistics regridder """ @@ -82,6 +91,69 @@ def cubic( ds_formatted = format_for_regrid(self._obj, ds_target_grid) return interp.interp_regrid(ds_formatted, ds_target_grid, "cubic") + def conservative_2d( + self, + ds_target_grid: xr.Dataset, + x_coord: str = "longitude", + y_coord: str = "latitude", + manifold: conservative_2d.Manifold = "planar", + time_dim: str | None = "time", + skipna: bool = True, + nan_threshold: float = 1.0, + n_threads: int | None = None, + ) -> xr.DataArray | xr.Dataset: + """Conservative regrid for grids that aren't 1D-separable. + + Use this when ``.conservative`` can't express your grid: curvilinear + coordinates (2D ``lat``/``lon`` arrays), unstructured meshes, or any + arbitrary polygon target. Computes 2D cell-polygon intersections via + shapely. Defaults to planar geometry; set ``manifold="cea"`` for + lat/lon grids in degrees to get proper spherical area weights via an + analytic cylindrical equal-area projection. Requires ``shapely >= 2.0``. + + Args: + ds_target_grid: Dataset defining the target grid; must expose + ``x_coord`` and ``y_coord`` as coordinate variables. + x_coord: Name of the x (longitude-like) coordinate variable. + y_coord: Name of the y (latitude-like) coordinate variable. + manifold: Geometry backend. ``"planar"`` (default) intersects + shapely polygons in the user's coord space. ``"cea"`` projects + 1D rectilinear lat/lon (degrees) into Lambert cylindrical + equal-area space before intersecting — proper spherical + areas at planar cost. ``"s2"`` intersects cells as true + great-circle polygons on the sphere via the optional + ``spherely`` package (s2geometry); rectilinear lat/lon only. + time_dim: Name of a time coordinate to drop from ``ds_target_grid`` + before building the regridder (its first step is selected). + Source dims other than ``x_coord``/``y_coord`` — including + time — are broadcast over automatically. Defaults to ``"time"``; + pass ``None`` to skip the target-grid time handling. + skipna: If True, propagate NaNs into the weighted mean via a + two-pass sum. + nan_threshold: Keep output cells whose valid source fraction is at + least ``nan_threshold``. + n_threads: Thread count for parallel GEOS intersection. ``None`` + auto-selects; set to ``1`` to disable threading. + + Returns: + Data regridded to the target grid. + """ + if not 0.0 <= nan_threshold <= 1.0: + msg = "nan_threshold must be between [0, 1]" + raise ValueError(msg) + ds_target_grid = validate_input( + self._obj, ds_target_grid, time_dim, require_shared_dims=False + ) + regridder = conservative_2d.ConservativeRegridder( + self._obj, + ds_target_grid, + x_coord=x_coord, + y_coord=y_coord, + manifold=manifold, + n_threads=n_threads, + ) + return regridder.regrid(self._obj, skipna=skipna, nan_threshold=nan_threshold) + def conservative( self, ds_target_grid: xr.Dataset, @@ -116,7 +188,7 @@ def conservative( Data regridded to the target dataset coordinates. """ if not 0.0 <= nan_threshold <= 1.0: - msg = "nan_threshold must be between [0, 1]]" + msg = "nan_threshold must be between [0, 1]" raise ValueError(msg) ds_target_grid = validate_input(self._obj, ds_target_grid, time_dim) @@ -275,6 +347,7 @@ def validate_input( data: xr.Dataset, ds_target_grid: xr.Dataset, time_dim: str | None, + require_shared_dims: bool = ..., ) -> xr.Dataset: ... @@ -283,6 +356,7 @@ def validate_input( data: xr.DataArray, ds_target_grid: xr.Dataset, time_dim: str | None, + require_shared_dims: bool = ..., ) -> xr.Dataset: ... @@ -290,11 +364,14 @@ def validate_input( data: xr.DataArray | xr.Dataset, ds_target_grid: xr.Dataset, time_dim: str | None, + require_shared_dims: bool = True, ) -> xr.Dataset: if time_dim is not None and time_dim in ds_target_grid.coords: ds_target_grid = ds_target_grid.isel({time_dim: 0}).reset_coords() - if len(set(data.dims).intersection(set(ds_target_grid.dims))) == 0: + # Curvilinear regridders match source and target by coord values, not by + # dim name, so they opt out of the shared-dim requirement. + if require_shared_dims and not set(data.dims) & set(ds_target_grid.dims): msg = ( "None of the target dims are in the data:\n" " regridding is not possible.\n" @@ -303,7 +380,7 @@ def validate_input( ) raise ValueError(msg) - if len(set(data.coords).intersection(set(ds_target_grid.coords))) == 0: + if not set(data.coords) & set(ds_target_grid.coords): msg = ( "None of the target coords are in the data:\n" " regridding is not possible.\n" diff --git a/src/xarray_regrid/utils.py b/src/xarray_regrid/utils.py index 6979f84..2c9aaf7 100644 --- a/src/xarray_regrid/utils.py +++ b/src/xarray_regrid/utils.py @@ -80,7 +80,7 @@ def create_lat_lon_coords(grid: Grid) -> tuple[np.ndarray, np.ndarray]: grid.south, grid.north + grid.resolution_lat, grid.resolution_lat ) - if np.remainder((grid.east - grid.west), grid.resolution_lat) > 0: + if np.remainder((grid.east - grid.west), grid.resolution_lon) > 0: lon_coords = np.arange(grid.west, grid.east, grid.resolution_lon) else: lon_coords = np.arange( @@ -114,6 +114,41 @@ def create_regridding_dataset( ) +def wrap_longitudes_to_target_window( + values: np.ndarray, target_first: float, target_last: float +) -> np.ndarray: + """Per-value wrap of ``values`` (degrees) into a single 360° window + centered between the target endpoints. Used to align cross-convention + longitudes (source on ``[0, 360]`` vs target on ``[-180, 180]`` and + vice versa). The wrap point is ``(first + last + 360) / 2``.""" + wrap_point = float(target_first + target_last + 360.0) / 2.0 + values = np.where(values < wrap_point - 360.0, values + 360.0, values) + values = np.where(values > wrap_point, values - 360.0, values) + return values + + +def infer_1d_edges(centers: np.ndarray) -> np.ndarray: + """Return cell edges from 1D centers: midpoints between consecutive + centers, with symmetric reflection for the two outer bounds. + + Requires at least two centers. + """ + c = np.asarray(centers, dtype=float) + if c.size < 2: + msg = "need at least two centers to infer cell edges" + raise ValueError(msg) + mids = 0.5 * (c[:-1] + c[1:]) + left = 2 * c[0] - mids[0] + right = 2 * c[-1] - mids[-1] + return np.concatenate([[left], mids, [right]]) + + +def min_weight_dtype(*dtypes: np.dtype) -> np.dtype: + """Regrid-weight dtype policy: single precision at minimum, double if any + input is double. Shared by the conservative weight builders.""" + return np.result_type(np.float32, *dtypes) + + def to_intervalindex(coords: np.ndarray) -> pd.IntervalIndex: """Convert a 1-d coordinate array to a pandas IntervalIndex. Take the midpoints between the coordinates as the interval boundaries. @@ -126,20 +161,9 @@ def to_intervalindex(coords: np.ndarray) -> pd.IntervalIndex: coordinates. """ if len(coords) > 1: - midpoints = (coords[:-1] + coords[1:]) / 2 - - # Extrapolate outer bounds beyond the first and last coordinates - left_bound = 2 * coords[0] - midpoints[0] - right_bound = 2 * coords[-1] - midpoints[-1] - - breaks = np.concatenate([[left_bound], midpoints, [right_bound]]) - intervals = pd.IntervalIndex.from_breaks(breaks) - - else: - # If the target grid has a single point, set search interval to span all space - intervals = pd.IntervalIndex.from_breaks([-np.inf, np.inf]) - - return intervals + return pd.IntervalIndex.from_breaks(infer_1d_edges(coords)) + # If the target grid has a single point, set search interval to span all space + return pd.IntervalIndex.from_breaks([-np.inf, np.inf]) def overlap(a: pd.IntervalIndex, b: pd.IntervalIndex) -> np.ndarray: @@ -357,11 +381,9 @@ def format_lon( # This ensures we have coverage on the target and handles global > regional source_vals = obj.coords[lon_coord].values target_vals = target.coords[lon_coord].values - wrap_point = (target_vals[-1] + target_vals[0] + 360) / 2 - source_vals = np.where( - source_vals < wrap_point - 360, source_vals + 360, source_vals + source_vals = wrap_longitudes_to_target_window( + source_vals, float(target_vals[0]), float(target_vals[-1]) ) - source_vals = np.where(source_vals > wrap_point, source_vals - 360, source_vals) obj = update_coord(obj, lon_coord, source_vals) obj = ensure_monotonic(obj, lon_coord) @@ -436,8 +458,8 @@ def update_coord( def update_coord( obj: xr.DataArray | xr.Dataset, coord: Hashable, coord_vals: np.ndarray ) -> xr.DataArray | xr.Dataset: - """Update the values of a coordinate, ensuring indexes stay in sync.""" - attrs = obj.coords[coord].attrs - obj = obj.assign_coords({coord: coord_vals}) - obj.coords[coord].attrs = attrs - return obj + """Update the values of a coordinate, ensuring indexes stay in sync. + Preserves the coord's existing dims and attrs (so multi-dim coords work).""" + original = obj.coords[coord] + new_coord = xr.DataArray(coord_vals, dims=original.dims, attrs=original.attrs) + return obj.assign_coords({coord: new_coord}) diff --git a/tests/test_conservative_2d.py b/tests/test_conservative_2d.py new file mode 100644 index 0000000..696c671 --- /dev/null +++ b/tests/test_conservative_2d.py @@ -0,0 +1,964 @@ +"""Tests for conservative_2d.""" + +import numpy as np +import pytest +import xarray as xr + +import xarray_regrid # noqa: F401 (registers the accessor) +from xarray_regrid import ConservativeRegridder, polygons_from_coords +from xarray_regrid.methods.conservative_2d import _build_s2_grid + +shapely = pytest.importorskip("shapely") + + +def _rect_da(ny=60, nx=120, nt=2, seed=0): + x = np.linspace(-180, 180, nx, endpoint=False) + 180 / nx + y = np.linspace(-90, 90, ny, endpoint=False) + 90 / ny + rng = np.random.default_rng(seed) + return xr.DataArray( + rng.normal(size=(nt, ny, nx)).astype(np.float64), + dims=("time", "y", "x"), + coords={"time": np.arange(nt), "y": y, "x": x}, + name="var", + ) + + +def _rect_target(ny=24, nx=47): + x = np.linspace(-180, 180, nx, endpoint=False) + 180 / nx + y = np.linspace(-90, 90, ny, endpoint=False) + 90 / ny + return xr.Dataset(coords={"y": y, "x": x}) + + +def test_polygon_matches_factored_planar(): + """On a rectilinear grid with no spherical correction, the polygon path + should reproduce the axis-factored path to machine precision.""" + da = _rect_da() + target = _rect_target() + ref = da.regrid.conservative(target, latitude_coord=None) + got = da.regrid.conservative_2d(target, x_coord="x", y_coord="y") + got = got.transpose(*ref.dims) + np.testing.assert_allclose(got.values, ref.values, atol=1e-12) + + +def test_polygon_dask_time_chunks(): + da = _rect_da(nt=4).chunk({"time": 2}) + target = _rect_target() + got = da.regrid.conservative_2d(target, x_coord="x", y_coord="y") + assert got.chunks is not None + got = got.compute() + ref = _rect_da(nt=4).regrid.conservative(target, latitude_coord=None) + np.testing.assert_allclose(got.transpose(*ref.dims).values, ref.values, atol=1e-12) + + +def test_polygon_rechunks_spatial(): + """Spatially-chunked input should be accepted (rechunked internally).""" + da = _rect_da().chunk({"time": 1, "y": 30, "x": 40}) + target = _rect_target() + out = da.regrid.conservative_2d(target, x_coord="x", y_coord="y") + out.compute() + + +def test_polygon_nan_threshold(): + """Stricter nan_threshold produces more NaN output cells when partial + overlaps exist.""" + da = _rect_da() + da.values[:, 21:29, :] = np.nan + target = _rect_target(ny=23, nx=47) + out1 = da.regrid.conservative_2d( + target, x_coord="x", y_coord="y", skipna=True, nan_threshold=1.0 + ) + out0 = da.regrid.conservative_2d( + target, x_coord="x", y_coord="y", skipna=True, nan_threshold=0.0 + ) + assert int(np.isnan(out0.values).sum()) > int(np.isnan(out1.values).sum()) + + +def test_polygon_curvilinear_target(): + """Curvilinear target (2D lat/lon corners) returns finite values.""" + da = _rect_da() + ny_t, nx_t = 20, 30 + xi, yi = np.meshgrid( + np.linspace(-120, 120, nx_t), + np.linspace(-60, 60, ny_t), + indexing="xy", + ) + th = np.deg2rad(30) + x2d = xi * np.cos(th) - yi * np.sin(th) + y2d = xi * np.sin(th) + yi * np.cos(th) + target = xr.Dataset(coords={"x": (("ny", "nx"), x2d), "y": (("ny", "nx"), y2d)}) + out = da.regrid.conservative_2d(target, x_coord="x", y_coord="y") + assert out.shape == (2, 20, 30) + assert np.isfinite(out.values).mean() > 0.9 + + +def test_antimeridian_rectilinear_constant(): + da = xr.DataArray( + np.full((2, 4), 2.5), + dims=("latitude", "longitude"), + coords={ + "latitude": np.array([-2.5, 2.5]), + "longitude": np.array([167.5, 172.5, -177.5, -172.5]), + }, + ) + target = xr.Dataset( + coords={ + "latitude": np.array([-2.5, 2.5]), + "longitude": np.array([170.0, -170.0]), + } + ) + + out = da.regrid.conservative_2d(target, x_coord="longitude", y_coord="latitude") + np.testing.assert_allclose(out.values, 2.5, atol=1e-12) + + +def test_cross_convention_longitude_alignment(): + """Source on [0, 360] with target on [-180, 180] (and vice versa) must + align — a uniform shift can't reconcile the two conventions, so per-value + wrap of source longitudes is required. Regression: previously yielded + NaN on half the target cells because banker's rounding on the exact-180° + mean diff produced a zero offset.""" + src_vals = np.array([1.0, 2.0, 3.0, 4.0]) + tgt_vals_neg = np.array([-135.0, -45.0, 45.0, 135.0]) + src_vals_neg_x = np.array([45.0, 135.0, 225.0, 315.0]) + da = xr.DataArray( + np.broadcast_to(src_vals, (2, 4)).copy(), + dims=("latitude", "longitude"), + coords={"latitude": [-30.0, 30.0], "longitude": src_vals_neg_x}, + ) + target = xr.Dataset(coords={"latitude": [-30.0, 30.0], "longitude": tgt_vals_neg}) + expected = da.regrid.conservative(target).transpose("latitude", "longitude") + out_planar = da.regrid.conservative_2d( + target, x_coord="longitude", y_coord="latitude" + ).transpose("latitude", "longitude") + out_cea = da.regrid.conservative_2d( + target, x_coord="longitude", y_coord="latitude", manifold="cea" + ).transpose("latitude", "longitude") + np.testing.assert_allclose(out_planar.values, expected.values, atol=1e-12) + np.testing.assert_allclose(out_cea.values, expected.values, atol=1e-12) + + # Reverse: source on [-180, 180], target on [0, 360]. + da_rev = xr.DataArray( + np.broadcast_to(src_vals, (2, 4)).copy(), + dims=("latitude", "longitude"), + coords={"latitude": [-30.0, 30.0], "longitude": tgt_vals_neg}, + ) + target_rev = xr.Dataset( + coords={"latitude": [-30.0, 30.0], "longitude": src_vals_neg_x} + ) + expected_rev = da_rev.regrid.conservative(target_rev).transpose( + "latitude", "longitude" + ) + out_rev = da_rev.regrid.conservative_2d( + target_rev, x_coord="longitude", y_coord="latitude" + ).transpose("latitude", "longitude") + np.testing.assert_allclose(out_rev.values, expected_rev.values, atol=1e-12) + + +def test_polygon_nan_threshold_invalid(): + da = _rect_da() + with pytest.raises(ValueError): + da.regrid.conservative_2d( + _rect_target(), x_coord="x", y_coord="y", nan_threshold=1.5 + ) + + +def test_invalid_manifold_raises(): + da = _rect_da() + with pytest.raises(ValueError, match="manifold must be one of"): + da.regrid.conservative_2d( + _rect_target(), x_coord="x", y_coord="y", manifold="bogus" + ) + + +def test_polygon_dataset_input(): + """A Dataset input with multiple variables should regrid all of them.""" + da = _rect_da() + ds = xr.Dataset({"a": da, "b": da * 2.0}) + target = _rect_target() + out = ds.regrid.conservative_2d(target, x_coord="x", y_coord="y") + assert set(out.data_vars) == {"a", "b"} + np.testing.assert_allclose( + out["b"].transpose(*out["a"].dims).values, + out["a"].transpose(*out["a"].dims).values * 2.0, + atol=1e-12, + ) + + +# --- ConservativeRegridder (reusable) ------------------------------------------ + + +def test_regridder_reusable_matches_oneshot(): + """Reusing a single ConservativeRegridder on multiple fields matches the + one-shot `conservative_2d_regrid` call.""" + da1 = _rect_da(seed=1) + da2 = _rect_da(seed=2) + target = _rect_target() + regridder = ConservativeRegridder(da1, target, x_coord="x", y_coord="y") + ref1 = da1.regrid.conservative_2d(target, x_coord="x", y_coord="y") + ref2 = da2.regrid.conservative_2d(target, x_coord="x", y_coord="y") + out1 = regridder.regrid(da1) + out2 = regridder(da2) # __call__ alias + np.testing.assert_allclose(out1.values, ref1.values, atol=1e-12) + np.testing.assert_allclose(out2.values, ref2.values, atol=1e-12) + + +def test_regridder_weight_cache(): + """Forward weight matrix is built lazily and then reused across calls.""" + da = _rect_da() + target = _rect_target() + regridder = ConservativeRegridder(da, target, x_coord="x", y_coord="y") + # _forward is a cached_property; not yet materialized before first regrid. + assert "_forward" not in regridder.__dict__ + regridder.regrid(da) + assert "_forward" in regridder.__dict__ + w1 = regridder.forward_weights + regridder.regrid(da) + assert regridder.forward_weights is w1 # same object, not rebuilt + + +def test_regridder_transpose_roundtrip_rectilinear_aligned(): + """If target cells are aligned unions of source cells, forward followed by + backward reproduces a constant field exactly.""" + # 120 source cells along each axis, target is a 4x coarsening (exact union + # of source cells). A constant source field survives the roundtrip to + # itself because every source cell is fully covered. + ns = 120 + nt = 30 # exactly ns / 4 + x_s = np.linspace(-180, 180, ns, endpoint=False) + 180 / ns + y_s = np.linspace(-90, 90, ns, endpoint=False) + 90 / ns + x_t = np.linspace(-180, 180, nt, endpoint=False) + 180 / nt + y_t = np.linspace(-90, 90, nt, endpoint=False) + 90 / nt + da = xr.DataArray( + np.full((ns, ns), 3.5, dtype=np.float64), + dims=("y", "x"), + coords={"y": y_s, "x": x_s}, + ) + target = xr.Dataset(coords={"y": y_t, "x": x_t}) + regridder = ConservativeRegridder(da, target, x_coord="x", y_coord="y") + coarse = regridder.regrid(da) + back = regridder.T.regrid(coarse) + # Every value should match the original constant. + np.testing.assert_allclose(back.values, 3.5, atol=1e-12) + + +def test_regridder_T_preserves_weights(): # noqa: N802 + """regridder.T.T should share the raw area matrix with the original.""" + da = _rect_da() + target = _rect_target() + r = ConservativeRegridder(da, target, x_coord="x", y_coord="y") + rr = r.T.T + # Same shape, same coords, same data. + assert r.areas.shape == rr.areas.shape + if hasattr(r.areas, "data"): + np.testing.assert_array_equal(r.areas.data, rr.areas.data) + + +def test_regridder_shape_mismatch_raises(): + """Applying the regridder to data whose spatial shape differs from the + source it was built for should raise.""" + da = _rect_da() + target = _rect_target() + regridder = ConservativeRegridder(da, target, x_coord="x", y_coord="y") + smaller = _rect_da(ny=30, nx=60) + with pytest.raises(ValueError, match="spatial shape"): + regridder.regrid(smaller) + + +def test_cea_manifold_matches_factored(): + """Polygon path with ``manifold="cea"`` should match the axis-factored + sin-weighted conservative path to within a tight tolerance on lat/lon + grids (both are analytically equivalent for cylindrical equal-area).""" + lon_s = np.linspace(-180, 180, 180, endpoint=False) + 1.0 + lat_s = np.linspace(-90, 90, 90, endpoint=False) + 1.0 + lon_t = np.linspace(-180, 180, 60, endpoint=False) + 3.0 + lat_t = np.linspace(-90, 90, 30, endpoint=False) + 3.0 + vals = np.cos(np.deg2rad(lat_s))[:, None] ** 2 * np.sin(np.deg2rad(lon_s))[None, :] + da = xr.DataArray( + vals, + dims=("latitude", "longitude"), + coords={"latitude": lat_s, "longitude": lon_s}, + ) + target = xr.Dataset(coords={"latitude": lat_t, "longitude": lon_t}) + + factored = da.regrid.conservative(target, latitude_coord="latitude") + polygon = da.regrid.conservative_2d( + target, x_coord="longitude", y_coord="latitude", manifold="cea" + ) + # Both methods should agree to the grid's own quadrature accuracy. Near the + # poles the factored path's median-dlat approximation introduces a small + # discrepancy; 1e-3 absolute is well below the planar raw error floor + # (~1e-2 at this resolution, tested separately). + np.testing.assert_allclose( + polygon.transpose(*factored.dims).values, + factored.values, + atol=1e-3, + ) + + +def test_cea_conserves_integral(): + """Mass conservation check on the sphere. For cos^2(lat), true integral is + 8*pi/3; the regridder on a 2-to-6-degree grid should keep the + spherical-area-weighted sum within the grid quadrature floor when + manifold="cea", and miss it by ~17x more with planar.""" + lon_s = np.linspace(-180, 180, 180, endpoint=False) + 1.0 + lat_s = np.linspace(-90, 90, 90, endpoint=False) + 1.0 + lon_t = np.linspace(-180, 180, 60, endpoint=False) + 3.0 + lat_t = np.linspace(-90, 90, 30, endpoint=False) + 3.0 + da = xr.DataArray( + np.cos(np.deg2rad(lat_s))[:, None] ** 2 * np.ones(lon_s.size)[None, :], + dims=("latitude", "longitude"), + coords={"latitude": lat_s, "longitude": lon_s}, + ) + target = xr.Dataset(coords={"latitude": lat_t, "longitude": lon_t}) + + out_cea = da.regrid.conservative_2d( + target, x_coord="longitude", y_coord="latitude", manifold="cea" + ) + out_planar = da.regrid.conservative_2d( + target, x_coord="longitude", y_coord="latitude", manifold="planar" + ) + + # True target spherical cell areas + dlon_arr = np.full(lon_t.size, np.deg2rad(np.mean(np.diff(lon_t)))) + lat_r = np.deg2rad(lat_t) + dlat_r = np.gradient(lat_r) + dlat_bands = np.sin(lat_r + dlat_r / 2) - np.sin(lat_r - dlat_r / 2) + a_tgt = dlat_bands[:, None] * dlon_arr[None, :] + + true_val = 8 * np.pi / 3 + cea_vals = out_cea.transpose("latitude", "longitude").values + planar_vals = out_planar.transpose("latitude", "longitude").values + err_cea = abs(float((cea_vals * a_tgt).sum()) - true_val) + err_planar = abs(float((planar_vals * a_tgt).sum()) - true_val) + # CEA should be at least 10x more accurate than raw planar here. + assert err_cea < 0.1 * err_planar, ( + f"err_cea={err_cea:.2e} err_planar={err_planar:.2e}" + ) + + +# --- from_polygons (unstructured mesh) ---------------------------------------- + + +def _box_polygons(): + rng = np.random.default_rng(1) + n = 50 + cx = rng.uniform(-170, 170, n) + cy = rng.uniform(-80, 80, n) + return shapely.box(cx - 5, cy - 5, cx + 5, cy + 5) + + +def test_polygons_from_coords_periodic(): + polys = polygons_from_coords( + np.array([167.5, 172.5, -177.5, -172.5]), + np.array([-2.5, 2.5]), + periodic=True, + ) + bounds = shapely.bounds(polys) + widths = bounds[:, 2] - bounds[:, 0] + assert np.all(widths < 10.1) + + +def test_from_polygons_basic(): + src_polys = _box_polygons() + tgt_polys = polygons_from_coords( + np.linspace(-180, 180, 30, endpoint=False) + 6, + np.linspace(-90, 90, 15, endpoint=False) + 6, + ) + rgr = ConservativeRegridder.from_polygons( + src_polys, tgt_polys, source_dim="face", target_dim="cell" + ) + da = xr.DataArray( + np.arange(src_polys.size, dtype=np.float64), + dims=("face",), + ) + out = rgr.regrid(da) + assert out.dims == ("cell",) + assert out.sizes["cell"] == tgt_polys.size + + +def test_from_polygons_attaches_target_aux_coords(): + src_polys = _box_polygons() + tgt_polys = polygons_from_coords( + np.linspace(-180, 180, 12, endpoint=False) + 15, + np.linspace(-90, 90, 6, endpoint=False) + 15, + ) + region_id = np.arange(tgt_polys.size) + 100 + target_coords = xr.Dataset( + coords={ + "cell": np.arange(tgt_polys.size), + "region_id": ("cell", region_id), + } + ) + rgr = ConservativeRegridder.from_polygons( + src_polys, + tgt_polys, + source_dim="face", + target_dim="cell", + target_coords=target_coords, + ) + da = xr.DataArray(np.arange(src_polys.size, dtype=np.float64), dims=("face",)) + out = rgr.regrid(da) + assert "region_id" in out.coords + np.testing.assert_array_equal(out["region_id"].values, region_id) + + +def test_from_polygons_periodic_antimeridian(): + src_polys = np.array( + [shapely.Polygon([(175, -5), (-175, -5), (-175, 5), (175, 5)])], + dtype=object, + ) + tgt_polys = np.array( + [ + shapely.box(160, -5, 170, 5), + shapely.box(175, -5, 185, 5), + shapely.box(-170, -5, -160, 5), + ], + dtype=object, + ) + rgr = ConservativeRegridder.from_polygons( + src_polys, + tgt_polys, + source_dim="src", + target_dim="tgt", + periodic=True, + ) + out = rgr.regrid(xr.DataArray([7.0], dims=("src",))) + + assert np.isnan(out.values[0]) + assert out.values[1] == pytest.approx(7.0) + assert np.isnan(out.values[2]) + + +def test_from_polygons_mass_conservation(): + """Sum of intersected mass should match the direct A·s calculation to + machine precision for any source field.""" + + src_polys = _box_polygons() + tgt_polys = polygons_from_coords( + np.linspace(-180, 180, 36, endpoint=False) + 5, + np.linspace(-90, 90, 18, endpoint=False) + 5, + ) + rgr = ConservativeRegridder.from_polygons( + src_polys, tgt_polys, source_dim="face", target_dim="cell" + ) + rng = np.random.default_rng(3) + s = rng.normal(size=src_polys.size) + da = xr.DataArray(s, dims=("face",)) + out = rgr.regrid(da).values + # Direct mass = sum_i s_i * source_coverage_i. Matches output if we + # multiply output by target-covered area. + tgt_covered = rgr.target_areas + valid = tgt_covered > 0 + direct = float((s * rgr.source_coverage_areas).sum()) + via_regrid = float((out[valid] * tgt_covered[valid]).sum()) + rel = abs(direct - via_regrid) / max(abs(direct), 1e-12) + assert rel < 1e-12, f"rel err {rel:.2e}" + + +def test_from_polygons_transpose_roundtrip(): + """Roundtrip mesh ↔ mesh of a constant field returns the constant.""" + src_polys = polygons_from_coords( + np.linspace(-180, 180, 24, endpoint=False) + 7.5, + np.linspace(-90, 90, 12, endpoint=False) + 7.5, + ) + tgt_polys = polygons_from_coords( + np.linspace(-180, 180, 12, endpoint=False) + 15, + np.linspace(-90, 90, 6, endpoint=False) + 15, + ) + rgr = ConservativeRegridder.from_polygons( + src_polys, tgt_polys, source_dim="src", target_dim="tgt" + ) + da = xr.DataArray(np.full(src_polys.size, 3.5), dims=("src",)) + out = rgr.regrid(da) + back = rgr.T.regrid(out) + # Inner source cells (fully covered by target cells they map to) must be 3.5. + # Edge cells may be NaN if target domain doesn't cover them. + finite = np.isfinite(back.values) + np.testing.assert_allclose(back.values[finite], 3.5, atol=1e-12) + + +def test_from_polygons_nan_propagation(): + """NaN source cells propagate through skipna=True correctly.""" + src_polys = polygons_from_coords( + np.linspace(-180, 180, 24, endpoint=False) + 7.5, + np.linspace(-90, 90, 12, endpoint=False) + 7.5, + ) + tgt_polys = polygons_from_coords( + np.linspace(-180, 180, 12, endpoint=False) + 15, + np.linspace(-90, 90, 6, endpoint=False) + 15, + ) + rgr = ConservativeRegridder.from_polygons( + src_polys, tgt_polys, source_dim="src", target_dim="tgt" + ) + vals = np.full(src_polys.size, 1.0) + vals[:5] = np.nan + da = xr.DataArray(vals, dims=("src",)) + out_keep = rgr.regrid(da, nan_threshold=1.0) + out_strict = rgr.regrid(da, nan_threshold=0.0) + # Strict should have at least as many NaNs. + strict_nans = int(np.isnan(out_strict.values).sum()) + keep_nans = int(np.isnan(out_keep.values).sum()) + assert strict_nans >= keep_nans + + +def test_from_polygons_target_outside_source_is_nan(): + """Target cells entirely outside the source domain must be NaN regardless + of skipna (regression test for a bug where the "skip mask matmul when no + NaNs" optimization returned zeros for uncovered cells).""" + + src = np.array([shapely.box(0, 0, 1, 1)], dtype=object) + tgt = polygons_from_coords( + np.linspace(100, 110, 4, endpoint=False) + 1.25, + np.linspace(100, 110, 4, endpoint=False) + 1.25, + ) + rgr = ConservativeRegridder.from_polygons(src, tgt, source_dim="src") + # Source has no NaNs → used to wrongly return 0 here. + da = xr.DataArray(np.array([5.0]), dims=("src",)) + out = rgr.regrid(da, skipna=True) + assert np.isnan(out.values).all() + out_no = rgr.regrid(da, skipna=False) + assert np.isnan(out_no.values).all() + + +def test_from_polygons_hole_is_nan(): + """A target cell fully inside a source-polygon hole should be NaN, not 0.""" + + ring_with_hole = shapely.Polygon( + [(0, 0), (10, 0), (10, 10), (0, 10)], + [[(3, 3), (7, 3), (7, 7), (3, 7)]], + ) + src = np.array([ring_with_hole], dtype=object) + tgt = polygons_from_coords( + np.linspace(0, 10, 5, endpoint=False) + 1, + np.linspace(0, 10, 5, endpoint=False) + 1, + ) + rgr = ConservativeRegridder.from_polygons(src, tgt, source_dim="src") + out = rgr.regrid(xr.DataArray([7.0], dims=("src",))) + # The cell centered at (5,5), edges [4,6]x[4,6], lies entirely in the hole. + assert int(np.isnan(out.values).sum()) >= 1 + + +def test_from_polygons_input_validation(): + # 2D polygons array rejected + p = shapely.box(0, 0, 1, 1) + arr_2d = np.array([[p, p], [p, p]], dtype=object) + with pytest.raises(ValueError, match="1D"): + ConservativeRegridder.from_polygons(arr_2d, np.array([p])) + + +# --- netCDF save / load ------------------------------------------------------- + + +def test_regrid_preserves_input_dtype(): + """Float32 in → float32 out; float64 in → float64 out. Sparse promotes + to float64 internally, so we rely on an explicit cast at the end of + ``_apply_core``.""" + da = _rect_da() + target = _rect_target() + rgr = ConservativeRegridder(da, target, x_coord="x", y_coord="y") + assert rgr.regrid(da.astype(np.float32)).dtype == np.float32 + assert rgr.regrid(da.astype(np.float64)).dtype == np.float64 + # Integer inputs promote (float32 can't hold int32 without precision loss). + assert np.issubdtype(rgr.regrid((da * 10).astype(np.int32)).dtype, np.floating) + + +def test_to_netcdf_roundtrip_structured(tmp_path): + """Save, reload, regrid → identical output to the original regridder.""" + da = _rect_da() + target = _rect_target() + rgr = ConservativeRegridder(da, target, x_coord="x", y_coord="y") + out_before = rgr.regrid(da).values + + path = tmp_path / "regridder.nc" + rgr.to_netcdf(path) + rgr2 = ConservativeRegridder.from_netcdf(path) + + np.testing.assert_array_equal(rgr2.regrid(da).values, out_before) + assert rgr2.spec == rgr.spec + + +def test_to_netcdf_preserves_manifold(tmp_path): + lat_s = np.linspace(-90, 90, 30, endpoint=False) + 3 + lon_s = np.linspace(-180, 180, 60, endpoint=False) + 3 + lat_t = np.linspace(-90, 90, 15, endpoint=False) + 6 + lon_t = np.linspace(-180, 180, 30, endpoint=False) + 6 + da = xr.DataArray( + np.cos(np.deg2rad(lat_s))[:, None] ** 2 * np.ones(lon_s.size)[None, :], + dims=("latitude", "longitude"), + coords={"latitude": lat_s, "longitude": lon_s}, + ) + target = xr.Dataset(coords={"latitude": lat_t, "longitude": lon_t}) + + rgr = ConservativeRegridder( + da, target, x_coord="longitude", y_coord="latitude", manifold="cea" + ) + before = rgr.regrid(da).values + path = tmp_path / "r.nc" + rgr.to_netcdf(path) + rgr2 = ConservativeRegridder.from_netcdf(path) + assert rgr2.manifold == "cea" + np.testing.assert_allclose(rgr2.regrid(da).values, before, atol=1e-15) + + +def test_to_netcdf_transpose_works_after_reload(tmp_path): + """A reloaded regridder can still take .T for backward regridding.""" + da = _rect_da() + target = _rect_target() + rgr = ConservativeRegridder(da, target, x_coord="x", y_coord="y") + path = tmp_path / "r.nc" + rgr.to_netcdf(path) + rgr2 = ConservativeRegridder.from_netcdf(path) + + fwd = rgr.regrid(da) + back_original = rgr.T.regrid(fwd).values + back_reloaded = rgr2.T.regrid(fwd).values + np.testing.assert_array_equal(back_original, back_reloaded) + + +def test_to_netcdf_unstructured_roundtrip(tmp_path): + """from_polygons regridder roundtrips too (single spatial dim each side).""" + rng = np.random.default_rng(1) + cx = rng.uniform(-170, 170, 30) + cy = rng.uniform(-80, 80, 30) + src_polys = shapely.box(cx - 5, cy - 5, cx + 5, cy + 5) + tgt_polys = polygons_from_coords( + np.linspace(-180, 180, 24, endpoint=False) + 7.5, + np.linspace(-90, 90, 12, endpoint=False) + 7.5, + ) + rgr = ConservativeRegridder.from_polygons( + src_polys, tgt_polys, source_dim="face", target_dim="cell" + ) + da = xr.DataArray(rng.normal(size=30), dims=("face",)) + out_before = rgr.regrid(da).values + + path = tmp_path / "r.nc" + rgr.to_netcdf(path) + rgr2 = ConservativeRegridder.from_netcdf(path) + np.testing.assert_array_equal(rgr2.regrid(da).values, out_before) + + +def test_to_netcdf_metadata_fields(tmp_path): + """Metadata captures grid ranges, version, created timestamp.""" + da = _rect_da() + target = _rect_target() + rgr = ConservativeRegridder(da, target, x_coord="x", y_coord="y") + path = tmp_path / "r.nc" + rgr.to_netcdf(path) + + with xr.open_dataset(path) as ds: + attrs = dict(ds.attrs) + + assert attrs["x_coord"] == "x" + assert attrs["y_coord"] == "y" + assert str(attrs["manifold"]) == "planar" + assert tuple(int(size) for size in attrs["src_shape"]) == rgr.spec.src_shape + assert tuple(int(size) for size in attrs["dst_shape"]) == rgr.spec.dst_shape + # Grid ranges captured when the coord is present in source/target. + assert "source_x_range" in attrs + assert "target_x_range" in attrs + assert attrs["source_x_range"][0] <= attrs["source_x_range"][1] + assert attrs["created"] + assert int(attrs["schema_version"]) == 1 + + +def test_from_netcdf_rejects_unknown_schema(tmp_path): + """Loading a file written with a future schema version raises cleanly.""" + h5py = pytest.importorskip("h5py") + da = _rect_da() + target = _rect_target() + rgr = ConservativeRegridder(da, target, x_coord="x", y_coord="y") + path = tmp_path / "r.nc" + rgr.to_netcdf(path) + + # Bump the on-disk schema_version so the loader should reject it. + with h5py.File(path, "a") as f: + f.attrs["schema_version"] = 999 + + with pytest.raises(ValueError, match="schema version"): + ConservativeRegridder.from_netcdf(path) + + +def test_regridder_transpose_curvilinear(): + """Transpose works when the target is a curvilinear grid with different + dim names from the source.""" + da = _rect_da(ny=40, nx=80) + ny_t, nx_t = 20, 30 + xi, yi = np.meshgrid( + np.linspace(-120, 120, nx_t), + np.linspace(-60, 60, ny_t), + indexing="xy", + ) + th = np.deg2rad(15) + x2 = xi * np.cos(th) - yi * np.sin(th) + y2 = xi * np.sin(th) + yi * np.cos(th) + target = xr.Dataset(coords={"x": (("ny", "nx"), x2), "y": (("ny", "nx"), y2)}) + regridder = ConservativeRegridder(da, target, x_coord="x", y_coord="y") + fwd = regridder.regrid(da) + assert fwd.dims == ("time", "ny", "nx") + # Going backward we should land back on (time, y, x) + back = regridder.T.regrid(fwd) + assert "y" in back.dims and "x" in back.dims + assert back.sizes["y"] == da.sizes["y"] + assert back.sizes["x"] == da.sizes["x"] + + +# --- s2 manifold (optional, requires spherely) -------------------------------- + +# NB: a MODULE-level importorskip would skip this whole file (incl. the 35 +# planar/cea/polygon tests above) when spherely is absent — which is the +# default CI env, since spherely lives only in the `spherical` extra. Gate just +# the s2 tests with a per-test marker instead. +try: + import spherely + + _HAS_SPHERELY = True +except ImportError: # pragma: no cover + spherely = None + _HAS_SPHERELY = False + +needs_spherely = pytest.mark.skipif( + not _HAS_SPHERELY, reason="s2 manifold tests require spherely" +) + + +def _latlon_da(ny=24, nx=36, lat_max=87.5, lon_max=175, fill=None, seed=0): + lat = np.linspace(-lat_max, lat_max, ny) + lon = np.linspace(-lon_max, lon_max, nx) + if fill is None: + vals = np.random.default_rng(seed).normal(size=(ny, nx)) + else: + vals = np.full((ny, nx), fill) + return xr.DataArray( + vals, + dims=("latitude", "longitude"), + coords={"latitude": lat, "longitude": lon}, + ) + + +def _latlon_target(ny=9, nx=18, lat_max=80, lon_max=170): + return xr.Dataset( + coords={ + "latitude": np.linspace(-lat_max, lat_max, ny), + "longitude": np.linspace(-lon_max, lon_max, nx), + } + ) + + +def _s2_regridder(da, target): + return ConservativeRegridder( + da, target, x_coord="longitude", y_coord="latitude", manifold="s2" + ) + + +@needs_spherely +def test_s2_conserves_known_integral(): + """Gold-standard conservation: a field with a KNOWN spherical integral + (cos^2(lat) * (1.5 + sin(lon)) integrates to 4*pi over the sphere) regridded + with manifold="s2" onto a co-extensive global grid must conserve mass to + machine precision when measured with INDEPENDENT great-circle cell areas + (spherely.area) — not the regridder's own matrix. + + This is the non-tautological form. A self-area check (row/col sums of + rgr.areas) is an algebraic identity that "conserves" *any* matrix, and a + constant field conserves under row-normalization even with dropped/wrong + overlaps. A spatially-varying field + independent areas + matched domains is + what actually exercises the geometry. (The all-pairs coverage tests pin the + candidate search locally; this pins the whole pipeline globally, against a + known analytic value.) + """ + + def glat(n): + return np.linspace(-90, 90, n, endpoint=False) + 90 / n # edges hit ±90 + + def glon(n): + return np.linspace(-180, 180, n, endpoint=False) + 180 / n + + def s2_cell_areas(lon, lat): # INDEPENDENT areas, not from the regridder + grid = _build_s2_grid(np.asarray(lon), np.asarray(lat)) + return np.asarray(spherely.area(grid.s2_polys, radius=1.0)).reshape( + lat.size, lon.size + ) + + lat_s, lon_s = glat(120), glon(240) + lat_t, lon_t = glat(40), glon(80) + grid_lat, grid_lon = np.meshgrid(lat_s, lon_s, indexing="ij") + field = np.cos(np.deg2rad(grid_lat)) ** 2 * (1.5 + np.sin(np.deg2rad(grid_lon))) + da = xr.DataArray( + field, + dims=("latitude", "longitude"), + coords={"latitude": lat_s, "longitude": lon_s}, + ) + target = xr.Dataset(coords={"latitude": lat_t, "longitude": lon_t}) + + out = ( + ConservativeRegridder( + da, target, x_coord="longitude", y_coord="latitude", manifold="s2" + ) + .regrid(da) + .values + ) + assert np.isfinite(out).all() # co-extensive global grids -> full coverage + + i_src = float((da.values * s2_cell_areas(lon_s, lat_s)).sum()) + i_tgt = float((out * s2_cell_areas(lon_t, lat_t)).sum()) + np.testing.assert_allclose(i_tgt, i_src, rtol=1e-9) # conserved (machine prec.) + np.testing.assert_allclose(i_src, 4 * np.pi, rtol=2e-3) # ~ the known value + + +@needs_spherely +def test_s2_preserves_constant_field(): + """Roundtrip of a constant field through the s2 path reproduces the + constant to machine precision.""" + da = _latlon_da(fill=7.3) + rgr = _s2_regridder(da, _latlon_target()) + out = rgr.regrid(da).values + finite = np.isfinite(out) + np.testing.assert_allclose(out[finite], 7.3, atol=1e-12) + + +@needs_spherely +def test_s2_netcdf_roundtrip(tmp_path): + """A saved s2 regridder reloads back to an s2 regridder and produces + identical output.""" + da = _latlon_da(seed=1) + rgr = _s2_regridder(da, _latlon_target()) + before = rgr.regrid(da).values + path = tmp_path / "s2.nc" + rgr.to_netcdf(path) + rgr2 = ConservativeRegridder.from_netcdf(path) + assert rgr2.manifold == "s2" + np.testing.assert_array_equal(rgr2.regrid(da).values, before) + + +@needs_spherely +def test_s2_handles_pole_touching_cells(): + """A global grid whose outer rows reach ±90° exercises the `oriented=True` + branch of `spherely.create_polygon` — without an explicit orientation, s2 + would silently pick the complementary (hemisphere-sized) interpretation + of a near-pole cell.""" + lat = np.linspace(-89.5, 89.5, 24) # inferred outer edges clip to ±90° + lon = np.linspace(-175, 175, 36) + vals = (np.cos(np.deg2rad(lat)) ** 2)[:, None] * np.ones(lon.size)[None, :] + da = xr.DataArray( + vals, + dims=("latitude", "longitude"), + coords={"latitude": lat, "longitude": lon}, + ) + rgr = _s2_regridder(da, _latlon_target(ny=12, nx=24, lat_max=85)) + out = rgr.regrid(da).values + # Output values should stay in [0, 1] (the source range), not hemispheres. + finite = np.isfinite(out) + assert np.all(out[finite] >= -1e-12) + assert np.all(out[finite] <= 1.0 + 1e-12) + + +@needs_spherely +def test_s2_cell_areas_are_not_complements(): + """Each s2 cell polygon must be the cell itself, not its hemisphere-sized + complement. A descending-coordinate winding bug balloons every cell to + ~4*pi sr; here a near-global grid's cell areas must each be < 2*pi and tile + the sphere (~4*pi total) for BOTH ascending and descending latitude.""" + lon = np.linspace(-179, 179, 120) + for lat in (np.linspace(-89, 89, 90), np.linspace(89, -89, 90)): + grid = _build_s2_grid(lon, lat) + cell_areas = np.asarray(spherely.area(grid.s2_polys, radius=1.0)) + assert np.all(cell_areas < 2 * np.pi), "a cell came out as its complement" + np.testing.assert_allclose(cell_areas.sum(), 4 * np.pi, rtol=0.02) + + +@needs_spherely +def test_s2_descending_latitude_matches_ascending(): + """s2 regridding must be invariant to coordinate direction: a non-constant + field on a descending-latitude grid (the CF 90 -> -90 convention) must + regrid to the same result as the ascending grid. A clockwise/complement + winding bug diverges wildly here while leaving the constant-field and + mass-identity tests green.""" + asc = _latlon_da(ny=30, nx=40, lat_max=80, lon_max=170, seed=3) + target = _latlon_target(ny=12, nx=20, lat_max=65) + out_asc = _s2_regridder(asc, target).regrid(asc) + desc = asc.isel(latitude=slice(None, None, -1)) # same field, descending lat + out_desc = _s2_regridder(desc, target).regrid(desc) + np.testing.assert_allclose( + out_asc.transpose(*out_desc.dims).values, + out_desc.values, + rtol=1e-9, + atol=1e-9, + equal_nan=True, + ) + + +def _s2_all_pairs_target_areas(da, target): + """Brute-force per-target-cell coverage: intersect EVERY (dst, src) s2 cell + pair with spherely (no STRtree). Independent ground truth for the candidate + search — if the STRtree drops a real overlap, the regridder's target_areas + fall short of this reference.""" + sgrid = _build_s2_grid( + np.asarray(da.longitude.values), np.asarray(da.latitude.values) + ) + dgrid = _build_s2_grid( + np.asarray(target.longitude.values), np.asarray(target.latitude.values) + ) + ns, nd = len(sgrid.s2_polys), len(dgrid.s2_polys) + dst_i, src_i = np.meshgrid(np.arange(nd), np.arange(ns), indexing="ij") + inter = spherely.intersection( + dgrid.s2_polys[dst_i.ravel()], sgrid.s2_polys[src_i.ravel()] + ) + return np.asarray(spherely.area(inter, radius=1.0)).reshape(nd, ns).sum(axis=1) + + +@needs_spherely +def test_s2_high_latitude_coverage_is_complete(): + """Great-circle cell edges bulge poleward past their planar bbox, so a naive + bbox candidate filter drops real high-latitude overlaps. The bulge-faithful + shadow must recover them: target coverage matches the all-pairs reference.""" + rng = np.random.default_rng(0) + da = xr.DataArray( + rng.normal(size=(14, 18)), + dims=("latitude", "longitude"), + coords={ + "latitude": np.linspace(60, 86, 14), # coarse + high latitude + "longitude": np.linspace(-170, 170, 18), + }, + ) + target = xr.Dataset( + coords={ + "latitude": np.linspace(62, 84, 8), + "longitude": np.linspace(-160, 160, 12), + } + ) + rgr = ConservativeRegridder( + da, target, x_coord="longitude", y_coord="latitude", manifold="s2" + ) + got = np.ravel(rgr.areas.sum(axis=1).todense()) + np.testing.assert_allclose( + got, _s2_all_pairs_target_areas(da, target), rtol=1e-9, atol=1e-12 + ) + + +@needs_spherely +def test_s2_antimeridian_coverage_is_complete(): + """Cells adjacent across the antimeridian genuinely overlap on the sphere + but have far-apart planar bboxes. The ±360° candidate query must pair them: + target coverage matches the all-pairs reference for a global grid.""" + rng = np.random.default_rng(1) + da = xr.DataArray( + rng.normal(size=(30, 60)), + dims=("latitude", "longitude"), + coords={ + "latitude": np.linspace(-87, 87, 30), + "longitude": np.linspace(-177, 177, 60), + }, + ) + target = xr.Dataset( + coords={ + "latitude": np.linspace(-80, 80, 16), + "longitude": np.linspace(-174, 180, 30), # last cell straddles ±180 + } + ) + rgr = ConservativeRegridder( + da, target, x_coord="longitude", y_coord="latitude", manifold="s2" + ) + got = np.ravel(rgr.areas.sum(axis=1).todense()) + np.testing.assert_allclose( + got, _s2_all_pairs_target_areas(da, target), rtol=1e-9, atol=1e-12 + )