Definition des besoins - Nouba

Transcription

Definition des besoins - Nouba
CCTP –HELIOVIEWER
IAS
Institut d’Astrophysique Spatiale
d’Orsay
Cahier des Clauses Techniques Particulières
Du 29/09/2015
Évolutions du service HelioViewer
Maintenance opérationnelle du système de récupération des données, de
calcul des données dérivées, et de mise à disposition
Mise à disposition de bases de données de cartes synoptiques STEREO, de
filaments solaires AIA, et de films du Soleil
INTERLOCUTEUR
Gilles Poulleau
Service Informatique
01 69 85 86 08
LIEU
Institut d’Astrophysique Spatiale
Université Paris Sud
Bâtiment 121
91405 ORSAY Cedex
Date et Signature:
Agréé par:
Qualité : Administratrice de l’IAS
Nom :
Nicole Lhermitte
01/10/2015
1/7
CCTP –HELIOVIEWER
IAS
1. Environnement des prestations – contexte
A l’Institut d’Astrophysique Spatiale, laboratoire spatial du CNRS et de l’Université Paris-Sud, un centre
européen d’opérations, d’analyses et d’archivage pour la mission spatiale SOHO est opérationnel
depuis 1995 et appelé MEDOC.
Depuis cette date, le centre n’a cessé d’évoluer pour s’ouvrir à d’autres expériences et constituer la
composante de Physique Solaire de l'Integrated Data and Operations Centre (IDOC). MEDOC a déjà
accueilli plus de deux cents visiteurs scientifiques. Depuis novembre 2006, le centre archive les
données de la suite d'imagerie de la mission solaire STEREO, et, depuis avril 2010, une partie des
données de la mission solaire SDO.
SDO (Solar Dynamics Observatory) est une mission spatiale américaine lancée le 11 février 2010 et
dont le but est d'observer le soleil de manière beaucoup plus précise qu'auparavant, et de comprendre
la météo complexe et les tempêtes de notre étoile.
SDO fournit des observations solaires d'une qualité incomparable, produisant par là même une
quantité énorme de données.
Afin de permettre à la communauté solaire de visualiser les peta-octets de données produits par SDO
et d'autres missions, l’ESA et la NASA ont conjointement développé Helioviewer, un outil composé
d’un serveur d’images (utilisant le format JPEG2000) et de 2 clients (un client web, accessible sur
www.helioviewer.org,
et un client Java stand-alone, JHelioviewer, téléchargeable sur
www.jhelioviewer.org).
Pour la mission SDO, les principales fonctions techniques de IDOC sont les suivantes :
· Réception (via le logiciel NetDRMS) et mise à disposition de fichiers d’observations et de logiciels
d’analyse de données,
· Assistance utilisateurs (permanents et visiteurs),
· Développement d’outils pour l’archivage, la visualisation et l'analyse de données scientifiques.
IDOC est majoritairement équipé de serveurs Linux (pour le calcul, les opérations et l’archivage, le
développement et les services web) et de PC sous Windows pour la bureautique.
D’autres systèmes d’exploitation sont également représentés (SUNOS, AIX, VMS, DigitalUnix, qui sont
conservés en partie en raison du coût de portage des logiciels développés à l’origine pour ces
environnements vers une plate-forme Linux).
IDOC utilise majoritairement IDL (Interactive Data Language) et Python pour le développement des
outils pour la visualisation et l'analyse des données.
Les différents développements effectués dans le centre de données se font de manière cohérente
avec les autres projets et activités informatiques de l’IAS. Toute prestation doit s’intégrer dans le
fonctionnement du service informatique de l’IAS qui a en charge l’ensemble du système d’information
du laboratoire.
01/10/2015
2/7
CCTP –HELIOVIEWER
IAS
2. Objet du marché
1) Mettre à disposition des cartes de paramètres physiques (calculées dans un pipeline
développé à l'IAS) dans le service Helioviewer
2) Assurer la compatibilité des développements effectués à l'IAS sur Helioviewer avec la
version actuelle
3) Développer la capacité de « load balancing » dans le service Helioviewer
4) Améliorer d'autres aspects du service Helioviewer
5) Créer d’une interface d’accès aux données originales produites à l’IAS et décrivant les
filaments solaires
6) Mettre en production le pipeline de création des cartes synoptiques STEREO et les
mettre à disposition
7) Maintenance opérationnelle du système de récupération des données
8) Maintenance opérationnelle du système de calcul des données dérivées
9) Maintenance opérationnelle du système de mise à disposition des données
10) Mettre à disposition des films journaliers à haute résolution du soleil
1) Mettre à disposition des cartes de paramètres physiques (calculées dans un pipeline développé à
l'IAS) dans le service Helioviewer
L’IAS souhaite mettre en place une archive JPEG2000 de cartes de paramètres physiques calculés à
partir des données SDO/AIA présentes à l’IAS, et souhaite rendre ces nouvelles données accessibles
aux utilisateurs extérieurs via le serveur Helioviewer installé à l’IAS. Les données DEM sont déjà
accessibles au téléchargement sur http://medoc-dem.ias.u-psud.fr.
Pour cela, il faudra suivre la démarche décrite sur le wiki d'Helioviewer (voir notamment
http://wiki.helioviewer.org/wiki/Adding_Support_for_New_Data pour la description des modifications
sur le serveur et les clients, et la création de fichiers JPEG2000 à partir des fichiers FITS). En
particulier, pour ces données, il faudra configurer l'outil JP2Gen de génération des fichiers JPEG2000
pour décrire les nouvelles données ; il faudra intégrer à Helioviewer (avec tests et validation) la notion
d'échelle de couleur, pour permettre de représenter les quantités physiques ; intégrer la création de
fichiers JPEG2000 au pipeline existant de création des fichiers FITS de paramètres physiques ;
automatiser ce pipeline et le surveiller, avec des alertes en cas de défaillance.
2) Assurer la compatibilité des développements effectués à l'IAS sur Helioviewer avec la version
actuelle
Les développements réalisés à l'IAS sur la version précédente de Helioviewer (serveur et clients)
doivent être portés à la version actuelle (2.3).
En particulier :
 Choix du serveur dans le menu de configuration du client JHelioviewer.
 Le CDPP (Centre de Données de Physique des Plasmas, de l'IRAP et du CNES) a développé
une version d'un outil appelé « Propagation Tool », qui calcule la propagation des événements
entre le soleil et l'héliosphère. Cet outil intègre depuis peu une version du client JHelioviewer,
développée à l'IAS, capable de visualiser des séquences d'images aux dates calculées pour les
événements solaires, en fonction de la date des événements héliosphériques et de modèles
de propagation. Les modifications apportées au client JHelioviewer doivent être portées à la
version actuelle de ce client.
 L'installation locale du serveur Helioviewer doit être mise à jour, y compris le module
implémentant l'API Helioviewer (dans sa version 2).
3) Développer la capacité de « load balancing » dans le service Helioviewer
01/10/2015
3/7
CCTP –HELIOVIEWER
IAS
L’objectif de ce travail consiste à permettre aux deux clients Helioviewer (le client web et le client Java
JHelioviewer) de choisir le serveur sur lequel leurs utilisateurs iront récupérer les images solaires selon
des critères de disponibilité des serveurs, de disponibilité des données, de proximité, et de temps de
réponse, en essayant de répartir la charge entre les serveurs (« load balancing »).
Il faudra modifier les clients afin de leur permettre de diriger intelligemment les requêtes vers les
serveurs existants (du GSFC ou de l’IAS par exemple) en fonction de ces critères. Une modification
côté serveur sera aussi nécessaire afin de fournir aux clients des informations sur leur charge et sur la
disponibilité des données.
La stratégie à adopter a été définie dans un document d'exigences, distribué fin 2014 aux différentes
équipes participant au développement d'Helioviewer. Il faut maintenant définir la spécification
technique, et l'implémenter.
Le code devra être accepté par l’équipe de développement d’Helioviewer et intégré dans le dépôt
officiel (https://code.launchpad.net/helioviewer).
4) Améliorer d'autres aspects du service Helioviewer
Il s'agit, côté serveur, de corriger des problèmes de stabilité et de performance, et de permettre plus
simplement qu'actuellement d'ajouter de nouveaux jeux de données.
Côté client, le module d'accès à la base de données d'événements solaires HEK (Heliophysics Events
Knowledgebase) doit aussi être amélioré, du point de vue de la stabilité, des performances, et de
l'utilisation de bande passante. La visualisation des lignes de champ magnétique par le module
« PFSS » doit être améliorée, et son usage en bande passante optimisé.
Ces développements se feront en collaboration avec les autres équipes de développement
d'Helioviewer, notamment l'équipe suisse de la FHNW.
5) Créer d’une interface d’accès aux données originales produites à l’IAS et décrivant les filaments
solaires
L’IAS dispose d’outils permettant d’analyser les images SDO/AIA afin de construire un catalogue de
filaments solaires détectés dans la bande à 30.4nm. La détection est faite avec une cadence de 10
minutes, et produit actuellement pour chaque pas de temps un fichier XML contenant une liste de
filaments détectés à cette date ainsi qu’un certain nombre de propriétés physiques les décrivant
(position sur le disque solaire, intensité dans la bande à 30.4nm, orientation du squelette du filament,
etc…).
Un deuxième algorithme permet le suivi (« tracking ») temporel et spatial des filaments précédents ce
qui permet par exemple d'ajouter des informations sur la date d’apparition ou de disparition et la
durée de vie d’un filament.
Les propriétés et informations de suivi des filaments peuvent ensuite être injectées dans une base de
données SQL.
Le travail consiste d'abord à mettre en production le pipeline existant de détection et de suivi des
filaments, ainsi que l'injection dans la base SQL. Ensuite, il s'agit de mettre en place une interface
d'interrogation à la base de données, en utilisant le framework SiTools, développé par Akka et le CNES
et utilisé couramment à l'IAS pour ce type de service. Les paramètres précis de l’interface
d’interrogation de la base de données seront définis en collaboration avec les scientifiques
responsables de la détection des filaments.
6) Mettre en production le pipeline de création des cartes synoptiques STEREO et les mettre à
disposition
01/10/2015
4/7
CCTP –HELIOVIEWER
IAS
L’IAS publie déjà un ensemble de cartes synoptiques UV calculées à partir des données SOHO/EIT
(http://idoc-solar.ias.u-psud.fr).
Un pipeline a été développé pour calculer des cartes synoptiques de meilleure résolution spatiale et
temporelle à partir des données STEREO/SECCHI/EUVI. Ce pipeline doit être formalisé, automatisé et
documenté et l’interface d’accès aux cartes synoptiques devra être actualisée pour intégrer les
nouvelles cartes synoptiques issues de STEREO.
7) Maintenance opérationnelle du système de récupération des données
Les données SDO/AIA et SDO/HMI sont récupérées par le système NetDRMS développé par l'équipe
du JSOC (SDO). Le travail pour la récupération des données consiste à :
 Maintenir le pipeline de récupération des données SDO, pour assurer la compatibilité du
