8 Août 2021/ BigBrother

BigBrother est accessible à l’URL : http://eros.lal.in2p3.fr/ErosDB/BigBrother/

La période couverte va d’Octobre 1996 et Février 2003 – très précisément du 6 Octobre 1996 au 28 Février 2003. Ce n’est peut-être pas le premier message BigBrother, mais il y a bien le dernier. Je vois dans ce message qu’il y a des références à deux images. Si vous en avez gardé la trace, on pourrait les inclure.

Il y a au total 2255 messages pour une période de 2337 nuits, soit une efficacité de présence de plus de 96%.

Il y a 20 messages vides et un message en 3 parties. J’ai conservé les messages vides car il me semble intéressant de savoir qu’il y a eu une présence dans la coupole, même si aucun message n’a été envoyé.

Bravo à Christophe Magneville et Eric Aubourg pour la conservation de ces informations.

J’ai fait des essais avec différents navigateurs disponibles sur mon PC :

  • Pitoyable avec IExplorer
  • Possible avec Edge
  • Inutilisable avec Opera
  • Très bon avec Vivaldi – peut-être un peu lent dans la navigation
  • Excellent avec FireFox

Un « produit dérivé » intéressant est que les messages contiennent la liste des champs observés, ce qui permettrait de construire une liste de références originelles et de croiser cette liste avec le contenu de la base de données. Il serait alors possible de valider les entrées dans la base de données, et donc l’arrivée au Centre des images du Marly.

Publié dans Base de données, Eros2, Informations, Nostalgie, Stockage | Laisser un commentaire

29 Juillet 2021/ Images composées et références Eros 1

Les images composées, références et suivis réduits Eros 1 CCD sont sauvés dans Irods et enregistrés dans la base de données.

J’ai procédé à quelques changements par rapport à la proposition du 26 (Images composées, Suivis réduits et Références).

Les images sont renommées avec pour date la date de la fin de la campagne, ce qui correspond plus ou moins aux informations trouvées dans les entêtes FITS. Toutefois, la date des images n’a pas pu être utilisée car pour toutes ces images, la clé DATE-OBS est fixée au 1 Janvier 1991. Seule la clé DATE donne une information semblant pertinente. Le souci est que dans les images callées astronomiquement, cette clé est dupliquée. La première version est celle de l’image composée, la seconde est la date de création du fichier callé. Pas très utile donc.

Comme indiqué, le code « c » est utilisé pour les images composées et le code « w » pour les images « astronomiques ».

Exemples :

  • xb2d30.fitsw00 – image « astronomique » bleue LMC 91/92 pour le CCD 00
  • sr5c31.fitsc04 – image « composée » rouge SMC 94/95 pour le CCD 04

Les suivis sont renommés avec la date de début et de fin de campagne, le code couleur en majuscule comme le veut l’usage, la nature du traitement, puis l’extension standard suivi + code CCD.

Exemples :

  • x2l013c31Bmoy.suivi01 – suivi réduit « moy » bleu pour la campagne LMC 92/93
  • x2l013c31Rnom.suivi05 – suivi réduit « nom » rouge pour la campagne LMC 92/93

Dans la proposition du 26, j’envisageais d’utiliser des extensions svmoy et svnom pour que le nom reste conforme aux noms des suivis Eros 1, mais à la réflexion cela semble une mauvaise idée. D’abord, cela introduirait deux types artificiels, alors qu’il y en a déjà beaucoup dans Eros 1. Par ailleurs, le choix finalement adopté est proche du choix de la production : sumBmoy.suivi01, sumBnom.suivi05. Finalement, seul le début du nom change.

Les références sont renommées sur le même modèle, mais comme il n’y a pas d’autres exemples de références dans Eros1 CCD, j’ai simplifié en remplaçant les dates de début et de fin par les années. C’est finalement plus lisible.

Exemples :

  • x9293Bmoy.ref01 – référence « moy » bleue pour la campagne LMC 92/93
  • x9293Rnom.ref05 – référence « nom » rouge pour la campagne LMC 92/93

Il convient en outre de noter que ces suivis réduits et références ne semblent exister que pour LMC9293.

Pour ce qui est du stockage dans Irods, j’ai finalement séparé ces données du tronc normal des images et suivis en introduisant deux répertoires : composites pour les images composées et astronomiques ; et references pour les références et suivis réduits.

Les données sont organisées seulement par campagne. Il n’y a pas de distinction par CCD. Cela correspond à l’organisation des archives, et c’est assez logique vu le petit nombre de fichiers :

/eros/data/eros1-ccd/
                   composites/
                           LMC9192/
                           LMC9293/
                           LMC9394/
                           SMC9495/
                   references/
                           LMC9293/

Au final, il y a :

  • 112 images « c »
  • 111 images « w »
  • 60 suivis « m » ou « n »
  • 60 références (« m » ou « n »)
Publié dans Base de données, Eros1, Stockage | Laisser un commentaire

