THEIA L2A product format

=>Attention, il s’agit du format des données Landsat produites par THEIA, pas de celles distribuées par l’USGS. Il s’agit des données auxquelles vous accédez sur le site de Theia en cliquant sur cette boîte :

Niveau 2A : Réflectances de surface et masques de nuages

Le fichier zip distribué par THEIA contient plusieurs répertoires et plusieurs fichiers.

Les fichiers de ce répertoire sont les suivants :
  • les réflectances de surface sont fournies sous la forme d’un fichier GeoTiff par bande, pour les bandes B1 à B7 de Landsat-8
  • pour le moment, les fichiers de réflectance de surface sont de deux types :

    • les données se terminant par « SRE_Bx.tif » (SRE pour Surface REflectance) ont été corrigées corrigées des effets atmosphériques, y compris les effets d’environnement


    • les données se terminant par « FRE_Bx.tif » (FRE pour Flat REflectance) ont, de plus, subi une correction supplémentaire qui prend en compte les effets des pentes

    • A terme, très probablement, seuls les fichiers « FRE » seront fournis, afin de diminuer les volumes à distribuer.
    • Dans les deux cas, les données sont codées sur 16 bits et il faut diviser par 10000 pour obtenir des réflectances de surface.
    • <REFLECTANCE_QUANTIFICATION_VALUE>10000</REFLECTANCE_QUANTIFICATION_VALUE>
    • La valeur No_Data (en dehors de l’image) vaut -10000

Nous fournissons aussi les variables atmosphériques dans les fichier ATB_XS.tif déterminées par MAJA, à la résolution de 30m, après interpolation.

  • Le fichier contient une seule bande codée sur 8 bits :
    • La bande 2 correspond à l’épaisseur optique des aérosols, il faut diviser les valeurs par 200 pour obtenir l’épaisseur optique <AEROSOL_OPTICAL_THICKNESS_QUANTIFICATION_VALUE>200</AEROSOL_OPTICAL_THICKNESS_QUANTIFICATION_VALUE>

Le répertoire MASK contient les informations suivantes :
  • Un masque de no_data, à résolution 30m (EDG_XS.tif)
  • Un masque de pixels saturés au niveau 1 à résolution 30m (SAT_XS.tif)
    • le premier bit correspond à la bande B1
    • le deuxième bit correspond à la bande B2
  • Un masque de nuages à 30m de résolution (CLM_XS.tif)

    • bit 0 (1) :Tous nuages (sauf les plus fins), et toutes les ombres
      bit 1 (2) : Tous nuages (sauf les plus fins)
      bit 2 (4) : Nuages détectés par seuil absolu dans le bleu
      bit 3 (8) : Nuages détectés par seuil multi-temporel
      bit 4 (16) : Nuages très fins
      bit 5 (32) : Ombres de nuages correspondant à un nuage
      bit 6 (64) : Ombres de nuages détectées dans la zone où les nuages pourraient être hors image (moins fiable)
      bit 7 (128) : Nuages hauts détectés par la bande 1.38 µm


    • Exemple 1 : la valeur 33 = 32+1 (00100001) indique qu’il s’agit d’une ombre (32), et le bit 1 indique qu’il s’agit soit d’une ombre, soit d’un nuage.
      Exemple 2 : la valeur 43 = 32 + 8 + 2 +1 (00101011)indique qu’il s’agit d’une ombre (32), d’un nuage détecté en multitemporel (8) (l’ombre est probablement sous le nuage) et les bits 0 et 1 sont mis à 1.

  • Un masque géophysique MG2 :

    • bit 0 (1) : Water mask
      bit 1 (2) : Tous nuages (sauf les plus fins)
      bit 2 (4) : Snow Mask
      bit 3 (8) : Shadow Mask (« OU » des bits 5 et 6 du masque de nuages)
      bit 4 (16) : Ombres topographiques
      bit 5 (32) : Zones masquées par le relief
      bit 6 (64) : Soleil trop bas pour une bonne correction des pentes
      bit 7 (128) : Soleil tangent à la surface (mauvaise correction des pentes)

  • IAB : Un masque des pixels pour lequel  l’AOT (bit1) a été interpolée.
Utilisation du masque de nuages :

Si vous souhaitez un masque de nuages strict, testez simplement le fait que le masque de nuages soit supérieur à 0. SI vous souhaitez un masque de nuage un peu moins strict, vérifiez que le bit 0 est égal à 1 (Masque & (00000001) == 1) => This page describes the data format of LANDSAT L2A products distributed by THEIA. USGS format is different.

Level 2A : Surface reflectances and cloud mask

The ZIP file distributed by Theia contains several files and directories.

The files are as follows :
  • the surface reflectances are provided as a GeoTiff per spectral band, for LANDSAT-8 B1 to B7 bands, at 30 m resolution.
  • there are two types of surface reflectance files :

    • the files which end with « SRE_Bx.tif »  (SRE for Surface REflectance) were corrected for atmospheric effects, including adjacency effets


    • the files which end with « FRE_Bx.tif » (FRE for Flat REflectance) are also corrected for slope effect, which consists in suppressing the apparent reflectances variations. The corrected images look like if the land was flat.

    • After having compiled the user feedback, it is likely that we will only distribute « FRE » files to reduce the data volume.
    • In any case, the data are coded on 16bits and you have to divide by 10000 to obtain reflectances.
    • <REFLECTANCE_QUANTIFICATION_VALUE>10000</REFLECTANCE_QUANTIFICATION_VALUE>
    • The  No_Data value (outside the image) is -10000

 We also provide the values of the atmospheric variables computed by MACCS/MAJA, with a 30m resolution (ATB_XS.tif).

  • The files contains one band coded on 8 bits :
    • Band 1 is the Aerosol Optical Thickness, you have to divide by 200 to get the AOT. <AEROSOL_OPTICAL_THICKNESS_QUANTIFICATION_VALUE>200</AEROSOL_OPTICAL_THICKNESS_QUANTIFICATION_VALUE>

The mask directory provides :

  • A  no_data mask, at 30m resolution (EDG_XS.tif)
  • A saturated pixel mask that comes from Level 1 with 30m resolution (SAT_XS.tif)
    • first bit corresponds to first band at each resolution
    • second bit corresponds to second band at each resolution
  • a cloud mask for each resolution (CLM_XS.tif)


    • bit 0 (1) : all clouds except the thinnest and all shadows
      bit 1 (2) : all clouds (except the thinnest)
      bit 2 (4) : clouds detected via mono-temporal thresholds
      bit 3 (8) : clouds detected via multi-temporal thresholds
      bit 4 (16) : thinnest clouds
      bit 5 (32) : cloud shadows cast by a detected cloud
      bit 6 (64) : cloud shadows cast by a cloud outside image
      bit 7 (128) : high clouds detected by 1.38 µm



    • Example 1 : value 33 = 32+1 (00100001) :  bit 1 tells us a shoadow or a cloud has been detected and bit 5 that it is a shadow (32),


    • Example 2 : value 11 =  8 + 2 +1 (00001011) tells us that it is a cloud (bits 1 and 2), detected by multi-temporal threshold (bit 4)

  • A geophysical mask MG2 :

    • bit 0 (1) : Water mask
      bit 1 (2) : All clouds (except the thinnests)
      bit 2 (4) : Snow Mask
      bit 3 (8) : all shadows (« OU » des bits 5 et 6 du masque de nuages)
      bit 4 (16) : Topographic shadows
      bit 5 (32) : Unseen pixels due to topography
      bit 6 (64) : Sun too low for a correct terrain correction
      bit 7 (128) : Sun direction tangent to slope (inaccurate terrain correction)
  • IAB : A mask of pixels for which the WaterVapour (bit 1) and Aerosol Optical Thickness (bit 2) was interpolated  (available at resolutions R1 or R2). However, in MAJA 3.2, there is an inversion of bit 2, which equals zero if interpolated)
How to use the cloud mask

If you want a very strict cloud and shadows mask, just test if cloud mask is greater than 0. This is our advice.If you are working in a region where you think MACCS/MAJA detects too many clouds, check that bit 1 is 1.  (Mask & (00000001) == 1)

5 thoughts on “THEIA L2A product format

  1. Bonjour,
    Il est indiqué ci-dessus qu’il y a ‘un masque de no_data, à résolution 30m (EDG_XS.tif)’, mais je ne le trouve pas, par exemple dans la scène
    SENTINEL2A_20160328-111353-241_L2A_T30UUU_D_V1-1
    si bien que je ne sais pas comment distinguer dans le masque de nuages CLM_R1.tif les pixels qui sont à 0 parce qu’il n’y a pas de nuages et les pixels qui sont à 0 parce que hors fauchée…
    Pourriez-vous m’indiquer où est le masque de no-data, ou bien comment connaître la partie utile de l’image ?
    Merci d’avance.
    AF

  2. Bonjour,
    Je me réponds à moi-même : « comment connaître la partie utile de l’image ? »
    Eh bien il suffit de traiter en parallèle du masque un canal quelconque, où les no-data sont à -10000
    Cdlt,
    AF

    1. Merci ! C’est la bonne solution.
      Effectivement, je n’avais pas vu que le masque EDG n’était pas présent sur Landsat8.
      Cordialement,
      Olivier

      1. « sur Landsat8 » … je ne sais pas, mais là c’est une scène SENTINEL 2A.
        Peut-être que c’est parce que c’est une « vieille » scène, en V1-1 de votre chaîne…
        Cdlt,
        AF

        1. J’ai lu un peu trop en diagonale, mais il s’agit ici des commentaires à l’article sur le format des données LANDSAT8, c’est pas sympa de me tendre des pièges 😉
          Oui, on a eu quelques évolutions du format, mais je commence à avoir du mal à me rappeler toutes les vicissitudes…
          Amitiés,
          Olivier

Laisser un commentaire

Rechercher