Efficient computation of LAI (or NDVI)

Dear SNAP users,

I have a question regarding processing Sentinel 2 - level 1C data downloaded via the open hub. Since I need to calculate NDVI and LAI for a small area of interest (5 km x 5 km) for images during tree months of 2016, it seems to be quite demanding. And I found a few errors which I am not able to handle it.

My procedure is:
I downloaded ca 6 GB file (x 10), opened one in SNAP. Now i don’t know if is better to calculate Sentinel 2 level 2A product by sen2cor or immediately use Biophysical processor. Hovever, so far, I use tool resample the product to the same size (10 m x 10 m), tried to create a subset (I have to use a rectangle, the options “shapefile” gives me an error). For subset a tried to calculate LAI but after that, it wasn’t possible to show the image or even save the image to GeoTIFF.

Could you please give me a hint how to handle this problem and how to calculate LAI right - directly/indirectly from downloaded data? Are there any options how to downloaded only small part of sentinel 2 product?

Thank you

First, the smallest part for Sentinel-2 products is a granule of 100km x 100km. Since December 2016, all products contain a single granule, so I assume you’re downloaded products previous to that date.
If you know your granule (UTM tile), then there are tools that can download only that tile, not the entire product (for example this one).
Second, the right way of computing LAI is from atmospherically corrected products (hence L2A).
My advice would be the following:

  1. Download only the granule of interest
  2. Perform the atmospheric correction with Sen2Cor
  3. Resample the L2A product
  4. Subset the resampled L2A product
  5. Compute NDVI/LAI
    You can use the Graph Builder to chain the steps 2 to 5 and then, if you have multiple L1C inputs, you can execute the graph in Batch Processing for all the inputs.
1 Like

Thank you very much,
your proposed workflow works very well. Thank you also for the link containing the downloader!

Now I just wonder - not sure how the neural network is working- for getting the best result,is it better to calculate LAI using a large image? Or the neural network will calculate the same result using the small sample (area of interest)?

Thank you

Hello Ladislav,

I don’t know the internals of the Biophysical Processor. Maybe @obarrilero could provide you with more information.


Hi Ladislav,

You should get the same result using the small sample since it is a pixel-based algorithm: for computing the LAI in a pixel, only the reflectances and the angles of that pixel are used.

Ok, great, thank you, kraftek and obarrilero.

@kraftek can you please share your code to use in the Graph Builder to chain the steps 2 to 5? I have multiple L1C inputs and want to execute the graph in batch processing for all the inputs. I also want to extract few bands (NIR) and export as TIFF. Thank you.

  1. Perform the atmospheric correction with Sen2Cor
  2. Resample the L2A product
  3. Subset the resampled L2A product
  4. Compute NDVI/LAI