VEGA/CHARA Automatic control pipeline

publicité
VEGA/CHARA Automatic control pipeline pour obtenir les informations de qualités de la nuit
DM, V1 14-11-2009
1. Situation initiale (La nuit d’observation est finie) :
a. L’observateur fait le ménage dans les répertoires de la nuit
b. Le script de regroupement et rapatriement des données s’exécute et l’on a les données
dans le répertoire de la nuit dans /datadisk1.
c. Il faut copier ce répertoire dans /data1
2. Identifier dans le disque d’archive pour la nuit considérée et de manière automatique un jeu
cohérent de répertoires vis-à-vis de la configuration spectrale en regardant dans chacun des
fichiers .info et fichiers .logobs. Récupérer le réseau, la longueur d’onde et la configuration de
chambre utilisée. Faire des lots cohérents pour la nuit. Un lot cohérent correspond à un fichier
logobs et contient un ou plusieurs répertoires d’étoiles science, aucun un ou plusieurs répertoires
d’étoiles de calibration et un répertoire avec la calibration spectrale de ce lot. La date et heure de
ces répertoires étoile science et calibrateur ne peuvent pas être supérieur à la date de la
calibration spectrale.
a. Les programmes d’enrichissement de la base de données en Python savent lire les
fichiers .info et logobs.
3. Pour chaque lot (boucle si X lots à monter d’un niveau probablement) :
a. Définir un identificateur de lot.
b. Copier ces données dans le répertoire /data/STAR/TEMP
c. Appliquer sur le répertoire « prepare.sh » (shell .sh) qui :
i. Converti les données et les placent dans /data/STAR/nomEtoileDate
ii. Génère dans chaque répertoire nomEtoileDate un fichier .inp (exemple en
annexe1)
d. Générer un répertoire de calibration spectrale contenant les fichiers des coefficients,
calculés automatiquement à partir des informations précédentes (calibration spectrale
sommaire mais suffisante ou méthode plus sophistiquée) (TBD : définir les lois de
calcul). Application à définir mais probablement en IDL. Les fichiers .disp générés sont
mis dans /data/DISP . (Travail à faire sur les concepts proposés par Denis : codage +
tests sur différentes résolution du spectro et différents jeux de données)
e. Générer dans /data/AUTO/ un répertoire dont le nom est composé de : date/heure de la
calibration spectrale + l’indentificateur de « lot ».
f. Créer un répertoire Rouge et Bleu.
g. Pour chaque répertoire à faire en Rouge et en Bleu
i. Générer (litLp_R0) le fichier « inp » dans le répertoire de données et contrôler la
validité des fichiers de photons (TBD : critère à définir comme nombre
d’images, nombre de photons (vrais pas ceux indiqués dans les headers d’image),
nombre de fichiers).
ii. Générer le fichier de commande .cmd (modèle à définir en R et B) idem issu
IHM. Générer ce fichier de commande en mode AC et pour une bande spectrale
fixe centrée sur la longueur d’onde centrale et de largeur fixe dépendant du mode
de résolution utilisée (TBD : définir les largeurs spectrales en fonction des
modes). Voir exemple fichier en annexe2.
iii. Générer la séquence de traitement et l’exécuter deux fois, une fois en mode
normal (pic fixé sur le cumul) et une fois en mode détection du pic.
Vega_gen_conf_file qui crée le script qui est ensuite lancé en csh « lance_ac ».
iv. Générer un fichier en Postscript puis Pdf (TBD : à voir à partir de l’appli amdlib
) contenant les résultats du traitement sous forme graphique et table, à savoir :
1. Header contenant toutes les informations pertinentes (TBD)
2. V²(t) en mode cumul et en mode détection (courbe voir code IDL)
3. OPD(t) issu du mode détection (courbe voir code IDL)
4. Critères de qualité (SNR pic, correction trou…(TBD)
5. Table contenant les valeurs (liste des colonnes TBD)
6. Autres informations : TBD
v. Générer un fichier OIFITS contenant les V² non calibrées mais avec corrections
des biais systématiques (vega_post_ac_cal .. TBC)
h. Pour un ensemble identifiable « Cal-*-Cal » de trois répertoires (méthode TBD à partir
des mots clés du fichier info ou à partir de données fournies en input de la séquence
(mais alors ce n’est plus automatique)) générer un fichier OIFITS des V² calibrées.
i. Effacer les répertoires de traitement (automatique sinon ce sera lourd TBC)
j. Effacer les données copiées (automatique sinon ce sera lourd TBC) et le répertoire de
calibration qui a été généré (à priori non si solution à Denis généralisable TBC).
4. Mise à disposition de tous les fichiers pdf et oifits dans /data/RESULTS/nuitxxx (TBD : où et
comment, duplication sur vegadrs ….)
5. Remplissage de la base de données
a. Voir si ouverture de ports possible pour mise à jour de la base depuis MWI
b. Idem pour transfert sur Vegadrs des fichiers adhoc (OIFits, pdf, calibrations, etc) peut
être par NFS à travers le firewall ou mise en place d’un cable réseau entre vegadrs et le
VPN de la salle Vega.
c. Ajout de champs dans la base pour les liens vers fichiers OIFits et pdf
6. Archivage (c’était quoi ca déjà TBD : comment)
7. Sujet de stage d’IUT Avril/Mai 2010 voir annexe 4
Annexe 1 : Exemple fichier inp
Annexe2 : Exemple de fichier .cmd en AC
Annexe3 : Exemple de fichier lance_ac
Annexe 4 : Sujet de stage d’IUT
Titre : Automatisation du processus de réduction de données de l’instrument Vega
Responsable du stage : Clausse Jean-Michel 0493405354 [email protected]
Lieu du stage : Observatoire de la Côte d’Azur, Centre de Grasse Roquevignon
Rémunération du stage : OUI, environ 1000€
Possibilité de CDD emploi d’été à la suite du stage probable selon extension possible du sujet.
OS : linux fedora
Langages : C, shell script, Python, IDL (idem matlab)
Description :
Ce stage porte sur l’automatisation d’un processus (pipeline) de traitement de notre instrument
localisé près de Los Angeles en Californie sur le télescope Chara, télé opérable depuis Grasse. De
nombreux éléments du pipeline existent sous différents langages (shell, C, IDL, Yorick, Python,
base de données MySql, postscript). Il s’agira soit d’effectuer des appels de code existant soit de
porter le code par exemple celui en Yorick (look C) vers du C par exemple. Le langage de
structuration global est à définir (shell, Python, IDL) à la suite d’une étude approfondie du cahier
des charges et l’inventaire de l’existant.
Le stagiaire devra savoir s’adapter aux différents langages, appréhendé un peu les concepts
scientifiques, être relativement autonome. C’est un sujet assez difficile qui sera immédiatement mis
en opération.
Téléchargement