Promise

From devSpot-wikis
Jump to: navigation, search

Pérennisation des données sols, modernisation des interfaces et des outils pour le traitement et la gestion des données des stations d'observations.


Catégorie de projet: développement informatique | traitement et gestion de données

Thématique d'application: atmosphère (technologie re-exploitable)

Cadre de développement: développement collaboratif ouvert à la communauté scientifique, observatoires et centres de données nationaux.

Responsable du projet: Franck Gabarrot.

Logo promise-classic-small.png Logo aeris-small.png

Contents

Dernières modifications sur le wiki

  • 2016/03/15: modification partie "Documentation": ajout "Documentation Promise 2 - livrables", mise à jour des pages logiciels, mise à jour générale du texte
  • 2015/06/03: modification partie "Documentation": ajout compte rendu mission #2 et documentation de l'atelier Promise 2015.
  • 2015/03/09: modification partie "Documentation": mise à jour du "Guide pour le développement de logiciels".

Description générale du projet

Promise propose de développer des solutions logicielles associées à des schémas d'organisation des développements plus pérennes et ouverts à la mutualisation afin de faciliter le traitement de données (en particulier lidar) et la gestion des données et métadonnées des stations d'observation, de favoriser l'alimentation systématique des centres de données nationaux en données sols de qualité, et de favoriser la collaboration sur le développement logiciel entre les différentes équipes des observatoires, des laboratoires experts et des centres de données nationaux.


Le travail de Promise s'organise selon trois axes de développement :

  • L'archivage et la gestion des données et de l'information de la station d'observation : c'est le système e-obs. Il s'agit d'une application web modulaire associée à une base de données et à une base de fichiers. En plus des fonctions de base d'accès à la donnée et à son téléchargement, e-obs fournit une plateforme de travail optimisée selon le rôle de chacun des acteurs : un module de validation en ligne pour le PI, une interface de saisie de métadonnées pour l'opérateur de l'instrument. e-obs permet de conserver toutes les informations associées à la vie de la donnée en partant de la configuration de l'instrument jusqu'à sa validation par un expert. e-obs permet de mettre automatiquement à disposition des centres de données sur un espace FTP les données validées. e-obs est fortement configurable ce qui lui permet de s'adapter à une organisation pré-existante de la base de fichiers et de moduler son comportement selon les instruments et les filières de production. Son interface web est une application web modulaire qui peut s'intégrer dans un site web existant.
  • L'opérationnalisation des traitements lidar : c'est le framework Licorne. Il s'agit d'un ensemble de composants logiciels qui fournissent tous les éléments nécessaires au développement d'applicatifs d'inversion lidar, notamment un conteneur de données lidar avec des fonctions d'import/export et de manipulation de données ainsi qu'une librairie de fonctions de traitement spécialisées. Licorne vise à simplifier la manipulation des données, à favoriser l'utilisation de formats standards, et à rendre plus simple le développement et l'évolution des applicatifs d'inversion et d'analyse de signaux lidar. L'objectif étant également de proposer une solution logicielle autour de laquelle tous les acteurs du traitement de données lidar pourront se retrouver, mutualiser et pérenniser leur travail et le faire évoluer plus efficacement.
  • L'automatisation de la production et de la gestion des flux : c'est un axe de développement non retenu dans la demande de soutien du projet initial. L'automatisation de la production et de la gestion des flux représente le lien entre le logiciel de traitement (ex. applicatif d'inversion lidar) et le système d'archivage et de gestion des données (ex. e-obs). Il s'agit d'un ensemble d'outils qui permettent le transfert sûr des données (avec reprise sur erreur, etc), leur organisation dans une base de fichiers, l'encapsulation et le séquençage des logiciels de traitement (avec gestion des arrêts, des erreurs, etc) et l'envoi vers le système d'archivage. Rien n'est fait à ce sujet actuellement dans Promise mais c'est un axe important qui est souvent traité avec un ensemble de scripts spécialisés difficilement maintenables (en tous cas c'est comme ça chez nous) et c'est pour cela que nous continuons de l'afficher comme un des axes de développement à mener.

