From 616bedc2411bbd7ddc765d42e032450eea29734d Mon Sep 17 00:00:00 2001 From: Fabien Maussion Date: Sat, 11 Feb 2023 18:35:45 +0100 Subject: [PATCH] Fix Scipy and other updates --- oggm/core/centerlines.py | 6 +++--- oggm/tests/test_prepro.py | 2 +- oggm/utils/_funcs.py | 5 ++++- oggm/utils/_workflow.py | 1 - 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/oggm/core/centerlines.py b/oggm/core/centerlines.py index 98230424d..24c61f2a8 100644 --- a/oggm/core/centerlines.py +++ b/oggm/core/centerlines.py @@ -513,7 +513,7 @@ def _filter_lines_slope(lines, heads, topo, gdir, min_slope): # (0, 0) is also located in the center of the pixel xy = (np.arange(0, gdir.grid.ny-0.1, 1), np.arange(0, gdir.grid.nx-0.1, 1)) - interpolator = RegularGridInterpolator(xy, topo) + interpolator = RegularGridInterpolator(xy, topo.astype(np.float64)) olines = [lines[0]] oheads = [heads[0]] @@ -1271,7 +1271,7 @@ def compute_downstream_bedshape(gdir): x = nc.variables['x'][:] y = nc.variables['y'][:] xy = (np.arange(0, len(y)-0.1, 1), np.arange(0, len(x)-0.1, 1)) - interpolator = RegularGridInterpolator(xy, topo) + interpolator = RegularGridInterpolator(xy, topo.astype(np.float64)) bs, terrain_heights = _parabolic_bed_from_topo(gdir, cl, interpolator) assert len(bs) == cl.nx, 'len(bs) == cl.nx' @@ -1732,7 +1732,7 @@ def initialize_flowlines(gdir): # (0, 0) is also located in the center of the pixel xy = (np.arange(0, gdir.grid.ny-0.1, 1), np.arange(0, gdir.grid.nx-0.1, 1)) - interpolator = RegularGridInterpolator(xy, topo) + interpolator = RegularGridInterpolator(xy, topo.astype(np.float64)) # Smooth window sw = cfg.PARAMS['flowline_height_smooth'] diff --git a/oggm/tests/test_prepro.py b/oggm/tests/test_prepro.py index edf8ba456..f6ab98c9c 100644 --- a/oggm/tests/test_prepro.py +++ b/oggm/tests/test_prepro.py @@ -666,7 +666,7 @@ def test_downstream_bedshape(self): x = nc.variables['x'][:] y = nc.variables['y'][:] xy = (np.arange(0, len(y) - 0.1, 1), np.arange(0, len(x) - 0.1, 1)) - interpolator = RegularGridInterpolator(xy, topo) + interpolator = RegularGridInterpolator(xy, topo.astype(np.float64)) zref = [interpolator((p.xy[1][0], p.xy[0][0])) for p in points] diff --git a/oggm/utils/_funcs.py b/oggm/utils/_funcs.py index b09c7e663..d00e84c86 100644 --- a/oggm/utils/_funcs.py +++ b/oggm/utils/_funcs.py @@ -741,7 +741,10 @@ def filter_rgi_name(name): This seems to be unnecessary with RGI V6 """ - if name is None or len(name) == 0: + try: + if name is None or len(name) == 0: + return '' + except TypeError: return '' if name[-1] in ['À', 'È', 'è', '\x9c', '3', 'Ð', '°', '¾', diff --git a/oggm/utils/_workflow.py b/oggm/utils/_workflow.py index 2bbb0bd54..3c7f8fd55 100644 --- a/oggm/utils/_workflow.py +++ b/oggm/utils/_workflow.py @@ -2617,7 +2617,6 @@ def __init__(self, rgi_entity, base_dir=None, reset=False, self.rgi_subregion = (self.rgi_region + '-' + '{:02d}'.format(int(rgi_entity.O2Region))) - try: name = str(rgi_entity.name) rgi_datestr = rgi_entity.src_date