Open-EO / openeo-processes

Interoperable processes for openEO's big Earth observation cloud processing.
https://processes.openeo.org
Apache License 2.0
48 stars 15 forks source link

Added exceptions for empty data cube handling #370

Closed m-mohr closed 2 years ago

m-mohr commented 2 years ago

As discussed in the dev telco:

soxofaan commented 2 years ago

one minor concern: in VITO backend we have the feature to combine the spatial and temporal extents from load_collection, filter_bbox and filter_temporal nodes in the process graph, and use the combined extents directly in the load_collection call. This could practically mean that a NoDataAvailable error is thrown from load_collection, while it is actually caused by e.g. a filter_bbox node.

Should NoDataAvailable also be mentioned in all the filter_* processes as well?

clausmichele commented 2 years ago

In my opinion yes, we should have this error message for the filter processes as well.

m-mohr commented 2 years ago

@soxofaan Strictly speaking from the process descriptions, the error message doesn't make a lot of sense there. Filtering removes dimension labels and you could get to an empty data cube. The question is whether you'd also want to throw an error if in arbitrary filter processes the result is a dimension with no labels (i.e. an empty data cube). This would also apply, if you for example load data from 2022 and then filter for data from May 2021 by accident. If that should result in an error, we could add a separate exception to the filter processes. In this case, I'd propose to use a generic DataCubeEmpty exception for load_collection and filters, which says something like:

The process resulted in an empty data cube, please verify whether the given constraints are correct