système local avec le système de distribution des données du JSOC. En particulier, il faudra
mettre à jour NetDRMS en production, après mise à jour sur une machine de test et retours à
l'équipe du JSOC sur les éventuels problèmes rencontrés.
 Alerter en cas de défaillance de récupération des données SDO, et résoudre les problèmes
rencontrés.
 Intégrer la visualisation de la présence des données des séries de données HMI à la
visualisation existante pour la série aia.lev1 d'AIA (http://sdo.ias.u-psud.fr/available.html)
 Répliquer la base de données SDO de la machine sdo à la machine sdo2
 Adapter les codes « sdo_script » développés pour SDO/AIA à SDO/HMI.
Ce travail sera réalisé en grande partie via l'encadrement d'un CDD employé par l'IAS.
8) Maintenance opérationnelle du système de calcul des données dérivées
Les données dérivées (cartes de paramètres physiques, cartes synoptiques) sont calculés
automatiquement par des pipelines dédiés, dès l'arrivée de nouvelles données. Le travail consiste à
surveiller automatiquement le bon fonctionnement de ces pipelines et à faire les évolutions rendues
nécessaires par les mises à jour de l'environnement informatique.
9) Maintenance opérationnelle du système de mise à disposition des données
Les données (des instruments, et données dérivées) sont mises à disposition par plusieurs instances
du framework SiTools du CNES. Les interfaces pour SDO (MEDIA pour AIA, GAIA-DEM pour les cartes
de paramètres physiques dérivés d'AIA) sont actuellement mises à disposition par des instances
SiTools2 version 2.0. Il faut mettre à jour ces instances vers SiTools2 version 2.5, ou intégrer l'accès à
ces données dans le portail d'accès aux données solaires qui est par ailleurs en cours de déploiement,
basé sur SiTools2 version 3.0 (actuellement en beta).
Les clients Python et IDL génériques pour SiTools2, avec leur spécialisation pour MEDIA et GAIA-DEM,
devront suivre cette mise à jour de SiTools afin de continuer à permettre l'accès aux données ; à cette
occasion, les deux branches (MEDOC et CNES) de ces outils devront converger et fusionner. Une
nouvelle spécialisation de ces outils devra être développée pour assurer un accès simplifié aux
données de SDO/HMI. Le client Python (générique et ses spécialisations) sera intégré à la bibliothèque
Python SunPy d'outils pour la physique solaire.
Ce travail sera réalisé en grande partie via l'encadrement d'un CDD employé par l'IAS.
10) Mettre à disposition des films journaliers à haute résolution du soleil
Des films de l'évolution du Soleil vu par SDO/AIA au cours des 7 derniers jours sont produits
quotidiennement et visibles sur des écrans à l'IAS. Il s'agit de rendre ceux-ci disponibles en ligne sur
le site web de MEDOC.
01/10/2015
5/7
CCTP –HELIOVIEWER
IAS
3. Nature des prestations
Liste des prestations à effectuer sur site :
1) Mettre à disposition des cartes de paramètres physiques (calculés dans un pipeline développé à
l'IAS) dans le service Helioviewer
 Mettre en production le pipeline de production automatique des fichiers JPEG2000 à partir des
fichiers FITS créés par le pipeline existant de production des cartes de paramètres physiques,
avec configuration de l'outil JP2Gen pour décrire ces données.
 Modifier le serveur et les clients Helioviewer pour l'intégration de ce nouveau jeu de données.
En particulier : étudier les mécanismes permettant de diffuser ces cartes avec une échelle de
couleurs liée aux valeurs des paramètres physiques représentés.
 Tests et validation ; surveillance automatique du bon fonctionnement de ce pipeline.
2) Assurer la compatibilité des développements effectués à l'IAS sur Helioviewer avec la version
actuelle
 Mettre à jour le serveur Helioviewer de l'IAS, y compris le module implémentant l'API