26 Juillet 2021/ Big Brother is Back

Marc avait émis l’idée d’archiver les messages Big Brother envoyés chaque nuit par les shifteurs en poste à La Silla. Idée unanimement approuvée … qui n’avait guère abouti. Tout cela est tellement loin. Les boites aux lettres ont été vidées depuis bien longtemps, les destinataires ont changé d’instituts, et plus encore de préoccupations…

Mais en explorant les archives, je suis tombé sur une archive BigBrothers que j’avais complétement délaissé.

Cette archive contient les traces de ces messages, années après années, jours après jours, de Juin 1997 à Février 2003.

On pourrait installer ces messages sur le site ErosDb, sous la forme d’une arborescence année/mois.

Quelque chose comme :

Big Brother is Watching for You

  1997/
     Juin >
     Juillet >
     ..

  2003/
     Janvier >
     Février >

Et en cliquant sur 2003 – Février :

Big Brother Février 2003

    1 Février 2003 >
    ..
    28 Février 2003 >

Chaque référence renvoyant au message correspondant.

D’autres présentations sont envisageables, mais celle-ci semble assez simple à mettre en place. Il faudrait sans doute juste prévoir un « chemin de fer » dans les différentes pages (sous la forme de boutons [< previous] [next >]).

Je pense qu’il serait également utile de recopier en tant que tel ces documents dans Irods.

Et je propose également de les sauver dans la base de données, à l’instar des catalogues d’étoiles et des entêtes FITS des images, mais non pas comme des BLOBS, mais plutôt comme des CLOBS, ce qui permettrait je l’espère des recherches par patterns. Comment, cela reste à voir, mais c’est en tout cas une étude intéressante à mener.

Je voudrais souligner le remarquable travail d’archiviste conduit par Christophe.

Sans ses efforts, rien de ce qui a été fait dans Eros Anastasis n’aurait été possible !

Bon ben, yapuka…

 

Publié dans Base de données, Eros2, Stockage | Laisser un commentaire

26 Juillet 2021/ Images composées, Suivis réduits et Références

Avec la fin des migrations des suivis Eros 1 CCD, j’ai repris les archives Tar qui étaient sauvées dans le HPSS, ainsi que les archives des DLT de Marc, afin de m’assurer que rien n’avait été oublié – ce qui est fort heureusement le cas.

Cette vérification m’a conduit à m’intéresser à des archives que j’avais laissé de côté dans un premier temps, et en particulier des archives « SuivisRef », « Composites » et « Composites+Astrometrie ».

Ces archives contiennent des images FITS composées et traitées astronomiquement, des suivis réduits et des références.

Les images composées sont notées comme tel dans leur entête. Je peux imaginer, par analogie avec Eros 2, qu’il s’agit d’images résultant de la sommation de plusieurs images de bonnes qualités destinées à améliorer la détection des étoiles. Il n’y a malheureusement pas de traces sur les images ayant servies au compositage – ou du moins, je n’en ai pas encore trouvé. Tout ce qu’il y a dans l’entête est une clé SUMIMA ayant des valeurs comme 52 ou 53.

Les images « astronomiques » débutent par le même entête que les images composées et se poursuivent par différentes clés faisant référence à WCS Astrometry.net. J’imagine donc qu’il s’agit des images composées retraitées par un programme astrométrique, sans doute pour les caller. Ces images contiennent des informations de création de faisant état de 2013 – bien plus récent que les images composées donc.

Il y a également des fichiers de type ref. Sans doute des références. Impossible d’être plus précis car je ne sais toujours pas lire les références.

Les suivis sont des suivis sans mesure – avec seulement les tables d’étoiles. Ce qui est plutôt une bonne chose puisque contrairement aux références les suivis sont accessibles par les outils ErosDb. Il y a deux catégories de suivis : l’une nommée moy, l’autre nom. Encore une fois, il n’y a pas de notes sur la création de ces fichiers, on ne peut donc que supposer que moy fait référence à une notion de moyenne. Dans la même veine, nom pourrait correspondre à nominal ???

Il y a un fichier par campagne et par CCD.

En tout état de cause, il parait utile de conserver explicitement ces fichiers.

La grosse difficulté est le choix fait par les producteurs de l’époque de donner le même nom a tous les fichiers, à l’exception du code de couleur et du préfixe du suffixe (sisi !). Par exemple, toutes les images composées du CCD 0 s’appellent sumB.fitsr00 et sumR.fitsr00, quel que soit la campagne.

D’abord, c’est pas vraiment mnémonique, et plus grave, c’est complètement incompatible avec la base de données.

Eric Lesquoy avait fini par apprécier la base de données, surtout avec la possibilité de la gérer au travers de TCL. Mais son mantra était de pouvoir reconstruire la hiérarchie des données à partir des seuls noms des fichiers.

