Error when running sychronous job

When I try and run the following notebook: NDVI Time series analysis

I run into the following error:

OpenEoApiError                            Traceback (most recent call last)
<timed eval> in <module>

/opt/conda/lib/python3.9/site-packages/openeo/rest/ in download(self, outputfile, format, options)
    107         # TODO: only add save_result, when not already present (see
    108         cube = self.save_result(format=format, options=options)
--> 109         return, outputfile)
    111     def execute_batch(

/opt/conda/lib/python3.9/site-packages/openeo/rest/ in download(self, graph, outputfile, timeout)
   1144         """
   1145         request = self._build_request_with_process_graph(process_graph=graph)
-> 1146         response ="/result", json=request, expected_status=200, stream=True, timeout=timeout)
   1148         if outputfile is not None:

/opt/conda/lib/python3.9/site-packages/openeo/rest/ in post(self, path, json, **kwargs)
    175         :return: response: Response
    176         """
--> 177         return self.request("post", path=path, json=json, allow_redirects=False, **kwargs)
    179     def delete(self, path, **kwargs) -> Response:

/opt/conda/lib/python3.9/site-packages/openeo/rest/ in request(self, method, path, headers, auth, check_error, expected_status, **kwargs)
    602         try:
    603             # Initial request attempt
--> 604             return _request()
    605         except OpenEoApiError as api_exc:
    606             if api_exc.http_status_code == 403 and api_exc.code == "TokenInvalid":

/opt/conda/lib/python3.9/site-packages/openeo/rest/ in _request()
    595         # Do request, but with retry when access token has expired and refresh token is available.
    596         def _request():
--> 597             return super(Connection, self).request(
    598                 method=method, path=path, headers=headers, auth=auth,
    599                 check_error=check_error, expected_status=expected_status, **kwargs,

/opt/conda/lib/python3.9/site-packages/openeo/rest/ in request(self, method, path, headers, auth, check_error, expected_status, **kwargs)
    123         expected_status = ensure_list(expected_status) if expected_status else []
    124         if check_error and status >= 400 and status not in expected_status:
--> 125             self._raise_api_error(resp)
    126         if expected_status and status not in expected_status:
    127             raise OpenEoRestError("Got status code {s!r} for `{m} {p}` (expected {e!r})".format(

/opt/conda/lib/python3.9/site-packages/openeo/rest/ in _raise_api_error(self, response)
    154             else:
    155                 exception = OpenEoApiError(http_status_code=status_code, message=text)
--> 156         raise exception
    158     def get(self, path, stream=False, auth: AuthBase = None, **kwargs) -> Response:

OpenEoApiError: [400] BackendLookupFailure: No backend matching all constraints (ref: r-9dc0a24b62ac4b279b615cbd6ac234a0)

Any suggestions how to fix that?

Does that happen consistently with every try? Because from initial check of the logs of that request, it seems you just hit a temporary glitch

Hey Stefaan,

I digged a bit deeper into the problem and it seems that VITO has removed the “SCL”- Band from the collection. Therefore, the masking can’t be done anymore. Any way to get around this?
When I don’t use the masking with the SCL Band then the timeseries that comes back is empty.

Also when I use the Sentinelhub collection (SENTINEL2_L2A_SENTINELHUB) where the SCL Band is provided the timeseries downloaded is empty.
Thanks in advance for any suggestions!

sorry I somehow missed your reply about SCL band.
That issue is being discussed/addressed in and python/BasicSentinelMerge broken due to missing SCL band · Issue #6 · Open-EO/openeo-community-examples · GitHub