Partenaires

CNRS
RESIF
DT
UNAVCO Facility

Rechercher

sur ce site

sur web cnrs


Accueil > Chantiers pemanents hors de France > sh_gamit

sh_gamit

par Olivier Charade - 14 juin 2008 - modifié le 20 juin 2008

Script d’habillage du calcul gamit fourni par l’équipe du MIT, cet outil est encore peu utilisé par la communauté gamit en France. Cela est sans doute dà» au grand nombre d’options proposées qui peut rebuter ceux qui ont déjàinvesti du temps àcomprendre gamit et àécrire leur propre script d’habillage.
Cet article présente deux exemples dans l’espoir de convaincre le lecteur que sh_gamit peut lui simplifier la vie.

Les seuls pré-requis sont l’existence, dans le répertoire de travail d’où sera lancé sh_gamit (appelé répertoire d’expérience), d’un sous-répertoire ./rinex contenant les données àtraiter, et d’un sous-répertoire ./tables contenant les fichiers de configuration du calcul.

réseaux GPS permanents

Le flot de données est tel que je lance le calcul de chaque jour de données indépendamment des autres. C’est un "méta-script" qui se charge de lancer autant de sh_gamit que nécessaire. La commande que j’utilise est du type :

sh_gamit -expt cori -d 2006 270 -yrext -h -orbit IGSF

-expt nom d’expérience, sur 4 caractères, repris dans le nom des fichiers produits par gamit.
-d le jour de calcul choisi
-yrext ajoute l’année dans le nom du sous-répertoire jour qui va être créé : cela évite d’écraser les calculs d’une année par ceux de la suivante...
-h compression au format Hatanaka des fichiers rinex àl’issue du calcul (pour ceux qui auraient des problèmes d’espace disque).
-orbit précise le type d’orbite utilisé

Je mentionne certaines options que j’utilise, souvent du fait de l’organisation particulière de notre réseau informatique :
-dir /data4/gpscope/cori chemin absolu du répertoire de travail (en cas d’une structure avec des liens symboliques, il arrive que les changements de répertoire se passent mal)
-rdir /data4/gpscope/cori/rinex chemin absolu du réperoire contenant les rinex (même raison que précédemment)
-rinex_ftpsites ign kreiz précise où aller chercher les données RINEX externes (par défaut chez SOPAC et au CDDIS), ici au LAREG et àGéosciences Azur.
-ftp_prog wget les récupérations de fichiers externes se feront par wget plutôt que par ftp (seule façon de passer simplement la passerelle de l’IPGP pour nous)

campagnes GPS

Le calcul peut se faire en une seule ligne de commande en l’absence de connexion àl’Internet :

sh_gamit -expt cori -s 1997 272 284  -orbit IGSF -noftp

-expt nom d’expérience, sur 4 caractères, repris dans le nom des fichiers produits par gamit.
-s période de calcul
-orbit précise le type d’orbite utilisé
-noftp empêche la recherche externe des fichiers manquants.

J’aurais tendance àconseiller également l’option
-yrext qui permettra de calculer toutes les campagnes dans le même répertoire d’expérience avec les mêmes paramètres de calcul. Cela facilitera aussi le travail ultérieur avec globk/glorg dans le sous-répertoire ./gsoln

L’absence de connexion àl’Internet suppose que l’on a pu quand même, àun moment donné, rapatrier des fichiers externes. Cela se fait àchaque fois en une seule ligne de commande depuis les sous-répertoires concernés que l’on aura créés manuellement au préalable :
dans ./brdc :
sh_get_nav -archive sopac -yr 1997 -doy 272 -ndays 13
dans ./igs :
sh_get_orbits -archive sopac -yr 1997 -doy 272 -ndays 13
dans ./rinex :
sh_get_rinex -archive sopac -yr 1997 -doy 272 -ndays 13 -sites ankr graz mate

Comme toujours il y a une aide en ligne qui apparaît chaque fois qu’on lance une commande sans aucun paramètre.

fichiers de configuration