Helioviewer (dans sa version 2).
 Intégrer les développements réalisés à l'IAS en 2014-2015 sur la version 2.2.1 dans la version
actuelle (2.3) : choix du serveur dans le client JHelioviewer, compatibilité avec un appel à
partir de l'outil Propagation Tool du CDDP (Centre de Données de Physique des Plasmas)
3) Développer la capacité de « load balancing » dans le service Helioviewer
 Étudier et définir une spécification technique de la version multi-serveurs des clients et du
serveur Helioviewer, avec répartition de charge, en prenant compte le document d'exigences
existant.
 Implémenter la stratégie de répartition de charge sur les clients et le serveur.
4) Améliorer d'autres aspects du service Helioviewer
 Corriger les problèmes de stabilité et de performance rencontrés côté serveur.
 Corriger les problèmes de stabilité et de performance du module d'accès à la HEK
(Heliophysics Events Knowledgebase) sur les clients.
 Optimiser l'usage en bande passante par le module d'accès aux lignes de champ magnétiques
« PFSS »
 Améliorer l'affichage de ces lignes de champ magnétique en 3 dimensions.
5) Créer d’une interface d’accès aux données originales produites à l’IAS et décrivant les filaments
solaires
 Mettre en production le pipeline de détection et de suivi des filaments solaires (code de
détection et de suivi existant) et l'injection de ses résultats dans une base de données SQL.
 Mettre en place une interface d'interrogation de la base de données répondant aux besoins
