A set of 4 different GPF graphs is proposed with the aim of setup Landsat-8 OLI data for the processing with Biophysical Processor.
The Biophysical Processor integrated in SNAP 8 also supports Landsat-8 OLI as input data. Such processor requires zenith and azimuth angles both for sun and view to be provided together with BOA reflectances. Recently, Landsat Collection 2 (C2) datasets have been released, providing data with improved geometric accuracy and improved radiometric calibration. Landsat C2 dataset at Level 2 (L2) contains BOA reflectances, but no angles are provided. Landsat C2 dataset at Level 1 (L1) contains TOA reflectances, together with zenith and azimuth angles both for sun and view, that were not provided in the previous Collection 1 L1 dataset.
The âSen2likeâ tool will be integrated in SNAP to harmonize Landsat-8 to Sentinel-2, in order to generate denser time series and improve Earth monitoring. Since Landsat C2 reader is not yet available in SNAP 8, and Sen2Like is not yet integrated, there is the need of a procedure to easily combine BOA reflectances with zenith and azimuth angles both for sun and view, in order to use the Biophysical Processor.
I propose here a set of GPF graphs to combine Landsat-8 BOA reflectances with zenith and azimuth angles both for sun and view in order to execute the operator âBiophysical Processor LANDSAT8â (BiophysicalLandsat8Op).
These graphs are proposed in the following posts:
L8_C2_L1_L2_stacking.xml Combines Landsat-8 OLI C2 L1 (angles) with Landsat-8 OLI C2 L2 (BOA reflectances)
L8_C2_BiophysicalOp.xml Combines Landsat-8 OLI C2 L1 (angles) with Landsat-8 OLI C2 L2 (BOA reflectances) and execute Biophysical Processor
L8_iCOR_BiophysicalOp.xml Combines Landsat-8 OLI C2 L1 (angles) with Landsat-8 OLI BOA reflectances atmospherically corrected using iCOR and execute Biophysical Processor
L8_C2_iCOR_BiophysicalOp.xml Perform atmospheric correction of Landsat-8 OLI C1 L1 using iCOR, combines with Landsat-8 OLI C2 L1 (angles) and execute Biophysical Processor
GPF graphs are also available at GitHub repository:
The GPF graph combines Landsat-8 OLI C2 L1 (angles) with Landsat-8 OLI C2 L2 (BOA reflectances). Result can later be processed with the operator âBiophysical Processor LANDSAT8â (BiophysicalLandsat8Op).
The GPF graph combines Landsat-8 OLI C2 L1 (angles) with Landsat-8 OLI C2 L2 (BOA reflectances) and execute Biophysical Processor âBiophysical Processor LANDSAT8â (BiophysicalLandsat8Op).
The GPF graph combines Landsat-8 OLI C2 L1 (angles) with Landsat-8 OLI BOA reflectances atmospherically corrected using iCOR and execute Biophysical ProcessorâBiophysical Processor LANDSAT8â (BiophysicalLandsat8Op).
âiCORâ should be installed in the system and imported in SNAP 8 as a module. Landsat-8 OLI C1 L1 is currently supported as iCOR input dataset.
The GPF graph perform atmospheric correction of Landsat-8 OLI C1 L1 using iCOR, combines with Landsat-8 OLI C2 L1 (angles) and execute Biophysical Processor Biophysical ProcessorâBiophysical Processor LANDSAT8â (BiophysicalLandsat8Op).
âiCORâ should be installed in the system and imported in SNAP 8 as a module. Landsat-8 OLI C1 L1 is currently supported as iCOR input dataset.
In the Help of SNAP 8.0, it says that blue, red, near_infrared, swir_1 and swir_2 bands are needed when using Landsat8 images as inputs for the Biophysical Processor. So for layer stacking, it should be Band 2 (blue) instead of Band 3 (green), right?
When I ran the GPF graph for layer stacking, I got an error:âExpression is invalid. Undefined symbol '$sourceProduct1.band1â. Could you help me with it?
according to the Biophysical Operator parameters file, âgreenâ band is used as input for LANDSAT8 OLI data.
Have a look at this post for furhter details:
@FedericoF I have loaded L8_C2_L1_L2_stacking.xml for the purpose it is built for, however I am receiving same error as @Shixian . I am not conversant with the command line. Can you please help me troubleshoot this problem? I will be glad if you could help me get rid of this nasty error.
Ciao Federico,
First of all, im a noob at using snap from the command line. I would like to use your methodology for LAI computation using Landsat-8 C2L1 and C2L2 data. I downloaded the .xml file from github, and modified the input files of the script according to my file system. Here i provide you with my inputs:
When i launch the script from the command line, i got the following error message:
âError: [NodeId: Read_B3] Specified âfileâ [${input_B3}] does not exist.â.
I canât understand whatâs wrong, of course it must be something related to the path modification that I made, since i did not modified anything other than that!
Do you have any idea of what my problem could be?
Grazie mille in anticipo, Quick update, I think i overcame this issue. Now i got the following warning:
âError: [NodeId: BandMaths] Could not parse expression: â((($sourceProduct1.band_1 > 7273) and ($sourceProduct1.band_1 < 43637) and ($sourceProduct1.band_1 > 0)) ? (0.0000275 * $sourceProduct1.band_1 - 0.2) : NaN)â. Undefined symbol â$sourceProduct1.band_1â.â, which i think other users also had.
Alessandro
I believe I was able to get past these errors and use the biophysical processor to calculate LAI (or FAPAR, etc.) using Landsat 8 imagery.
What I had to do was download both the Level 2 and Level 1 Product for the same image (download from Earth Explorer). These were downloaded as .tar archives. I then copied the four total sun and view azimuth files that were present in the Level 1 download .tar folder (the four TIFs ending in â_SZA.tifâ, â_SAA.tifâ, â_VAA.tifâ, â_VZA.tifâ), and I pasted them into the Level 2 download .tar folder. I did not need to change the name of these four files. I then copied the information for these four layers in the Level 1 metadata file (ending in â_MTL.txtâ), and pasted the information for these four layers into the Level 2 metadata file. This process allowed SNAP to successfully read in the Level 2 .tar archive and it was able to recognize the four new tifs, which loaded in as âvaaâ, âvzaâ, âsaaâ, and âszaâ.
In order for the biophysical processor to work, I had to rename these four layers in the âProduct Explorerâ Window. I also had to do band math to correctly scale the DN values for these four layers, which required multiplying each input layer by â0.01â, as detailed in the comments by user Shixian at this link: Biophysical Processor Landsat 8 - #14 by florcamg.