Land-Sea-Mask does not work using GPT, but works in GUI/Graph

Hi,

I’m using SNAP 9 with the latest updates. I’m trying to use the Land-Sea-Mask operator using GPT but it does not work. It gives an error as seen below. But when I try it using the SNAP GUI/Graph it can work. Before this command I used the Import-Vector operator in GPT so the mask is available in the BEAM-DIMAP file.

Here is the image showing it is successful in SNAP

Am I doing something wrong with the equivalent command?

Command:
gpt Land-Sea-Mask -Pgeometry="aoi_1" -PinvertGeometry="false" -Ssource="D:\project1\20221212_20221224_Stack_Ifg_Deb_ML_Flt_Vec.dim" -t "D:\project1\20221212_20221224_Stack_Ifg_Deb_ML_Flt_Vec_Msk.dim"

Output:

INFO: org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO: Initializing external tool adapters
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: GDAL not found on system. Internal GDAL 3.2.1 from distribution will be used. (f0)
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: Internal GDAL 3.2.1 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: Internal GDAL 3.2.1 set to be used by SNAP.
INFO: org.hsqldb.persist.Logger: dataFileCache open start
Executing operator...
20%0
0
0
0
0
0
0
0
100%0
0
0
0
0
0
0
0
SEVERE: org.esa.snap.core.util.SystemUtils$SnapImagingListener: JAI error occurred: 'Problem occurs when computing a tile by the owner.' at com.sun.media.jai.util.SunTileScheduler@20b0443b
org.esa.snap.core.gpf.OperatorException: 0
        at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:265)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
        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)
        at com.sun.media.jai.util.WorkerThread.run(Unknown Source)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:185)
        ... 6 more

0
0
0
SEVERE: org.esa.snap.core.util.SystemUtils$SnapImagingListener: JAI error occurred: 'Problem occurs when computing a tile by the owner.' at com.sun.media.jai.util.SunTileScheduler@20b0443b
org.esa.snap.core.gpf.OperatorException: 0
        at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:265)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
        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)
        at com.sun.media.jai.util.WorkerThread.run(Unknown Source)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:185)
        ... 6 more

SEVERE: org.esa.snap.core.util.SystemUtils$SnapImagingListener: JAI error occurred: 'Problem occurs when computing a tile by the owner.' at com.sun.media.jai.util.SunTileScheduler@20b0443b
org.esa.snap.core.gpf.OperatorException: 0
        at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:265)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
        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)
        at com.sun.media.jai.util.WorkerThread.run(Unknown Source)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:185)
        ... 6 more

0
 done.
SEVERE: org.esa.snap.core.util.SystemUtils$SnapImagingListener: JAI error occurred: 'Problem occurs when computing a tile by the owner.' at com.sun.media.jai.util.SunTileScheduler@20b0443b
org.esa.snap.core.gpf.OperatorException: 0
        at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:265)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
        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)
        at com.sun.media.jai.util.WorkerThread.run(Unknown Source)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:185)
        ... 6 more

org.esa.snap.core.gpf.OperatorException: 0
        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 com.sun.media.jai.util.RequestJob.compute(Unknown Source)
        at com.sun.media.jai.util.WorkerThread.run(Unknown Source)
Caused by: org.esa.snap.core.gpf.OperatorException: 0
        at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:265)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
        ... 4 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:185)
        ... 6 more

Error: 0
SEVERE: org.esa.snap.core.util.SystemUtils$SnapImagingListener: JAI error occurred: 'Problem occurs when computing a tile by the owner.' at com.sun.media.jai.util.SunTileScheduler@20b0443b
org.esa.snap.core.gpf.OperatorException: 0
        at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:265)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
        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)
        at com.sun.media.jai.util.WorkerThread.run(Unknown Source)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:185)
        ... 6 more

SEVERE: org.esa.snap.core.util.SystemUtils$SnapImagingListener: JAI error occurred: 'Problem occurs when computing a tile by the owner.' at com.sun.media.jai.util.SunTileScheduler@20b0443b
org.esa.snap.core.gpf.OperatorException: 0
        at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:265)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
        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)
        at com.sun.media.jai.util.WorkerThread.run(Unknown Source)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:185)
        ... 6 more

SEVERE: org.esa.snap.core.util.SystemUtils$SnapImagingListener: JAI error occurred: 'Problem occurs when computing a tile by the owner.' at com.sun.media.jai.util.SunTileScheduler@20b0443b
org.esa.snap.core.gpf.OperatorException: 0
        at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:265)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
        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)
        at com.sun.media.jai.util.WorkerThread.run(Unknown Source)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:185)
        ... 6 more

SEVERE: org.esa.snap.core.util.SystemUtils$SnapImagingListener: JAI error occurred: 'Problem occurs when computing a tile by the owner.' at com.sun.media.jai.util.SunTileScheduler@20b0443b
org.esa.snap.core.gpf.OperatorException: 0
        at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:265)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
        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)
        at com.sun.media.jai.util.WorkerThread.run(Unknown Source)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:185)
        ... 6 more

SEVERE: org.esa.snap.core.util.SystemUtils$SnapImagingListener: JAI error occurred: 'Problem occurs when computing a tile by the owner.' at com.sun.media.jai.util.SunTileScheduler@20b0443b
org.esa.snap.core.gpf.OperatorException: 0
        at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:434)
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:265)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
        at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
        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)
        at com.sun.media.jai.util.WorkerThread.run(Unknown Source)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at org.esa.snap.raster.gpf.masks.CreateLandMaskOp.computeTileStack(CreateLandMaskOp.java:185)
        ... 6 more

I think on the command line you are missing the sourceBands parameter.
Probably in the GUI some default is selected but not on the command line.
The validation of the processing parameters should be improved for this operator.

I’ve created an issue for this: [SNAP-3444] - JIRA

2 Likes