Skip to content
This repository was archived by the owner on Mar 6, 2023. It is now read-only.
Open
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
9 changes: 8 additions & 1 deletion src/openeo_processes/cubes.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -17,7 +18,13 @@

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 as exp:
raise ValueError('For the provided collection, spatial and temporal extent no data is available. Please try'
' a different extent.')
except KeyError:
raise DimensionNotAvailable()

# Improve CPU and MEM USAGE
for name, data_var in datacube.data_vars.items():
Expand Down
8 changes: 8 additions & 0 deletions src/openeo_processes/errors.py
Original file line number Diff line number Diff line change
Expand Up @@ -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