Version 11 is here! Upgrade now and explore what’s new!

Originally published at: Version 11 is here! Upgrade now and explore what’s new! – STEP

We’re pleased to announce the release of the latest SNAP version, packed with new features and improvements based on your feedback. Here’s what’s new in SNAP 11: New Functions: Support PRISMA Data Support ECOSTRESS products / support map projection of ECOSTRESS products Support PACE OCI data Support SL FRP data of processing baseline FRP_NTC.004.07.00 Add…

8 Likes

First of all, congratulation for the release. Great that we have a new release.

:partying_face: :tada:

Of course, I imediately installed it and noticed that snappy cannot be configured anymore during the installation.

And the snappy-conf.bat fails with the message:
Unrecognized option --snappy

> snappy-conf.bat C:\Users\marco\PycharmProjects\sentinel2_superresolution\venv\Scripts\python.exe

The launcher has determined that the parent process has a console and will reuse it for its own console output.
Closing the console will result in termination of the running program.
Use '--console suppress' to suppress console output.
Use '--console new' to create a separate console window.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.netbeans.ProxyURLStreamHandlerFactory (file:/C:/Program%20Files/esa-snap/platform/lib/boot.jar) to field java.net.URL.handler
WARNING: Please consider reporting this to the maintainers of org.netbeans.ProxyURLStreamHandlerFactory
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Unrecognized option --snappy

I haven’t found any note in the changelog about it. What is now the way to install snappy?

Sorry, found another issue.

In the changelog it is said that now pixelRegion and geometryRegion can be used. (SNAP-3715 Allow subset region (geometry or pixel) from GPT)
But how? The help page has not been updated and when invoking gpt -h from the command line the same help is printed. The CommandLineUsage.txt has not been updated.

I guess it is intended like
-PpixelRegion=<value> and
-PgeometryRegion=<value>

Can’t this interfere with parameters of some operators?

Okay, after installing esa-snappy plugin the snappy-config script works.
But I think the missing configuration option in the installer leaves peopled puzzled behind.

But I have two more things to report:

SRM-112 The toolbox shall support STAC+COG formatted products (btw. the SRM links are private to the team)
But there is no help for it and no item in the import menu. How must the files be formatted to be read?

It is said that help for the InSAR Stack help has been added. But the pages are empty.

Thank you Marco,

I updated the original post and added a note regarding the configuration of esa-snappy

1 Like

Examples:

→ Directly for an operator:​

gpt NdviOp -PgeometryRegion=“POLYGON ((24.066081 44.512176, 24.066081 44.727223, 24.428678 44.727223, 24.428678 44.512176, 24.066081 44.512176))” -Ssource=<source_product> -f GeoTIFF -t ​

​*-> Using a graph:​*

gpt E:\ndvi_savi_subset_read.xml -PgeometryRegion=“POLYGON ((24.066081 44.512176, 24.066081 44.727223, 24.428678 44.727223, 24.428678 44.512176, 24.066081 44.512176))” -Ssource=​

What happens if an operator already has a parameter named geometryRegion or pixelRegion? The operator might expect a different format. For example, x,y,width,height

I think it would have been better to introduce special gpt parameters.
For example -gr and -pr or --geo and --pixel . Similar to the other parameters, like -c or -q or --diag.

In SNAP11, I tried to export a resampled (60m) S2 product to NetCDF4-CF but it fails with the following message.

java.lang.Error: Invalid memory access
	at com.sun.jna.Native.invokeInt(Native Method)
	at com.sun.jna.Function.invoke(Function.java:426)
	at com.sun.jna.Function.invoke(Function.java:361)
	at com.sun.jna.Library$Handler.invoke(Library.java:270)
	at com.sun.proxy.$Proxy30.nc_sync(Unknown Source)
	at ucar.nc2.jni.netcdf.Nc4wrapper.nc_sync(Nc4wrapper.java:1593)
	at ucar.nc2.jni.netcdf.Nc4Iosp.flush(Nc4Iosp.java:3532)
	at ucar.nc2.NetcdfFileWriter.flush(NetcdfFileWriter.java:1128)
	at org.esa.snap.dataio.netcdf.DefaultNetCdfWriter.flush(DefaultNetCdfWriter.java:128)
	at org.esa.snap.core.dataio.ProductIO.writeProduct(ProductIO.java:456)
	at org.esa.snap.core.dataio.ProductIO.writeProduct(ProductIO.java:421)
	at org.esa.snap.rcp.actions.file.WriteProductOperation.writeProduct(WriteProductOperation.java:147)
	at org.esa.snap.rcp.actions.file.WriteProductOperation.run(WriteProductOperation.java:122)
	at org.netbeans.modules.progress.ui.RunOffEDTImpl$3.run(RunOffEDTImpl.java:252)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
	at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
	at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)

Other products do work. I tried a small GeoTiff, a MERIS product and a reprojected MERIS product.

I could not reproduce the issue on my system. Jira ticket SNAP-3878 created for further investigations.

Hello Diana,
As part of my master’s thesis, I am evaluating S1 ETAD phase corrections for interferometric purposes. Currently, I am encountering challenges in processing and applying the parameters of the coregistration of a stack to the correction layers.

Can you give me any kind of information, whether the module update will be released in the near future (within weeks) or if it might take a few months? This information would be incredibly helpful for planning the next steps of my research.

Thank you very much for your time and assistance. I greatly appreciate your support.
~Maurice

1 Like

Dear Maurice,

Our team is actively working on the ETAD functionality and expects to be ready in a few weeks.

2 Likes

Hi,

There is an issue with importing Generic/Complex Binary in the relevant version. When I try to import a binary SAR image by following the path File > Import > SAR Formats > Generic Complex/Generic Binary, the Generic Binary or Generic Complex buttons do not work. In other words, clicking these buttons does not open any window or prompt. I would greatly appreciate your assistance in resolving this issue.

Blockquote
Log Session: Wednesday, December 4, 2024 at 8:02:12 PM Turkey Time
System Info:
Product Version = SNAP (Build 11.3-6b879cb782eaa4f13a731aff82eada11289a66f7)
Operating System = Windows 10 version 10.0 running on amd64
Java; VM; Vendor = 11.0.19; OpenJDK 64-Bit Server VM 11.0.19+7-LTS; BellSoft
Runtime = OpenJDK Runtime Environment 11.0.19+7-LTS
Java Home = C:\Program Files\esa-snap\jre
System Locale; Encoding = en_gb (snap); Cp1254

Blockquote
java.lang.ClassNotFoundException: eu.esa.microwave.generic.ImportParameterizedProductAction
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at org.netbeans.ProxyClassLoader.doFindClass(ProxyClassLoader.java:209)
Caused: java.lang.ClassNotFoundException: eu.esa.microwave.generic.ImportParameterizedProductAction starting from SystemClassLoader[277 modules] with possible defining loaders null and declared parents [org.netbeans.MainImpl$BootClassLoader@7ca48474, org.netbeans.JarClassLoader@489b8113, ModuleCL@2c74eeb7[org.netbeans.api.annotations.common], ModuleCL@22acf329[org.openide.awt], ModuleCL@555d2615[org.netbeans.api.progress], ModuleCL@5be8af7b[org.netbeans.api.progress.nb], ModuleCL@5062f3e7[org.openide.dialogs], ModuleCL@15126779[org.openide.nodes], ModuleCL@29c39640[org.openide.windows], ModuleCL@374e7774[org.netbeans.libs.batik.read], …257 more]
at org.netbeans.ProxyClassLoader.doFindClass(ProxyClassLoader.java:211)
at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:125)
at org.netbeans.ModuleManager$SystemClassLoader.loadClass(ModuleManager.java:769)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at org.netbeans.core.startup.layers.BinaryFS$AttrImpl.findClass(BinaryFS.java:805)
at org.netbeans.core.startup.layers.BinaryFS$AttrImpl.methodValue(BinaryFS.java:745)
[catch] at org.netbeans.core.startup.layers.BinaryFS$AttrImpl.getValue(BinaryFS.java:660)
at org.netbeans.core.startup.layers.BinaryFS$BFSBase.getAttribute(BinaryFS.java:506)
at org.openide.filesystems.MultiFileObject.getAttribute(MultiFileObject.java:918)
at org.openide.filesystems.MultiFileObject.getAttribute(MultiFileObject.java:851)
at org.openide.filesystems.MultiFileObject.getAttribute(MultiFileObject.java:914)
at org.openide.filesystems.MultiFileObject.getAttribute(MultiFileObject.java:851)
at org.openide.filesystems.MultiFileObject.getAttribute(MultiFileObject.java:772)
at org.netbeans.core.startup.layers.BinaryFS$FileMap.get(BinaryFS.java:1085)
at org.openide.awt.AlwaysEnabledAction.getDelegate(AlwaysEnabledAction.java:112)
at org.openide.awt.AlwaysEnabledAction.actionPerformed(AlwaysEnabledAction.java:162)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6400)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
SEVERE [global]
java.lang.NullPointerException: No ‘delegate’ in BinaryFileMap@39bd70dd{fo=MultiFileObject@19389890[Actions/Readers/eu-esa-sar-io-importGenericBinary.instance]}
at org.openide.awt.AlwaysEnabledAction.getDelegate(AlwaysEnabledAction.java:114)
at org.openide.awt.AlwaysEnabledAction.actionPerformed(AlwaysEnabledAction.java:162)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6635)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6400)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136)
[catch] at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Jira ticket SNAP-3896 created

1 Like

Congratulations for the release.
I installed the new version but I have noticed that the sen2coral plugin is no longer available. How do we install that plugin?

It seems sen2coral is not supported anymore, even though it is still listed as a supported plugin. (SNAP Supported Plugins)

A new version of the sen2coral plugin will be available this week.

2 Likes

In at least for some of the tool dialogs in Snap 11, I’ve noticed I can’t paste a directory link in the dialog. I’m forced to navigate to the location with clicking. That seems like an unnecessary limitation.
Pixel Extraction tool:


Can only select recent directories,
image

Then Sen2Coral plugin is now available for SNAP 11:

1 Like

Thank you Diana.