des scientifiques.
6) Mettre en production le pipeline de création des cartes synoptiques STEREO et les mettre à
disposition
 Mettre en production le pipeline de production des cartes synoptiques STEREO/SECCHI/EUVI.
 Intégrer ces cartes à la base de données et à l'interface d'accès existant pour les cartes
synoptiques SOHO/EIT.
7) Maintenance opérationnelle du système de récupération des données
 Mettre à jour le logiciel NetDRMS pour la récupération des données SDO
 Alerter en cas de défaillance de récupération des données SDO, et résoudre les problèmes
rencontrés.
 Intégrer la visualisation de la présence des données des séries de données HMI à la
visualisation existante pour la série aia.lev1 d'AIA.
 Répliquer la base de données SDO de la machine sdo à la machine sdo2
 Adapter les codes « sdo_script » développés pour SDO/AIA à SDO/HMI.
01/10/2015
6/7
CCTP –HELIOVIEWER
IAS
8) Maintenance opérationnelle du système de calcul des données dérivées
 Mettre en place une surveillance automatique de la production et des données dérivées
(cartes de paramètres physiques, cartes synoptiques), résoudre les problèmes rencontrés.
 Faire les évolutions rendues nécessaires par les mises à jour de l'environnement informatique.
9) Maintenance opérationnelle du système de mise à disposition des données
 Mettre à jour les instances SiTools2 vers la version 2.5 ou 3.0 (actuellement en beta).
 Mettre à jour en conséquence les clients Python et IDL génériques pour SiTools2, avec leurs