Cette idée s’est tellement imposée qu’elle est l’un des fondamentaux de la base de données ErosDB. Une donnée doit avoir un nom unique qui constitue son discriminant, sa clé extérieure. La seule exception à ce principe fondamental concerne les fichiers, qui sont identifiés par leur nom et leur répertoire. La logique sous-jacente est qu’une donnée regroupe les caractéristiques immuables de l’élément : la date d’observation d’une image, le nombre d’étoiles d’un suivi, … alors que les fichiers sont la matérialisation de l’élément dans un espace de stockage. Un élément est unique mais il peut être conservé sur différents médias : des cartouches, le HPSS, Irods… Cette organisation de la base de données a permis d’indexer sans soucis majeurs – du moins sans soucis insolubles – les données Eros 2 et Eros 1 CCD.

Mais il est impossible d’indexer des données portant toutes le même nom !

Une difficulté un peu similaire s’est présentée avec les images callées astronomiquement par Jean-Baptiste (post du 10 Janvier 2019 et du 6 Février 2019). L’astuce avait consisté à changer le nom des images en leur attribuant un code de traitement spécifique.

Je pense faire la même chose pour ces données :

  • les références « moy »: sum[BR]moy.ref[00..ref15]
  • les suivis réduits « moy »: sum[BR]moy.suivi[00..15]
  • les références « nom »: sum[BR]nom.ref[00..15]
  • les suivis réduits « nom »: sum[BR]nom.suivi[00..15]
  • les images composées: sum[BR].fits[00..15]
  • les images composées callées: sum[BR]m.fits[00..15]

Pour les images, on peut adopter la même stratégie que pour les images composées Eros 2: leur affecter le code objet et le code couleur, adopter un code de traitement « c » ou « w », comme dans Eros 2, et utiliser une date arbitraire correspondant au début de la campagne. Il se trouve d’ailleurs que les images composées utilisent déjà cette solution. Elles ont une date artificielle, indiquée dans leur entête par la clé FITS DATE-OBS. Il faudra juste vérifier que cette date est cohérente avec la campagne d’observation.

Pour les suivis, on peut se rapprocher des noms des suivis Eros 1 CCD : le code objet, la date de début, la date de fin, le code couleur, l’extension et le code du CCD. Pour les dates de début et de fin, on peut prendre les premiers et derniers jours des mois débutant et terminant la campagne d’observation, par exemple le 1 Décembre 1991 et le 30 Avril 1992 pour LMC9192, soit le code 1l012d30. Il faudrait sans doute éviter de mélanger les suivis standards et ces suivis réduits. D’où la proposition d’introduire deux nouveaux suffixes : svmoy et svnom. Soit au final x1l012d30.svmoy00 et x1l012d30.svnom00.

Et comme pour Eros 2, on peut attribuer aux références une syntaxe similaire à celle des suivis.

Ceci étant, rien n’empêche de recopier dans une arborescence parallèle les fichiers originaux…

De toutes les façons, les archives provenant du HPSS sont sauvées dans Irods, dans /eros/legacy/eros1-ccd.

Je pense mettre rapidement cette stratégie en œuvre. Peut-être n’y aura-t-il pas beaucoup de réponse à cette proposition, mais comme disait Clémenceau « en démocratie, il faut toujours un nombre impair de votants pour prendre une décision, mais trois, c’est déjà beaucoup trop ».

Bon ben, yapuka…

Publié dans Base de données, Eros1, Stockage | Laisser un commentaire

22 Juillet 2021/ Enregistrement des suivis Eros 1 CCD

Les suivis Eros 1 CCD sont désormais recopiés dans Irods et enregistrés dans la base de données.

J’ai sauvé les 1602 suivis, y compris un fichier renommé BAD, mais bien sûr seuls les 1601 fichiers corrects ont été enregistrés.

Sur ces 1601 suivis, 1575 sont considérés comme valides et 26 présentent des erreurs, parfois récupérables, pour certaines assez sérieuses. Le fichier BAD n’est vraiment pas exploitable.

Le rapport qui suit présente la situation des suivis en erreur.

Les colonnes sont assez compréhensibles :

  • Start et End représentent les dates de début et de fin apparaissant dans le nom du suivi.
  • Naming correspond à la convention de nommage de l’élément, afin de faire rapidement la différence entre les données Eros 1 CCD et Eros 2.
  • Une colonne Version est nécessaire pour supporter le numéro de version des suivis, ce qui concerne essentiellement un cas du SMC.
  • Images donne le nombre d’images analysées, et donc le nombre de mesures réalisées sur chacune des étoiles détectées. Il vient de l’attribut nbMesures de l’entête du suivi.
  • Stars correspond au nombre d’étoiles indiqué dans l’entête du suivi.
  • Assoc représente le nombre d’étoiles associées. Une étoile est considérée comme associée si elle fait référence à une étoile du suivi de couleur complémentaire qui elle-même fait référence à cette étoile.

