diff --git a/.doctrees/changelog.doctree b/.doctrees/changelog.doctree index 17ede3d4..fa94bec6 100644 Binary files a/.doctrees/changelog.doctree and b/.doctrees/changelog.doctree differ diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index a4aab5f4..e3ee6604 100644 Binary files a/.doctrees/environment.pickle and b/.doctrees/environment.pickle differ diff --git a/.doctrees/examples-dev/sg_execution_times.doctree b/.doctrees/examples-dev/sg_execution_times.doctree index 30a21d9c..e3f8b742 100644 Binary files a/.doctrees/examples-dev/sg_execution_times.doctree and b/.doctrees/examples-dev/sg_execution_times.doctree differ diff --git a/.doctrees/examples-dev/voronoi.doctree b/.doctrees/examples-dev/voronoi.doctree index 6643c0c7..143f83a1 100644 Binary files a/.doctrees/examples-dev/voronoi.doctree and b/.doctrees/examples-dev/voronoi.doctree differ diff --git a/.doctrees/examples/connectivity.doctree b/.doctrees/examples/connectivity.doctree index 07e4b5ce..acbfd7f0 100644 Binary files a/.doctrees/examples/connectivity.doctree and b/.doctrees/examples/connectivity.doctree differ diff --git a/.doctrees/examples/overlap_regridder.doctree b/.doctrees/examples/overlap_regridder.doctree index 00a00836..ef203eec 100644 Binary files a/.doctrees/examples/overlap_regridder.doctree and b/.doctrees/examples/overlap_regridder.doctree differ diff --git a/.doctrees/examples/partitioning.doctree b/.doctrees/examples/partitioning.doctree index f32ff8ea..77655151 100644 Binary files a/.doctrees/examples/partitioning.doctree and b/.doctrees/examples/partitioning.doctree differ diff --git a/.doctrees/examples/plotting.doctree b/.doctrees/examples/plotting.doctree index 3b120614..d28b42ad 100644 Binary files a/.doctrees/examples/plotting.doctree and b/.doctrees/examples/plotting.doctree differ diff --git a/.doctrees/examples/quick_overview.doctree b/.doctrees/examples/quick_overview.doctree index a2815192..dd199ad0 100644 Binary files a/.doctrees/examples/quick_overview.doctree and b/.doctrees/examples/quick_overview.doctree differ diff --git a/.doctrees/examples/regridder_overview.doctree b/.doctrees/examples/regridder_overview.doctree index 8c61db23..6f564e5f 100644 Binary files a/.doctrees/examples/regridder_overview.doctree and b/.doctrees/examples/regridder_overview.doctree differ diff --git a/.doctrees/examples/selection.doctree b/.doctrees/examples/selection.doctree index 4a384f2c..b70467f4 100644 Binary files a/.doctrees/examples/selection.doctree and b/.doctrees/examples/selection.doctree differ diff --git a/.doctrees/examples/sg_execution_times.doctree b/.doctrees/examples/sg_execution_times.doctree index afc60b46..10d723e3 100644 Binary files a/.doctrees/examples/sg_execution_times.doctree and b/.doctrees/examples/sg_execution_times.doctree differ diff --git a/.doctrees/examples/vector_conversion.doctree b/.doctrees/examples/vector_conversion.doctree index d0e11783..a26231d2 100644 Binary files a/.doctrees/examples/vector_conversion.doctree and b/.doctrees/examples/vector_conversion.doctree differ diff --git a/.doctrees/sample_data/adh_san_diego.doctree b/.doctrees/sample_data/adh_san_diego.doctree index 11cbfcec..89999f4d 100644 Binary files a/.doctrees/sample_data/adh_san_diego.doctree and b/.doctrees/sample_data/adh_san_diego.doctree differ diff --git a/.doctrees/sample_data/disk.doctree b/.doctrees/sample_data/disk.doctree index 6a7a82f6..e180e198 100644 Binary files a/.doctrees/sample_data/disk.doctree and b/.doctrees/sample_data/disk.doctree differ diff --git a/.doctrees/sample_data/elevation_nl.doctree b/.doctrees/sample_data/elevation_nl.doctree index ed6d9cf8..817a698f 100644 Binary files a/.doctrees/sample_data/elevation_nl.doctree and b/.doctrees/sample_data/elevation_nl.doctree differ diff --git a/.doctrees/sample_data/sg_execution_times.doctree b/.doctrees/sample_data/sg_execution_times.doctree index 366812f7..00b1337c 100644 Binary files a/.doctrees/sample_data/sg_execution_times.doctree and b/.doctrees/sample_data/sg_execution_times.doctree differ diff --git a/.doctrees/sg_execution_times.doctree b/.doctrees/sg_execution_times.doctree index 6abac1fc..e4d8ce51 100644 Binary files a/.doctrees/sg_execution_times.doctree and b/.doctrees/sg_execution_times.doctree differ diff --git a/_downloads/1da8bbc63e9e34158260eadd1533549c/quick_overview.zip b/_downloads/1da8bbc63e9e34158260eadd1533549c/quick_overview.zip index 255f574b..d893c8fb 100644 Binary files a/_downloads/1da8bbc63e9e34158260eadd1533549c/quick_overview.zip and b/_downloads/1da8bbc63e9e34158260eadd1533549c/quick_overview.zip differ diff --git a/_downloads/2dbba5ebb6d2057d196983a008981162/voronoi.zip b/_downloads/2dbba5ebb6d2057d196983a008981162/voronoi.zip index 755b9ff7..f33e69a9 100644 Binary files a/_downloads/2dbba5ebb6d2057d196983a008981162/voronoi.zip and b/_downloads/2dbba5ebb6d2057d196983a008981162/voronoi.zip differ diff --git a/_downloads/37998fdc2548b23faf513b314db93d21/regridder_overview.zip b/_downloads/37998fdc2548b23faf513b314db93d21/regridder_overview.zip index ada1881a..bcf9ef0e 100644 Binary files a/_downloads/37998fdc2548b23faf513b314db93d21/regridder_overview.zip and b/_downloads/37998fdc2548b23faf513b314db93d21/regridder_overview.zip differ diff --git a/_downloads/3e8af3e56da80727f8440a5b5f94f5cb/disk.zip b/_downloads/3e8af3e56da80727f8440a5b5f94f5cb/disk.zip index 5c29f9de..c17af1ca 100644 Binary files a/_downloads/3e8af3e56da80727f8440a5b5f94f5cb/disk.zip and b/_downloads/3e8af3e56da80727f8440a5b5f94f5cb/disk.zip differ diff --git a/_downloads/3eb350a8b54f214b88c5181e546a155e/adh_san_diego.zip b/_downloads/3eb350a8b54f214b88c5181e546a155e/adh_san_diego.zip index 90365a53..20a7be05 100644 Binary files a/_downloads/3eb350a8b54f214b88c5181e546a155e/adh_san_diego.zip and b/_downloads/3eb350a8b54f214b88c5181e546a155e/adh_san_diego.zip differ diff --git a/_downloads/422003fc9b51482872f8f3701ce47abe/provinces_nl.zip b/_downloads/422003fc9b51482872f8f3701ce47abe/provinces_nl.zip index 5a2b1b1a..2a7f3272 100644 Binary files a/_downloads/422003fc9b51482872f8f3701ce47abe/provinces_nl.zip and b/_downloads/422003fc9b51482872f8f3701ce47abe/provinces_nl.zip differ diff --git a/_downloads/43d7b47db560c8c70c383a84a444ed83/connectivity.zip b/_downloads/43d7b47db560c8c70c383a84a444ed83/connectivity.zip index 492a96b6..301a19a3 100644 Binary files a/_downloads/43d7b47db560c8c70c383a84a444ed83/connectivity.zip and b/_downloads/43d7b47db560c8c70c383a84a444ed83/connectivity.zip differ diff --git a/_downloads/90d50f8fc21b6ec5d818d26f7955df8a/overlap_regridder.zip b/_downloads/90d50f8fc21b6ec5d818d26f7955df8a/overlap_regridder.zip index 16b7b42d..c3da6ac0 100644 Binary files a/_downloads/90d50f8fc21b6ec5d818d26f7955df8a/overlap_regridder.zip and b/_downloads/90d50f8fc21b6ec5d818d26f7955df8a/overlap_regridder.zip differ diff --git a/_downloads/97eabe2c66fc9328b1e51f27fdee52f6/partitioning.zip b/_downloads/97eabe2c66fc9328b1e51f27fdee52f6/partitioning.zip index 10706648..4a245ddd 100644 Binary files a/_downloads/97eabe2c66fc9328b1e51f27fdee52f6/partitioning.zip and b/_downloads/97eabe2c66fc9328b1e51f27fdee52f6/partitioning.zip differ diff --git a/_downloads/9be12df0ec6c323839ed0cb99cc89228/elevation_nl.zip b/_downloads/9be12df0ec6c323839ed0cb99cc89228/elevation_nl.zip index c55fa9db..c0c354bb 100644 Binary files a/_downloads/9be12df0ec6c323839ed0cb99cc89228/elevation_nl.zip and b/_downloads/9be12df0ec6c323839ed0cb99cc89228/elevation_nl.zip differ diff --git a/_downloads/a50ba9731493d1c74010dcadb8694b20/selection.zip b/_downloads/a50ba9731493d1c74010dcadb8694b20/selection.zip index 220f48ae..779e5fff 100644 Binary files a/_downloads/a50ba9731493d1c74010dcadb8694b20/selection.zip and b/_downloads/a50ba9731493d1c74010dcadb8694b20/selection.zip differ diff --git a/_downloads/cc393383c363f7c590c6ef714836f52a/xoxo.zip b/_downloads/cc393383c363f7c590c6ef714836f52a/xoxo.zip index 2d5656ed..091505ae 100644 Binary files a/_downloads/cc393383c363f7c590c6ef714836f52a/xoxo.zip and b/_downloads/cc393383c363f7c590c6ef714836f52a/xoxo.zip differ diff --git a/_downloads/d2379110fee2f2fbaf724f0142daaa8d/plotting.zip b/_downloads/d2379110fee2f2fbaf724f0142daaa8d/plotting.zip index ff5525d7..d0292799 100644 Binary files a/_downloads/d2379110fee2f2fbaf724f0142daaa8d/plotting.zip and b/_downloads/d2379110fee2f2fbaf724f0142daaa8d/plotting.zip differ diff --git a/_downloads/f25be90ee220882246ef4778e276e863/vector_conversion.zip b/_downloads/f25be90ee220882246ef4778e276e863/vector_conversion.zip index ba62b619..ec0ed4d1 100644 Binary files a/_downloads/f25be90ee220882246ef4778e276e863/vector_conversion.zip and b/_downloads/f25be90ee220882246ef4778e276e863/vector_conversion.zip differ diff --git a/_modules/xugrid/ugrid/partitioning.html b/_modules/xugrid/ugrid/partitioning.html index 11dcdb0a..7f4ef683 100644 --- a/_modules/xugrid/ugrid/partitioning.html +++ b/_modules/xugrid/ugrid/partitioning.html @@ -775,9 +775,6 @@

