Geotiff ImageReader not found

I am trying to apply Terrain Correction to EW GRDM files using the Copernicus 30m DEM using ver 8.0.4 (Windows 64bit) but I always get the following error:

 Type: OperatorException
 Message: GeoTiff imageReader not found

and the following log is generated. I’d be grateful for any advice on how to resolve this.

java.lang.IllegalStateException: GeoTiff imageReader not found.
at org.esa.snap.dataio.geotiff.GeoTiffImageReader.findImageReader(GeoTiffImageReader.java:270)
at org.esa.snap.dataio.geotiff.GeoTiffImageReader.buildImageReader(GeoTiffImageReader.java:251)
at org.esa.snap.dataio.geotiff.GeoTiffImageReader.<init>(GeoTiffImageReader.java:85)
at org.esa.snap.dataio.geotiff.GeoTiffImageReader.buildGeoTiffImageReader(GeoTiffImageReader.java:327)
at org.esa.snap.dataio.geotiff.GeoTiffImageReader.buildGeoTiffImageReader(GeoTiffImageReader.java:298)
at org.esa.snap.dataio.geotiff.GeoTiffProductReader.readProductNodesImpl(GeoTiffProductReader.java:121)
at org.esa.snap.core.dataio.AbstractProductReader.readProductNodes(AbstractProductReader.java:178)
at org.esa.snap.core.dataop.dem.ElevationFile.getLocalFile(ElevationFile.java:137)
at org.esa.snap.core.dataop.dem.ElevationFile.getFile(ElevationFile.java:104)
at org.esa.snap.core.dataop.dem.ElevationFile.getTile(ElevationFile.java:84)
at org.esa.snap.core.dataop.dem.BaseElevationModel.getSamples(BaseElevationModel.java:161)
at org.esa.snap.core.dataop.resamp.BilinearInterpolationResampling.resample(BilinearInterpolationResampling.java:82)
at org.esa.snap.core.dataop.dem.BaseElevationModel.getElevation(BaseElevationModel.java:99)
at org.esa.snap.dem.dataio.DEMFactory.getLocalDEM(DEMFactory.java:182)
at org.esa.s1tbx.sar.gpf.geometric.RangeDopplerGeocodingOp.computeTileStack(RangeDopplerGeocodingOp.java:881)
Caused: org.esa.snap.core.gpf.OperatorException: GeoTiff imageReader not found.
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:432)
at org.esa.s1tbx.sar.gpf.geometric.RangeDopplerGeocodingOp.computeTileStack(RangeDopplerGeocodingOp.java:1098)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)

Caused: org.esa.snap.core.gpf.OperatorException: GeoTiff imageReader not found.
at org.esa.snap.core.gpf.internal.OperatorExecutor$GPFImagingListener.errorOccurred(OperatorExecutor.java:381)
at com.sun.media.jai.util.SunTileScheduler.sendExceptionToListener(Unknown Source)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(Unknown Source)
at javax.media.jai.OpImage.getTile(Unknown Source)
at javax.media.jai.PlanarImage.getData(Unknown Source)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:449)
at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:435)
at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:75)
at javax.media.jai.SourcelessOpImage.computeTile(Unknown Source)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(Unknown Source)
at javax.media.jai.OpImage.getTile(Unknown Source)
at com.sun.media.jai.util.RequestJob.compute(Unknown Source)
[catch] at com.sun.media.jai.util.WorkerThread.run(Unknown Source)

did you apply any preprocessing?

No, I am applying the TC to the images as downloaded, without any additional preprocessing.

And which output format did you select?

I left it as the default BEAM-DIMAP at the moment (although really in the end I would like a GeoTiff with GCPs)

I am also experiencing the “GeoTiff imageReader not found” error.

I am using GPT to do a standard RTC and GLCM with a sh script on Ubuntu 20.04 LTS.

The nodes in the graph are:

READ

Apply Orbit File

Calibration to beta0

Terrain Flattening - Copernicus 30m Global DEM

Terrain Correction - Copernicus 30m Global DEM

GLCM