Les erreurs présentées viennent de la vérification de l’entête du suivi et de la table de description des images analysées (Time Info). L’entête contient des informations sur la taille du suivi lui-même, sur le nombre d’étoiles et d’images enregistrées ainsi qu’un marqueur de corruption. Ces informations sont utilisées pour une vérification ‟rapide” du suivi. Une vérification plus poussée consiste à décoder les descripteurs des images analysées afin de vérifier s’il est possible de reconstituer le nom de l’image et si cette image est enregistrée dans la base de données.

Le fait que l’image ne soit pas enregistrée dans la base de données n’indique pas une erreur du suivi mais permet de construire une liste des images perdues.

A l’inverse, l’impossibilité de décoder les descripteurs d’images est plus préoccupante. En effet, le mécanisme de sauvegarde des données dans le suivi entrelace les descripteurs d’images et les mesures réalisées. Si les descripteurs d’images sont corrompus, on peut avoir de sérieux doutes sur les mesures.

Différentes caractéristiques du nom de l’image analysée sont conservées dans le descripteur sous la forme d’un entier nommé numPhoto. Le codage utilise un mécanisme de masques et de décalages pour réduire un nom d’une vingtaine de caractères à un entier de 4 octets. Il arrive que son décodage conduise à des valeurs aberrantes. Dans une telle situation, un second attribut, donnant la date d’observation, est utilisé. Si la date est nulle ou inutilisable, le descripteur est déclaré corrompu, le suivi également. Si la date d’observation est valide, le descripteur est déclaré en erreur mais le suivi est considéré comme valide. La raison de ce choix est que les seuls cas (ou presque) où une erreur de décodage des numPhotos est récupérée par la date d’observation correspond à des images réalisées à la fin du mois de Janvier 1992, une année bissextile. Le jour décodé correspond au 32 Janvier. A l’inverse, tous les cas de corruption rencontrés correspondent aux derniers Time Info du fichier, ce qui est autrement plus préoccupant.

Le cas du suivi s4f244g05R.suivi00 est plus curieux : le code photo est à 0 et la date est incohérente. Mais comme il s’agit du premier descripteur et que les suivants sont corrects, l’intelligence très artificielle du programme de vérification a fait preuve de clémence…

Les erreurs présentées dans le rapport sont les suivantes :

  • ERRORS : des codes photos dans les Time Infos sont en erreur mais il est possible de retrouver l’image à partir de la date d’observation.
  • CORRUPTED : les codes photos ne peuvent pas être décodés et les dates d’observation sont nulles ou inutilisables.
  • NOIMAGE : l’entête du fichier fait état de 0 mesure, mais sa taille correspond à un fichier contenant des analyses. La lecture forcée de manière à contourner cette vérification montre que les Time Infos sont valides et que les images existent dans la base de données. Le nombre d’images enregistré dans la base de données est cependant « 0 », puisque c’est celui qui apparait dans l’entête du suivi.
$ ReportSuivis -eros1 err!=null

Nom                Objet Ccd Flt Start       End         Version Naming    Stars Assoc Images Erreur
------------------ ----- --- --- ----------- ----------- ------- --------- ----- ----- ------ ---------
s4f244g05R.suivi00 s       0 R   24-Jun-1994 05-Jul-1994         EROS1_CCD 10354  9431    142 ERRORS
s4g064g16B.suivi02 s       2 B   06-Jul-1994 16-Jul-1994         EROS1_CCD 12088 10101    128 CORRUPTED
s4i084i18B.suivi07 s       7 B   08-Sep-1994 18-Sep-1994         EROS1_CCD 10024  7925    198 CORRUPTED
x2a202b03B.suivi00 x       0 B   20-Jan-1992 03-Feb-1992         EROS1_CCD  9176  7413    150 ERRORS
x2a202b03B.suivi01 x       1 B   20-Jan-1992 03-Feb-1992         EROS1_CCD  9617  8171    150 ERRORS
x2a202b03B.suivi02 x       2 B   20-Jan-1992 03-Feb-1992         EROS1_CCD  9485  7599    149 ERRORS
x2a202b03B.suivi03 x       3 B   20-Jan-1992 03-Feb-1992         EROS1_CCD  9440  7830    148 ERRORS
x2a202b03B.suivi04 x       4 B   20-Jan-1992 03-Feb-1992         EROS1_CCD  9595  7891    148 ERRORS
x2a202b03B.suivi07 x       7 B   20-Jan-1992 03-Feb-1992         EROS1_CCD  9596  7854    148 ERRORS
x2a202b03B.suivi08 x       8 B   20-Jan-1992 03-Feb-1992         EROS1_CCD  9548  7988    148 ERRORS
x2a202b03B.suivi09 x       9 B   20-Jan-1992 03-Feb-1992         EROS1_CCD  9566  7896    147 ERRORS
x2a202b03B.suivi10 x      10 B   20-Jan-1992 03-Feb-1992         EROS1_CCD  9480  7888    148 ERRORS
x2a202b03B.suivi11 x      11 B   20-Jan-1992 03-Feb-1992         EROS1_CCD  9508  7837    148 ERRORS
x2a202b03B.suivi12 x      12 B   20-Jan-1992 03-Feb-1992         EROS1_CCD  9478  7922    147 ERRORS
x2a202b03R.suivi00 x       0 R   20-Jan-1992 03-Feb-1992         EROS1_CCD 10932  7413    163 ERRORS
x2a202b03R.suivi01 x       1 R   20-Jan-1992 03-Feb-1992         EROS1_CCD  9954  8171    163 ERRORS
x2a202b03R.suivi02 x       2 R   20-Jan-1992 03-Feb-1992         EROS1_CCD  9006  7599    163 ERRORS
x2a202b03R.suivi03 x       3 R   20-Jan-1992 03-Feb-1992         EROS1_CCD  9677  7830    163 ERRORS
x2a202b03R.suivi04 x       4 R   20-Jan-1992 03-Feb-1992         EROS1_CCD  9643  7891    163 ERRORS
x2a202b03R.suivi07 x       7 R   20-Jan-1992 03-Feb-1992         EROS1_CCD  9603  7854    162 ERRORS
x2a202b03R.suivi08 x       8 R   20-Jan-1992 03-Feb-1992         EROS1_CCD  9668  7988    162 ERRORS
x2a202b03R.suivi09 x       9 R   20-Jan-1992 03-Feb-1992         EROS1_CCD  9564  7896    161 ERRORS
x2a202b03R.suivi10 x      10 R   20-Jan-1992 03-Feb-1992         EROS1_CCD  9752  7888    160 ERRORS
x2a202b03R.suivi11 x      11 R   20-Jan-1992 03-Feb-1992         EROS1_CCD  9473  7837    160 ERRORS
x2a202b03R.suivi12 x      12 R   20-Jan-1992 03-Feb-1992         EROS1_CCD  9575  7922    152 ERRORS
x2l233a01B.suivi01 x       1 B   23-Dec-1992 01-Jan-1993         EROS1_CCD 10567  8739      0 NOIMAGE
Publié dans Base de données, Eros1, Stockage | Laisser un commentaire

