Hello everyone,
I was trying to download the “s3a_ol_1_efr” collection using Python. Here’s the code I used (similar to cookbook code):
import openeo
connection = openeo.connect("openeo.cloud")
connection.authenticate_oidc()
bbox = (2.599318, 51.229076, 3.43409, 51.45897)
dc = connection.load_collection("s3a_ol_1_ef",temporal_extent=["2020-06-07","2020-06-07"]) #,bands=['B04','B03','B02','B08','B11','B12']
dc = dc.filter_bbox({'west':bbox[0],'east':bbox[2],'south':bbox[1],'north':bbox[3]})
result = dc.save_result("netCDF")
job = result.send_job()
job.start_and_wait()
job.get_results().download_files(PathSave_test + "test_openEO")
It gives the error: OpenEoApiError: [500] unknown: [500] 500: argument of type ‘NoneType’ is not iterable
The download works fine for e.g. the collections “SENTINEL1_GAMMA0_SENTINELHUB” or “TERRASCOPE_S2_TOC_V2”. So it might be an issue with the “s3a_ol_1_efr” collection.
Any idea what’s the issue here? I’m basically trying to get the individual Sentinel 3 bands, meaning the “SENTINEL3_SLSTR” collection is not suitable. But if there’s another collection that I didn’t find please let me know!
Full error message is here:
---------------------------------------------------------------------------
OpenEoApiError Traceback (most recent call last)
/Net/Groups/BGI/people/jgens/dataprocessing/openEO_Sen3.py in <module>
40 result = dc.save_result("netCDF")
41 job = result.send_job()
----> 42 job.start_and_wait()
43 job.get_results().download_files(PathSave_test + "test_openEO")
44 #sentinel2.download(PathSave_S2 + "S2_TOC_062020.nc")
/Net/Groups/BGI/people/jgens/miniconda3/envs/phd/lib/python3.8/site-packages/openeo/rest/job.py in start_and_wait(self, print, max_poll_interval, connection_retry_interval, soft_error_max)
161 # TODO: make `max_poll_interval`, `connection_retry_interval` class constants or instance properties?
162 print_status("send 'start'")
--> 163 self.start_job()
164
165 # TODO: also add `wait` method so you can track a job that already has started explicitly
/Net/Groups/BGI/people/jgens/miniconda3/envs/phd/lib/python3.8/site-packages/openeo/rest/job.py in start_job(self)
68 """ Start / queue a job for processing."""
69 # POST /jobs/{job_id}/results
---> 70 self.connection.post("/jobs/{}/results".format(self.job_id), expected_status=202)
71
72 def stop_job(self):
/Net/Groups/BGI/people/jgens/miniconda3/envs/phd/lib/python3.8/site-packages/openeo/rest/connection.py in post(self, path, json, **kwargs)
158 :return: response: Response
159 """
--> 160 return self.request("post", path=path, json=json, allow_redirects=False, **kwargs)
161
162 def delete(self, path, **kwargs) -> Response:
/Net/Groups/BGI/people/jgens/miniconda3/envs/phd/lib/python3.8/site-packages/openeo/rest/connection.py in request(self, method, path, headers, auth, check_error, expected_status, **kwargs)
106 expected_status = ensure_list(expected_status) if expected_status else []
107 if check_error and status >= 400 and status not in expected_status:
--> 108 self._raise_api_error(resp)
109 if expected_status and status not in expected_status:
110 raise OpenEoRestError("Got status code {s!r} for `{m} {p}` (expected {e!r})".format(
/Net/Groups/BGI/people/jgens/miniconda3/envs/phd/lib/python3.8/site-packages/openeo/rest/connection.py in _raise_api_error(self, response)
137 else:
138 exception = OpenEoApiError(http_status_code=status_code, message=text)
--> 139 raise exception
140
141 def get(self, path, stream=False, auth: AuthBase = None, **kwargs) -> Response:
OpenEoApiError: [500] unknown: [500] 500: argument of type 'NoneType' is not iterable