Bandmerge

Write to CSV

SNAP is updated to version 8.0.4

When I run the script with a SUBSET in the graph it executes fine. When I run the script over the full scene (no SUBSET) then I get the error.

I have substantially increased the RAM on the machine its running on to no avail.

I have updated the GDAL version on the machine to 3.0.4 with no success. Previously it was using the internal version installed with SNAP.

Successful output:

ubuntu@ip-172-31-6-65:~/scripts$ sh s1_gpt1a.sh
Mon Jun 21 16:47:02 UTC 2021
INFO: org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO: Initializing external tool adapters
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: GDAL 3.0.4 found on system. JNI driver will be used.
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: Installed GDAL 3.0.4 set to be used by SNAP.
INFO: org.esa.snap.core.util.EngineVersionCheckActivator: Please check regularly for new updates for the best SNAP experience.
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: Installed GDAL 3.0.4 set to be used by SNAP.
Executing processing graph
INFO: org.hsqldb.persist.Logger: dataFileCache open start
.16%.32%.49%.65%…81%. done.
Mon Jun 21 16:47:28 UTC 2021
ubuntu@ip-172-31-6-65:~/scripts$

Error Output:

ubuntu@ip-172-31-6-65:~/scripts$ sh s1_gpt1b.sh
Mon Jun 21 16:28:43 UTC 2021
INFO: org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO: Initializing external tool adapters
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: GDAL 3.0.4 found on system. JNI driver will be used.
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: Installed GDAL 3.0.4 set to be used by SNAP.
INFO: org.esa.snap.core.util.EngineVersionCheckActivator: Please check regularly for new updates for the best SNAP experience.
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: Installed GDAL 3.0.4 set to be used by SNAP.
Executing processing graph
INFO: org.hsqldb.persist.Logger: dataFileCache open start
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
GeoTiff imageReader not found.
90% done.
java.lang.NullPointerException

Error: java.lang.NullPointerException
Mon Jun 21 16:41:20 UTC 2021
ubuntu@ip-172-31-6-65:~/scripts$

Did your install include the libgdal-java package?

I didn’t notice at the time. I ran “sudo apt-get install gdal-bin”

JNI means “Java Native Interface”. See: Ubuntu libgdal-java_3.0.4 There are many tutorials that show how to manage Ubuntu packages. Please learn how to check if the package is installed. If not, see if installing it solves your GeoTIFF problem, or at least gives some more helpful messages. If it doesn’t work it is easy to remove a package that is not required by some other package.

Has anyone been able to recreate this error?

Did you start by importing with the S-1 reader?

I started by opening the product in the SNAP GUI.

I think @mengdahl wanted to ask if you loaded the product via

  • File > Import > SAR Products > Sentinel-1
    or
  • File > Open

Oh, I see, sorry for the misunderstanding.
In that case:

  • File > Open Product

I had never thought to do it another way, but having tried it (File > Import …), it didn’t seem to make a difference.

I have tried to reproduce your error with GRD EW data and the Copernicus 30m DEM and it works fine

Where did you get the data from?

Thank you very much for trying it out. At least that proves that what I’m trying to do ought to work.

The data (e.g. S1A_EW_GRDM_1SDH_20210607T123449_20210607T123549_038234_048319_7AA3) was downloaded directly from the Copernicus Open Access Hub.

Could it be that something is missing from my Windows installation that is required by SNAP?

could it be that the download was not completed?

I can also load it by directly selecting the zip file with File > Open

I downloaded the same acquisition again and got the same result.
However, I tried the same processing with a linux machine (fedora) and it worked. This isn’t a solution to the problem however, as I really need it to work under Windows. It does seem that perhaps there is something wrong with the windows setup. It is Windows 10 Enterprise (release 1809). Are there some dependencies that might be missing related to reading GeoTiffs?

Hello,

I had exactly the same issue when running with the Copernicus DEM.

It seems happening when a tile is badly downloaded (and results with a 0 Ko file).
You need to remove the corrupted tiles in your .snap/auxdata/dem directory:

2 Likes