Skip to content

Copernicus S1 GRD IndexError: list index out of range #57

@fjoudelat

Description

@fjoudelat

Hello,
First of all thanks for the work !
It seems that I cannot open Sentinel-1 products obtained from Copernicus.
I have Python 3.13, xsar 2025.6.12, xarray-safe-s1 2025.9.25 via conda-forge
The issue seems to be related to the xml mapping of the manifest.
Here is a Copernicus product to replicate the issue : file transfer
Thanks in advance 🙏

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\ProgramData\miniconda3\envs\copernicus\Lib\site-packages\xsar\utils.py", line 101, in wrapper
    result = f(*args, **kwargs)
  File "C:\ProgramData\miniconda3\envs\copernicus\Lib\site-packages\xsar\xsar.py", line 67, in open_dataset
    sar_obj = Sentinel1Dataset(*args, **kwargs)
  File "C:\ProgramData\miniconda3\envs\copernicus\Lib\site-packages\xsar\sentinel1_dataset.py", line 130, in __init__
    self.sar_meta = BlockingActorProxy(Sentinel1Meta, dataset_id)
                    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\ProgramData\miniconda3\envs\copernicus\Lib\site-packages\xsar\utils.py", line 539, in __init__
    self._actor = self._cls(*args, **kwargs)
                  ~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "C:\ProgramData\miniconda3\envs\copernicus\Lib\site-packages\xsar\utils.py", line 101, in wrapper
    result = f(*args, **kwargs)
  File "C:\ProgramData\miniconda3\envs\copernicus\Lib\site-packages\xsar\sentinel1_meta.py", line 49, in __init__
    self.reader = Sentinel1Reader(name)
                  ~~~~~~~~~~~~~~~^^^^^^
  File "C:\ProgramData\miniconda3\envs\copernicus\Lib\site-packages\safe_s1\reader.py", line 68, in __init__
    self.manifest_attrs = self.xml_parser.get_compound_var(
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        self.manifest, "safe_attributes_slcgrd"
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "C:\ProgramData\miniconda3\envs\copernicus\Lib\site-packages\safe_s1\xml_parser.py", line 159, in get_compound_var
    result[key] = self.get_var(xml_file, path, describe=describe)
                  ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\ProgramData\miniconda3\envs\copernicus\Lib\site-packages\safe_s1\xml_parser.py", line 104, in get_var
    result = func(result)
  File "C:\ProgramData\miniconda3\envs\copernicus\Lib\site-packages\safe_s1\sentinel1_xml_mappings.py", line 29, in <lambda>
    scalar = lambda x: x[0]
                       ~^^^
IndexError: list index out of range

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions