Strategy for subsetting Sentinel-3 SLSTR L2 LST

Hello,

We’re trying to subset and reproject Sentinel-3 LST data acquired before the PDGS cuts the products in slices. Below an example of such product with the AOI we want to extract

We run this on a computer with 32GB of RAM but we still get the Java heap space Out of Memory exceptions.

We’ve tried subset + reproject and subset alone with gpt.

Is there a way to subset a Sentinel-3 LST Level-2 that will fit on a 32gb of RAM computer?

Hi Fabrice,

can you tell me the product name and the coordinates of the region? Then I could try it with your configuration.

I just tried it and it worked quite good. I have only 16GB RAM in my PC but configured SNAP with only 11GB.

Red is the subset, white the orbit.
image

1 Like

Had you selected only the LST band during the subsetting, right? Otherwise SNAP tries to do the subset of the entire product.

I also use it actually with 32GB RAM but I got multiple files simultaneously without major issues.

Hello, here’s the graph used in SNAP that generates the exception

<graph id="Graph">
  <version>1.0</version>
  <node id="Read">
    <operator>Read</operator>
    <sources/>
    <parameters class="com.bc.ceres.binding.dom.XppDomElement">
      <file>/Users/fbrito/Downloads/S3A_SL_2_LST____20200422T063257_20200422T081356_20200423T193710_6059_057_234______LN2_O_NT_004.SEN3/xfdumanifest.xml</file>
      <formatName>Sen3</formatName>
    </parameters>
  </node>
  <node id="Subset">
    <operator>Subset</operator>
    <sources>
      <sourceProduct refid="Read"/>
    </sources>
    <parameters class="com.bc.ceres.binding.dom.XppDomElement">
      <sourceBands/>
      <region>0,0,0,0</region>
      <referenceBand/>
      <geoRegion>POLYGON ((26.016000747680664 -2.1089999675750732, 59.0629997253418 -2.1089999675750732, 59.0629997253418 12.211000442504883, 26.016000747680664 12.211000442504883, 26.016000747680664 -2.1089999675750732, 26.016000747680664 -2.1089999675750732))</geoRegion>
      <subSamplingX>1</subSamplingX>
      <subSamplingY>1</subSamplingY>
      <fullSwath>false</fullSwath>
      <tiePointGridNames/>
      <copyMetadata>true</copyMetadata>
    </parameters>
  </node>
  <node id="Reproject">
    <operator>Reproject</operator>
    <sources>
      <sourceProduct refid="Subset"/>
    </sources>
    <parameters class="com.bc.ceres.binding.dom.XppDomElement">
      <wktFile/>
      <crs>EPSG:4326</crs>
      <resampling>Nearest</resampling>
      <referencePixelX/>
      <referencePixelY/>
      <easting/>
      <northing/>
      <orientation/>
      <pixelSizeX/>
      <pixelSizeY/>
      <width/>
      <height/>
      <tileSizeX/>
      <tileSizeY/>
      <orthorectify>false</orthorectify>
      <elevationModelName/>
      <noDataValue>NaN</noDataValue>
      <includeTiePointGrids>true</includeTiePointGrids>
      <addDeltaBands>false</addDeltaBands>
    </parameters>
  </node>
  <node id="Write">
    <operator>Write</operator>
    <sources>
      <sourceProduct refid="Reproject"/>
    </sources>
    <parameters class="com.bc.ceres.binding.dom.XppDomElement">
      <file>/Users/fbrito/Downloads/target.dim</file>
      <formatName>BEAM-DIMAP</formatName>
    </parameters>
  </node>
  <applicationData id="Presentation">
    <Description/>
    <node id="Read">
            <displayPosition x="37.0" y="134.0"/>
    </node>
    <node id="Subset">
      <displayPosition x="176.0" y="151.0"/>
    </node>
    <node id="Reproject">
      <displayPosition x="326.0" y="144.0"/>
    </node>
    <node id="Write">
            <displayPosition x="455.0" y="135.0"/>
    </node>
  </applicationData>
</graph>

Is the exception the “Java heap space Out of Memory” you mentioned?
Because I remember to get an issue until I have downloaded the last plugins for S3.

I believe you got this already in its latest version, right?

Still, I see you do not select a single band, so this operation requires more memory with respect to select one single band.

Not sure it is useful. Let us know

I’ve updated everything I could so I believe I’m running the latest versions.

Actually the graph builder does bot suggest the band names to select from. Is this showing another issue?

Well… depends.
Sometimes SNAP needs what I call a “refresh” on the graph builder. Try saving and reloading the same graph again.
For me this use to solve this kind of situation.

For future reference, here’s the graph that works:

  <version>1.0</version>
  <node id="Read">
    <operator>Read</operator>
    <sources/>
    <parameters class="com.bc.ceres.binding.dom.XppDomElement">
      <file>/Users/fbrito/Downloads/S3A_SL_2_LST____20200422T063257_20200422T081356_20200423T193710_6059_057_234______LN2_O_NT_004.SEN3/xfdumanifest.xml</file>
      <formatName>Sen3</formatName>
    </parameters>
  </node>
  <node id="Subset">
    <operator>Subset</operator>
    <sources>
      <sourceProduct refid="Read"/>
    </sources>
    <parameters class="com.bc.ceres.binding.dom.XppDomElement">
      <sourceBands/>
      <region></region>
      <referenceBand/>
      <geoRegion>POLYGON ((26.016000747680664 -2.1089999675750732, 59.0629997253418 -2.1089999675750732, 59.0629997253418 12.211000442504883, 26.016000747680664 12.211000442504883, 26.016000747680664 -2.1089999675750732, 26.016000747680664 -2.1089999675750732))</geoRegion>
      <subSamplingX>1</subSamplingX>
      <subSamplingY>1</subSamplingY>
      <fullSwath>true</fullSwath>
      <tiePointGridNames/>
      <copyMetadata>true</copyMetadata>
    </parameters>
  </node>
  <node id="Reproject">
    <operator>Reproject</operator>
    <sources>
      <sourceProduct refid="Subset"/>
    </sources>
    <parameters class="com.bc.ceres.binding.dom.XppDomElement">
      <wktFile/>
      <crs>EPSG:4326</crs>
      <resampling>Nearest</resampling>
      <referencePixelX/>
      <referencePixelY/>
      <easting/>
      <northing/>
      <orientation/>
      <pixelSizeX/>
      <pixelSizeY/>
      <width/>
      <height/>
      <tileSizeX/>
      <tileSizeY/>
      <orthorectify>false</orthorectify>
      <elevationModelName/>
      <noDataValue>NaN</noDataValue>
      <includeTiePointGrids>true</includeTiePointGrids>
      <addDeltaBands>false</addDeltaBands>
    </parameters>
  </node>
  <node id="Write">
    <operator>Write</operator>
    <sources>
      <sourceProduct refid="Reproject"/>
    </sources>
    <parameters class="com.bc.ceres.binding.dom.XppDomElement">
      <file>/Users/fbrito/Downloads/target.dim</file>
      <formatName>BEAM-DIMAP</formatName>
    </parameters>
  </node>
  <applicationData id="Presentation">
    <Description/>
    <node id="Read">
            <displayPosition x="37.0" y="134.0"/>
    </node>
    <node id="Subset">
      <displayPosition x="176.0" y="151.0"/>
    </node>
    <node id="Reproject">
      <displayPosition x="326.0" y="144.0"/>
    </node>
    <node id="Write">
            <displayPosition x="455.0" y="135.0"/>
    </node>
  </applicationData>
</graph>

Thank you both !

What is the crucial difference?

true

Was this parameter not filled by default by SNAP?

Set to false by default

1 Like