Accueil - Océanographie - Calibration

dataGUI

Publié le lundi 18 décembre 2006.


Mis à jour 27 juillet 2007

Introduction


La diversité des systèmes d’acquisition utilisés en Océanographie Physique ne facilite pas toujours le traitement et la validation des données acquises.

Il est important de pouvoir effectuer un contrôle rapide et en quasi temps réel des données afin de pouvoir corriger les éventuelles erreurs sur les données ou métadata.

Nous avons identifié 3 types de données :

Chaque type de données est identifié par le paramètre mesuré, le type de capteur et/ou instrument utilisé ainsi que sa position.

Principe


Les systèmes d’acquisition utilisées lors des campagnes océanographiques ont leurs formats de données propres, mais l’exportation se fait généralement en ASCII. La difficulté consiste généralement à écrire un programme de conversion pour chaque type de fichier et un ou plusieurs scripts de visualisation (Matlab, IDL, PlotPlus, etc). Lorsque le nombre de paramètres change, il faut modifier le programme de conversion, voir le recompiler lorsqu’il est écrit en C ou Fortran, puis adapter le script de visualisation. Cette opération doit être répétée pour chaque type d’instrument et toute la difficulté consiste dans la maintenance du code lié à l’évolution des fonctionnalités.

Cette opération de conversion est actuellement réalisée par un ensemble de scripts Perl. L’un des principes de datagui consiste à définir un format interne et commun des données sous la forme d’une matrice quelque soit le format du fichier d’origine.

Les scripts Perl peuvent générer 4 types de fichiers : ASCII, XML, NetCDF et maintenant ODV. La structure des données une fois le fichier chargé en mémoire sous Matlab reste la même. On retrouvera un entête sous forme d’attributs globaux, les variables à une dimension pour le positionnement et la date, et des variables à une ou 2 dimensions pour les données.

L’utilisateur pourra ensuite visualiser les données, tracer des coupes avec les fonctions intégrées à datagui, ou bien écrire ses propres fonctions de traitement ou de visualisation.

Pour arriver à cela, on utilise une codification
basée sur des codes GF3 (4 caractères) permettant d’identifier de façon unique chaque paramètre.

Un exemple ci dessous de données de trajectoire (Thermosalinographe TSG) au format ASCII. L’entête est réduit à sa plus simple expression. Le même type de fichier au format XML aura un entête détaillé permettant le chargement dans une base de données par exemple.

EGEE4  ANTEA  IRD  SBE21 3284
YEAR     DAYD    LATX      LONX     SSJT    SSPS    CNDC   SSTP
2006  319.6984 +14.4825 -17.37684  28.580  34.419  5.600  28.425
2006  319.6985 +14.4822 -17.37684  28.580  34.478  5.608  28.424
2006  319.6986 +14.4820 -17.37684  28.580  33.943  5.531  28.424

La structure d’un fichier trajectoire aura toujours les 4 premières colonnes, il suffira de boucler la lecture sur les clés des colonnes 5 à n pour lire le fichier et accèder aux variables.

Dans un fichier de type profil, l’entête d’un profil ou d’une station est identifié par la profondeur -1, le jour julien décimal, la latitude et longitude décimale et la date. Dans le cas d’un profil CTD comme celui ci-dessous, la colonne N/A correspond au nombre de scan utilisé pour la réduction des données tous les decibars.

EGEE4  ANTEA  IRD  SBE911+  09P10828
PRFL  PRES  TEMP    PSAL    DENS     SVEL     DOX2    FLU2   NAVG
 1    -1 321.648  7.4670 -14.3823 20061118153320 1e36 1e36 1e36
 1     0  29.231  33.584  20.924  1542.53  208.018   +0.054    0
 1     1  29.231  33.584  20.924  1542.53  208.018   +0.054   24
 1     2  29.283  33.589  20.910  1542.66  207.666  +0.0527   66
 1     3  29.127  33.675  21.028  1542.44  207.725   +0.057   62

Le même exemple de fichier avec entête XML. La structure ou grammaire du fichier XML est déclarée dans la DTD oceano.dtd

Installation


Le code source de dataGUI est disponible sous forme d’une archive compressée datagui.tgz
Il est également nécessaire de récupérer l’archive oceano.tgz qui contient quelques boites à outils Matlab indispensables regroupées dans ce module comme m_map, seawater, timeplot ainsi que du code générique utilisé à l’US025. Cette archive contient également les versions des scripts Perl utilisés pour formater les fichiers de données au format "datagui".

Les modules en cours de développement sont également disponibles sous subversion :

https://svn.mpl.ird.fr/us191/datagui/trunk/
https://svn.mpl.ird.fr/us191/oceano/trunk/

Récupérer ces modules avec un client subversion, Tortoise sous Windows ou svn sous Unix (accepter au préalable le certificat SSL du serveur IRD) :

$ cd <svn_path>
$ svn co https://svn.mpl.ird.fr/us191/datagui/trunk/ datagui
$ svn co https://svn.mpl.ird.fr/us191/oceano/trunk/ oceano

Mettre à jour le path Matlab (pathtool sous Windows) ou la variable MATLABPATH sous Linux en y ajoutant les chemins suivant votre installation :

<svn_path>/oceano
<svn_path>/datagui
<svn_path>/oceano/lib/matlab
<svn_path>/oceano/lib/matlab/m_map
<home_dir>/matlab/local/mexnc
<home_dir>/matlab/local/GeodiseLab-1.2.1/GeodiseLab-matlabR14/XMLToolbox
/opt/matlab7.1/toolbox/netcdf
/opt/matlab7.1/toolbox/netcdf/ncfiles
/opt/matlab7.1/toolbox/netcdf/nctype
/opt/matlab7.1/toolbox/netcdf/ncutility

Fonctionnalités


datagui permet de lire et visualiser les données :

- Tracés de route en Lat/long en fonction du temps

- Sections

- Trajectoires (scatter)

etc.... a compléter

Utilisation


Lancer Matlab puis datagui, choisir le format des fichiers, par défaut, on utilise XML mais l’utilisateur à le choix entre NetCDF, XML et dataGUI (format d’origine mais progressivement obsolète).

Choisir également le type de données, TIME_SERIE, TSG, METEO, CTD, XBT, ADCP ou BOTTLE.

Se déplacer éventuellement dans l’arborescence du système de fichiers, bouton "change directory" et choisir la fichier à charger en mémoire.

Conventions


Liens utiles