Venµs L1C Product Format

=>

Here is a simplistic description of Venµs L1C data distributed by Theia. The official description of the data format  is here.

The L2A format is described here.

Unzip

When you download a Venµs L1C or L2A product from Theia website, you obtain a zip file.

unzip -o VENUS_20180131-143921-000_L1C_25MAYO_D_V0-8.zip

 

Products delivered since May 2018

Starting from products delivered in May 2018, after unzipping, you get a HDR file (which is a XML file) and a DBL.DIR folder. You can go to the Format section below to see how to handle it.

 

Early products delivered before May 2018

If you downloaded a product generated before may 2018, you get something else. When you unzip it, that's a surprise, you get a tarfile :

tar xvf VE_VM01_VSC_L1VALD_25MAYO___20180131.TAR

And when you untar it, there is one more surprise: you obtain two files : an HDR file, and a DBL file. As CNES likes jokes, the HDR is in fact an xml file, which contains the necessary metadata, and can be read with any text editor,  and the DBL file (DataBLock) is in fact a tar.bz2 file. You can untar it with the following command :

tar xvf VE_VM01_VSC_L1VALD_25MAYO___20180131.DBL

If you are a windows user, you will probably find the way to do all of this by double clicking, although you will probably need to tell windows that a DBL file is a tar file.

From now on, you get a good format, but don't forget to remove the zip, tar and dbl file, otherwise,  Venµs data will occupy a large volume on your disk.

This format has now been updated, providing a zip file containing directly the HDR and DBL.DIR (no need to untar). The older products will be reprocessed so that you have to use only one format.

 

L1C Format

- the HDR contains the meta data form the image acquisition

- Instrument, date  and time
- projection and geographic coverage
- Solar and viewing angles.
For the solar angles, you can use the values at the scene center.
<Solar_Angles>
<Useful_Image>
<Image_Center>
<Azimuth unit="deg">62.0585933294</Azimuth>
<Zenith unit="deg">34.1848602257</Zenith>
</Image_Center>
</Useful_Image>
</Solar_Angles>
For the viewing angles, you have to account for the fact that the angles differ depending on the spectral band.Venµs channels are regrouped per triplets and the viewing angles are provided for each triplet. For instance, for the third one :

<Viewing_Angles sn="3">
<Image_Center>
<Azimuth unit="deg">191.83414</Azimuth>
<Zenith unit="deg">26.282076</Zenith>
</Image_Center>
</Viewing_Angles>

 

- The DBL.TIF, inside the DBL.DIR folder provides top of atmosphere reflectances

VE_VM01_VSC_PDTIMG_L1VALD_25MAYO___20180131.DBL.TIF

- TOA reflectances for the 12 channels, from B01 to B12
- Coded in 16 bits signed integers: you have to divide per 1000 to obtain reflectances
- No_Data value (outside the image), is -10000
The file contains 3 more bands :
- a saturated pixel mask (one bit per band) (band 13)
- a bad pixel mask (1 pixel per band) (bande 14)
- a mask of cloudy pixels (not very accurate). If the value is greater than zero, it is a cloud (bande 15)

 


=>

Voici une description simpliste du format des données de niveau L1C Venµs distribuées par Theia. La description officielle du format des données sera prochainement disponible ici.

Dézip

Lorsque vous téléchargez une donnée sur le site de Theia, vous obtenez un fichier zip.

unzip -o VENUS_20180131-143921-000_L1C_25MAYO_D_V0-8.zip

 

Produits fournis depuis mai 2018

Après dézippage (ou dézippation, dézippement ?), vous obtenez un fichier HDR (qui est en fait un fichier texte au format xml) et un répertoire DBL.DIR. Vous pouvez poursuivre avec la section Format ci dessous pour apprendre à vous en servir.

 

Produits fournis avant mai 2018

Quand vous le dézippez, surprise, vous obtenez un fichier tar.

tar xvf VE_VM01_VSC_L1VALD_25MAYO___20180131.TAR

Quand vous le détarez, vous n'êtes pas au bout de vos surprises. Vous obtenez deux fichiers : un fichier HDR, et un fichier DBL. Comme le CNES est assez farceur, le fichier HDR est en fait un fichier xml, contenant les métadonnées, et peut se lire avec l'éditeur de votre choix,  et le fichier DBL est un fichier tar.bz2. Vous devez donc le détarer en utilisant encore une fois la commande

tar xvf VE_VM01_VSC_L1VALD_25MAYO___20180131.DBL

Voilà, à partir de là, on arrive à un format exploitable, toutes les données se trouvent dans le répertoire  VE_VM01_VSC_L1VALD_25MAYO___20180131.DBL.DIR. mais je vous recommande d'effacer les fichiers zip, tar et DBL qui encombrent inutilement vos disques.

Comme promis, ce format de fichier (DBL, pour DataBLock, et non pas DéBiLe) a été abandonné ! Nous allons essayer de retraiter les  premiers produits au plus vite pour nous débarrasser de ces premiers produits peu pratiques.

Format

- le fichier xml contient les métadonnées de la prise de vue, notamment :

- Instrument, date et heure,
- Projection utilisée, Emprise géographique
- angles de prise de vue. Pour les angles solaires, il vous suffit d'utiliser les angles au centre de la scène.
<Solar_Angles>
<Useful_Image>
<Image_Center>
<Azimuth unit="deg">62.0585933294</Azimuth>
<Zenith unit="deg">34.1848602257</Zenith>
</Image_Center>
</Useful_Image>
</Solar_Angles>
pour les angles de visée, il faut tenir compte du fait que les angles sont différents bande par bande. Les bandes sont regroupés par triplets de trois bandes. Les angles de visée sont fournis pour chacun des triplets. Par exemple :

<Viewing_Angles sn="3">
<Image_Center>
<Azimuth unit="deg">191.83414</Azimuth>
<Zenith unit="deg">26.282076</Zenith>
</Image_Center>
</Viewing_Angles>

 

- le fichier DBL.TIF contient les réflectances au sommet de l'atmosphère :

VE_VM01_VSC_PDTIMG_L1VALD_25MAYO___20180131.DBL.TIF

- Réflectances des 12 bandes, dans l'ordre B01-B12
- Codées en entiers 16 bits signés : il faut diviser par 1000 pour obtenir des réflectances
- La valeur No_Data (en dehors de l'image), vaut -10000
Le fichier contient trois bandes de plus :
- un masque des pixels saturés (un bit par bande) (bande 13)
- un masque des pixels défectueux (un bit par bande) (bande 14)
- un masque des pixels nuageux (pas très précis). Si la valeur est supérieure à zéro, il s'agit d'un nuage. (bande 15)

 

<a name="Francais"> </a><a href="http://www.cesbio.ups-tlse.fr/multitemp/wp-content/uploads/2013/06/Produits-e1373293303747.png"><img class="aligncenter size-medium wp-image-2153" title="Produits" src="http://www.cesbio.ups-tlse.fr/multitemp/wp-content/uploads/2013/06/Produits-e1373293303747-300x165.png" alt="" width="300" height="165" /></a> <a href="#English"><img src="http://www.cesbio.ups-tlse.fr/multitemp/wp-content/uploads/2013/02/drapeau_francais_petit.jpg" alt="" width="30" height="20" /> =&gt;<img src="http://www.cesbio.ups-tlse.fr/multitemp/wp-content/uploads/2013/02/english_flag_small.gif" alt="" width="30" height="20" /></a> Attention, il s'agit du format des données de Niveau 2A Sentinel-2 (et bientôt LANDSAT8) produites par THEIA/MUSCATE. Le format des données produites par l'outil SEN2COR de l'ESA est différent, tout comme le format des données produites par Sen2AGRI.

La description officielle du format des données <strong><a href="https://theia.cnes.fr/atdistrib/rocket/#/help">se trouve ici</a></strong>
<h4>Niveau 2A : Réflectances de surface et <a title="La détection des nuages, comment ça marche ?" href="?p=805">masques de nuages</a></h4>
Le fichier zip distribué par THEIA contient plusieurs répertoires et plusieurs fichiers.
<h5>Les fichiers de ce répertoire sont les suivants :</h5>
<ul>
<li><span style="line-height: 21.45px;"> les réflectances de surface sont fournies sous la forme d'un fichier GeoTiff par bande, pour les bandes à 10m (B2,B3,B4,B8) et les bandes à 20m (B5, B6, B7, B8A, B11 et B12) de Sentinel-2</span><span style="line-height: 21.45px;"> </span></li>
<li><span style="line-height: 21.45px;">pour le moment, les fichiers de réflectance de surface sont de deux types :</span>
<ul>
<li><span style="line-height: 21.45px;">les données se terminant par "SRE_Bx.tif"  (SRE pour Surface REflectance) ont été corrigées corrigées des<a title="Les effets atmosphériques, comment ça marche ?" href="?p=1124">effets atmosphériques</a>, y compris les <a title="Les effets d'environnement, comment ça marche ?" href="?p=2201">effets d'environnement</a></span></li>
</ul>
<ul>
<li>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 <a title="La correction des variations d'éclairement dues au relief" href="?p=2404">effets des pentes</a></li>
</ul>
<ul>
<li>A terme, très probablement, seuls les fichiers "FRE" seront fournis, afin de diminuer les volumes à distribuer.</li>
<li>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.</li>
</ul>
<ul>
<li>&lt;REFLECTANCE_QUANTIFICATION_VALUE&gt;10000&lt;/REFLECTANCE_QUANTIFICATION_VALUE&gt;</li>
</ul>
<ul>
<li>La valeur No_Data (en dehors de l'image) vaut -10000</li>
</ul>
</li>
</ul>
Nous fournissons aussi les variables atmosphériques déterminées par MACCS, aux résolutions 10m (ATB_R1.tif) et 20m (ATB_R2.tif).
<ul>
<li>Les fichiers contiennent deux bandes codées sur 8 bits :
<ul>
<li>La bande 1 correspond à la vapeur d'eau, il faut diviser les valeurs par 20 pour obtenir des g/cm2  <span style="line-height: 21.45px;">&lt;WATER_VAPOR_CONTENT_QUANTIFICATION_VALUE&gt;20&lt;/WATER_VAPOR_CONTENT_QUANTIFICATION_VALUE&gt;</span></li>
<li>La bande 2 correspond à l'épaisseur optique des aérosols, il faut diviser les valeurs par 200 pour obtenir l'épaisseur optique  &lt;AEROSOL_OPTICAL_THICKNESS_QUANTIFICATION_VALUE&gt;200&lt;/AEROSOL_OPTICAL_THICKNESS_QUANTIFICATION_VALUE&gt;</li>
</ul>
</li>
</ul>
<span style="line-height: 21.45px;"> </span>
<h5>Le répertoire MASK contient les informations suivantes :</h5>
<ul>
<li>Un masque de no_data, à résolution 10m (EDG_R1.tif) et 20m (EDG_R2.tif)</li>
<li>Un masque de pixels saturés au niveau 1 à résolution 10m (SAT_R1.tif) et 20m (SAT_R2.tif)
<ul>
<li>le premier bit correspond à la bande 1 de la résolution concernée</li>
<li>le deuxième bit correspond à la bande 2 de la résolution concernée</li>
<li>...</li>
<li>Pour R1, l'ordre des bandes est : B2,B3,B4,B8, et pour R2, l'ordre des bandes est : B5,B6,B7,B8a,B11,B12</li>
</ul>
</li>
<li>Un masque de nuages à chaque résolution (CLM_R1.tif ou CLM_R2.tif)
<ul>
<li>
<blockquote><address><em>bit 0 (1) :Tous nuages (sauf les plus fins), et toutes les ombres</em></address> <address><em>bit 1 (2) : Tous nuages (sauf les plus fins)</em></address> <address><em>bit 2 (4) : Nuages détectés par seuil absolu dans le bleu</em></address> <address><em>bit 3 (8) : Nuages détectés par seuil multi-temporel</em></address> <address><em>bit 4 (16) : Nuages très fins</em></address> <address><em>bit 5 (32) : Ombres de nuages correspondant à un nuage</em></address> <address><em>bit 6 (64) : Ombres de nuages détectées dans la zone où les nuages pourraient être hors image (moins fiable)</em></address> <address><em>bit 7 (128) : Nuages hauts détectés par la bande 1.38 µm </em></address></blockquote>
</li>
</ul>
<ul>
<li>
<blockquote><address><em>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.</em></address> <address><em>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. </em></address></blockquote>
</li>
</ul>
</li>
<li><em>Un masque géophysique MG2 :</em>
<ul>
<li>
<blockquote><address><em>bit 0 (1) : Water mask</em></address> <address><em>bit 1 (2) : Tous nuages (sauf les plus fins)</em></address> <address><em>bit 2 (4) : Snow Mask</em></address> <address><em>bit 3 (8) : Shadow Mask ("OU" des bits 5 et 6 du masque de nuages)</em></address> <address><em>bit 4 (16) : Ombres topographiques</em></address> <address><em>bit 5 (32) : Zones masquées par le relief</em></address> <address><em>bit 6 (64) : Soleil trop bas pour une bonne correction des pentes</em></address> <address><em>bit 7 (128) : Soleil tangent à la surface (mauvaise correction des pentes)</em></address> <address> </address></blockquote>
</li>
</ul>
</li>
<li><em>IAO : Un masque des pixels pour lesquels l'AOT a été interpolée (à résolution R1 ou R2) </em></li>
</ul>
<blockquote><address> </address></blockquote>
<h6><big>Utilisation du masque de nuages :</big></h6>
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 &amp; (00000001) == 1)
<a name="English"> </a>
<a href="#Francais"><img src="http://www.cesbio.ups-tlse.fr/multitemp/wp-content/uploads/2013/02/english_flag_small.gif" alt="" width="30" height="20" />=&gt; <img src="http://www.cesbio.ups-tlse.fr/multitemp/wp-content/uploads/2013/02/drapeau_francais_petit.jpg" alt="" width="30" height="20" /></a>

This page describes the data format of Sentinel-2   L2A generated by THEIA MUSCATE processing ceter at CNES.  ESA Sen2Cor format is different.

The official description of the data format  <a href="https://theia.cnes.fr/atdistrib/rocket/#/help"> is here</a>
<h4>Level 2A : Surface reflectances and <a title="The cloud detection : how it works." href="?p=876">cloud mask</a></h4>
The  ZIP file distributed by Theia contains several files and directories.
<h6>The files are as follows :</h6>
<ul>
<li>the surface reflectances are provided as a GeoTiff per spectral bad, for the 10m bands (B2, B3, B4, B8) and the 20m bands (B5, B6, B7, B8A, B11 et B12) of Sentinel-2.</li>
<li><span style="line-height: 21.45px;">there are two types of surface reflectance files</span>
<ul>
<li><span style="line-height: 21.45px;">the files which end with "SRE_Bx.tif"  (SRE for Surface REflectance) were corrected for <a title="Les effets atmosphériques, comment ça marche ?" href="?p=1124">atmospheric effects</a>, including <a title="Les effets d'environnement, comment ça marche ?" href="?p=2201">adjacency effets</a></span></li>
</ul>
<ul>
<li>the files which end with "FRE_Bx.tif" (FRE for Flat REflectance) are also corrected for <a title="La correction des variations d'éclairement dues au relief" href="?p=2404">slope effect</a>, which consists in suppressing the apparent reflectances variations. The corrected images look like if the land was flat.</li>
</ul>
<ul>
<li>After having compiled the user feedback, ity is likely that we will only distribute "FRE" files to reduce the data volume.</li>
<li>In any case, the data are coded on 16bits and you have to divide by 10000 to obtain reflectances.</li>
<li>&lt;REFLECTANCE_QUANTIFICATION_VALUE&gt;10000&lt;/REFLECTANCE_QUANTIFICATION_VALUE&gt;</li>
<li>The  No_Data value (outside the image) is -10000</li>
</ul>
</li>
</ul>
&nbsp;

We also provide the values of the atmospheric variables computed by MACCS/MAJA, with a 10m resolution (ATB_R1.tif) and  20m resolution (ATB_R2.tif).
<ul>
<li>The files contain two bands coded on 8 bits each :
<ul>
<li>Band 1 is water vapour, you have to divide by 20 to obtain g/cm2  &lt;WATER_VAPOR_CONTENT_QUANTIFICATION_VALUE&gt;20&lt;/WATER_VAPOR_CONTENT_QUANTIFICATION_VALUE&gt;</li>
<li>Band 2 is the Aerosol Optical Thickness, you have to divide by 200 to get the AOT. &lt;AEROSOL_OPTICAL_THICKNESS_QUANTIFICATION_VALUE&gt;200&lt;/AEROSOL_OPTICAL_THICKNESS_QUANTIFICATION_VALUE&gt;</li>
</ul>
</li>
</ul>
&nbsp;

&nbsp;

&nbsp;
<h6>The mask directory provides :</h6>
<ul>
<li>A  no_data mask, at 10m resolution (EDG_R1.tif) and 20m (EDG_R2.tif)</li>
<li>A saturated pixel mask that comes from Level 1 with 10m resolution (SAT_R1.tif) and 20m (SAT_R2.tif)
<ul>
<li>first bit corresponds to first band at each resolution</li>
<li>second bit corresponds to second band at each resolution</li>
<li>...</li>
<li>Pour R1, the bands appear in this order B2, B3, B4, B8, and for R2 : B5, B6, B7, B8a, B11, B12</li>
</ul>
</li>
<li>a cloud mask for each resolution (CLM_R1.tif ou CLM_R2.tif)
<ul>
<li>
<blockquote><address><em>bit 0 (1) : all clouds except the thinnest and all shadows</em></address> <address><em>bit 1 (2) : all clouds (except the thinnest)</em></address> <address><em>bit 2 (4) : clouds detected via mono-temporal thresholds</em></address> <address><em>bit 3 (8) : clouds detected via multi-temporal thresholds
</em></address> <address><em>bit 4 (16) : thinnest clouds
</em></address> <address><em>bit 5 (32) : cloud shadows cast by a detected cloud
</em></address> <address><em>bit 6 (64) : <em>cloud shadows cast by a cloud outside image
</em></em></address> <address><em>bit 7 (128) : high clouds detected by 1.38 µm </em></address></blockquote>
</li>
</ul>
<ul>
<li>
<blockquote><address><em>Example 1 : value 33 = 32+1 (00100001) : <em> bit 1 tells us a shoadow or a cloud has been detected and bit 5 that it</em> is a shadow (32),
</em></address></blockquote>
</li>
<li>
<blockquote><address><em>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)
</em></address></blockquote>
</li>
</ul>
</li>
<li><em>A geophysical mask MG2 :</em>
<ul>
<li>
<blockquote><address><em>bit 0 (1) : Water mask</em></address> <address><em>bit 1 (2) : All clouds (except the thinnests)</em></address> <address><em>bit 2 (4) : Snow Mask</em></address> <address><em>bit 3 (8) : all shadows ("OU" des bits 5 et 6 du masque de nuages)</em></address> <address><em>bit 4 (16) : Topographic shadows
</em></address> <address><em>bit 5 (32) : Unseen pixels due to topography
</em></address> <address><em>bit 6 (64) : Sun too low for a correct terrain correction
</em></address> <address><em>bit 7 (128) : Sun direction tangent to slope (inaccurate terrain correction)
</em></address> <address> </address></blockquote>
</li>
</ul>
</li>
<li><em>IAO : A mask of pixels for which the Aerosol Optical Thickness was interpolated  ( resolution R1 or R2) </em></li>
</ul>
<blockquote><address> </address></blockquote>
<h6><big>How to use the cloud mask
</big></h6>
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 &amp; (00000001) == 1)

<em> </em>

<em>&nbsp;

</em>

<em> </em>

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>