Tous ces fichiers se trouvent traditionnellement dans le sous-répertoire ./tables mélangés àbeaucoup d’autres fichiers auxquels l’utilisateur ne touche jamais. Par souci de clarté, j’ai pris l’habitude de créer un sous-répertoire ./tables.templates qui ne contient que les fichiers que je dois manipuler. C’est cette structure que je vais maintenant décrire.

  • fichiers gamit :
    • autcln.cmd : fichier "cryptique" de configuration du nettoyage des données par site ; moins on y touche, mieux on se porte... [1]
    • lfile.apr.cori : fichier des positions a priori qui servent de départ au calcul gamit. Ce fichier est modifié par gamit ! D’ailleurs je n’y mets que mes sites et sh_gamit se charge de le fusionner avec le fichier itrf [2].
    • sestbl. : LE fichier de configuration du calcul
    • sittbl. : le fichier des contraintes par site. Le plus simple est de conserver celui qui décrit les stations IGS et de rajouter au début :

      ce qui laisse nos stations libres de contraintes.

    • station.info.cori : équivalent gamit du carnet de terrain qui décrit la mesure. Celui sur lequel on revient constamment. Lorsqu’on en a fini avec ce fichier, on a terminé le calcul (ou presque...). Ce fichier est modifié par sh_gamit ! Je me contente de mettre mes stations dans ce fichier et je le fusionne ensuite avec celui de gamit (voir plus loin).
  • fichiers sh_gamit :
    • ftp_info : fichier de description de l’accès aux données externes. Il suffit d’utiliser celui fourni avec gamit quand on a un accès direct àl’Internet. Dans le cas de l’IPGP où une passerelle filtre les transferts, la modification de ce fichier est la partie la plus fastidieuse du travail [3]
    • process.defaults : décrit la configuration "informatique" du calcul. Peut s’utiliser tel que fourni avec gamit dans un premier temps.
    • sites.defaults : liste l’ensemble des sites àprendre en compte dans le calcul et ce qu’il faut en faire. Beaucoup d’indications concernent sh_glred plus que sh_gamit. Les seules options qui nous intéressent sont :
      • localrx le fichier rinex est àchercher en local (éventuellement dans l’archive mentionnée dans process.defaults)
      • ftprnx le fichier est àaller chercher sur des sites externes (bloqué par l’option -noftp de sh_gamit si elle est présente)
      • xstinfo empêche la mise àjour automatique du station.info àpartir des données de l’entête du fichier RINEX. A utiliser systématiquement [4]

Lorsque tous ces fichiers sont prêts dans le sous-répertoire./tables.templates, je "peuple" le sous-répertoire ./tables :

J’ai conservé l’ancien format de mon station.info.cori car les lignes sont moins longues et je trouve le résultat visuel plus lisible, malgré les "noms de codes" des différents éléments, que les interminables lignes du nouveau format qui sont invariablement repliées par l’éditeur de texte. Cela n’empêche pas mstinf2 de fusionner deux station.info de format différents au nouveau format. Attention aux erreurs qui provoquent la création d’un fichier station.info vide (c’est d’ailleurs celui de SOPAC, mis àjour régulièrement, qui génère le plus souvent des erreurs chez moi) !


[1Thomas Herring fait constamment évoluer les algorithmes d’autcln. Le jour où je suis passé àla version 10.2 de gamit, toutes mes données du chantier Corinthe se sont fait intégralement éliminer. J’ai retrouvé mes données lorsque j’ai eu l’idée de remplacer mon fichier autcln.cmd par celui fourni avec ce gamit-là. La différence entre les deux fichiers n’était pourtant pas criante...

[2Un jour àproblèmes peut entraîner une mise àjour fausse de ce fichier avec pour conséquence l’échec de tous les calculs suivants... D’où l’utilité de conserver l’original (àmettre àjour de temps en temps avec les résultats gamit ou glorg).

[3sopac était tout simplement inaccessible depuis l’IPGP avant l’ajout de l’option wget aux scripts de récupération de fichiers externes (mise àjour de mars 2006)

[4malgré tout ce que l’on indiquera dans ce fichier, sh_gamit traitera tout site dont des données correspondant au jour de calcul se trouveraient dans ./rinex et, si le site n’est pas mentionné dans sites.defaults, modifiera le station.info pour y inclure ce site.