13 Juillet 2021/ Appel aux courbeurs d’étoiles

Dans Eros 2, le décompte des étoiles détectées, fusionnées, associées, … sur les images analysées est conservé dans la table des références, décrivant les catalogues binaires des étoiles suivies (fichiers ref, toujours illisibles à ce stade). Les informations proviennent des batchs de création de ces catalogues.

Comme je n’ai pas (encore ?) trouvé l’équivalent des références pour Eros 1 CCD, et histoire d’enrichir un peu la base de données, j’ai donc mis en place une vérification des associations pour pouvoir enregistrer le nombre d’étoiles suivies, détectées et des images analysées dans la table des suivis. Ce qui m’a surpris, c’est qu’il y a plus de courbes de lumière que d’étoiles dites « associées ». D’où la question : c’est quoi une étoile associée ?

Dans Eros 2, j’avais fini par comprendre qu’une courbe de lumière correspond à une étoile associée. Dans les descripteurs des étoiles analysées (Star Info) des fichiers de suivi, il y a deux attributs : numEt et xRef. Le premier, numEt est l’identifiant de l’étoile. En pratique, il correspond à l’index du Star Info dans le suivi + 1. Autrement dit, les identifiants débutent à 1, le code 0 étant réservé et semble correspondre à une étoile rejetée. Le second est l’identifiant de l’étoile dans le suivi de couleur complémentaire. Il y a association si le couple [numEt{star}, xRef{asso}] rouge correspond au couple miroir [numEt{assoc}, xRef{star}]. L’identifiant de la courbe de lumière est le numéro de l’étoile rouge.

A l’époque des sauvegardes Eros 2, les suivis n’étant pas lisibles, je n’avais pas pu réaliser de vérifications systématiques. Il serait peut-être utile de reprendre ces études pour Eros 2, mais le volume des données Eros 2 est tel que ce n’est certainement pas la priorité du moment…

En tout état de cause, il serait utile de savoir, et de documenter, comment les courbes de lumières, aussi bien Eros 2 que Eros 1 CCD ont été créées.

Appel donc aux courbeurs d’étoiles d’aujourd’hui et d’hier ! Comment ça marche !!!

Publié dans Eros1, Eros2 | Laisser un commentaire

13 Juillet 2021/ Very Bad suivi

Dans une précédente note, j’écrivais qu’il y a 1601 fichiers de suivi. Comme les observations sont réalisées en rouge et en bleu, il devrait paraitre évident que cet impair pose question !!

J’ai donc vérifier les couples rouge bleu des suivis pour trouver un fichier bad pour SMC9495/08. Vraiment bad. Et même tellement bad qu’il a été renommé comme ça : s4k154k24B.suivi08.bad .

Ce fichier n’a pas la taille réglementaire :

% DumpSuivi -verb s4k154k24B.suivi08
Application aborted
Reason: IOException: Invalid suivi size
Caused by: IllegalArgumentException: Expected size: little: 60926124 / big: -1398234877, file: 32706048

