Etapes d'ingestion d'un grand catalogueCette page décrit dans le détail les différentes étapes d'ingestion d'un grand catalogue (>20M sources). Elle est amenée à devenir une checklist permettant de s'assurer qu'aucune étape n'a été oubliée.
Réservation d'un nomOn réserve un nom de catalogue dans la nomenclature VizieR en respectant la catégorie du catalogue (I, II, ...). On décide également du nom de la ou des tables.Récupération des donnéesDirectement par wget si possible. Sinon via le point de contact du projetConversion en CSVGénéralement via un script ad-hocGénération des histogrammes et statistiques pour chaque colonneA l'aide de stilts (exemple pour catalogue Attitude) :# conversion en colfits ./stilts -Xmx10000M -Djava.io.tmpdir=tmp tpipe ifmt=csv ofmt=colfits-plus \ in=CSV/attitude_final.csv out=CSV/attitude_final.colfits # Génération statistiques ./stilts -Xmx10000M tpipe in=CSV/attitude_final.colfits omode=stats > stats.txt # Génération histogrammes for COLNAME in sourceId RAJ2000 DEJ2000 e_RAJ2000 e_DEJ2000 alphaEpoch deltaEpoch \ sourcePosition pmRA pmDE e_pmRA e_pmDE sourceMu magBJ e_magBJ \ sourcemagBJ magRF e_magRF sourceMagRF magG e_magG \ sourceMagG magGrvs e_magGrvs sourceMagGrvs classification \ sourceClassification auxGSC23 auxSDSS auxUCAC auxLQRF \ auxTYCHO auxHIP auxPPMXL auxOGLE auxTMASS auxEPC do echo "Processing ${COLNAME}" ./stilts plot2plane layer=histogram in=CSV/attitude_final.colfits x=${COLNAME} \ out=hist/hist_${COLNAME}.png done Analyse et choix des colonnesOn fait tourner un script (type anafile) pour déterminer le format des colonnes: types de données, valeurs min et max, ... Il faut ensuite:
Conversion CSV --> format CatFileGénération des bcf/rcf Test possible via QueryCat byte to byte Plusieurs itérations peuvent être nécessairesVérification de la cohérence du RCF par rapport aux données originalesIl faut regénérer les stats et histogrammes à partir d'un dump des données issu du RCF. Les comparer aux stats et histogrammes originaux.Génération du byte2byteProject cds.catana sur svn://snob/cds/ Analyse du CSV :
avec:
JAR_NAME="cdscatfile-classe.jar" JAR_LIST="${JAR_NAME}:jhealpixSmall.jar:args4j-2.0.10.jar:javassist.jar" rcf2csv="java -Xmx20480m -cp ${JAR_LIST} cds.catfile.cmd.RowCatFile2Csv" analyzer="java -Xmx10000m -jar cds.catana.jar"Ecriture du ReadMe Ne pas oublier :
Génération MOC et carte de densitéSur cdsxmatch[2/3] :su pineau cd /md3200/pineau/catalogues ./densityMap.bash <nom-cat>.rcf 8 16 32 64 128 256 512 1024 2048 scp <nom-cat>.rcf.*hpx boch@alasky:Sur alasky : # On supposera que la table en question a pour identifiant vizier II/328/allwise # copier dans ce répertoire les cartes de densité hpx en les renommant densityMap_8.hpx, ..., densityMap_2048.hpxsu boch mkdir /data/footprints/tables/vizier/II_328_allwise cd /data/footprints/tables/vizier/II_328_allwise (FXP) Pour faciliter le renomage (exemple avec UCAC5): for f in $(ls); do mv $f $(echo $f | sed -r 's/ucac5\.rcf\./densityMap_/'); done# Créer un fichier info.json contenant les infos suivants : # Génération des MOC :{"nbrows": 747634026, "tabName": "II/328/allwise"} cd /home/boch/FootprintService/generation-scripts for nside in 8 16 32 64 128 256 512 1024 2048 do python -c "from moc_generator import hpx2moc; hpx2moc('/data/footprints/tables/vizier/II_328_allwise/densityMap_$nside.hpx', '/data/footprints/tables/vizier/II_328_allwise/footprint_$nside.txt')" done ./updateAll.sh | ||||||||
Added: | ||||||||
> > | # Génération des vignettes (thumbnails)
/home/boch/FootprintService/generation-scripts/createThumbnails.py | |||||||
(FXP) J'ai fait un tout petit script bash qui fait cette étape, exemple avec des cartes de densités dont le nom est au format RCF_NAME.NSIDE.hpx: ./genMOC.fxp.bash II_342_hsc2 hsc2_detailed.rcf
(Thomas, j'ai mis .fxp. dans le nom du script juste pour que tu voisd'où il vient, tu peux le renomer).
# Si le catalogue n'est constitué que d'une table :
cp -r /data/footprints/tables/vizier/II_328_allwise /data/footprints/ivorn/ivo:__CDS.VizieR_II_328 rm /data/footprints/ivorn/ivo:__CDS.VizieR_II_328/info.jsonSi il y a plusieurs tables, ne rien faire La carte de densité/MOC du catalogue est accessible depuis l'URL : http://alasky.u-strasbg.fr/footprints/cats/vizier/II/328 Copie du .rcf sur axelIntégration et publication dans VizieRL'ingestion d'un grand catalogue dans VizieR est similaire à une ingestion de catalogue classique. Ce travail est le même que celui exécuté par les documentalistes. voir: petite description d'ingestion VizieR: http://cds.u-strasbg.fr/twiki/bin/view/Documentaliste/VizierDocumentaliste/IngestionCatalogue doc : http://vizier.u-strasbg.fr/doc/viz/ http://cds.u-strasbg.fr/twiki/bin/view/Ressources/ProcVizierRécupération des fichiers grands catalogues sur la machine axel. (cette partie ne peut être exéutée par des documentalistes) Au préalable , le(s) fichier(s) grand catalogue(s) sont à copier sur la machine axel (compte cds). Dans le cas des catalogues au format dit "fx" (avec une extension .rcf): ils sont a copier sous /r3/cats/ATraiter. Ensuite un simple lien suffit a faire connaitre le catalogue au demon "grand catalogue": (cd /r1/cats; ln -s /r3/cats/ATraiter/nom_fichier.rcf) Note: Dans un second temp, le fichier copier sera déplacé (manuellement) sous un sous repertoire de /r1/cats ou /r3/cats. Le démon format "fx" est un programme java (classe: cdscatfile-classe.jar). Deux demons du programme sont exécutés (version en cours(port 1800) + version beta (port 1801)) qui sont controllés par le script /etc/init.d/xmatchcat. Le programme (.jar) est installée sous le répertoire : /home/cds/httpd/cgi/ext-tsv/ Installations des catalogues sur les mirroirs VizieR: chaque catalogue est installé sur au moins 1 mirroir VizieR (en plus de axel). L'installation se fait en ajoutant un répertoire vide du même nom que celui utilisé dans axel dans le répertoire dédié aux grands catalogues (~cds/bincats). La synchronisation se fait par rsync (script clonebigcat exécuté par la crontab). Notes particulières concernant les grands catalogues: Les 4 points suivant sont à considérer lors de l'ingestion d'un grand catalogue. (ces actions peuvent être effectuées après les étapes d'ingestions classiques) | ||||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
Changed: | ||||||||
< < |
| |||||||
> > |
| |||||||
par la commande 2v (répondre "yes" à la question "Release the catalogue Now" (ou attendre 4 semaines)) et make_public . Note : dans le cas de grands catalogues, il est parfois utile de réordonner les colonnes. Généralement dans VizieR, on regroupe les colonnes erreurs avec leur colonnes (par exemple Hmag et e_Hmag). Pour se faire, on utilise l'instruction \vizOrder du fichier ".Summary" (voir doc http://vizier.u-strasbg.fr/doc/viz/#vizOrder). ex: \vizOrder{ wise.sam }{ e_* }{ +* }
"Archivage" des données originales
Intégration dans le service de xmatchCette étape nécessite de choisir les colonnes que l'on souhaite conserver dans le service de cross-match. La règle suivie jusqu'à présent a été : colonnes par défaut dans VizieR + colonnes de mouvements propres + colonnes d'erreur non présentes
Génération du catalogue progressifIntégration dans service TAP...Métadonnées des colonnes de photométrie-- ThomasBoch - 2014-01-21 |