Source code for xugrid.ugrid.partitioning

             )
             merged.update(merged_selection)
 
-    # prevent inconsistent chunks, for which merged.chunks will give a ValueError
-    merged = merged.unify_chunks()
-
     # Merge chunks along the UGRID dimensions.
     if merged.chunks and merge_ugrid_chunks:
         chunks = dict(merged.chunks)
diff --git a/_sources/changelog.rst.txt b/_sources/changelog.rst.txt
index e7d3e7c7..ab3832b2 100644
--- a/_sources/changelog.rst.txt
+++ b/_sources/changelog.rst.txt
@@ -6,6 +6,22 @@ All notable changes to this project will be documented in this file.
 The format is based on `Keep a Changelog`_, and this project adheres to
 `Semantic Versioning`_.
 
+
+Unreleased
+----------
+
+Fixed
+~~~~~
+
+- The regridders will no longer flip around data along an axis when regridding
+  from data from structured to unstructured form when the coordinates along the
+  dimensions is decreasing. (Decreasing y-axis is a common occurence in
+  geospatial rasters.)
+- The regridders will no longer error on ``.regrid()`` if a structured target
+  grid is non-equidistant, and contains an array delta (``d``) coordinate
+  rather than a single delta to denote cell sizes along a dimension (i.e.
+  ``dy`` along ``y`` midpoints, and ``dx`` along ``x``.)
+
 [0.11.1] 2024-08-13
 -------------------
 
diff --git a/_sources/examples-dev/sg_execution_times.rst.txt b/_sources/examples-dev/sg_execution_times.rst.txt
index 0a37efef..308fb43c 100644
--- a/_sources/examples-dev/sg_execution_times.rst.txt
+++ b/_sources/examples-dev/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:01.146** total execution time for 1 file **from examples-dev**:
+**00:01.195** total execution time for 1 file **from examples-dev**:
 
 .. container::
 
