Sentinel2 BRDF by sen2cor

Hello everyone, I want to using sen2cor process sentinel-2 for BRDF.
the document “S2-PDGS-MPC-L2A-IODD-2.5” as followed:

When I process test data by attach processing xml, setting the brdf parameter 0 and 21. But I finally find the result are same.

" L2A_GIPP.xml "
<?xml version=“1.0” encoding=“UTF-8”?>

<Level-2A_Ground_Image_Processing_Parameter xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=“L2A_GIPP.xsd”>

<Common_Section>

<Log_Level>INFO</Log_Level>

<!-- can be: NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL -->

<Operation_Mode>PDGS</Operation_Mode>

<!-- can be: TOOLBOX or PDGS. PDGS reflects changes for integration into PDGS according to SIIMPC-1119 -->

<Nr_Processes>1</Nr_Processes>

<!-- can be an unsigned integer value specifying the number or processes you intend to operate in parallel or: AUTO. If AUTO is chosen, the processor determines the number of processes automatically, using cpu_count() -->

<Target_Directory>DEFAULT</Target_Directory>

<!-- should be either a directory or ‘DEFAULT’. If default, target will be created at root of L1C product -->

<DEM_Directory>/home/tq/data_pool/SRTML1/srtm/tiles/GeoTIFF</DEM_Directory>

<!-- should be either a directory in the sen2cor home folder or ‘NONE’. If NONE, no DEM will be used -->

<DEM_Reference>http://data_public:GDdci@data.cgiar-csi.org/srtm/tiles/GeoTIFF/</DEM_Reference>

<!-- will be ignored if DEM is NONE. A SRTM DEM will be downloaded from this reference, if no local DEM is available -->

<Generate_DEM_Output>FALSE</Generate_DEM_Output>

<!-- FALSE: no DEM output, TRUE: store DEM in the AUX data directory -->

<Generate_TCI_Output>FALSE</Generate_TCI_Output>

<!-- FALSE: no TCI output, TRUE: store TCI in the IMAGE data directory -->

<Generate_DDV_Output>TRUE</Generate_DDV_Output>

<!-- FALSE: no DDV output, TRUE: store DDV in the QI_DATA directory -->

<PSD_Scheme PSD_Version=“13.1” PSD_Reference=“S2-PDGS-TAS-DI-PSD-V13.1_Schema”>

<UP_Scheme_1C>S2_User_Product_Level-1C_Metadata</UP_Scheme_1C>

<UP_Scheme_2A>S2_User_Product_Level-2A_Metadata</UP_Scheme_2A>

<Tile_Scheme_1C>S2_PDI_Level-1C_Tile_Metadata</Tile_Scheme_1C>

<Tile_Scheme_2A>S2_PDI_Level-2A_Tile_Metadata</Tile_Scheme_2A>

<DS_Scheme_1C>S2_PDI_Level-1C_Datastrip_Metadata</DS_Scheme_1C>

<DS_Scheme_2A>S2_PDI_Level-2A_Datastrip_Metadata</DS_Scheme_2A>

</PSD_Scheme>

<PSD_Scheme PSD_Version=“14.2” PSD_Reference=“S2-PDGS-TAS-DI-PSD-V14.2_Schema”>

<UP_Scheme_1C>S2_User_Product_Level-1C_Metadata</UP_Scheme_1C>

<UP_Scheme_2A>S2_User_Product_Level-2A_Metadata</UP_Scheme_2A>

<Tile_Scheme_1C>S2_PDI_Level-1C_Tile_Metadata</Tile_Scheme_1C>

<Tile_Scheme_2A>S2_PDI_Level-2A_Tile_Metadata</Tile_Scheme_2A>

<DS_Scheme_1C>S2_PDI_Level-1C_Datastrip_Metadata</DS_Scheme_1C>

<DS_Scheme_2A>S2_PDI_Level-2A_Datastrip_Metadata</DS_Scheme_2A>

</PSD_Scheme>

<PSD_Scheme PSD_Version=“14.3” PSD_Reference=“S2-PDGS-TAS-DI-PSD-V14.3_Schema”>

<UP_Scheme_1C>S2_User_Product_Level-1C_Metadata</UP_Scheme_1C>

<UP_Scheme_2A>S2_User_Product_Level-2A_Metadata</UP_Scheme_2A>

<Tile_Scheme_1C>S2_PDI_Level-1C_Tile_Metadata</Tile_Scheme_1C>

<Tile_Scheme_2A>S2_PDI_Level-2A_Tile_Metadata</Tile_Scheme_2A>

<DS_Scheme_1C>S2_PDI_Level-1C_Datastrip_Metadata</DS_Scheme_1C>

<DS_Scheme_2A>S2_PDI_Level-2A_Datastrip_Metadata</DS_Scheme_2A>

</PSD_Scheme>

<PSD_Scheme PSD_Version=“14.5” PSD_Reference=“S2-PDGS-TAS-DI-PSD-V14.5_Schema”>

<UP_Scheme_1C>S2_User_Product_Level-1C_Metadata</UP_Scheme_1C>

<UP_Scheme_2A>S2_User_Product_Level-2A_Metadata</UP_Scheme_2A>

<Tile_Scheme_1C>S2_PDI_Level-1C_Tile_Metadata</Tile_Scheme_1C>

<Tile_Scheme_2A>S2_PDI_Level-2A_Tile_Metadata</Tile_Scheme_2A>

<DS_Scheme_1C>S2_PDI_Level-1C_Datastrip_Metadata</DS_Scheme_1C>

<DS_Scheme_2A>S2_PDI_Level-2A_Datastrip_Metadata</DS_Scheme_2A>

</PSD_Scheme>

<GIPP_Scheme>L2A_GIPP</GIPP_Scheme>

<SC_Scheme>L2A_CAL_SC_GIPP</SC_Scheme>

<AC_Scheme>L2A_CAL_AC_GIPP</AC_Scheme>

<PB_Scheme>L2A_PB_GIPP</PB_Scheme>

</Common_Section>

<Scene_Classification>

<Filters>

<Median_Filter>0</Median_Filter>

</Filters>

</Scene_Classification>

<Atmospheric_Correction>

<Look_Up_Tables>

<Aerosol_Type>RURAL</Aerosol_Type>

<!-- RURAL, MARITIME, AUTO -->

<Mid_Latitude>SUMMER</Mid_Latitude>

<!-- SUMMER, WINTER, AUTO -->

<Ozone_Content>0</Ozone_Content>

<!-- The atmospheric temperature profile and ozone content in Dobson Unit (DU)

0: to get the best approximation from metadata

(this is the smallest difference between metadata and column DU),

else select one of:

==========================================

For midlatitude summer (MS) atmosphere:

250, 290, 331 (standard MS), 370, 410, 450

==========================================

For midlatitude winter (MW) atmosphere:

250, 290, 330, 377 (standard MW), 420, 460

==========================================

–>

</Look_Up_Tables>

<Flags>

<WV_Correction>3</WV_Correction>

<!-- 0: No WV correction, 1: only 940 nm bands, 2: only 1130 nm bands , 3: both regions used during wv retrieval, 4: Thermal region -->

<VIS_Update_Mode>1</VIS_Update_Mode>

<!-- 0: constant, 1: variable visibility -->

<WV_Watermask>1</WV_Watermask>

<!-- 0: not replaced, 1: land-average, 2: line-average -->

<Cirrus_Correction>TRUE</Cirrus_Correction>

<!-- FALSE: no cirrus correction applied, TRUE: cirrus correction applied -->

<BRDF_Correction>0</BRDF_Correction>

<!-- 0: no BRDF correction, 1: , 2: ,11, 12, 22, 21: see IODD for explanation -->

<BRDF_Lower_Bound>0.22</BRDF_Lower_Bound>

<!-- In most cases, g=0.2 to 0.25 is adequate, in extreme cases of overcorrection g=0.1 should be applied -->

</Flags>

<Calibration>

<DEM_Unit>0</DEM_Unit>

<!-- (0=[m], 1=[dm], 2=[cm]) -->

<Adj_Km>1.000</Adj_Km>

<!-- Adjancency Range [km] -->

<Visibility>40.0</Visibility>

<!-- visibility (5 <= visib <= 120 km) -->

<Altitude>0.100</Altitude>

<!-- [km] -->

<Smooth_WV_Map>100.0</Smooth_WV_Map>

<!-- length of square box, [meters] -->

<WV_Threshold_Cirrus>0.25</WV_Threshold_Cirrus>

<!-- water vapor threshold to switch off cirrus algorithm [cm]Range: 0.1-1.0 -->

</Calibration>

</Atmospheric_Correction>

</Level-2A_Ground_Image_Processing_Parameter>

anyone can help about sentinel2 BRDF?

How is the terrain on your test product? BRDF-correction in Sen2Cor is only active in connection wiht terrain correction. If you are using a flat granule, then there is no difference between using BRDF-correction and not using it.

1 Like

thanks for reply. get it.