spécialisations ; fusion des branches MEDOC et CNES de ces outils.
 Développer une nouvelle spécialisation de ces clients pour l'accès aux données SDO/HMI.
 Intégrer ces clients à la bibliothèque Python SunPy d'outils pour la physique solaire.
10) Mettre à disposition des films journaliers à haute résolution du soleil
 Mettre à disposition sur le site web de MEDOC les films déjà produits quotidiennement à partir
des données SDO/AIA.
Le Titulaire mettra à disposition de l’IAS des compétences, à savoir :

Une réelle expérience de développement (C / Java / Javascript / Python / Perl / PHP),

Une connaissance (ou formation) en IDL (ou à défaut Matlab)

Une expérience dans le déploiement de servlets avec Tomcat ou Jetty

Une expérience (ou formation) de JSON et des architectures REST

Une expérience de configuration d’Apache et des scripts CGI

Une expérience dans l’utilisation des bases de données,

Une expérience pratique en environnement Unix (de préférence Linux),

Une expérience de travail en équipe internationale avec communication en anglais.
Le Titulaire devra fournir à l’appui de son offre tous les justificatifs sur les compétences et l’expérience
des intervenants que le Titulaire mettra à disposition pour assurer la fourniture des prestations
demandées.
4. Période d'exécution des travaux
La durée estimative de la prestation sera d’environ 240 jours. Le début de la prestation est fixé au
plus tard le 2 novembre 2015.
01/10/2015
7/7