microsoft / farmvibes-ai

FarmVibes.AI: Multi-Modal GeoSpatial ML Models for Agriculture and Sustainability

Home Page:https://microsoft.github.io/farmvibes-ai/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fail on Merge failed when collecting data from space eye sentinel

shenoy10 opened this issue · comments

Hi Farmvibes team,

I'm using the space eye sentinel notebook to collect some data. I seem to be having some issues at the merge step after all the data is collected.
Here is the reason output by the client for the the fail.
Screenshot 2023-10-24 at 12 26 30 PM

RuntimeError: Failed to run op merge_sentinel1_orbits in workflow run id 6fe6d1f9-7c59-4075-91b0-45085aa703a0 for input with message id 00-6fe6d1f97c59407591b045085aa703a0-361f4e93f073fc4e-01. Error description: <class \'RuntimeError\'>: Traceback (most recent call last):
  File "rasterio/_base.pyx", line 261, in rasterio._base.DatasetBase.__init__
  File "rasterio/_shim.pyx", line 78, in rasterio._shim.open_dataset
  File "rasterio/_err.pyx", line 215, in rasterio._err.exc_wrap_pointer
rasterio._err.CPLE_OpenFailedError: \'/mnt/data/assets/011ead27-d1f0-47db-bc68-b2b829cc6f5b/011ead27-d1f0-47db-bc68-b2b829cc6f5b.tif\' not recognized as a supported file format.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/conda/lib/python3.8/site-packages/vibe_agent/worker.py", line 134, in run_op
    return factory.build(spec).run(input, cache_info)
  File "/opt/conda/lib/python3.8/site-packages/vibe_agent/ops.py", line 106, in run
    stac_results = self._call_validate_op(**items)
  File "/opt/conda/lib/python3.8/site-packages/vibe_agent/ops.py", line 72, in _call_validate_op
    results = self.callback(**kwargs)
  File "/app/ops/merge_sentinel1_orbits/merge_sentinel1.py", line 74, in callback
    "merged_product": process_orbit(raster_group, self.tmp_dir.name, self.resampling)
  File "/app/ops/merge_sentinel1_orbits/merge_sentinel1.py", line 50, in process_orbit
    merge_rasters(
      File "/app/ops/merge_sentinel1_orbits/merge_sentinel1.py", line 26, in merge_rasters
    src = [rasterio.open(i) for i in filepaths]
  File "/app/ops/merge_sentinel1_orbits/merge_sentinel1.py", line 26, in <listcomp>
    src = [rasterio.open(i) for i in filepaths]
  File "/opt/conda/lib/python3.8/site-packages/rasterio/env.py", line 435, in wrapper
    return f(*args, **kwds)
  File "/opt/conda/lib/python3.8/site-packages/rasterio/__init__.py", line 220, in open
    s = DatasetReader(path, driver=driver, sharing=sharing, **kwargs)
  File "rasterio/_base.pyx", line 263, in rasterio._base.DatasetBase.__init__
rasterio.errors.RasterioIOError: \'/mnt/data/assets/011ead27-d1f0-47db-bc68-b2b829cc6f5b/011ead27-d1f0-47db-bc68-b2b829cc6f5b.tif\' not recognized as a supported file format.

Hi, @shenoy10. This error seems related to issue #116, in which one of the bands a Landsat tile was incomplete and rasterio failed when reading it.

We are discussing a few solutions internally, but a possible workaround would be to skip the date of the incomplete raster. We will improve the error message, so the incomplete raster's date can be identified more easily.

Please, could you share the input geometry and time range so I can reproduce in my machine?