L’intérêt de cet exemple est qu’il montre l’efficacité de la détection des corruptions grâce aux informations enregistrées dans l’entête !

J’ai essayé de forcer la lecture de ce suivi pour voir si quelque chose d’utile pouvait être récupéré. Mais rien à faire, les contrôles internes sont plutôt efficaces :

% DumpSuivi -verb s4k154k24B.suivi08 -size
13-Jul-2021 13:56 (INFO) Loading suivi in forced mode
Application aborted
Reason: IOException: Corrupted
Caused by: IllegalArgumentException: Corrupted file: marker 3ff00000, expecting 183

 

Publié dans Eros1 | Laisser un commentaire

11 Juillet 2021/ Situation des suivis Eros 1 CCD

L'enregistrement des caractéristiques des images Eros 1 CCD a mis en évidence des erreurs tel que des fichiers vides, tronqués ou corrompus. Pour éviter de telles déconvenues, il m'a semblé utile de vérifier les fichiers de suivis avant de lancer leur sauvegarde.

Une telle vérification présente toutefois une sérieuse difficulté faute d'un outil certifié. L'outil utilisé résulte d'interprétations de différentes notes et fragments de code. Il semble donner des résultats cohérents dans la plupart des cas mais comment interpréter les échecs ?

Méthode de vérification

Un fichier de suivi débute par un entête et cet entête débute à un entier de quatre octets donnant la taille du suivi. Ce premier mot est très utile car il permet deux vérifications. Si l'entier lu correspond à la taille du fichier, on sait 1) que le fichier n'est pas tronqué et 2) que l'ordre des octets dans le fichier correspond à l'ordre ‟naturel” de lecture des données. Si ce n'est pas le cas, on peut tenter d'inverser l'ordre des 4 octets et reconstruire un entier. S'il y a correspondance avec la taille du fichier, celui-ci n'est pas tronqué mais les octets doivent être permutés avant d'être utilisés (byte swapping). Et s'il n'y a toujours pas de correspondance le fichier est tronqué. Il n'est donc pas utile de continuer.

L'entête contient deux autres informations utilisables pour une vérification : le nombre d'images analysées et un marqueur qui doit être identique aux nombres d'images. Le programme d'analyse peut utiliser ce marqueur pour indiquer une corruption interne du suivi. Tous les suivis analysés passent avec succès ces deux vérifications.

Cependant, une curiosité est apparue dans un cas : le nombre d'images et le marqueur de validité sont à zéro – donc le fichier est valide - mais la taille du suivi laisse penser que des mesures ont été enregistrées. On peut même déduire le nombre d'images à partir de la taille du fichier. La vérification des Time Infos récupérés donne des résultats corrects.

Ce cas curieux a l'avantage de montrer que la seule vérification de l'entête et de la taille du fichier n'est pas suffisante. Il faut aussi vérifier son contenu. La seule solution pouvant être mise en œuvre consiste à contrôler la cohérence des descripteurs des images analysées (Time Info). Ces descripteurs étant entrelacés avec les mesures effectuées sur les étoiles, des corruptions conduiraient à de sérieuses suspicions quant à la validité des mesures.

La seule référence à laquelle confronter les Time Infos est la liste des images enregistrées dans la base de données. Dans ce contexte, deux entiers sont utilisables : le premier correspond à un encodage de différentes caractéristiques de l'image analysée, le second est la date d'observation obtenue de l'entête FITS de l'image. Si donc on peut reconstruire le nom de l'image à partir de son code photo et vérifier son existence dans la base de données, on peut être raisonnablement sûr que le Time Info est valide. Il y cependant différentes situations où le code photo est incohérent. Mais on peut reconstruire la date d'observation à partir du Time Info et chercher dans la base de données une image correspondant à cette date.

Si rien ne marcher, le Time Info est considéré comme corrompu, ce qui entraine une sérieuse suspicion quant au suivi.

A l'inverse, l'absence de l'image dans la base de données alors que son nom a correctement été reconstruit n'implique pas que le Time Info est invalide mais plutôt que l'image est perdue.

Et si le code photo est incorrect mais que la date permet de trouver l'image, le Time Info n'est pas considéré comme corrompu, mais plutôt qu'il a été victime d'un bug… 220 Time Infos sont dans ce cas. A chaque fois, l'erreur vient de ce que le jour déduit du code photo donne 32, ce qui n'est pas acceptable. Détail amusant, toutes ces erreurs correspondent au 32 Janvier de 1992, une année bissextile…

215 erreurs non récupérables ont été détectées dans 2 suivis différents. Le fait que toutes ces erreurs soient en fin de fichier conduit à soupçonner une sévère corruption. Ou alors l'outil de vérification a perdu ces repères dans les entrelacements des Time Infos et des mesures. Mais alors, pourquoi seulement sur ces deux cas… ?

Résultats

