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 @@
)
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
<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
PandasIndex(RangeIndex(start=0, stop=217, step=1, name='mesh2d_nNodes'))
PandasIndex(RangeIndex(start=0, stop=600, step=1, name='mesh2d_nEdges'))
PandasIndex(RangeIndex(start=0, stop=384, step=1, name='mesh2d_nFaces'))
<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
<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
<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
PandasIndex(RangeIndex(start=0, stop=217, step=1, name='mesh2d_nNodes'))
PandasIndex(RangeIndex(start=0, stop=600, step=1, name='mesh2d_nEdges'))
PandasIndex(RangeIndex(start=0, stop=384, step=1, name='mesh2d_nFaces'))
<xarray.Dataset> Size: 0B Dimensions: () Data variables: - *empty*+ *empty*
[5248 values with dtype=float64]
[5248 values with dtype=float64]
array([1, 2, 3, 4, 5])
array([ 0, 1, 2, ..., 5245, 5246, 5247])
PandasIndex(Index([1, 2, 3, 4, 5], dtype='int64', name='layer'))
PandasIndex(RangeIndex(start=0, stop=5248, step=1, name='mesh2d_nFaces'))
PandasIndex(Index([1, 2, 3, 4, 5], dtype='int64', name='layer'))
PandasIndex(RangeIndex(start=0, stop=98, step=1, name='mesh2d_nFaces'))
array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11.])
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'))
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
.)
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 @@
xugrid.merge_partitions()
now automatically merges chunks (if defined
in the partition datasets). This removes the commonly seen
@@ -719,8 +735,8 @@
Included edge_node_connectivity
in xugrid.Ugrid2d.from_meshkernel()
,
so the ordering of edges is consistent with meshkernel
.
xugrid.UgridDataArrayAccessor.laplace_interpolate()
now uses rtol
and atol
keywords instead of tol
, to match changes in
@@ -742,10 +758,10 @@
Fixed indexing bug in the "mode"
method in
xugrid.CentroidLocatorRegridder
, xugrid.OverlapRegridder
,
@@ -753,8 +769,8 @@
xugrid.earcut_triangulate_polygons()
and
xugrid.Ugrid2d.earcut_triangulate_polygons()
have been added to break
@@ -766,10 +782,10 @@
xugrid.Ugrid2d.equals()
and xugrid.Ugrid1d.equals()
test if
dataset is equal instead of testing type.
xugrid.Ugrid2d.from_structured_multicoord()
has been added
to generate UGRID topologies from rotated or approximated curvilinear grids.
xugrid.Ugrid2d.from_structured()
now takes x
and y
arguments instead
of x_bounds
and y_bounds
arguments.
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.
xugrid.UgridDataArrayAccessor.laplace_interpolate()
now also supports
interpolation of node associated data, and Ugrid1d topologies.
xugrid.UgridDataArrayAccessor.laplace_interpolate()
no longer uses scipy’s
ILU decomposition as a preconditioner. A simpler and more effective preconditioner
@@ -845,10 +861,10 @@
Initialize Meshkernel with a spherical projection if the coordinate reference system (crs) is geographic.
Support for Meshkernel 3 (#171). Initialize Meshkernel with defaults, setting it to cartesian projection.
xugrid.Ugrid2d.to_nonperiodic()
,
xugrid.UgridDataArrayAccessor.to_nonperiodic()
and
@@ -889,15 +905,15 @@
UGRID 2D topologies are no longer automatically forced in counterclockwise orientation during initialization.
Using an index which only reorders but does not change the size in
xugrid.Ugrid1d.topology_subset()
or
@@ -909,10 +925,10 @@
xugrid.Ugrid2d.intersect_line()
,
xugrid.Ugrid2d.intersect_linestring()
@@ -923,8 +939,8 @@
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 @@
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 @@
Bug in xugrid.snap_to_grid()
, which caused an IndexError
.
See #122.
Added xugrid.burn_vector_geometries()
to burn vector geometries in the
form of geopandas GeoDataFrames into a Ugrid2d topology.
xugrid.CentroidLocatorRegridder
, xugrid.OverlapRegridder
,
and xugrid.BarycentricInterpolator
will now also regrid structured
@@ -999,8 +1015,8 @@
Initializing a Ugrid2d topology with an invalid edge_node_connectivity will no longer raise an error.
Computing indexer to avoid dask array of unknown shape upon plotting. See #117.
Fillvalue was not properly replaced in cast. See #113.
xugrid.Ugrid2d.label_partitions()
, xugrid.Ugrid2d.partition()
,
xugrid.Ugrid2d.merge_partitions()
have been added to partition and merge
@@ -1059,8 +1075,8 @@
xugrid.Ugrid1d.contract_vertices()
has been added.
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.
xugrid.BarycentricInterpolator
,
xugrid.CentroidLocatorRegridder
, xugrid.OverlapRegridder
,
@@ -1092,10 +1108,10 @@
xugrid.Ugrid2d.tesselate_centroidal_voronoi()
and
xugrid.Ugrid2d.tesselate_circumcenter_voronoi()
will only include
@@ -1107,8 +1123,8 @@
geopandas
was missing in the environment.xugrid.Ugrid2d.sel_points()
and
xugrid.UgridDataArrayAccessor.sel_points()
now return a result with an
@@ -1121,8 +1137,8 @@
xugrid.Ugrid2d.tesselate_circumcenter_voronoi()
has been added to
provide orthogonal voronoi cells for triangular grids.
pygeos
has been replaced by shapely >= 2.0
.
xugrid.snap_to_grid()
will now return a UgridDataset and a geopandas
@@ -1162,18 +1178,18 @@
xugrid.Ugrid2d.tesselate_circumcenter_voronoi()
has been added to
provide orthogonal voronoi cells for triangular grids.
xugrid.open_dataarray()
will now return xugrid.UgridDataArray
instead of only an xarray DataArray without topology.
Several regridding methods have been added for face associated data:
xugrid.BarycentricInterpolator
have been added to interpolate
@@ -1200,10 +1216,10 @@
xugrid.Ugrid1d.topology_subset()
,
xugrid.Ugrid2d.topology_subset()
, and therefore also
@@ -1225,8 +1241,8 @@
Forwarding to the internal xarray object is now setup at class definition of
UgridDataArray
and UgridDataset
rather than at runtime.
@@ -1252,8 +1268,8 @@
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 @@
Move matplotlib import into a function body so matplotlib remains an optional dependency.
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.
xugrid.Ugrid1d.edge_bounds
has been added to get the bounds
for every edge contained in the grid.
xugrid.UgridDataArray.from_structured()
will no longer result in
a flipped grid when the structured coordintes are not ascending.
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 @@
list
and dict
type annotations have been replaced with List
and Dict
from the typing module to support older versions of Python (<3.9).
The inplace
argument has been removed from xugrid.Ugrid1d.to_crs()
and xugrid.Ugrid2d.to_crs()
; A copy is returned when the CRS is already
as requested.
xugrid.UgridDataArrayAccessor.set_crs()
has been added to set the CRS.
xugrid.UgridDataArrayAccessor.to_crs()
has been added to reproject the
@@ -1374,18 +1390,18 @@
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.
UGRID variables are now extracted via xugrid.UgridRolesAccessor
to
allow for multiple UGRID topologies in a single dataset.
xugrid.UgridRolesAccessor
has been added to extract UGRID variables
from xarray Datasets.