Marche à suivre mise à jour SIMBAD avec COSIM
1. Préparations pour le traitement d’un article 1
1.a Repérer un article à traiter 1
1.b Signaler la prise en charge de l’article 2
1.c Préparer les données à exploiter 2
2. Création du parfile avec awk 2
2.b Paragraphes du fichier d'entrée 3
2.d Lecture du parfile par COSIM 3
3.a Problèmes rencontrés par COSIM 4
3.b Résolution des « Display » 4
4.a Création du script “Auteur_bye” 6
4.b Vérifications et corrections éventuelles 6
4.c Création du script "Auteur_maj" 7
5. "Validation" de l'article 8
5.c Modification du commentaire de travail 8
6.b Appliquer le programme à partir d'une ligne précise 9
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.
Un 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.
Les commandes pour COSIM sont écrites dans ce paragraphe. A des fins de clarté su script, et pour ne rien oublié, 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)
print "%Y " c " précisions et BIBcode "
Le premier sous paragraphe définit les différentes variables. Dans cet exemple, on demande à COSIM de considérer que les colonnes A et B contiennent les données a et b.
Le second décrit les opérations que awk devra effectuer. Ici, on lui demande de considérer que la donnée c correspond au résultat de l’addition des données a et b.
Le troisième paragraphe fera en sorte que COSIM comprenne quelle type donnée correspond à quelle variable et quelles sont les précisions à ajouter à chaque donnée. 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ées dans le manuel de COSIM. Les précisions à ajouter pour chaque type de donnée sont disponibles dans les commandes de mise à jour.
Une fois le script écrit, on crée le fichier 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 créé doit ensuite être lu par COSIM.
Les fichiers "parfile.stat" et "parfile.out" sont créés.
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 dictionnaire de nomenclature. 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 le 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 systématiquement à 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.
L'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.
Cette 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.
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 :
Les 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 :
On ajoute a en identité secondaire dans le script.
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 :
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_bye
On 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 | less
Enfin, 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 | less
Les commandes peuvent être modifiées dans le fichier vi de la manière suivante
Elles 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 COSIM. On utilise une fenêtre de mise à jour ouverte dans le dossier de la référence.
Une 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
A 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 :
Lorsque l’on est sûr de notre script on crée d'abord une sauvegarde de la mise à jour.
Puis, on peut procéder à la mise à jour.
Les é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.
Cette étape peut être faite directement après le traitement d'une référence ou de manière groupée de temps en temps celons les préférences du documentaliste.
On vérifie une dernière fois que tout s'est bien passé lors de la mise à jour. Notamment en :
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
Par soucis d'organisation pour les équipes à prévenir, il est préférable de ne pas leur envoyer les tâches à faire une par une, mais d'attendre d'en avoir quelques unes et de les envoyer dans un même mail. On peut décrire les tâche à effectuer dans un fichier propre à chaque table.
Si la table ne comportait pas de colonne directement reconnue par SIMBAD et qu'il a fallu mettre en forme les identifiant (par exemple une partie d'un acronyme), on prévient l'équipe VIZIER que le "SIMBAD name " est à ajouter à la table et on explique ou le trouver (par exemple décrire la mise en forme d'une colonne en particulier).
Lorsqu'un acronyme a été complété par l'une des mise à jour faite (vérifier dans le dictionnaire), il faut prévenir l'équipe du dictionnaire.
De la même façon que l'on a signalé que l'on prenait l'article en charge, on signale qu'il est traité en modifiant le commentaire de travail. On remplace "=statut= En coursXX" par "(statutXX)",
Il faut d'abord compresser les fichier du répertoire en effectuant la commande :
> gzip *
* signifie que tous les fichiers du dossier seront compresser, on peut préciser le nom d'un seul fichier à la place pour ne compresser que celui-là. On peut toujours décompresser les fichiers avec la commande :
> gunzip *
On peut ensuite déplacer le répertoire de la référence dans un répertoire "traité".
Pour gagner du temps, il est possible de définir les variable par champs plutôt que par zone. Pour cela, dans le paragraphe "BEGIN", on écrit :
Le caractère "|" sera associé à un séparateur de champs. On peut maintenant définir les variables de la façon suivante :
La variable A est défini comme l'ensemble des caractères du champs 1, vides inclus.
Pour des raison de lisibilité, on peut souhaiter laisser les titres des variables dans la table. Si le programme est appliqué sur ces lignes ils les reconnaîtra pas comme des objet et s'arrêtera de tourner. On peut donc lui demander de commencer à parti d'une certaine ligne en écrivant avant le début du programme :
Ainsi, le programme s'appliquera à partir de la ligne X+1.
Écrire le BIBcode de l'article dans le champs de recherche "sélect" et chercher dans toutes les collections. Les différentes tables disponibles de l'article s'affichent, sélectionner la table désirée et la charger. Supprimer les filtres en cliquant sur l’icône en bas à gauche. Chercher une image disponible (affichée en vert) dans le catalogue d'image).
S'il y a de nombreux objets de la table à visualiser dans ALADIN, cela peut prendre du temps de les chercher un par un. Il existe la possibilité de chercher une liste d'objets.
Si par exemple, on veut visualiser tous les objets en DISPLAY, on écrit dans le terminal
> grep '^!=== DISPLAY :' | less
Coller les lignes dans un fichier et le mettre en forme pour qu'il ne reste plus que les coordonnées des objets. Enregistrer le fichier.
Dans ALADIN sélectionner Outil>Macros… Dans le champs "Type or load macro script" écrire
Puis faire un Ctrl+P et sélectionner le fichier contenant les coordonnées.
Sélectionner la première coordonnée et exécuter les paramètres courants. Pour passer à l'objet suivant exécuter les prochains paramètres.