Les archives présentent dans le HPSS contiennent 1601 suivis répartis en 56 répertoires pour les 4 différentes campagnes. Seuls les programmes LMC (code "x") et SMC (code "s") ont été analysés.

  • 1575 suivis sont considérés comme valides.
  • 23 suivis contiennent des Time Infos bogués mais dont les images existent.
  • 2 semblent sévèrement corrompus.
  • 1 correspond au cas où aucune image n'est déclarée dans l'entête alors que des mesures existent qui semblent valides.

Au total 244 227 images ont été analysées et sont référencées dans les suivis, dont 98 plusieurs fois.

207 618 images ont été identifiées grâce à la base de données. Et si on force le chargement du fichier sans image déclarée, on peut rajouter 146 images, toutes valides.

36 480 images n'existent pas dans la base de données, mais 5 répertoires contenant des suivis n'ont pas d'équivalent dans l'arborescence des images, qui sont donc bel et bien perdues. Ceci représente 31 553 références dans les suivis. Si on fait abstraction de ces 5 répertoires manquants, près de 5 000 images restent encore absentes.

Mais au moins, grâce aux décodages des suivis, il est possible de connaitre les noms de ces images perdues.

Conclusions

2 fichiers seulement semblent sérieusement compromis et 24 pourraient être considérés comme douteux. Il semblerait donc logique de sauver tous les suivis et d'enregistrer dans la base de données un code donnant le résultat des vérifications effectuées. Il pourrait aussi être utile de conserver dans Irods, peut être dans les répertoires des suivis, les sommaires des vérifications, sous la forme de fichiers CSV.

Le sommaire des vérifications :

Nb Suivis  Nb Images  Nb Checked Nb Valids  Nb Missing Nb Errors  Nb Duplicatd
---------- ---------- ---------- ------------ ---------- ---------- ----------
      1601     244325     244314     207618      36480        436           98

Status     Count
---------- ----------
CORRUPTED           2
VALID            1575
NO_IMAGE            1
ERRORS             23

Suivi              Status       Checked    Valids     Missing    Errors     Recovered
------------------ ------------ ---------- ---------- ---------- ---------- ----------
s4f244g05R.suivi00 ERRORS              142        141          0          1
s4g064g16B.suivi02 CORRUPTED           126         10          0        116
s4i084i18B.suivi07 CORRUPTED           189         90          0         99
x2a202b03B.suivi00 ERRORS              150        148          2         10         10
x2a202b03B.suivi01 ERRORS              150        146          4         10         10
x2a202b03B.suivi02 ERRORS              149        144          5         10         10
x2a202b03B.suivi03 ERRORS              148        143          5         10         10
x2a202b03B.suivi04 ERRORS              148        143          5         10         10
x2a202b03B.suivi07 ERRORS              148        140          8         10         10
x2a202b03B.suivi08 ERRORS              148        143          5         10         10
x2a202b03B.suivi09 ERRORS              147        142          5         10         10
x2a202b03B.suivi10 ERRORS              148        143          5         10         10
x2a202b03B.suivi11 ERRORS              148        143          5         10         10
x2a202b03B.suivi12 ERRORS              147        142          5         10         10
x2a202b03R.suivi00 ERRORS              163        163          0         10         10
x2a202b03R.suivi01 ERRORS              163        163          0         10         10
x2a202b03R.suivi02 ERRORS              163        163          0         10         10
x2a202b03R.suivi03 ERRORS              163        163          0         10         10
x2a202b03R.suivi04 ERRORS              163        163          0         10         10
x2a202b03R.suivi07 ERRORS              162        162          0         10         10
x2a202b03R.suivi08 ERRORS              162        162          0         10         10
x2a202b03R.suivi09 ERRORS              161        161          0         10         10
x2a202b03R.suivi10 ERRORS              160        160          0         10         10
x2a202b03R.suivi11 ERRORS              160        160          0         10         10
x2a202b03R.suivi12 ERRORS              152        152          0         10         10
x2l233a01B.suivi01 NO_IMAGE              0          0          0
Publié dans Base de données, Eros1 | Laisser un commentaire

5 Juillet 2021 / Ccd Images Eros 1 manquants

A défaut d’être très rigolo, le contrôle des fichiers de suivis Eros 1 CCD a eu le mérite d’être instructif.

Durant la campagne de sauvegarde des images, des fichiers vides, tronqués ou corrompus sont apparus et ont été écartés. Mais faute de listes de références, impossible de voir si toutes les images étaient bien là. Certes, il y avait des trous dans la liste des répertoires correspondant aux CCD des différentes campagnes, mais peut-être était-ce normal.

L’analyse des suivis met en évidence une première difficulté : il y a 56 « Ccds » de suivis contre 51 d’images. Par « Ccd », j’entends ici « répertoire contentant les fichiers correspondants au CCD d’une campagne d’observation » (ouf!).

Ces 5 « Ccds » perdus concernent la campagne LMC 93/94 et les CCD 5, 9, 13, 14 et 15. Environ 6300 images par « Ccd ». Soit près de 32 000 images au total ! Et ces images ont bien existées puisqu’elles sont référencées dans les suivis.

