java.lang.NullPointerException in Range-Doppler Terrain Correction - URGENT

Hi,

I’ve already posted this message on githup but I’m pressed for time so worth to try ask everywhere.
I would like to perform Range-Doppler Terrain Correction on ENVISAT ASAR Wide Swath SLC image based on an external DEM. The DEM was already used with other images without any problems (eg. ALOS). Below I’m sending the details of the error. Could you please help me? I have a very important deadline very soon and can’t fail…

java.lang.NullPointerException at org.esa.snap.engine_utilities.datamodel.AbstractMetadata.getOrbitStateVectors(AbstractMetadata.java:751) at org.esa.s1tbx.sar.gpf.geometric.RangeDopplerGeocodingOp.getMetadata(RangeDopplerGeocodingOp.java:445) at org.esa.s1tbx.sar.gpf.geometric.RangeDopplerGeocodingOp.initialize(RangeDopplerGeocodingOp.java:294) Caused: org.esa.snap.core.gpf.OperatorException at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:432) at org.esa.s1tbx.sar.gpf.geometric.RangeDopplerGeocodingOp.initialize(RangeDopplerGeocodingOp.java:355) at org.esa.snap.core.gpf.internal.OperatorContext.initializeOperator(OperatorContext.java:486) at org.esa.snap.core.gpf.internal.OperatorContext.getTargetProduct(OperatorContext.java:273) at org.esa.snap.core.gpf.Operator.getTargetProduct(Operator.java:387) at org.esa.snap.core.gpf.GPF.createProductNS(GPF.java:318) at org.esa.snap.core.gpf.GPF.createProduct(GPF.java:293) at org.esa.snap.core.gpf.GPF.createProduct(GPF.java:272) at org.esa.snap.graphbuilder.rcp.dialogs.SingleOperatorDialog.createTargetProduct(SingleOperatorDialog.java:175) [catch] at org.esa.snap.graphbuilder.rcp.dialogs.SingleOperatorDialog.onApply(SingleOperatorDialog.java:291) at org.esa.snap.ui.AbstractDialog.lambda$initUI$6(AbstractDialog.java:519) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)

Waiting for any news,
Barbara

Check to make sure SNAP is up to date, help > check for updates. Whenever I get a nullPointer error, that seems to fix it.

@rbiessel, thank you for advice. Unfortunately SNAP is up to date… (v. 6.0.3.).

Is the dem converted to WGS84?

Did you Apply ASAR WSS Deburst on the SLC data before RD Terrain Correction?

Yes, the DEM is in WGS84 and was already used for RD TC of other products such as ALOS, ALOS-2 or S-1.

Before RD TC I used following operators:

  • Apply Orbit File
  • ASAR WSS Deburst
  • Calibration

Why are you using the SLC - are you doing interferometry?

For this area and time of acquisition there’re no other products available. I’m not doing interferometry, just various analysis of sigma0…

Unless requesting the corresponding detected product is an option,(?) you should probably generate a new product with calibrated intensity (without I and Q) and then trying to terrain-correct that.

Unfortunately I’m pressed for time and as far as i know it takes time to receive another data in different mode…

During calibration process the option “Save as complex output” is not marked, so as an output I’m receiving already sigma0. The last step of my processing chain should be Terrain Correction (+some speckle filtering). But this doesn’t work.

Solution: contrary to rbiessel advice - I’ve installed the oldest version of SNAP (2.0.2.) and already successfully processed 2 images.

Thanks a lot everyone for help! :slight_smile: