Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Table of Contents
maxLevel2
outlinetrue
stylenone

...

To give minimal requirements for SNAP is not easy. It depends very much on what you are using SNAP for. it It depends on which data you use, medium or high resolution, and what kind of processing you perform.
As for the CPU, the faster the better. But for the memory you can use SNAP starting already with 8GB of RAM, even 4GB would work for small low-resolution data. But in In general, we would recommend to have having at least 16GB of memory. For some processing operations, e.g., SAR processing it is suggested to have 32GB or more.

If you do not meet the memory requirements for your use case, you will probably see error errors like those described in this FAQ-entry:

I'm getting the error "Cannot-construct-DataBuffer", "GC-overhead-limit-exceeded" or "Java-Heap-Space". What-can-I-do?

How should I cite SNAP?

If you want to cite SNAP you can use the following suggestion:

SNAP - ESA Sentinel Application Platform v{LATEST-VERSION}, http://step.esa.int

A specific Toolbox can be cited like:

S1TBX - ESA Sentinel-1 Toolbox v{LATEST-VERSION}, http://step.esa.int/

Just replace {LATEST-VERSION} with the actual version, e.g.

SNAP - ESA Sentinel Application Platform v6.0.7, http://step.esa.int 

S1TBX - ESA Sentinel-1 Toolbox v7.0.1, http://step.esa.int/

What to include in a forum post when reporting an issue?

Before you open a new topic, please use the search function of the forum to check if your problem is already discussed in existing topics. To keep the forum structure clean, please consider continuing discussions in existing topics before creating a new topic on similar issues. Once your post has been submitted, the corresponding topic will automatically be visible at the top of the topic list.

When reporting an issue, try to include as much information as possible to allow developers to reproduce the problem including:

  • Toolbox version and operating system, amount of RAM

  • Identify the relevant satellite products by giving the full name of the product

  • List the exact processing steps needed to recreate the issue

  • Attach relevant screen captures and resulting images (copy and paste function)

  • Attach the log file to your post. You can find it by selecting from the menu Help / Show Log Directory.
    Make sure to reproduce the error first and then attach the messages.log file.

  • In case you processed a graph file, please upload the XML as well (using the upload button)

    Image RemovedImage Added
  • It also helps to understand when you shortly describe your overall aim (e.g. water change detection, vegetation monitoring...)

  • In case you get an error message, please include it in your question (again, please also check the search function if this error message has already been reported/solved)

  • If you work with multiple products, please mention if the error occurs for all of them or just for one specific product.

What does the “dl” unit mean?

The dl means dimensionless. The variable has no unit.

https://en.wikipedia.org/wiki/Reflectance#SI_radiometry_units

How to create an RGB composite from individual bands?

When having the 3 data products with the individual bands for the channels of the RGB image you want to create, you needed to reference the products in the expressions of the RGB Image creation dialogue.

Right-click on one product and select “Open RGB Image Window“. In the example image, all bands have the same name ‘band_1' and you have to reference the correct product for the channels. Each product has a reference number which you can see in the Product Explorer. To reference ‘band_1’ in product 2 use the expression '$2.band_1'.
That’s the quickest way.

...

Alternatively, you can copy all bands into one product and save it for later use.
Therefore, you open the Band Maths and use one of the products as the target. To copy the other bands, use the same expression as in the RGB Image dialogue. Make sure to disable the Virtual option.
You can also specify a new name for the copied bands. Finally, you change the name of the already existing band in the target product and then you can save this product. To create an RGB now, you just open the RGB image dialogue and select the bands. If you name same Red, Green, Blue, they get automatically selected.

...

All bands need to have the same size. If they have different sizes, you need to resample them to a common size. You can use the resampling operation to do this.

...

into the snap.properties file which is located in the etc folder of the SNAP installation directory. If this still does not help you can remove the World Wind View module. Delete snap/modules/org-esa-snap-snap-worldwind.jar within the installation directory. If you then start SNAP, you get a warning that this module is missing. Accept it and let SNAP remember the decision. As a replacement, you can use the old-world map. You can find it at View / Tool Windows / World Map in the menu

...

This error indicates that you don't have enough memory. Either your system does not have enough memory (RAM) or the configuration for SNAP is not sufficient. If you have already worked time with SNAP over a considerable time and many products are opened, it is advisable to close and restart SNAP and only open the product you really need for further processing. This often already releases a lot of memory and allows to continue. If this does not help, you can try to improve the memory configuration as described in the following.

For the SNAP Desktop application, you can increase the amount of memory available to SNAP (depending on how much RAM is installed on your computer). In the 'etc' folder of the SNAP installation directory, you'll find a file named snap.conf. Open it in a text editor. There is the line which starts with 'default_options='

In this line, you'll find an option like -J-Xmx5G. It defines how much of your total available RAM can be used by SNAP. By default, it is set to ~75% of the maximum value (here: 5G stands for 5 of 8 gigabytes of RAM). In case your system has more RAM, you can increase the -J-Xmx value. For 16 GB RAM, you could set the value to 12G, for 32 GB RAM to 24G and so on. For systems with more RAM, it was reported (here) that already 50% of the available RAM is a suitable setting and more effective than 75%. A second option is to increase the cache size (by default 1024) to 2048 or 4096. This can be done in the SNAP under Tools\Options in the Performance tab. This tab also allows you to find the ideal configuration of your system using a selected benchmark operator and clicking "compute". If you experience the error on the command line with gpt or pconvert you need to change different files. You need to change the corresponding vmoptions files, either gpt.vmoptions or pconvert.vmoptions (in the 'bin' folder). Change the value after -Xmx in the last line.

...

You need to change the configuration in the snappy.ini file. The file is located in the snappy folder. Change the line

...

The Graph Builder (under Tools) lets you define entire chains of workflows, starting with reading a product and ending with writing the final output. It is documented in this video. Each graph is stored as an XML file which defines all steps and parameters in the correct order. Once you have saved an XML file you can use the Batch Processing to apply it to a list of input products as demonstrated here. To run processing chains from the command line (without the SNAP GUI), please follow these instructions: Bulk Processing with GPT. If your graph consists of many steps, please have a look at the Tile Cache Operator: How to Use Tile Cache Operator to Improve Memory Consumption

...

When processing an XML graph, I get an error saying something like “unexpected character in markup”?

Some characters have special meanings in XML. If they are used for other purposes, for example in an expression they need to be escaped.

...

How do I know how I have processed my data, with which parameters values?

The BEAM-DIMAP format (standard processing format in SNAP) stores all processing steps, including their input/output products, variables and parameters, in the metadata. You can find it in each product under Metadata > Processing Graph. Each node stands for one operation and contains sources and parameters. After every operator, the node of the WriteOp operator defines the name and location of the output product separately.

...

The BEAM-DIMAP format is the default output format for all products generated in SNAP. It allows fast reading and writing of raster products, and most importantly, efficient handling of their metadata. Metadata store information on geocoding, file enctyption, dimensions, acquisition date, sensor specifics, etc. These information deliver important inputs for many operators in SNAP. Once a BEAM-DIMAP product is exported, for instance to a GeoTiff, many attributes of these the metadata are no longer part of the raster product. Accordingly, SNAP cannot process them correctly, because meta information is missing (and cannot be restored from the GeoTiff after conversion converting back to BEAM-DIMAP). It is therefore advised that you stick to the BEAM DIMAP format as long as possible and only convert or export it to a different format when your processing in SNAP is done.

...

Flags are binary information about a certain pixel. You might now that computer data consists of bytes and bytes consist of 8 bits. Each flag is represented by one bit. 8 flags can be stored in one byte.
Each of the flags (bits) has a special meaning. Usually binary information. The flag indicates if the corresponding pixel is a land or a water pixel or if it is cloudy or it has been processed in a certain way.
Assuming we have a byte, which contains 3 flags.

Meaning

Bit 2

Bit 1

Bit 0

Byte Value

LAND

0

0

1

1

WATER

0

1

0

2

CLOUD

1

0

0

4

...

For a description of Flags see the question ‘What are flags and how should I interpret them?’.
Masks are often based on flags. This allows you to mask water pixels in your data, for example. But masks can also be defined differently. For example, by an expression or by a drawn rectangle or by a shapefile which has been loaded. Masks are often used as a Region-Of-Interest (ROI). For example instance, when computing statistics in SNAP you can select a mask as the ROI. Then the statistic is only computed with the ROI.

...

  1. Please select the band in the Product Explorer and select from the Menu > Analysis > Information. Please carefully check the entries on
    Geophysical data type vs. Raw data type (how SNAP displays the data vs. how the data is actually stored; , e.g. Sentinel-2 bands are stored as 16-bit integers (full numbers), but displayed as 32-bit float (decimal values)
    Scaling factor and Scaling offset (the factor defines if the actual pixels are multiplied by a constant; , e.g. Sentinel-2 bands are multiplied by 1.0E4 (divided by 10000) so the pixels are displayed as reflectance between 0 and 1)
    No-data value (defines which pixels are displayed transparently in SNAP)
    Valid-pixel expression (allows to mask out pixels in SNAP according to a logical or mathematical expression)
    → All these definitions are only valid in SNAP and not considered when exporting to GeoTiff or other external formats. They have to must be taken into consideration accordingly.

  2. As every external format has its own specifications on the maximum file size and detail, conversion errors can occur (e.g. 16 bit (0-32786) before conversion vs. 8 bit (0-255) after conversion).

...

Sometimes it can happen that one plugin breaks the whole help system. Provide the list of installed plugins in the forum along with the problem description. A developer can have look at your problem.
Open in SNAP Desktop the plugin dialogue and switch to the Installed tab and make a screenshot.
On the command line you can follow what is written on this page: Update SNAP from the command line. Perform what is written in the “List all modules” section.

...

In order to write intermediate results to disk you need to add the Write operator to the graph. For the final result a Write operator is added automatically to the graph by gpt. So, all you need is to specify the target on the command line.

How to best batch the gpt e.g. using just DOS-batch or using python

For batch processing there is an example available in our SNAP wiki.
For python there are meanwhile some examples available in this forum. Probably reading this thread (Example script for multiple operations?) will help you.
But you can also do batch processing from the Desktop application. See in the menu at Tools --> Batch Processing.

It depends on you what you like most.

Related questions

Are there recommended graphs or example graphs available?

Recommended graphs can be found in the Graphs menu of the Graph Builder.

Related questions


S1TBX

What SAR missions are supported?

...

The level-2 data provided by ESA/Copernicus/Eumetsat is already atmospherically corrected. If you want to do the AC on your own, you currently have two optionsthreeoptions:

  1. iCOR: https://remotesensing.vito.be/case/icor
    Beside Sentinel-2, Landsat 8 and Proba-V it also supports Sentinel-3 OLCI

  2. C2RCC: https://www.brockmann-consult.de/portfolio/water-quality-from-space/
    The main purpose of the C2RCC processor is the retrieval of Inherent Optical Properties (IOP) but it also performs an atmospheric correction over water. If you are only interested in water pixels, then you can give it a try. It is included in the Sentinel-3 Toolbox.

  3. Rayleigh Correction:
    This simplified atmospheric correction procedure is a first attempt to normalise the TOA signal for gaseous and Rayleigh effects, whilst ignoring the more complicated and variable effects of absorbing aerosols. It is available in the menu at Optical / Preprocessing / Rayleight Rayleigh Correction.

Is there a cloud masking including cloud shadow for OLCI?

...

The C2X nets are not available for OLCI. At the time of the C2X project, the training range for the “normal” neural nets was rather restricted to moderately turbid and absorbing coastal waters. With C2X really extreme situations were included, at the costs of less good performance in clearer waters. After this exercise, the ranges used for training neural nets for C2RCC, in general, has been extended – not as extreme as in C2X but sufficiently to cover many situations in coastal and inland waters, without scrutinizing clear waters.
Thus, currently, we don’t work on a version of the C2X nets for OLCI but could consider this if there is demand in the community.

...

This error appears in some sen2cor versions when trying to execute at 10m resolution. The workaround is to select ALL resolutions when running it from SNAP or to not indicate any resolution when running from command line (this way all resolutions will be computed). It is explained in the SNAP forum: https://forum.step.esa.int/t/sen2cor-02-05-05-win64-attributeerror-l2a-tables-object-has-no-attribute-l2a-tile-pvi-file/9587

Sen2Res

...