Les suivis ont donc la vertu de constituer cette fameuse liste des images qui faisait tant défaut.

Si on fait abstraction des 5 « Ccds » perdus, environ 240 000 images référencées dans les suivis sont bien enregistrées dans la base de données, et donc présentes dans Irods – soit un peu plus de 85 % de images analysées.

Hélas, les suivis ne concernent que les programmes LMC (code « x ») et SMC (code « s ») et uniquement pour les images réduites. Il convient toutefois de noter que les images réduites représentent plus de 90 % des images sauvées.

J’ai fait un pointage rapide dans les listings des archives Eros du HPSS ainsi que dans les répertoires de sauvegarde de Marc au LAL, mais hélas sans succès. Sauf improbable coup de chance, ces 30 000 images peuvent être considérées comme perdues.

Ceci étant, peut-être serait-il intéressant d’enregistrer dans la base de données les images perdues ou corrompues – avec un code d’erreur approprié – afin de conserver une trace de l’histoire de l’expérience.

Une autre curiosité concernant les images Eros 1 CCD est l’absence quasi-totale des images brutes.

Publié dans Base de données, Eros1, Stockage | Laisser un commentaire

29 Juin 2021 / Suivis Eros 1 CCD

Les suivis Eros 1 CCD sont assez proches des suivis Eros 2 – même si historiquement c’est plutôt l’inverse.

Les outils d’exploration des suivis mis en place doivent donc pouvoir être utilisés. Même s’il faudra sans doute procéder à quelques adaptations. Ce point peut être important car ces outils pourraient permettre de commencer les sauvegardes par une campagne de validation, pour éviter les mauvaises surprises rencontrées avec les images.

La sauvegarde des suivis dans Irods ne devrait cependant pas poser de problème puisqu’une structure existe pour les images, qu’il suffit d’adapter. L’architecture va donc encore une fois suivre l’organisation historique, à savoir une arborescence par campagne et un répertoire par CCD :

/eros/data/eros1-ccd/
                   suivis/
                       LMC9192/
                               00/
                               01/
                           ...
                       SMC9495/
                           ...

La différence la plus importante entre Eros 1 CCD et Eros 2 réside dans la logique des productions. Pour l’expérience Eros 2, l’ensemble des prises de vue constituait une même campagne. Les images étaient donc traitées dans leur ensemble, conduisant à des suivis couvrant les sept années d’observation. Pour réduire la taille des fichiers, ceux-ci étaient segmentés en blocs et les analyses étaient conduites par quart de CCD.

Dans le cas d’Eros 1 CCD, les analyses sont menées séparément pour les différentes campagnes mais pour l’ensemble du CCD. Bien que de multiples programmes aient été conduits durant la dernière campagne, il n’existe des suivis que pour le LMC et le SMC.

Tout comme pour Eros 2, pour éviter d’avoir des fichiers de trop grandes tailles, les analyses étaient réalisées sur des sous-ensembles d’images. La différence entre Eros 1 et Eros 2 se manifeste dans les noms donnés aux fichiers : Eros 2 indique le numéro du bloc alors que pour Eros 1, les dates de début et de fin sont utilisées.

La différence entre les conditions de prise de vue se répercute dans les noms des suivis. Dans Eros 2, les codes du champ et de la caméra sont indiqués, ce qui n’a pas d’intérêt pour Eros 1. En outre, les noms Eros 2 intègrent le code du quart de CCD. Enfin, plusieurs campagnes d’analyse ayant été réalisées dans Eros 2, les noms contiennent l’indication de la production.

Toutes ces différences conduisent à renoncer à l’espoir de fédérer les suivis 1 et 2 dans une même structure dans la base de données. Une seconde table doit donc être mise en place.

Cette dichotomie impacte principalement les outils ReportSuivis et GetSuivis.

4 cas peuvent se présenter :

  1. l’utilisateur indique explicitement le type des suivis cherchés – par exemple par une option d’appel – l’utilitaire effectue la recherche sur la table concernée – le rapport est présenté avec les attributs spécifiques au type des suivis cherchés ;
  2. la requête est indiquée avec des attributs propres à l’un ou l’autre des types de suivis – l’utilitaire peut donc basculer dans le mode approprié – ce qui correspond implicitement à la situation précédente ;
  3. la requête ne contient aucun élément permettant d’identifier la nature des suivis – l’utilitaire va donc procéder à deux requêtes, une par table, et présenter deux rapports, un par type de résultats ;
  4. la requête contient des éléments des deux types de suivi – l’utilitaire doit séparer les attributs spécifiques de manière à construire deux requêtes distinctes – les résultats sont présentés en deux rapports séparés.

Donc en toute logique, ça devrait passer…

Bon ben, ypuka, au boulot !

 

Publié dans Base de données, Eros1, Stockage | Laisser un commentaire