From bc6c74c2fa06b5d811d5f770c1bc7ead1d9303dc Mon Sep 17 00:00:00 2001 From: ValentinaHutter <85164505+ValentinaHutter@users.noreply.github.com> Date: Tue, 28 Sep 2021 14:59:25 +0200 Subject: [PATCH 1/2] Inserted error message in odc_load_helper --- src/openeo_processes/cubes.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/openeo_processes/cubes.py b/src/openeo_processes/cubes.py index 418bd42e..8a51d772 100644 --- a/src/openeo_processes/cubes.py +++ b/src/openeo_processes/cubes.py @@ -17,7 +17,12 @@ def odc_load_helper(odc_cube, params: Dict[str, Any]) -> xr.DataArray: """Helper method to load a xarray DataArray from ODC.""" - datacube = odc_cube.load(**params) + try: + datacube = odc_cube.load(**params) + except ValueError: + print('Product with determined extent not found') + except KeyError: + print('Constraints not found') # Improve CPU and MEM USAGE for name, data_var in datacube.data_vars.items(): From b12eba3414dc47eb272cb56d290360f2974d1901 Mon Sep 17 00:00:00 2001 From: sherrmann Date: Wed, 27 Oct 2021 14:33:22 +0200 Subject: [PATCH 2/2] Raise proper errors. Signed-off-by: sherrmann --- src/openeo_processes/cubes.py | 8 +++++--- src/openeo_processes/errors.py | 8 ++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/openeo_processes/cubes.py b/src/openeo_processes/cubes.py index 8a51d772..3bd3668f 100644 --- a/src/openeo_processes/cubes.py +++ b/src/openeo_processes/cubes.py @@ -6,6 +6,7 @@ import odc.algo import rioxarray # needed by save_result even if not directly called import xarray as xr +from openeo_processes.errors import DimensionNotAvailable from openeo_processes.extension.odc import write_odc_product from openeo_processes.utils import process, get_time_dimension_from_data from scipy import optimize @@ -19,10 +20,11 @@ def odc_load_helper(odc_cube, params: Dict[str, Any]) -> xr.DataArray: """Helper method to load a xarray DataArray from ODC.""" try: datacube = odc_cube.load(**params) - except ValueError: - print('Product with determined extent not found') + except ValueError as exp: + raise ValueError('For the provided collection, spatial and temporal extent no data is available. Please try' + ' a different extent.') except KeyError: - print('Constraints not found') + raise DimensionNotAvailable() # Improve CPU and MEM USAGE for name, data_var in datacube.data_vars.items(): diff --git a/src/openeo_processes/errors.py b/src/openeo_processes/errors.py index eff901b9..f9d54c0b 100644 --- a/src/openeo_processes/errors.py +++ b/src/openeo_processes/errors.py @@ -45,3 +45,11 @@ def __init__(self, msg): def __str__(self): return self.message + + +class DimensionNotAvailable(Exception): + def __init__(self, msg): + self.message = "A dimension (band) with the specified name does not exist." + + def __str__(self): + return self.message