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