@@ -33,5 +33,5 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_examples-dev_voronoi.py` (``voronoi.py``)
-     - 00:01.146
+     - 00:01.195
      - 0.0
diff --git a/_sources/examples-dev/voronoi.rst.txt b/_sources/examples-dev/voronoi.rst.txt
index 768e0c67..9abf6c1b 100644
--- a/_sources/examples-dev/voronoi.rst.txt
+++ b/_sources/examples-dev/voronoi.rst.txt
@@ -630,7 +630,7 @@ The figure shows:
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** (0 minutes 1.146 seconds)
+   **Total running time of the script:** (0 minutes 1.195 seconds)
 
 
 .. _sphx_glr_download_examples-dev_voronoi.py:
diff --git a/_sources/examples/connectivity.rst.txt b/_sources/examples/connectivity.rst.txt
index 5b0f1b61..52b6af74 100644
--- a/_sources/examples/connectivity.rst.txt
+++ b/_sources/examples/connectivity.rst.txt
@@ -129,7 +129,7 @@ By default, the border value for binary erosion is set to ``False`` (equal to
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -165,7 +165,7 @@ start by setting a single value in the center of the grid to ``True``.
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -200,7 +200,7 @@ alternative border value:
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -238,7 +238,7 @@ analyse connected parts of the mesh.
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -272,7 +272,7 @@ Tesselation.
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -316,7 +316,7 @@ the original.
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -355,7 +355,7 @@ We can break down one of the Voronoi tesselations from above into triangles:
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -409,7 +409,7 @@ the upper and lower parts:
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -439,7 +439,7 @@ We can now use Laplace interpolation to fill the gaps in the grid.
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -477,7 +477,7 @@ interpolation.
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -518,7 +518,7 @@ To illustrate, let's take a look at the connectivity matrix of the Xoxo grid.
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -554,14 +554,14 @@ locality:
  .. code-block:: none
 
 
-    
+    
 
 
 
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** (0 minutes 1.357 seconds)
+   **Total running time of the script:** (0 minutes 1.370 seconds)
 
 
 .. _sphx_glr_download_examples_connectivity.py:
diff --git a/_sources/examples/overlap_regridder.rst.txt b/_sources/examples/overlap_regridder.rst.txt
index 5dd1034c..20fcd9e7 100644
--- a/_sources/examples/overlap_regridder.rst.txt
+++ b/_sources/examples/overlap_regridder.rst.txt
@@ -112,7 +112,7 @@ some bathymetry) of the Netherlands, and a coarser target grid.
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -202,7 +202,7 @@ conservative methods, such as conductance:
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -298,7 +298,7 @@ OverlapRegridder:
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -373,7 +373,7 @@ Then, provide it as the regridder method as above:
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -384,7 +384,7 @@ Then, provide it as the regridder method as above:
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** (0 minutes 4.037 seconds)
+   **Total running time of the script:** (0 minutes 3.986 seconds)
 
 
 .. _sphx_glr_download_examples_overlap_regridder.py:
diff --git a/_sources/examples/partitioning.rst.txt b/_sources/examples/partitioning.rst.txt
index a0a46955..6a2b6df3 100644
--- a/_sources/examples/partitioning.rst.txt
+++ b/_sources/examples/partitioning.rst.txt
@@ -76,7 +76,7 @@ into several parts.
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -145,7 +145,7 @@ We can easily plot this data to visualize the partitions:
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -213,7 +213,7 @@ merge these partitions back into one whole for post-processing:
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -275,7 +275,7 @@ data:
  .. code-block:: none
 
 
-    
+    
 
 
 
@@ -668,7 +668,7 @@ Note that partioning and merging does not preserve order!
     
<xarray.DataArray 'elevation' (mesh2d_nFaces: 5248)> Size: 5kB
     array([False, False, False, ..., False, False, False])
     Coordinates:
-      * mesh2d_nFaces  (mesh2d_nFaces) int64 42kB 0 1 2 3 4 ... 5244 5245 5246 5247
+ * mesh2d_nFaces (mesh2d_nFaces) int64 42kB 0 1 2 3 4 ... 5244 5245 5246 5247

@@ -1068,9 +1068,9 @@ original topology. ``reindex_like`` looks at the coordinates of both Coordinates: mesh2d_face_x (mesh2d_nFaces) float64 42kB 2.388e+04 1.86e+05 ... 3.03e+04 mesh2d_face_y (mesh2d_nFaces) float64 42kB 3.648e+05 ... 3.964e+05 - * mesh2d_nFaces (mesh2d_nFaces) int64 42kB 0 1 2 3 4 ... 5244 5245 5246 5247 + * mesh2d_nFaces (mesh2d_nFaces) int64 42kB 0 1 2 3 4 ... 5244 5245 5246 5247

@@ -1473,9 +1473,9 @@ reorder the data after merging. Coordinates: mesh2d_face_x (mesh2d_nFaces) float64 42kB 2.388e+04 1.86e+05 ... 3.03e+04 mesh2d_face_y (mesh2d_nFaces) float64 42kB 3.648e+05 ... 3.964e+05 - * mesh2d_nFaces (mesh2d_nFaces) int64 42kB 0 1 2 3 4 ... 5244 5245 5246 5247 + * mesh2d_nFaces (mesh2d_nFaces) int64 42kB 0 1 2 3 4 ... 5244 5245 5246 5247

@@ -1492,7 +1492,7 @@ partitions. .. rst-class:: sphx-glr-timing - **Total running time of the script:** (0 minutes 3.815 seconds) + **Total running time of the script:** (0 minutes 3.983 seconds) .. _sphx_glr_download_examples_partitioning.py: diff --git a/_sources/examples/plotting.rst.txt b/_sources/examples/plotting.rst.txt index 7ada6035..7d877564 100644 --- a/_sources/examples/plotting.rst.txt +++ b/_sources/examples/plotting.rst.txt @@ -451,13 +451,13 @@ faces.
<xarray.Dataset> Size: 19kB
     Dimensions:        (mesh2d_nNodes: 217, mesh2d_nFaces: 384, mesh2d_nEdges: 600)
     Coordinates:
-      * mesh2d_nFaces  (mesh2d_nFaces) int64 3kB 0 1 2 3 4 5 ... 379 380 381 382 383
-      * mesh2d_nEdges  (mesh2d_nEdges) int64 5kB 0 1 2 3 4 5 ... 595 596 597 598 599
       * mesh2d_nNodes  (mesh2d_nNodes) int64 2kB 0 1 2 3 4 5 ... 212 213 214 215 216
+      * mesh2d_nEdges  (mesh2d_nEdges) int64 5kB 0 1 2 3 4 5 ... 595 596 597 598 599
+      * mesh2d_nFaces  (mesh2d_nFaces) int64 3kB 0 1 2 3 4 5 ... 379 380 381 382 383
     Data variables:
         node_z         (mesh2d_nNodes) float64 2kB 1.933 2.091 1.875 ... 5.688 7.491
         face_z         (mesh2d_nFaces) float64 3kB 1.737 1.918 2.269 ... 5.408 6.424
-        edge_z         (mesh2d_nEdges) float64 5kB 1.989 1.875 1.8 ... 4.909 6.544


  • @@ -612,7 +612,7 @@ Dataset and calling the :py:meth:`UgridDataArray.ugrid.plot()` method. .. code-block:: none - + @@ -647,7 +647,7 @@ the edges results in a different kind of plot: .. code-block:: none - + @@ -689,7 +689,7 @@ We can put them side by side to illustrate the differences: .. code-block:: none - + @@ -719,7 +719,7 @@ filled contours for data associated with the face dimension: .. code-block:: none - + @@ -750,7 +750,7 @@ We can also overlay this data with the edges: .. code-block:: none - + @@ -825,7 +825,7 @@ All these (2D) plots are illustrated here for completeness' sake: .. code-block:: none - + @@ -858,7 +858,7 @@ The ``surface`` methods generate 3D surface plots: .. code-block:: none - + @@ -892,7 +892,7 @@ used: .. code-block:: none - + @@ -928,7 +928,7 @@ take an xarray DataArray and a xugrid grid as arguments. .. code-block:: none - + @@ -964,14 +964,14 @@ somewhere in the unstructured topology, and plot the resulting timeseries: .. code-block:: none - [] + [] .. rst-class:: sphx-glr-timing - **Total running time of the script:** (0 minutes 12.659 seconds) + **Total running time of the script:** (0 minutes 12.241 seconds) .. _sphx_glr_download_examples_plotting.py: diff --git a/_sources/examples/quick_overview.rst.txt b/_sources/examples/quick_overview.rst.txt index ef280377..6eb55594 100644 --- a/_sources/examples/quick_overview.rst.txt +++ b/_sources/examples/quick_overview.rst.txt @@ -465,7 +465,7 @@ We'll start by fetching a dataset: elevation (node) float64 73kB ... depth (time, node) float64 4MB ... mesh2d int32 4B ... - face_node_connectivity (face, nmax_face) float64 405kB ...


  • @@ -921,7 +921,7 @@ separate the variables: * node (node) int64 73kB 0 1 2 3 4 5 6 ... 9134 9135 9136 9137 9138 9139 Data variables: elevation (node) float64 73kB ... - depth (time, node) float64 4MB ...


  • @@ -1364,7 +1364,7 @@ We can then grab one of the data variables as usual for xarray: Coordinates: node_x (node) float64 73kB ... node_y (node) float64 73kB ... - * node (node) int64 73kB 0 1 2 3 4 5 6 ... 9134 9135 9136 9137 9138 9139 + * node (node) int64 73kB 0 1 2 3 4 5 6 ... 9134 9135 9136 9137 9138 9139

    @@ -1775,7 +1775,7 @@ some data by hand here:
    <xarray.DataArray (mesh2d_nFaces: 2)> Size: 16B
         array([1., 2.])
         Coordinates:
    -      * mesh2d_nFaces  (mesh2d_nFaces) int64 16B 0 1
    + * mesh2d_nFaces (mesh2d_nFaces) int64 16B 0 1

    @@ -1813,7 +1813,7 @@ Plotting .. code-block:: none - + @@ -1864,7 +1864,7 @@ To select based on the topology, use the ``.ugrid`` attribute: .. code-block:: none - + @@ -2263,7 +2263,7 @@ Computation on DataArrays is unchanged from xarray:
    <xarray.DataArray (mesh2d_nFaces: 2)> Size: 16B
         array([11., 12.])
         Coordinates:
    -      * mesh2d_nFaces  (mesh2d_nFaces) int64 16B 0 1
    + * mesh2d_nFaces (mesh2d_nFaces) int64 16B 0 1

    @@ -2726,7 +2726,7 @@ Conversion from Geopandas is easy too: Coordinates: * mesh2d_nFaces (mesh2d_nFaces) int64 16B 0 1 Data variables: - test (mesh2d_nFaces) float64 16B 1.0 2.0 + test (mesh2d_nFaces) float64 16B 1.0 2.0

    @@ -3123,13 +3123,13 @@ grid (nodes, faces, edges).
    <xarray.Dataset> Size: 19kB
         Dimensions:        (mesh2d_nNodes: 217, mesh2d_nFaces: 384, mesh2d_nEdges: 600)
         Coordinates:
    -      * mesh2d_nFaces  (mesh2d_nFaces) int64 3kB 0 1 2 3 4 5 ... 379 380 381 382 383
    -      * mesh2d_nEdges  (mesh2d_nEdges) int64 5kB 0 1 2 3 4 5 ... 595 596 597 598 599
           * mesh2d_nNodes  (mesh2d_nNodes) int64 2kB 0 1 2 3 4 5 ... 212 213 214 215 216
    +      * mesh2d_nEdges  (mesh2d_nEdges) int64 5kB 0 1 2 3 4 5 ... 595 596 597 598 599
    +      * mesh2d_nFaces  (mesh2d_nFaces) int64 3kB 0 1 2 3 4 5 ... 379 380 381 382 383
         Data variables:
             node_z         (mesh2d_nNodes) float64 2kB 1.933 2.091 1.875 ... 5.688 7.491
             face_z         (mesh2d_nFaces) float64 3kB 1.737 1.918 2.269 ... 5.408 6.424
    -        edge_z         (mesh2d_nEdges) float64 5kB 1.989 1.875 1.8 ... 4.909 6.544
    • mesh2d_nNodes
      PandasIndex
      PandasIndex(RangeIndex(start=0, stop=217, step=1, name='mesh2d_nNodes'))
    • mesh2d_nEdges
      PandasIndex
      PandasIndex(RangeIndex(start=0, stop=600, step=1, name='mesh2d_nEdges'))
    • mesh2d_nFaces
      PandasIndex
      PandasIndex(RangeIndex(start=0, stop=384, step=1, name='mesh2d_nFaces'))


  • @@ -3642,7 +3642,7 @@ a grid object:
    <xarray.Dataset> Size: 0B
         Dimensions:  ()
         Data variables:
    -        *empty*
    + *empty*

    @@ -4038,7 +4038,7 @@ We can then add variables one-by-one, as we might with an xarray Dataset: node_y (node) float64 73kB ... * node (node) int64 73kB 0 1 2 3 4 5 6 ... 9134 9135 9136 9137 9138 9139 Data variables: - elevation (node) float64 73kB ... + elevation (node) float64 73kB ...

    @@ -4444,7 +4444,7 @@ before writing. elevation (node) float64 73kB ... depth (time, node) float64 4MB ... Attributes: - Conventions: CF-1.9 UGRID-1.0
  • Conventions :
    CF-1.9 UGRID-1.0


  • @@ -4505,7 +4505,7 @@ before writing. .. rst-class:: sphx-glr-timing - **Total running time of the script:** (0 minutes 0.492 seconds) + **Total running time of the script:** (0 minutes 0.504 seconds) .. _sphx_glr_download_examples_quick_overview.py: diff --git a/_sources/examples/regridder_overview.rst.txt b/_sources/examples/regridder_overview.rst.txt index a2e9feb8..48124f30 100644 --- a/_sources/examples/regridder_overview.rst.txt +++ b/_sources/examples/regridder_overview.rst.txt @@ -79,7 +79,7 @@ elevation of the Netherlands. .. code-block:: none - + @@ -151,7 +151,7 @@ the centroids of the new grid fall. .. code-block:: none - + @@ -182,7 +182,7 @@ Xugrid provides the CentroidLocatorRegridder for this: .. code-block:: none - + @@ -217,7 +217,7 @@ so large. Let's try the OverlapOverregridder instead. .. code-block:: none - + @@ -249,7 +249,7 @@ Let's try again, now with the minimum: .. code-block:: none - + @@ -280,7 +280,7 @@ Or the maximum: .. code-block:: none - + @@ -710,7 +710,7 @@ result. mesh2d_face_x (mesh2d_nFaces) float64 42kB ... mesh2d_face_y (mesh2d_nFaces) float64 42kB ... * layer (layer) int64 40B 1 2 3 4 5 - * mesh2d_nFaces (mesh2d_nFaces) int64 42kB 0 1 2 3 4 ... 5244 5245 5246 5247
    • mesh2d_face_x
      (mesh2d_nFaces)
      float64
      ...
      standard_name :
      projection_x_coordinate
      [5248 values with dtype=float64]
    • mesh2d_face_y
      (mesh2d_nFaces)
      float64
      ...
      standard_name :
      projection_y_coordinate
      [5248 values with dtype=float64]
    • layer
      (layer)
      int64
      1 2 3 4 5
      array([1, 2, 3, 4, 5])
    • mesh2d_nFaces
      (mesh2d_nFaces)
      int64
      0 1 2 3 4 ... 5244 5245 5246 5247
      array([   0,    1,    2, ..., 5245, 5246, 5247])
    • layer
      PandasIndex
      PandasIndex(Index([1, 2, 3, 4, 5], dtype='int64', name='layer'))
    • mesh2d_nFaces
      PandasIndex
      PandasIndex(RangeIndex(start=0, stop=5248, step=1, name='mesh2d_nFaces'))


  • @@ -1153,7 +1153,7 @@ all additional dimensions. -45.92794405, -39.50867478]]) Coordinates: * layer (layer) int64 40B 1 2 3 4 5 - * mesh2d_nFaces (mesh2d_nFaces) int64 784B 0 1 2 3 4 5 ... 92 93 94 95 96 97
    • layer
      PandasIndex
      PandasIndex(Index([1, 2, 3, 4, 5], dtype='int64', name='layer'))
    • mesh2d_nFaces
      PandasIndex
      PandasIndex(RangeIndex(start=0, stop=98, step=1, name='mesh2d_nFaces'))


  • @@ -1235,7 +1235,7 @@ and the aggregated mean. .. code-block:: none - [, , , , ] + [, , , , ] @@ -1272,7 +1272,7 @@ To illustrate, we will zoom in to a part of the Netherlands. .. code-block:: none - + @@ -1325,7 +1325,7 @@ the triangles. .. code-block:: none - + @@ -1366,7 +1366,7 @@ the regridders work for any collection of (convex) faces. .. code-block:: none - + @@ -1402,7 +1402,7 @@ is kept the same. .. code-block:: none - + @@ -1418,7 +1418,7 @@ is kept the same. .. rst-class:: sphx-glr-timing - **Total running time of the script:** (0 minutes 8.174 seconds) + **Total running time of the script:** (0 minutes 8.219 seconds) .. _sphx_glr_download_examples_regridder_overview.py: diff --git a/_sources/examples/selection.rst.txt b/_sources/examples/selection.rst.txt index 031dce2a..fcf9c47d 100644 --- a/_sources/examples/selection.rst.txt +++ b/_sources/examples/selection.rst.txt @@ -85,7 +85,7 @@ elevation of the Netherlands. .. code-block:: none - + @@ -130,7 +130,7 @@ A subset of the unstructured grid is returned by using slices without a step: .. code-block:: none - + @@ -161,7 +161,7 @@ In such a case the entire grid is returned. .. code-block:: none - + @@ -196,7 +196,7 @@ This means we can easily select along a single dimension: .. code-block:: none - + @@ -226,7 +226,7 @@ Or, using ``None`` if we only care about the start: .. code-block:: none - + @@ -661,7 +661,7 @@ Two values will select a point: mesh2d_x (mesh2d_nFaces) float64 8B 1.5e+05 mesh2d_y (mesh2d_nFaces) float64 8B 4.63e+05 Attributes: - unit: m NAP + unit: m NAP

    @@ -1068,7 +1068,7 @@ of six points: mesh2d_x (mesh2d_nFaces) float64 48B 1.25e+05 1.5e+05 ... 1.75e+05 mesh2d_y (mesh2d_nFaces) float64 48B 4e+05 4e+05 ... 4.65e+05 4.65e+05 Attributes: - unit: m NAP + unit: m NAP

    @@ -1475,7 +1475,7 @@ To select points without broadcasting, use ``.ugrid.sel_points`` instead: mesh2d_x (mesh2d_nFaces) float64 24B 1.25e+05 1.5e+05 1.75e+05 mesh2d_y (mesh2d_nFaces) float64 24B 4e+05 4.3e+05 4.65e+05 Attributes: - unit: m NAP + unit: m NAP

    @@ -1880,9 +1880,9 @@ We can sample points along a line as well by providing slices **with** a step: mesh2d_x (mesh2d_nFaces) float64 80B 1e+05 1.1e+05 ... 1.8e+05 1.9e+05 mesh2d_y (mesh2d_nFaces) float64 80B 4.65e+05 4.65e+05 ... 4.65e+05 Attributes: - unit: m NAP + unit: m NAP

    @@ -2289,7 +2289,7 @@ Two slices with a step results in broadcasting: mesh2d_x (mesh2d_nFaces) float64 800B 1e+05 1.1e+05 ... 1.9e+05 mesh2d_y (mesh2d_nFaces) float64 800B 4e+05 4e+05 ... 4.9e+05 4.9e+05 Attributes: - unit: m NAP
  • unit :
    m NAP


  • @@ -2744,15 +2744,15 @@ As well as a slice with a step and multiple values: mesh2d_x (mesh2d_nFaces) float64 160B 1e+05 1.1e+05 ... 1.9e+05 mesh2d_y (mesh2d_nFaces) float64 160B 4e+05 4e+05 ... 4.3e+05 4.3e+05 Attributes: - unit: m NAP
  • unit :
    m NAP


  • @@ -2936,7 +2936,7 @@ thousands faces: .. code-block:: none - + @@ -2958,7 +2958,7 @@ face dimension for 2D topologies. .. rst-class:: sphx-glr-timing - **Total running time of the script:** (0 minutes 3.536 seconds) + **Total running time of the script:** (0 minutes 3.653 seconds) .. _sphx_glr_download_examples_selection.py: diff --git a/_sources/examples/sg_execution_times.rst.txt b/_sources/examples/sg_execution_times.rst.txt index 599563d7..53eefff6 100644 --- a/_sources/examples/sg_execution_times.rst.txt +++ b/_sources/examples/sg_execution_times.rst.txt @@ -6,7 +6,7 @@ Computation times ================= -**00:50.710** total execution time for 8 files **from examples**: +**00:50.500** total execution time for 8 files **from examples**: .. container:: @@ -33,26 +33,26 @@ Computation times - Time - Mem (MB) * - :ref:`sphx_glr_examples_vector_conversion.py` (``vector_conversion.py``) - - 00:16.640 + - 00:16.544 - 0.0 * - :ref:`sphx_glr_examples_plotting.py` (``plotting.py``) - - 00:12.659 + - 00:12.241 - 0.0 * - :ref:`sphx_glr_examples_regridder_overview.py` (``regridder_overview.py``) - - 00:08.174 + - 00:08.219 - 0.0 * - :ref:`sphx_glr_examples_overlap_regridder.py` (``overlap_regridder.py``) - - 00:04.037 + - 00:03.986 - 0.0 * - :ref:`sphx_glr_examples_partitioning.py` (``partitioning.py``) - - 00:03.815 + - 00:03.983 - 0.0 * - :ref:`sphx_glr_examples_selection.py` (``selection.py``) - - 00:03.536 + - 00:03.653 - 0.0 * - :ref:`sphx_glr_examples_connectivity.py` (``connectivity.py``) - - 00:01.357 + - 00:01.370 - 0.0 * - :ref:`sphx_glr_examples_quick_overview.py` (``quick_overview.py``) - - 00:00.492 + - 00:00.504 - 0.0 diff --git a/_sources/examples/vector_conversion.rst.txt b/_sources/examples/vector_conversion.rst.txt index 8e918e0e..1a2bd905 100644 --- a/_sources/examples/vector_conversion.rst.txt +++ b/_sources/examples/vector_conversion.rst.txt @@ -73,7 +73,7 @@ We'll once again use the surface elevation data example. .. code-block:: none - + @@ -519,9 +519,9 @@ GeoDataFrame. Data variables: elevation (mesh2d_nFaces) float32 21kB 1.17 9.81 54.04 ... -15.83 -0.45 mesh2d_face_x (mesh2d_nFaces) float64 42kB 2.388e+04 1.86e+05 ... 3.03e+04 - mesh2d_face_y (mesh2d_nFaces) float64 42kB 3.648e+05 ... 3.964e+05 + mesh2d_face_y (mesh2d_nFaces) float64 42kB 3.648e+05 ... 3.964e+05

    @@ -583,7 +583,7 @@ burn into the grid. .. code-block:: none - + @@ -980,9 +980,9 @@ we want to compute the average surface elevation per province: Coordinates: * id (id) float64 96B 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 Attributes: - unit: m NAP
    • id
      (id)
      float64
      0.0 1.0 2.0 3.0 ... 9.0 10.0 11.0
      array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11.])
    • id
      PandasIndex
      PandasIndex(Index([0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0], dtype='float64', name='id'))
  • unit :
    m NAP


  • @@ -1089,7 +1089,7 @@ We can also use such "masks" to e.g. modify specific parts of the grid data: .. code-block:: none - + @@ -1235,7 +1235,7 @@ burn operation. .. code-block:: none - + @@ -1344,7 +1344,7 @@ compare to the grid faces. .. rst-class:: sphx-glr-timing - **Total running time of the script:** (0 minutes 16.640 seconds) + **Total running time of the script:** (0 minutes 16.544 seconds) .. _sphx_glr_download_examples_vector_conversion.py: diff --git a/_sources/sample_data/adh_san_diego.rst.txt b/_sources/sample_data/adh_san_diego.rst.txt index 70d277b5..47bd8d3f 100644 --- a/_sources/sample_data/adh_san_diego.rst.txt +++ b/_sources/sample_data/adh_san_diego.rst.txt @@ -41,7 +41,7 @@ It contains a static dataset (bed elevation) and a time varying dataset .. code-block:: none - + @@ -71,7 +71,7 @@ It contains a static dataset (bed elevation) and a time varying dataset .. rst-class:: sphx-glr-timing - **Total running time of the script:** (0 minutes 0.292 seconds) + **Total running time of the script:** (0 minutes 0.309 seconds) .. _sphx_glr_download_sample_data_adh_san_diego.py: diff --git a/_sources/sample_data/disk.rst.txt b/_sources/sample_data/disk.rst.txt index f0935d17..601745ca 100644 --- a/_sources/sample_data/disk.rst.txt +++ b/_sources/sample_data/disk.rst.txt @@ -39,7 +39,7 @@ of a disk. It contains data on the nodes, faces, and edges. .. code-block:: none - + @@ -68,7 +68,7 @@ of a disk. It contains data on the nodes, faces, and edges. .. rst-class:: sphx-glr-timing - **Total running time of the script:** (0 minutes 0.139 seconds) + **Total running time of the script:** (0 minutes 0.141 seconds) .. _sphx_glr_download_sample_data_disk.py: diff --git a/_sources/sample_data/elevation_nl.rst.txt b/_sources/sample_data/elevation_nl.rst.txt index 1d2560d3..e3c18d3f 100644 --- a/_sources/sample_data/elevation_nl.rst.txt +++ b/_sources/sample_data/elevation_nl.rst.txt @@ -39,7 +39,7 @@ of the Netherlands. .. code-block:: none - [] + [] @@ -67,7 +67,7 @@ of the Netherlands. .. rst-class:: sphx-glr-timing - **Total running time of the script:** (0 minutes 0.749 seconds) + **Total running time of the script:** (0 minutes 0.746 seconds) .. _sphx_glr_download_sample_data_elevation_nl.py: diff --git a/_sources/sample_data/sg_execution_times.rst.txt b/_sources/sample_data/sg_execution_times.rst.txt index 618405ef..69b9f60d 100644 --- a/_sources/sample_data/sg_execution_times.rst.txt +++ b/_sources/sample_data/sg_execution_times.rst.txt @@ -6,7 +6,7 @@ Computation times ================= -**00:01.299** total execution time for 5 files **from sample_data**: +**00:01.316** total execution time for 5 files **from sample_data**: .. container:: @@ -33,13 +33,13 @@ Computation times - Time - Mem (MB) * - :ref:`sphx_glr_sample_data_elevation_nl.py` (``elevation_nl.py``) - - 00:00.749 + - 00:00.746 - 0.0 * - :ref:`sphx_glr_sample_data_adh_san_diego.py` (``adh_san_diego.py``) - - 00:00.292 + - 00:00.309 - 0.0 * - :ref:`sphx_glr_sample_data_disk.py` (``disk.py``) - - 00:00.139 + - 00:00.141 - 0.0 * - :ref:`sphx_glr_sample_data_provinces_nl.py` (``provinces_nl.py``) - 00:00.065 diff --git a/_sources/sg_execution_times.rst.txt b/_sources/sg_execution_times.rst.txt index 42b186a3..2f47492c 100644 --- a/_sources/sg_execution_times.rst.txt +++ b/_sources/sg_execution_times.rst.txt @@ -6,7 +6,7 @@ Computation times ================= -**00:53.155** total execution time for 14 files **from all galleries**: +**00:53.010** total execution time for 14 files **from all galleries**: .. container:: @@ -33,40 +33,40 @@ Computation times - Time - Mem (MB) * - :ref:`sphx_glr_examples_vector_conversion.py` (``../examples/vector_conversion.py``) - - 00:16.640 + - 00:16.544 - 0.0 * - :ref:`sphx_glr_examples_plotting.py` (``../examples/plotting.py``) - - 00:12.659 + - 00:12.241 - 0.0 * - :ref:`sphx_glr_examples_regridder_overview.py` (``../examples/regridder_overview.py``) - - 00:08.174 + - 00:08.219 - 0.0 * - :ref:`sphx_glr_examples_overlap_regridder.py` (``../examples/overlap_regridder.py``) - - 00:04.037 + - 00:03.986 - 0.0 * - :ref:`sphx_glr_examples_partitioning.py` (``../examples/partitioning.py``) - - 00:03.815 + - 00:03.983 - 0.0 * - :ref:`sphx_glr_examples_selection.py` (``../examples/selection.py``) - - 00:03.536 + - 00:03.653 - 0.0 * - :ref:`sphx_glr_examples_connectivity.py` (``../examples/connectivity.py``) - - 00:01.357 + - 00:01.370 - 0.0 * - :ref:`sphx_glr_examples-dev_voronoi.py` (``../examples-dev/voronoi.py``) - - 00:01.146 + - 00:01.195 - 0.0 * - :ref:`sphx_glr_sample_data_elevation_nl.py` (``../data/examples/elevation_nl.py``) - - 00:00.749 + - 00:00.746 - 0.0 * - :ref:`sphx_glr_examples_quick_overview.py` (``../examples/quick_overview.py``) - - 00:00.492 + - 00:00.504 - 0.0 * - :ref:`sphx_glr_sample_data_adh_san_diego.py` (``../data/examples/adh_san_diego.py``) - - 00:00.292 + - 00:00.309 - 0.0 * - :ref:`sphx_glr_sample_data_disk.py` (``../data/examples/disk.py``) - - 00:00.139 + - 00:00.141 - 0.0 * - :ref:`sphx_glr_sample_data_provinces_nl.py` (``../data/examples/provinces_nl.py``) - 00:00.065 diff --git a/changelog.html b/changelog.html index 8775e603..ed734a9e 100644 --- a/changelog.html +++ b/changelog.html @@ -664,11 +664,27 @@

    ChangelogKeep a Changelog, and this project adheres to Semantic Versioning.

    -
    -

    [0.11.1] 2024-08-13#

    +
    +

    Unreleased#

    Fixed#

      +
    • The regridders will no longer flip around data along an axis when regridding +from data from structured to unstructured form when the coordinates along the +dimensions is decreasing. (Decreasing y-axis is a common occurence in +geospatial rasters.)

    • +
    • The regridders will no longer error on .regrid() if a structured target +grid is non-equidistant, and contains an array delta (d) coordinate +rather than a single delta to denote cell sizes along a dimension (i.e. +dy along y midpoints, and dx along x.)

    • +
    +
    +
    +
    +

    [0.11.1] 2024-08-13#

    +
    +

    Fixed#

    +
    • The reduction methods for the overlap regridders now behave consistently when all values are NaN or when all weights (overlaps) are zero, and all methods give the same answer irrespective of the order in which the values are @@ -700,10 +716,10 @@

      Changed#<

    -
    -

    [0.11.0] 2024-08-05#

    -

    Fixed#

    +

    [0.11.0] 2024-08-05#

    +
    +

    Fixed#

    • xugrid.merge_partitions() now automatically merges chunks (if defined in the partition datasets). This removes the commonly seen @@ -719,8 +735,8 @@

      Fixed#

    -
    -

    Added#

    +
    +

    Added#

    -
    -

    Changed#

    +
    +

    Changed#

    -
    -

    [0.10.0] 2024-05-01#

    -

    Fixed#

    +

    [0.10.0] 2024-05-01#

    +
    +

    Fixed#

    -
    -

    Added#

    +
    +

    Added#

    -
    -

    [0.9.0] 2024-02-15#

    -

    Fixed#

    +

    [0.9.0] 2024-02-15#

    +
    +

    Fixed#

    • xugrid.Ugrid2d.equals() and xugrid.Ugrid1d.equals() test if dataset is equal instead of testing type.

    • @@ -783,8 +799,8 @@

      Fixed#

    -
    -

    Added#

    +
    +

    Added#

    -
    -

    Changed#

    +
    +

    Changed#

    -
    -

    [0.8.1] 2024-01-19#

    -

    Fixed#

    +

    [0.8.1] 2024-01-19#

    +
    +

    Fixed#

    • xugrid.UgridDataArrayAccessor.reindex_like() will now take the tolerance argument into account before sorting. In the past, near ties could be resolved differently between otherwise similar grid topologies due to roundoff.

    -
    -

    Added#

    +
    +

    Added#

    -
    -

    Changed#

    +
    +

    Changed#

    -
    -

    [0.8.0] 2023-12-11#

    -

    Changed#

    +

    [0.8.0] 2023-12-11#

    +
    +

    Changed#

    • Initialize Meshkernel with a spherical projection if the coordinate reference system (crs) is geographic.

    • @@ -856,20 +872,20 @@

      Changed#

    -
    -

    [0.7.1] 2023-11-17#

    -

    Fixed#

    +

    [0.7.1] 2023-11-17#

    +
    +

    Fixed#

    • Support for Meshkernel 3 (#171). Initialize Meshkernel with defaults, setting it to cartesian projection.

    -
    -

    [0.7.0] 2023-10-19#

    -

    Added#

    +

    [0.7.0] 2023-10-19#

    +
    +

    Added#

    -
    -

    Changed#

    +
    +

    Changed#

    • UGRID 2D topologies are no longer automatically forced in counterclockwise orientation during initialization.

    -
    -

    Fixed#

    +
    +

    Fixed#

    -
    -

    [0.6.5] 2023-09-30#

    -

    Added#

    +

    [0.6.5] 2023-09-30#

    +
    +

    Added#

    -
    -

    Changed#

    +
    +

    Changed#

    • Selection operations along a line, or at point locations, will now prefix the name of the grid in the x and y coordinates. This avoids name collisions when @@ -934,8 +950,8 @@

      Changed# parts of xarray were used which no longer existed.

    -
    -

    Fixed#

    +
    +

    Fixed#

    • xugrid.UgridDatasetAccessor.sel() would return only a single grid topology even when the selection subject contains more than one grid. It now @@ -943,20 +959,20 @@

      Fixed#

    -
    -

    [0.6.4] 2023-08-22#

    -

    Fixed#

    +

    [0.6.4] 2023-08-22#

    +
    +

    Fixed#

    -
    -

    [0.6.3] 2023-08-12#

    -

    Added#

    +

    [0.6.3] 2023-08-12#

    +
    +

    Added#

    • Added xugrid.burn_vector_geometries() to burn vector geometries in the form of geopandas GeoDataFrames into a Ugrid2d topology.

    • @@ -982,8 +998,8 @@

      Added#

    -
    -

    Fixed#

    +
    +

    Fixed#

    -
    -

    Changed#

    +
    +

    Changed#

    • Initializing a Ugrid2d topology with an invalid edge_node_connectivity will no longer raise an error.

    • @@ -1013,10 +1029,10 @@

      Changed#

    -
    -

    [0.6.2] 2023-07-26#

    -

    Fixed#

    +

    [0.6.2] 2023-07-26#

    +
    +

    Fixed#

    • Computing indexer to avoid dask array of unknown shape upon plotting. See #117.

    • @@ -1027,20 +1043,20 @@

      Fixed#

    -
    -

    [0.6.1] 2023-07-07#

    -

    Fixed#

    +

    [0.6.1] 2023-07-07#

    +
    +

    Fixed#

    • Fillvalue was not properly replaced in cast. See #113.

    -
    -

    [0.6.0] 2023-07-05#

    -

    Added#

    +

    [0.6.0] 2023-07-05#

    +
    +

    Added#

    -
    -

    Fixed#

    +
    +

    Fixed#

    • Regridding is possible again with regridders initiated from_weights. See #90. @@ -1072,18 +1088,18 @@

      Fixed#

      Fixed numba typing error for regridders.

    -
    -

    Changed#

    +
    +

    Changed#

    • Regridding structured grids now throws error if computed weights < 0.0 or > 1.0, before these weights were clipped to 0.0 and 1.0 respectively.

    -
    -

    [0.5.0] 2023-05-25#

    -

    Added#

    +

    [0.5.0] 2023-05-25#

    +
    +

    Added#

    -
    -

    [0.4.0] 2023-05-05#

    -

    Fixed#

    +

    [0.4.0] 2023-05-05#

    +
    +

    Fixed#

    -
    -

    Changed#

    +
    +

    Changed#

    -
    -

    Added#

    +
    +

    Added#

    -
    -

    [0.3.0] 2023-03-14#

    -

    Fixed#

    -
    +

    [0.3.0] 2023-03-14#

    -

    Changed#

    +

    Fixed#

    +
    +
    +

    Changed#

    • pygeos has been replaced by shapely >= 2.0.

    • xugrid.snap_to_grid() will now return a UgridDataset and a geopandas @@ -1162,18 +1178,18 @@

      Changed# negative data.

    -
    -

    Added#

    +
    +

    Added#

    -
    -

    [0.2.1] 2023-02-06#

    -

    Fixed#

    +

    [0.2.1] 2023-02-06#

    +
    +

    Fixed#

    -
    -

    Changed#

    -
    -

    Added#

    +

    Changed#

    +
    +
    +

    Added#

    • Several regridding methods have been added for face associated data: xugrid.BarycentricInterpolator have been added to interpolate @@ -1200,10 +1216,10 @@

      Added#

    -
    -

    [0.2.0] 2023-01-19#

    -

    Fixed#

    +

    [0.2.0] 2023-01-19#

    +
    +

    Fixed#

    -
    -

    Changed#

    +
    +

    Changed#

    • Forwarding to the internal xarray object is now setup at class definition of UgridDataArray and UgridDataset rather than at runtime. @@ -1252,8 +1268,8 @@

      Changed# only a left or right neighbor).

    -
    -

    Added#

    +
    +

    Added#

    • xugrid.Ugrid1d and xugrid.Ugrid2d can now be initialized with an attrs argument to setup non-default UGRID attributes such as @@ -1273,28 +1289,28 @@

      Added#

    -
    -

    [0.1.10] 2022-12-13#

    -

    Fixed#

    +

    [0.1.10] 2022-12-13#

    +
    +

    Fixed#

    • Move matplotlib import into a function body so matplotlib remains an optional dependency.

    -
    -

    [0.1.9] 2022-12-13#

    -

    Changed#

    +

    [0.1.9] 2022-12-13#

    +
    +

    Changed#

    • Warn instead of error when the UGRID attributes indicate a set of coordinate that are not present in the dataset.

    • Use pyproject.toml for setuptools instead of setup.cfg.

    -
    -

    Added#

    +
    +

    Added#

    -
    -

    Fixed#

    +
    +

    Fixed#

    -
    -

    [0.1.7] 2022-09-06#

    -

    Fixed#

    +

    [0.1.7] 2022-09-06#

    +
    +

    Fixed#

    • The setitem method of xugrid.UgridDataset has been updated to check the dimensions of grids rather than the dimensions of objects to decide @@ -1337,25 +1353,25 @@

      Fixed#

    -
    -

    [0.1.5] 2022-08-22#

    -

    Fixed#

    +

    [0.1.5] 2022-08-22#

    +
    +

    Fixed#

    • list and dict type annotations have been replaced with List and Dict from the typing module to support older versions of Python (<3.9).

    -
    -

    Changed#

    +
    +

    Changed#

    -
    -

    Added#

    +
    +

    Added#

    -
    -

    [0.1.4] 2022-08-16#

    -

    Fixed#

    +

    [0.1.4] 2022-08-16#

    +
    +

    Fixed#

    • A start_index of 1 in connectivity arrays is handled and will no longer result in indexing errors.

    • levels argument is now respected in line and pcolormesh plotting methods.

    -
    -

    Changed#

    +
    +

    Changed#

    • UGRID variables are now extracted via xugrid.UgridRolesAccessor to allow for multiple UGRID topologies in a single dataset.

    • @@ -1407,8 +1423,8 @@

      Changed# instead, which can check for consistency with the xarray object.

    -
    -

    Added#

    +
    +

    Added#

    -
    -

    [0.1.3] 2021-12-23#

    +
    +

    [0.1.3] 2021-12-23#

    @@ -1475,134 +1491,138 @@

    [0.1.3] 2021-12-23

    @@ -973,7 +973,7 @@

    UgridDataArrayuda.ugrid.plot() -plotting
    -plotting -plotting

    @@ -1106,7 +1106,7 @@

    Additional Arguments
    ds["face_z"].ugrid.plot(cmap="RdBu", levels=8, yincrease=False)
     
    -plotting
    <matplotlib.collections.PolyCollection object at 0x7fb1f94b8da0>
    +plotting
    <matplotlib.collections.PolyCollection object at 0x7f71684ce120>
     

    @@ -1120,7 +1120,7 @@

    As a functionxugrid.plot.pcolormesh(grid, da) -plotting
    <matplotlib.collections.PolyCollection object at 0x7fb1eeb18da0>
    +plotting
    <matplotlib.collections.PolyCollection object at 0x7f716972ab10>
     

    @@ -1134,10 +1134,10 @@

    Xarray DataArray plotsdepth.isel(node=1000).plot() -node_x = 4.84e+05, node_y = 3.614e+06, node = 1000

    @@ -2138,7 +2138,7 @@

    Data selectionsubset.ugrid.plot() -quick overview
    <matplotlib.collections.PolyCollection object at 0x7fb1f877ed20>
    +quick overview
    <matplotlib.collections.PolyCollection object at 0x7f717238d6a0>
     
    @@ -2522,7 +2522,7 @@

    ComputationTotal running time of the script: (0 minutes 0.492 seconds)

    +

    Total running time of the script: (0 minutes 0.504 seconds)

    -regridder overview
    <matplotlib.collections.PolyCollection object at 0x7fb1eecbd100>
    +regridder overview
    <matplotlib.collections.PolyCollection object at 0x7f71695168a0>
     

    Xugrid provides several “regridder” classes which can convert gridded data @@ -490,7 +490,7 @@

    CentroidLocatorRegridderax.scatter(*grid.centroids.T, color="red")

    -regridder overview -regridder overview
    <matplotlib.collections.PolyCollection object at 0x7fb1f93e4ef0>
    +regridder overview
    <matplotlib.collections.PolyCollection object at 0x7f7169517740>
     

    @@ -512,7 +512,7 @@

    OverlapRegriddermean.ugrid.plot(vmin=-20, vmax=90, cmap="terrain", edgecolor="red") -regridder overview -regridder overview -regridder overview -regridder overview
    [<matplotlib.lines.Line2D object at 0x7fb1ef6f8230>, <matplotlib.lines.Line2D object at 0x7fb1ef6fb920>, <matplotlib.lines.Line2D object at 0x7fb1ef6f9430>, <matplotlib.lines.Line2D object at 0x7fb1ef6faea0>, <matplotlib.lines.Line2D object at 0x7fb1ef6f80b0>]
    +regridder overview
    [<matplotlib.lines.Line2D object at 0x7f716969dbb0>, <matplotlib.lines.Line2D object at 0x7f716969ec30>, <matplotlib.lines.Line2D object at 0x7f716969d7c0>, <matplotlib.lines.Line2D object at 0x7f716969d010>, <matplotlib.lines.Line2D object at 0x7f716969c2c0>]
     

    @@ -1431,7 +1431,7 @@

    BarycentricInterpolatorpart.ugrid.plot(vmin=-20, vmax=90, cmap="terrain") -regridder overview -regridder overview
    <matplotlib.collections.PolyCollection object at 0x7fb1f8d751f0>
    +regridder overview
    <matplotlib.collections.PolyCollection object at 0x7f71731f6840>
     

    @@ -1466,7 +1466,7 @@

    Arbitrary gridsvoronoi_grid.plot(ax=ax, color="red") -regridder overview
    <matplotlib.collections.LineCollection object at 0x7fb1f8761280>
    +regridder overview
    <matplotlib.collections.LineCollection object at 0x7f7173239340>
     

    @@ -1480,10 +1480,10 @@

    Re-use#result.ugrid.plot(vmin=-20, vmax=90, cmap="terrain") -regridder overview
    <matplotlib.collections.PolyCollection object at 0x7fb1ee8d9790>
    +regridder overview
    <matplotlib.collections.PolyCollection object at 0x7f716877ab10>
     
    -

    Total running time of the script: (0 minutes 8.174 seconds)

    +

    Total running time of the script: (0 minutes 8.219 seconds)

    -selection -selection -selection -selection -selection
    <matplotlib.collections.PolyCollection object at 0x7fb1eebbe720>
    +selection
    <matplotlib.collections.PolyCollection object at 0x7f7172366810>
     

    @@ -923,7 +923,7 @@

    Point selection.ugrid.sel_points instead:

    @@ -1695,7 +1695,7 @@

    Point selectionsubset.ugrid.plot(vmin=-20, vmax=90, cmap="terrain", aspect=1, size=5) -selection
    <matplotlib.collections.PolyCollection object at 0x7fb1efd3b260>
    +selection
    <matplotlib.collections.PolyCollection object at 0x7f71693e44d0>
     

    For a 2D topology, selecting faces by an index always results in a valid @@ -2989,7 +2989,7 @@

    Index selectionTotal running time of the script: (0 minutes 3.536 seconds)

    +

    Total running time of the script: (0 minutes 3.653 seconds)