isce-framework / isce3

InSAR Scientific Computing Environment ***NOTICE - This repository is currently a mirror of an internally hosted project and is in the process of migrating the development to this public repository. In near future we will accept external pull requests.***
Other
130 stars 35 forks source link

ctest 77% tests passed, 36 tests failed out of 159 (Debian GNU/Linux 10 ) #9

Open Narayana-Rao opened 2 years ago

Narayana-Rao commented 2 years ago

I am trying to install ISCE3 on a Debian GNU/Linux 10 machine. While checking the installation with ctest, I have encountered the following errors. Any help would be appreciated (LastTest.log ).

77% tests passed, 36 tests failed out of 159

Total Test time (real) =  53.97 sec

The following tests FAILED:
         97 - test.python.pybind.core.poly2d (Failed)
        102 - test.python.pybind.focus.backproject (Failed)
        104 - test.python.pybind.focus.presum (Failed)
        106 - test.python.pybind.geocode.geocodeSlc (Failed)
        107 - test.python.pybind.geocode.geocodeCov (Failed)
        108 - test.python.pybind.geocode.radar_grid_cube (Failed)
        111 - test.python.pybind.geometry.geo2rdr (Failed)
        112 - test.python.pybind.geometry.rdr2geo (Failed)
        113 - test.python.pybind.geometry.rtc (Failed)
        114 - test.python.pybind.geometry.metadata_cubes (Failed)
        115 - test.python.pybind.image.resamp (Failed)
        123 - test.python.pybind.signal.crossmul (Failed)
        126 - test.python.pybind.product.generic_product (Failed)
        133 - test.python.pybind.geometry.look_inc_from_sr (Failed)
        136 - test.python.pybind.antenna.el_pattern_est (Failed)
        138 - test.python.pkg.isce3.core.gpu_check (Failed)
        139 - test.python.pkg.isce3.signal.point_target_info (Failed)
        140 - test.python.pkg.isce3.unwrap.snaphu (Failed)
        141 - test.python.pkg.nisar.products.readers.attitude (Failed)
        142 - test.python.pkg.nisar.products.readers.orbit (Failed)
        143 - test.python.pkg.nisar.products.readers.raw (Failed)
        144 - test.python.pkg.nisar.workflows.crossmul (Failed)
        145 - test.python.pkg.nisar.workflows.focus (Failed)
        146 - test.python.pkg.nisar.workflows.stage_dem (Failed)
        147 - test.python.pkg.nisar.workflows.gcov (Failed)
        148 - test.python.pkg.nisar.workflows.geo2rdr (Failed)
        149 - test.python.pkg.nisar.workflows.geocode_insar (Failed)
        150 - test.python.pkg.nisar.workflows.gslc (Failed)
        151 - test.python.pkg.nisar.workflows.insar (Failed)
        152 - test.python.pkg.nisar.workflows.filter_interferogram (Failed)
        153 - test.python.pkg.nisar.workflows.bandpass_insar (Failed)
        155 - test.python.pkg.nisar.workflows.rdr2geo (Failed)
        156 - test.python.pkg.nisar.workflows.resample_slc (Failed)
        157 - test.python.pkg.nisar.workflows.unwrap (Failed)
        158 - test.python.pkg.nisar.workflows.antenna_parser (Failed)
        159 - test.python.pkg.nisar.antenna.beamformer (Failed)
Errors while running CTest

Most these failed tests has a common block of code


    from . import unwrap
/home/tools/isce/install/packages/isce3/unwrap/__init__.py:3: in <module>
    from . import snaphu
E     File "/home/tools/isce/install/packages/isce3/unwrap/snaphu.py", line 659
E       def scratch_directory(d: Optional[os.PathLike] = None, /) -> pathlib.Path:
E                                                              ^
E   SyntaxError: invalid syntax ```
bhawkins-jpl commented 2 years ago

@Narayana-Rao Thanks for trying out isce3 and reporting this issue. I think that syntax is only valid in Python version 3.8, and I presume you're using an earlier version. We've already revised this part of the code in our development version to support Python 3.7. Maybe @gunter-jpl can suggest a workaround.

gmgunter commented 2 years ago

Yup, sorry, we had patched this issue internally but I neglected to sync the updates to the public repo.

I just pushed the latest changes to develop. @Narayana-Rao, the issue should now be resolved as of 42af64e. Can you checkout the latest version of the code and give it another try? Thanks!

Narayana-Rao commented 2 years ago

Thank you @gmgunter and @bhawkins-jpl for the prompt response. I have tried with the updated version, and the count of failed tests is reduced to 6. The following is the list of failed tests (LastTest.log)

96% tests passed, 6 tests failed out of 166

Total Test time (real) = 202.93 sec

The following tests FAILED:
        110 - test.python.pybind.geocode.radar_grid_cube (Failed)
        153 - test.python.pkg.nisar.workflows.stage_dem (Failed)
        154 - test.python.pkg.nisar.workflows.gcov (Failed)
        156 - test.python.pkg.nisar.workflows.geocode_insar (Failed)
        157 - test.python.pkg.nisar.workflows.gslc (Failed)
        158 - test.python.pkg.nisar.workflows.insar (Failed)
Errors while running CTest

I think some version issues with GDAL. Except for stage_dem (#5) all other tests are throwing the following error. I am using GDAL 2.4.0


E       AttributeError: 'SpatialReference' object has no attribute 'GetName'
gmgunter commented 2 years ago

Hi @Narayana-Rao, thanks for pointing this out -- I wasn't aware of this issue.

It looks like you're correct that the issue has to do with the GDAL version. ISCE3 relies on the GetName() method of osgeo.osr.SpatialReference in order to populate some metadata of NISAR products. Unfortunately, although ISCE3 nominally supports GDAL>=2.3, it looks like this functionality actually requires GDAL>=3.0.

After some discussion with @gshiroma about the best path forward, I think we will be dropping support for GDAL 2.x. It's not clear to me that we can reproduce the functionality that we need w/ older GDAL versions, and GDAL 3.0 has been available for ~3 years now.

Could you please upgrade your GDAL version to 3.x in order to resolve this issue?

Thanks again for the report.