Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/api/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ Fixed
- Fixed :func:`imod.prepare.spatial.polygonize` for polygons with holes.
- :func:`imod.formats.prj.open_projectfile_data` now drops empty wells from the
dataset, and logs a warning about it.
- :meth:`imod.mf6.NodePropertyFlow.regrid_like` now regrids ``k33`` using the
correct method, namely ``mean`` instead of ``harmonic_mean``. As this is the
appropriate method for horizontal regridding of ``k33``.

Changed
~~~~~~~
Expand Down
35 changes: 19 additions & 16 deletions examples/user-guide/08-regridding.py
Original file line number Diff line number Diff line change
Expand Up @@ -372,22 +372,25 @@ def plot_histograms_side_by_side(array_original, array_regridded, title):
# A note on regridding conductivity
# ---------------------------------
#
# In the npf package, it is possible to use for definining the conductivity
# tensor:
#
# - 1 array (K)
# - 2 arrays (K and K22)
# - 3 arrays (K, K22, K33)
#
# If 1 array is given the tensor is called isotropic. Defining only K gives the
# same behavior as specifying K, K22 and K33 with the same value. When
# regridding, K33 has a default method different from that of K and K22, but it
# can only be applied if K33 exists in the source model in the first place. So
# it is recommended to introduce K33 as a separate array in the source model
# even if it is isotropic. Also note that default regridding methods were chosen
# assuming that K and K22 are roughly horizontal and K33 roughly vertical. But
# this may not be the case if the input arrays angle2 and/or angle3 have large
# values.
# By default, K and K22 are regrid with a different method than K33. Namely K
# and K22 are regridded by default with a geometric mean (Bierkens, 1998),
# whereas K33 is regrid with an arithmetic mean. Note that default regridding
# methods were chosen assuming that K and K22 are roughly horizontal and K33
# roughly vertical. But this may not be the case if the input arrays angle2
# and/or angle3 have large values.
#
# Furthermore it is possible to only provide one array for the hydraulic
# conductivity, K. In that case, the same k values are used in all directions
# (K, K22, and K33), and the model is called isotropic. It is recommended to
# introduce K33 as a separate array in the source model even if it is isotropic
# when regridding simulations, as K33 is regridded with a different method.
#
# Reference:
#
# Bierkens, M., van der Gaast, J. Upscaling hydraulic conductivity: theory and
# examples from geohydrological studies. *Nutrient Cycling in Agroecosystems* **50**,
# 193–207 (1998). https://doi.org/10.1023/A:1009740328153
#
#
# Regridding boundary conditions
# ------------------------------
Expand Down
4 changes: 2 additions & 2 deletions imod/mf6/regrid/regrid_schemes.py
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ class NodePropertyFlowRegridMethod(DataclassType):
icelltype: tuple, defaults (RegridderType.OVERLAP, "mean")
k: tuple, defaults ( RegridderType.OVERLAP,"geometric_mean")
k22: tuple, defaults (RegridderType.OVERLAP,"geometric_mean")
k33: tuple, defaults (RegridderType.OVERLAP,"harmonic_mean")
k33: tuple, defaults (RegridderType.OVERLAP,"mean")
angle1: tuple, defaults (RegridderType.OVERLAP, "mean")
angle2: tuple, defaults (RegridderType.OVERLAP, "mean")
angle3: tuple, defaults (RegridderType.OVERLAP, "mean")
Expand Down Expand Up @@ -319,7 +319,7 @@ class NodePropertyFlowRegridMethod(DataclassType):
) # horizontal if angle2 = 0 & angle3 = 0
k33: RegridVarType = (
RegridderType.OVERLAP,
"harmonic_mean",
"mean",
) # vertical if angle2 = 0 & angle3 = 0
angle1: RegridVarType = (RegridderType.OVERLAP, "mean")
angle2: RegridVarType = (RegridderType.OVERLAP, "mean")
Expand Down
2 changes: 1 addition & 1 deletion pixi.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading