![]() |
ACRIST Tools |
Input/Output tools - File Manipulation :
| -in %s | nom du fichier d'entrée au format .baf |
| -out %s | nom du fichier binaire de sortie |
| -f %s rho | nom du paramètre à extraire (voir table ci-dessous) |
| -b %d 0 | numéro (partantde 0) de la bande à extraire (voir table ci-dessous) |
| -x %d 0 | offset de la colonne de blocs (par rapport au début du fichier) |
| -X %d 0 | offset de la colonnede blocs (par rapport au numéro du premier bloc) |
| -y %d 0 | offset de la ligne de blocs (par rapport au début du fichier) |
| -Y %d 0 | offset de la ligne de blocs (par rapport au numéro du premier bloc) |
| -w %d -1 | nombre de colonnes de blocsà extraire. -1 : toutes les colonnes.
Note: si l'offset est tel quela zone à extraire dépasse la fin du fichier .baf alors le fichier extrait ne contiendra que les blocs effectivement extraits. |
| -h %d -1 | nombre de lignes de blocsà extraire. -1 : toutes les lignes. |
| -tl %d 0 | niveau de trace pour debug (0 : pas de message) |
| -ncd | formatter la sortie au format NetCDF |
| -revx | inverser l'ordre des colonnes dans le fichier de sortie (pour rétablir la convention géographique la plus courante) |
| %s | nom du fichier d'entrée (s'il n'a pas été spécifié avec l'option "-in") |
| %s | nom du fichier de sortie (s'il n'a pas été spécifié avec l'option "-out") |
En fin d'opération, extract_baf imprime deux lignes sur la sortie standard:
columns extracted: <nombre>
lines extracted: <nombre>
Ces messages permettent de déterminer la taille de la matrice
effectivement extraite.
Si le paramètre spécifié n'est pas reconnu, ou
si la fenêtre sélectionnée n'est pas
dans le fichier, le fichier extrait sera vide.
En mode netCDF, 3 dimensions sont systématiquement créées
(byte, Lin et Col) ; les flags sont stockés sur 4 octets
selon la dimension "byte" avec les bits de poids faible dans le quatrième
byte (byte(3)) et l'attribut
"bytes_used" spécifie le nombre d'octets qu'il faut effectivement
lire.
Ainsi, si le flag considéré était codé
sur un "ulong" (voir table ci-dessous), il sera codé dans le fichier
NetCDF en utilisant les 4 octets disponibles comme suit :
Les étiquettes de variables qui doivent être passées
en argument sont les mêmes que celles qui apparaissent dans
les entêtes de blocs des fichiers intermédiaires.
Sortie d'erreur :
| Nom | Type | Nombre
de bandes |
Nom | Type | Nombre
de bandes |
|
| lat | float | 1 | rho_aer | float | 16 | |
| lon | float | 1 | rho_ag | float | 16 | |
| view_zenith | float | 1 | rho_surf | float | 16 | |
| sun_zenith | float | 1 | tau_aer | float | 16 | |
| delta_azimuth | float | 1 | omega_aer | float | 9 | |
| sun_azimuth | float | 1 | rho_aer_delta | float | 9 | |
| altitude | float | 1 | fa | float | 9 | |
| windu | float | 1 | tau_aer_865 | float | 1 | |
| windv | float | 1 | spm | float | 1 | |
| windm | float | 1 | aer_mix | float | 1 | |
| press_ecmwf | float | 1 | aer | int | 2 | |
| press | float | 1 | annot_f | int | 1 | |
| press_top | float | 1 | RN1 | float | 16 | |
| vapour_ecmwf | float | 1 | chl_1 | float | 1 | |
| vapour_total | float | 1 | chl_2 | float | 1 | |
| rho | float | 16 | odoc | float | 1 | |
| rho_ray | float | 16 | boavi | float | 1 | |
| toar | float | 16 | par | float | 1 | |
| cloud_albedo | float | 1 | ERRCODE_F | ulong | 1 | |
| ozone_ecmwf | float | 1 | mus | float | 1 | |
| toavi | float | 1 | muv | float | 1 | |
| tau_cloud | float | 1 | mud | float | 1 | |
| l2flags_1 | ulong | 1 | arvi | float | 1 | |
| l2flags_2 | ulong | 1 | rho_toa | float | 16 | |
| pixi | ushort | 1 | TOAROG | float | 16 | |
| pixj | ushort | 1 | ||||
| bloci | ushort | 1 | ||||
| blocj | ushort | 1 |
[-in %s] : input file name
[-out %s]: output file name
[-tl 0] : trace level
[ %s] : input file name
[ %s] : output file name
-in %s , nom du fichier d'entrée au format MERIS (level1 ou level2)
-out %s , nom du fichier binaire de sortie
-p %s , nom du paramètre
à extraire (voir table ci-dessous)
Il est possible d'extraire plusieurs paramètres, en spécifiant
plusieurs fois cette option. Les matrices résultantes seront concaténées
ou, pour une sortie NetCDF, stockées dans des variables séparées.
IMPORTANT: il est FORTEMENT RECOMMANDE de spécifier autant de fois
la bande
(option -b %d) que le paramètre (option -p %s). On peut ainsi extraire
un fichier multi-bandes, par exemple:
extract_mds -p rho -b 1 -p rho -b 4 ...
extrait la réflectance TOA aux bandes 442.5nm et 560nm, d'un produit L1B.
-b %d 0 , numéro (partant
de 0) de la bande à extraire (voir table ci-dessous).
n'est pris en compte que si le paramètre est "spectral".
[-P scaled] , code du process à appliquer (raw,
masked, scaled)
Trois traitements sont possibles:
"raw": données
brutes; les comptes numériques du produit sont
transcrits directement dans le format de sortie
"masked": données
masquées;les comptes numériques du produit sont
transcrits dans le format de sortie si:
-la classe du pixel (terre, eau, nuage...) correspond à la bande
demandée
ET
-le masque spécifié par l'utilisateur est positionné
pour le pixel.
Sinon le pixel a pour valeur 0.
"scaled": données
interprétées: les facteurs d'échelle et l'offset du
produit sont appliqués. Les pixels sont masqués. NOTE: pour
le
paramètre "rho" seul ce traitement est autorisé.
Valeur par défaut: "scaled".
Note: par défaut,
le paramètre "flags" est masqué et sera mis à 0 pour
les pixels invalides. Il
est recommandé de sélectionner ensemble
"-P raw" et "-p flags" pour
lire tous les flags.
[-m -1] : masque de selection
Le nombre décimal, octal (0nnn) ou hexadecimal (0xnnn) spécifie
un masque de sélection des pixels selon les valeurs de leurs
flags. Un ET logique est appliqué entre ce masque et les flags;
si le résultat vaut 1, le pixel sera sélectionné,
sinon il sera
masqué.
Exemple:
Dans les flags du niveau 1B, le bit 4 est 0 pour les pixels d'eau,
1 pour les pixels de terre. Pour masquer les pixels d'eau et ne
garder que ceux de terre, on spécifiera -m 0x10.(bit 4 positionné).
Valeur par défaut: -1 (ne masque aucun pixel)
[-mN 0] : masque de sélection inverse
Comme l'option -m ci-dessus, mais si le résultat du ET logique vaut
0, le pixel sera sélectionné, sinon il sera masqué.
Exemple:
Dans les produits de niveau 1B, pour masquer les pixels de terre
et ne garder que ceux d'eau, on spécifiera -mN 0x10.(bit 4).
Valeur par défaut: 0 (ne masque aucun pixel)
-x %d 0 offset de la colonne
-y %d 0 offset de la ligne
-w %d -1 nombre de colonnes à
extraire. -1: toutes les colonnes.
Note: si l'offset est tel que la zone à extraire dépasse
la fin du fichier d'entrée,
le fichier extrait ne contiendra que les pixels effectivement extraits.
-h %d -1 nombre de lignes à
extraire. -1: toutes les lignes.
Ces 4 paramètres permettent d'extraire une sous-matrice
du produit.
Valeurs par défaut: x: 0, y: 0, w: -1, h: -1 (tout le produit)
[-f d] : spécification du format
de sortie
d: données brutes, double précision
f: données brutes, simple précision
i: données brutes, entiers longs (32bits)
b: données brutes, octet (note: les flags sont alors automatiquement
codés sur 2 (level1) ou 3 octets (level2).
p: données formattées, format PGM (portable graymap)
autre: données formattées, le symbole est interprété
comme une
spécification de format pour printf().
Les données brutes sont écrites dans l'ordre de lecture dans
le
produit, sans en-tête ni séparateur.
Les données formattées sont écrites dans l'ordre de
lecture dans le
produit, un pixel par ligne. Les trames du produit sont séparées
par une ligne vide (format compatible avec la commande splot de
gnuplot)
Les données formattées avec l'option -f p sont écrites
dans l'ordre
inverse de lecture des colonnes, de façon à apparaître
dans le sens
géographique conventionnel à l'affichage.
Valeur par defaut: d (données brutes, double précision)
[-ncd] : sortie formattée au format
NetCDF
Note1: les options "-f p" ou "-f autre" ne sont pas compatibles avec cette
option.
Note2: le paramètre "flags" est codé dans le fichier NetCDF
sur trois
dimensions : [ligne][colonne][byte]
[-noattr] : suppression des attributs dans la fichier de
sortie NetCDF.
Par défaut, les attributs suivants sont définis:
short_name nom du paramètre (le même
que pour l'option -p)
long_name nom complet du paramètre
(comme défini dans l'IODD)
Pour les paramètres ayant une signification physique:
units unité
du paramètre (comme defini dans l'IODD)
scaling type de transformation
("linear" ou "logarithmic")
scale_factor pente à appliquer au paramètre
add_offset ordonnée à l'origine
à appliquer au paramètre
Pour les paramètres multi-bandes:
wavelength longueur d'onde en nm.
[-os 1.0] : facteur appliqué aux valeurs en sortie
Note: cette option ne s'applique que si le fichier de sortie est au format
PGM
(option -f p). Elle permet d'optimiser la dynamique du signal pour ce format
(valeurs de 0 a 255). Par exemple, pour visualiser une réflectance
(domaine [0..1])
on peut appliquer un facteur d'échelle de 256.
Valeur par défaut: 1.0
-tl %d 0 niveau de trace pour debug (0: pas de message)
-revx inverser
l'ordre des colonnes dans le fichier de sortie (pour rétablir
la convention géographique la plus courante)
%s
code du produit lu (s'il n'a pas été spécifié
avec l'option "-K")
%s
nom du fichier d'entrée (s'il n'a pas été spécifié
avec l'option "-in")
%s
nom du fichier de sortie (s'il n'a pas été spécifié
avec l'option "-out")
En fin d'opération, extract_mds imprime deux lignes sur la sortie standard:
parameters extracted: <nombre>
<parametre> <bande> (1 ligne par parametre)
columns extracted: <nombre>
lines extracted: <nombre>
Ces messages permettent de déterminer la taille de la matrice
effectivement extraite.
Si le paramètre spécifié n'est pas reconnu, ou
si la fenêtre sélectionnée n'est pas
dans le fichier, le fichier extrait sera vide.
Environnement:
Error: process %s not valid
le code process (option -P %s) n'est pas reconnu (il doit etre "raw",
"masked", ou "scaled")
Error: combination -p TOARHO
-P %s invalid
le paramètre TOARHO n'autorise que le process SCALED
Error: option -f %s is not
compatible with option -ncd
le format NetCDF n'autorise que des valeurs brutes (options "-f d",
"-f f", "-f i", "-f b")
Code %c is not recognised.
le code produit est différent des codes pour les produits l1
(3, A) ou l2 (4, B)
| Level | Nom | MDS | Spectral | Remarques |
| Level0 | counts | 1 | o | champ "données" des paquets MERIS extraits bande par bande |
| Level1 | TOAR | 1-15 | o | |
| Level1 | rho | 1-15 | o | converti en réflectance |
| Level1 | flags | 16 | n | recommandé process = RAW |
| Level2 | rho_surf | 1-13 | o | normalised surface reflectance |
| Level2 | vapour_total | 14 | n | total water vapour |
| Level2 | press | 18 | n | surface pressure |
| Level2 | chl_1 | 15 | n | algal pigment index 1 |
| Level2 | toavi | 15 | n | TOA Vegetation index |
| Level2 | press_top | 15 | n | cloud top pressure |
| Level2 | odoc | 16 | n | Yellow Substance absorption |
| Level2 | spm | 16 | n | Total Suspended Matter |
| Level2 | chl_2 | 17 | n | algal pigment index 2 |
| Level2 | boavi | 17 | n | BOA Vegetation index |
| Level2 | par | 18 | n | PAR |
| Level2 | cloud_albedo | 18 | n | cloud albedo |
| Level2 | aer | 19 | n | aerosol type |
| Level2 | tau_aer | 19 | n | aerosol optical thickness |
| Level2 | cloud_tau | 19 | n | cloud optical thickness |
| Level2 | flags | 20 | n | flags |
| Level2 | cloud_type | 19 | n | cloud type |
| Level2 | class | 20 | n | classification flags (bits 10-9-8) |
| Annotations | lat | latitude | ||
| Annotations | lon | longitude | ||
| Annotations | altitude | DEM altitude | ||
| Annotations | roughness | DEM roughness | ||
| Annotations | lat_cor | DEM latitude correction | ||
| Annotations | lon_cor | DEM longitude correction | ||
| Annotations | sun_zenith | sun zenith angle | ||
| Annotations | sun_azimuth | sun azimuth angle | ||
| Annotations | view_zenith | view zenith angle | ||
| Annotations | view_azimuth | view azimuth angle | ||
| Annotations | windu | zonal wind | ||
| Annotations | windv | meridional wind | ||
| Annotations | pres_ecmwf | atmospheric pressure | ||
| Annotations | ozone_ecmwf | ozone | ||
| Annotations | vapour_ecmwf | total water vapour |
The tool "paramex" extracts parameter images from an intermediate file
"int_s1l2.baf"generated by
MEGS.
The first thing you have to do is to switch on the intermediate file generation
inside MEGS with:
n_col_bloc 1step12_int_file 1first_col_bloc 12
switch_zone 1
It's important to do these settings because "paramex" requires the intermediate
file to have
these dimensions. Besides, the file would be unnecessarily big because
of the invalid pixels
at the left and right sides of the scene.
After that, you move (or copy) your intermediate file to a destination
where you want your
extracted parameter images to reside.
Syntax: The calling sequence of paramex follows the rules:
paramex <input_filename> [-dir <output_directory>] [-log <log_filename>]
For example : paramex Data/s10/int_s1l2.baf -dir Data/s10 -log Data/s10/paramex.log
specifies the (required) input_filename as: "Data/s10/int_s1l2.baf"
and the (optional) output_directory parameter as: "-dir Data/s10 for the
images)
and the (optional) log_filename parameter as: "-log Data/s10/paramex.log"
(for the logfile containing the value codes and lat, lon values inside
the intermediate file)
If you call paramex as followed, you get a display with status informations:
pfsun1 > paramex Data/s10/int_s1l2.baf -dir Data/s10 -log Data/s10/paramex.log
Extracting parameter images from 'Data/s10/int_s1l2.baf'...
Writing frame 0...Ok.
Writing frame 1...Ok.
Writing frame 2...Ok.
Writing frame 3...Ok.
Writing frame 4...Ok.
Writing frame 5...Ok
Images have successfully been written to:
Data/s10/view_zenith.img, code: 2, size: 416 x 384 x 1 x 4-byte-floats
Data/s10/sun_zenith.img, code: 3, size: 416 x 384 x 1 x 4-byte-floats
Data/s10/delta_azimuth.img, code: 4, size: 416 x 384 x 1 x 4-byte-floats
Data/s10/press_ecmwf.img, code: 9, size: 416 x 384 x 1 x 4-byte-floats
Data/s10/press.img, code: 10, size: 416 x 384 x 1 x 4-byte-floats
Data/s10/press_top.img, code: 11, size: 416 x 384 x 1 x 4-byte-floats
Data/s10/vapour_ecmwf.img, code: 12, size: 416 x 384 x 1 x 4-byte-floats
Data/s10/vapour_total.img, code: 13, size: 416 x 384 x 1 x 4-byte-floats
Data/s10/rho.img, code: 17, size: 416 x 384 x 16 x 4-byte-floats
Data/s10/rho_ray.img, code: 18, size: 416 x 384 x 16 x 4-byte-floats
Data/s10/cloud_albedo.img, code: 19, size: 416 x 384 x 1 x 4-byte-floats
Data/s10/ozone_ecmwf.img, code: 20, size: 416 x 384 x 1 x 4-byte-floats
Data/s10/toavi.img, code: 21, size: 416 x 384 x 1 x 4-byte-floats
Data/s10/tau_cloud.img, code: 22, size: 416 x 384 x 1 x 4-byte-words
Data/s10/l2flags_1.img, code: 23, size: 416 x 384 x 1 x 4-byte-words
Data/s10/l2flags_2.img, code: 24, size: 416 x 384 x 1 x 4-byte-words
Data/s10/windm.img, code: 29, size: 416 x 384 x 1 x 4-byte-floats
Here you can see the dimensions of the written image files. They are now
easily
accessible through, for example, IDL routines.