Marche à suivre mise à jour SIMBAD avec COSIM
Dans SIMBAD, effectuer une recherche par " Reference query ". Dans la barre de recherche " CDS private comment " taper le statut de l’article recherché.
Les différents statuts sont les suivants :
=g1= : articles avec tables dans VIZIER à traiter en priorité
=g2= : articles avec tables dans VIZIER à traiter mais non prioritaires
=g2=+ : articles avec tables dans VIZIER, non prioritaires mais estimés rapides à traiter
=s1= : articles sans tables dans VIZIER à traiter en priorité
=s2= : articles sans tables dans VIZIER à traiter mais non prioritaires
Les articles sont listé dans l’ordre de publication inversé. De manière générale, il vaut mieux commencer par traiter l’article le plus anciennement publié.
Une fois l’article repéré il faut signaler qu’il est en cours de traitement dans le commentaire de travail.
> maj2 > b BIBcode > cUn fichier de texte au format vi s’ouvre. Écrire " En cours XX " à côté du statut dans le commentaire de travail.
XX : initiales du documentaliste
Le commentaire de travail explique ce qu’il y a à faire à partir de cet article et quelles tables exploiter.
Pour pouvoir exploiter cette table, il faut l’extraire dans un fichier. Pour cela, chercher le BIBcode de l’article dans Vizier et ouvrir la table. Cocher les données d’intérêt (en fonction du commentaire de travail) et le format d’extraction " |-Separetes-Values ". Penser à demander un nombre illimité de lignes. Enregistrer la table et la mettre en forme en supprimant les lignes inutiles.
En général, on l’enregistre sous le nom " table" à l’adresse : Documents/catalogues/*_BIBcode.
* étant le statut de l’article.
Un script de commande est écrit et traité avec awk – un langage notamment utilisé pour l’extraction de data, afin de créer un fichier parfile qui sera le fichier de commandes pour COSIM. Le script initial est généralement enregistré sous le nom « script » dans le document correspondant au BIBcode.
Le parfile pour COSIM doit contenir obligatoirement une première ligne contenant le BIBcode, suivie d'une ligne blanche. On écrira si nécessaire les options du script dans ce paragraphe, à la suite de la ligne contenant le BIBcode.
BEGIN{ print ".B BIBcode " print "" }Les commandes pour COSIM sont écrites dans ce paragraphe. A des fins de clarté du script, et pour ne rien oublier, on peut l'organiser de la façon suivante :
{ a =substr($0,colonne_début_a,nombre_caractères_a) b=substr($0,colonne_début_b,nombre_caractères_b) c = a+b print "%Y " c " précisions et BIBcode " print "" }Le premier sous paragraphe défini t les différentes variables. Dans cet exemple, on définit les variables a et b qui contiennent respectivement les colonnes A et B de la table de départ.
Le second décrit les opérations que awk devra effectuer. Ici, on lui demande de considérer que la variable c correspond au résultat de l’addition des variables a et b.
Le troisième paragraphe est le passage à l'édition des variables, avec des commandes print, dans le format attendu par le programme COSIM. Y est le type de donnée que renseigne c (identifiant, magnitude etc … ). On ajoute à la suite d’éventuelles précisions sur la donnée et le BIBcode de l’article traité.
Les commandes correspondant à chaque type de donnée sont référencée s dans le manuel de COSIM. Les précisions à ajouter pour chaque type de donnée sont disponible s dans les commandes de mise à jour.
Une fois le script écrit, on crée le fichier parfile.
>awk -f script table >parfile Si une erreur dans le script le rend incompréhensible, l'opération est arrêtée et un message d'erreur s'affiche.Le fichier parfile.stat est une vue d’ensemble de la mise à jour que fera COSIM. Le premier paragraphe liste les différents problèmes qui ont été rencontrés, pour que la mise à jour soit optimal il doit être vide. Les paragraphes suivants décrivent les éventuels conflits, identifications inexistantes dans SIMBAD, etc … Le dernier paragraphe résume le nombre d’objets retrouvés par leur identifiant ou leurs coordonnées, les nombre d’objets qui seront créés, et le nombre de mise à jour rejetée.
Le fichier parfile.out est le fichier de commande des mises à jour. On peut y trouver plus de précisions sur les problèmes repérés dans le parfile.stat. On effectue alors les corrections dans le script.
Voici une petite liste non exhaustive des problèmes fréquemment rencontrés lors du passage du parfile dans COSIM :
Incorrect ID : Les formats des noms d’objets dans SIMBAD sont normés et COSIM n’acceptera pas d’y entrer un nom qui n’est pas au bon format . Pour régler le problème il faut corriger les identifiants ; pour cela, il faut s’aider du d ictionnaire de nomenclatur e. Le nom invalide qui a été entré dans la table par l’auteur est enregistré comme identifiant secondaire.
Incorrect coo :Attention à bien écrire la commande de print des coordonnées et de bien mettre des espaces entre chaque terme.
Le calcul des scores par COSIM est expliqué dans l e manuel de COSIM
COSIM met à jour les un objet avec les données entrées lorsqu’il y a un et un seul candidat « GOOD » pour un objet du script. Si tous les candidats sont « BAD », il créé un nouvel objet. Dans les autres cas, les objets sont mis en « display » et c’est au documentaliste de décider de ce qu’il convient de faire. Pour cela, il faut comprendre la raison pour laquelle l’objet a été mis en «display » et chercher comment résoudre le problème.
Pour limiter le nombre de « display » un maximum de données telles que les noms, les coordonnées, les types d’objet etc … doivent être renseignées dans le script. Les recherches à effectuer se font à l’aide du logiciel ALADIN.
Voici une liste non exhaustive de quelques cas de « display » fréquents et l’attitude à adopter.
Si malgré cela l'objet n'est toujours pas reconnu, on essaie de l’identifier nous-même, en utilisant notamment ALADIN et les données et précisions de l'objet supposé cible (date et précision des coordonnées dans SIMBAD, vitesse de l'objet etc … ) pour l'identifier. Ne pas hésiter à demander de l'aide. Une fois que l'on est certain de l'identité de l'objet cible deux solutions s'offrent à nous.
> maj2 > o id_cible > a i id_table > vL'objet devrait maintenant être identifié par son identifiant lors de la mise à jour.
Attribuer l'identifiant de l'objet cible dans le script de création du parfile, et ajouter l'identifiant de la table en identifiant secondaire.
C ette deuxième solution est à privilégier pour pouvoir garder une trace facilement repérable de ce qui a été fait lors de la mise à jour.
Les objets trouvés par COSIM sont trop éloignés
Le score des coordonnées calculé par COSIM dépend de la qualité des coordonnées de l’objet dans SIMBAD et de l’objet de la table. Ce calcul est décrit en détail dans le manuel de COSIM. Il arrive que l’objet cible soit donc rejeté à cause de la trop bonne qualité de ses coordonnées SIMBAD par rapport à ses coordonnées dans la table.
On vérifie à l’aide d’ALADIN et en comparant les différentes données des deux objets qu’il s’agit bien du même objet. Si c’est bien le cas, deux solutions existent pour que COSIM reconnaisse l’objet cible.
Modifier les valeurs entre lesquelles le score est considéré comme médium. Ces valeurs sont par défaut 0 et 1. Pour que les coordonnées d’un objet cible dont le score est entre a et b soit considéré comme bon, on écrit l’option suivante :
Borner les σ dans le calcul du score des coordonnées. Les valeurs inférieur à la borne minimum prendront la valeur de cette borne, les valeurs supérieurs à la borne maximum prendront la valeur de la borne maximum. Cette option s’écrit de la façon suivante :
Attention, ces options s’appliqueront à tous les objets de la table, il faut d’abord s’assurer que cela ne va pas engendrer d’erreur sur d’autre objets.
COSIM indique que deux objets SIMBAD sont potentiellement un seul et même objet.
Il faut absolument vérifier à l’aide d’ALADIN, des identifiants des données des deux objets, et éventuellement de l’avis d’un astronome. Cette suggestion est souvent faite par COSIM dans le cas des étoiles multiples ou d’objets très proches mais bien distincts. Il est préférable de ne rien faire dans le doute plutôt que de fusionner deux objets par erreur.
Si après vérifications il s’avère que les deux objets sont effectivement à fusionner, la commande suivante est utilisée :
> maj2 > mp id_source , id_cibleLes données de la source seront copiées dans la cible.
Si les deux objets sont distincts, il faut indiquer dans le script à quel objet de SIMBAD COSIM doit associer les données d’un objet donné de la table. Par exemple, si la table contient un objet a correspondant à un objet b dans SIMBAD mais que COSIM ne le reconnaît pas, on écrit la commande suivante dans le script :
if (id~/^a *$/) print “%I.0 b”On prend soin de vérifier que a apparaîtra en raw-id et non b. Pour cela, si ce n'était pas déjà fait, on ajoute la ligne "%I.R".
Ce message signifie qu'un objet cible de SIMBAD est déjà associé à un objet de la table. On vérifie sur ALADIN que les deux objets associés sont bien les même en affichant la table et SIMBAD dans ALADIN Si c'est le cas, on utilise l'option :
Print ".OK ALREADY CONNECTED"Cette option est à mettre en place une fois que tout le reste du script est vérifié et corrigé, en effet, de nouvelles corrections pourraient apporter de nouveaux "already connected" qu'il faut vérifier.
Une fois que tous les objets donnent lieu à des commandes de mise à jour (c'est à dire quand il n'y a plus de "DISPLAY"), on peut créer un script de commande de mise à jour “brouillon”.
> script_maj parfile.out >auteur_byeOn vérifie les commandes de ce script et notamment les données qui sont ajoutées et changée dans SIMBAD .
La commande suivante affiche les trois premiers caractères des lignes de commande du script auteur_bye. Elle permet de vérifier le type de mise à jour qui sera fait.
> acut -c1-3 auteur_bye | sort | uniq -c | lessEnfin, la commande ci-dessous affiche les lignes de commandes commençant par c ou a dans le script auteur_bye, afin de voir quelles données seront ajoutées ou supprimée.
> grep ‘^[ca] ‘ auteur_bye | sort | uniq -c | lessLes commandes peuvent être modifiées dans le fichier vi de la manière suivante
1,$ s/à_modifier/modificationElles peuvent aussi être désactivée en ajoutant en point d’exclamation en début de ligne.
On vérifie ensuite que le script est compréhensible par SIMBAD. On utilise une fenêtre de mise à jour ouverte dans le dossier de la référence.
> maj2 > >+ log_auteur_bye > < auteur_byeUne simulation de la mise à jour se fait alors. A la fin de la simulation, les éventuelles erreurs s’affichent. Il s’agit souvent de commandes mal écrites au niveau de leur syntaxe ou de référence déjà présente dans certains objets.
Lorsque l'on est sûr du script Auteur_bye, on y remplace les commandes
bye! vA partir de maintenant chaque modification ou ajout sera sauvegardé.
On change le nom du fichier auteur_bye en auteur_maj de la façon suivante :
> mv auteur_bye auteur_majLorsque l’on est sûr de notre script on crée d'abord une sauvegarde de la mise à jour.
> maj2 > >+ log_auteur_majPuis, on peut procéder à la mise à jour.
> < Auteur_majLes éventuelles erreurs rencontrées sont encore une fois listées à la fin de la procédure.
Il est toujours bon de vérifier dans SIMBAD pour un objet au hasard que les mises à jour ont bien été faites correctement.
Relisant le commentaire de travail pour s'assurer qu'on a bien mis à jour toutes les données demandées
Vérifiant quelques objets au hasard (la référence a-t-elle été ajoutée, les mises à jour on elles été faites?)
Comparant le nombre d'objets attachés à la référence dans SIMBAD et le nombre d'objets cité dans la ou les tables liées à cette référence