Could not find data for your load_collection request SENTINEL1_GRD_SIGMA0

Hi,

The following code works as expected:

spatial_extent = {
    'west': 4.45,
    'east': 4.70,
    'south': 51.16,
    'north': 51.22,
    'crs': 'epsg:4326'
}

sentinel1 = c.load_collection(
    "SENTINEL1_GRD_SIGMA0",
    temporal_extent=["2020-06-04", "2020-08-04"],
    bands=["VV", "VH"]).filter_bbox(spatial_extent).execute_batch()

If I change the spatial extent to this:

spatial_extent = {
    'west': 3.27,
    'east': 3.40,
    'south': 46.35,
    'north': 46.44,
    'crs': 'epsg:4326'
}

I get the following error.

[{'id': '[1680619929172, 17701]',
    'time': '2023-04-04T14:52:09.172Z', 'level': 'error', 
        'message': 'create_pyramid failed: Could not find data for your load_collection request with catalog ID "urn:eop:VITO:CGS_S1_GRD_SIGMA0_L1". The catalog query had correlation ID "c-2c862b1636b541ad98e9151f550a482b" and returned 0 results.'}, 
        {'id': '[1680619929445, 21163]', 'time': '2023-04-04T14:52:09.445Z', 'level': 'error', 'message': 'OpenEO batch job failed: OpenEOApiException(status_code=400, code=\'NoDataAvailable\', message=\'There is no data available for the given extents. Could not find data for your load_collection request with catalog ID "urn:eop:VITO:CGS_S1_GRD_SIGMA0_L1". The catalog query had correlation ID "c-2c862b1636b541ad98e9151f550a482b" and returned 0 results.\', id=\'no-request\')'}]

I understand the error, but S1 data for this area and period should exist (I get S2 data without problem). I have extended the temporal window to several years and the result is the same.

Maybe the error means that the data is not available on Terrascope? That would be surprising.

I am clearly doing something wrong, but I can’t see it.

Thanks for your help.

Jordi

Hi Jordi,
the coverage for Sentinel-1 on Terrascope is indeed limited, you can use the viewer to check if there should be data for your area and time range, see link below. It’s also possible to download additional data upon request, or you can use the SENTINEL1_GRD layer together with the sar_backscatter process. This layer is backed by Sentinelhub, and has access to the full archive.

https://viewer.terrascope.be/?language=en&bbox=-25.669358616486175,37.05191035754116,37.89959379695664,56.99820334224958&overlay=true&bgLayer=MapBox&date=2023-04-03&layer=CGS_S1_GRD_SIGMA0

Hi Jeroen,

Thanks for the answer. It works. However, I have found that the ellipsoid incidence angle is not available (an exception is raised) and that the noise removal can’t be disabled.

sentinel1 = c.load_collection(
    "SENTINEL1_GRD",
    temporal_extent=["2022-06-04", "2022-08-04"],
    bands=["VV", "VH"]).sar_backscatter(
        coefficient='gamma0-terrain',
        elevation_model=None,
        mask=False,
        contributing_area=False,
        local_incidence_angle=True,
        ellipsoid_incidence_angle=False,
        noise_removal=True,
        options=None).filter_bbox(spatial_extent).execute_batch()

Is there a way to programmatically check for data availability (without running a job and checking for exceptions). Using the viewer helps, but it does not scale if one wants to process massive areas.

Thanks

Hi Jordi,
to programmatically find available products or their properties without running a job, we recommend using the product catalogs. For instance, for Terrascope, you can use this STAC catalog:

(One missing thing is to expose the catalog link directly in the collection metadata.)

We also sometimes use the ‘validate’ openEO call for this, which in the case of the SENTINEL2_L2A collection should effectively tell you if products are missing, but I believe it’s not yet implemented for SENTINEL1_GRD_SIGMA0.

With respect to the errors you got, did it print a job id, like j-1234… ? Or even a message? If you include that in the question, it’s easier for us to look up if something went wrong.