From 64ba43b1a660d4de4638ea5ada900b333aae421b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dav=C3=ADd=20Brakenhoff?= Date: Fri, 5 Jul 2024 13:50:20 +0200 Subject: [PATCH 1/4] reset dev branch after release --- nlmod/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nlmod/version.py b/nlmod/version.py index 213fe8f0..bebe543f 100644 --- a/nlmod/version.py +++ b/nlmod/version.py @@ -1,7 +1,7 @@ from importlib import metadata from platform import python_version -__version__ = "0.8.0" +__version__ = "0.8.1.dev0" def show_versions() -> None: From 9bcbc73156b5b8b759b0a4ea3b355dcca0b8c0d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ruben=20Calj=C3=A9?= Date: Thu, 25 Jul 2024 15:52:18 +0200 Subject: [PATCH 2/4] Handle -9999 values in regis (issue #362) --- nlmod/read/regis.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/nlmod/read/regis.py b/nlmod/read/regis.py index f1ba8683..c5f7f387 100644 --- a/nlmod/read/regis.py +++ b/nlmod/read/regis.py @@ -99,6 +99,7 @@ def get_regis( remove_nan_layers=True, drop_layer_dim_from_top=True, probabilities=False, + nodata=-9999, ): """Get a regis dataset projected on the modelgrid. @@ -158,6 +159,17 @@ def get_regis( # rename bottom to botm, as it is called in FloPy ds = ds.rename_vars({"bottom": "botm"}) + # slice data vars + if variables is not None: + if probabilities: + variables = variables + ("sdh", "sdv") + ds = ds[list(variables)] + + # since version REGIS v02r2s2 (22.07.2024) NaN values are replaced by -9999 + # we set these values to NaN again + for var in variables: + ds[var] = ds[var].where(ds[var] != nodata) + if remove_nan_layers: # only keep layers with at least one active cell ds = ds.sel(layer=~(np.isnan(ds["botm"])).all(ds["botm"].dims[1:])) @@ -168,12 +180,6 @@ def get_regis( if drop_layer_dim_from_top: ds = remove_layer_dim_from_top(ds) - # slice data vars - if variables is not None: - if probabilities: - variables = variables + ("sdh", "sdv") - ds = ds[list(variables)] - ds.attrs["gridtype"] = "structured" ds.attrs["extent"] = extent for datavar in ds: From 5da6118bb07be30e5df042c92ead85cffff6e608 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ruben=20Calj=C3=A9?= Date: Thu, 25 Jul 2024 15:55:55 +0200 Subject: [PATCH 3/4] Set to version 0.8.1 --- nlmod/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nlmod/version.py b/nlmod/version.py index bebe543f..427fcd7b 100644 --- a/nlmod/version.py +++ b/nlmod/version.py @@ -1,7 +1,7 @@ from importlib import metadata from platform import python_version -__version__ = "0.8.1.dev0" +__version__ = "0.8.1" def show_versions() -> None: From e8e5f1d8643a37ef416a7acec0df6896085d4318 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ruben=20Calj=C3=A9?= Date: Thu, 25 Jul 2024 16:16:48 +0200 Subject: [PATCH 4/4] Add docstring and option to set nodata to None --- nlmod/read/regis.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/nlmod/read/regis.py b/nlmod/read/regis.py index c5f7f387..a26feb7b 100644 --- a/nlmod/read/regis.py +++ b/nlmod/read/regis.py @@ -126,6 +126,9 @@ def get_regis( possibilities of gaps between layers. The default is True. probabilities : bool, optional if True, also download probability data. The default is False. + nodata : int or float, optional + When nodata is not None, set values equal to nodata to nan. The default is + -9999. Returns ------- @@ -167,8 +170,9 @@ def get_regis( # since version REGIS v02r2s2 (22.07.2024) NaN values are replaced by -9999 # we set these values to NaN again - for var in variables: - ds[var] = ds[var].where(ds[var] != nodata) + if nodata is not None: + for var in variables: + ds[var] = ds[var].where(ds[var] != nodata) if remove_nan_layers: # only keep layers with at least one active cell