Historique du projet

  • Proposition de projet Promise et soutien financier du pôle Ether 04/2014 - 05/2015
  • Proposition de projet Promise 2 et soutien financier du pôle Ether intégré dans le pôle atmosphère - Aeris 10/2015 - 03/2016
  • Evolution du projet en programme de travail OSU-R/OPAR en réponse au travail à fournir dans le WP2 du projet Arise 2

Gestion du projet

Ce projet a vocation à être un projet collaboratif, il a donc été construit et organisé afin de s'en donner les moyens par une équipe motivée par la démarche:

  • Utilisation de technologies modernes et largement utilisées: Python, Python/Django, et Git pour la gestion des codes.
  • Des codes et des paquets logiciels structurés (suivi des règles de l'art Python - notamment PEP8, développement sous licence CeCILL).
  • Des commentaires structurés dans les codes (utilisation de Doxygen).
  • Une documentation suffisante et harmonisé (voir notre guide de développement dans la chap. Documentation).
  • Une intégration continue favorisée avec des fonctions de test pour chaque fonction complexe (utilisation de unittest, tox et Jenkins).
  • Une plateforme de développement ouverte (DevSpot)dans laquelle vous pouvez exploiter un espace GitLab pour accéder aux derniers fichiers sources et déposer vos contributions et un espace Wiki (celui-là) dans lequel vous pouvez trouver de la documentation ou en écrire (nous contacter pour avoir un login/psswd). Les fichiers sources sont également disponible sur SourceSup.

L'objectif de cette gestion est d'assurer la pérennité des développements et d'avoir la capacité d'intégrer facilement dans le projet un développeur (quelque soit la durée ou le niveau de contribution), les contributeurs non-développeurs mais essentiels parce que testeurs ou experts sur l'algorithmie, l'instrumentation, l'exploitation, etc.

Production logicielle

  • Framework Licorne:
    Ensemble cohérent de composants logiciels pour le traitement de données lidar.
    statut: 1ere édition 'born to be alive!' disponible.
  • Systeme e-obs:
    Système interactif de gestion et de diffusion des données et de l'information pour les stations d'observation.
    statut: version 1 en production à l'OPAR.
  • LiWVap:
    Applicatif d'inversion lidar pour la vapeur d'eau.
    statut: version 2.3 proto Matlab disponible.
  • LiTemp:
    Applicatif d'inversion lidar pour la température.
    statut: intégration de la version recherche dans Licorne en attente.

Documentation

Vous trouverez ci-après la liste des documents produits et associés au projet.

Documentation Promise 2 - livrables

La documentation associée aux logiciels est disponible dans les pages dédiés aux logiciels et/ou dans les paquets logiciels eux mêmes (répertoire /doc ; document de développement, guide référence en html, guides d'utilisation, documents de validation).

Ateliers de travail et présentations techniques

Introduction par FG, Introduction par CB, Framework Licorne par FG, Algo vapeur d'eau par GP, Organisation du travail et interface CDS ESPRI par FG, Systeme E-obs par RD, Gestion de projet par FG, Outil validation par NP, NetCDF-CF et OGC par NP

Documentation générale du projet

Rejoindre le projet

C'est collaboratif et ouvert à toute la communauté scientifique, donc si vous voulez participer au développement, tester les outils ou pour un retour d'utilisation n'hésitez pas à nous contacter.

Equipe projet et contacts:
Franck Gabarrot : responsable projet et développeur Licorne.
Pierre Payet : développeur Licorne.
Guillaume Payen : spécialiste algorithmie lidar et développeur Licorne.
Rémy Découpes : développeur e-obs.

Personal tools
Namespaces

Variants
Actions
Navigation
Campagnes de l'OPAR
Projets
Developpements
Support informatique
Tools