Documentation de la bibliothèque MED-fichier V2.2 : Qu'est-ce que MED-fichier ?
|
Les échanges de données sont devenus une nécessité dans le cadre des études
de simulation multi-physiques faisant collaborer différents logiciels
de calcul scientifique. Pour réaliser ces échanges, il est nécessaire
de développer entre les codes des passerelles logicielles. Pour cela
deux approches sont possibles :
- L'approche au cas par cas où pour chaque couple de code devant
communiquer, on réalise une passerelle spécifique et non réutilisable.
- L'approche standardisée qui consiste à réaliser des passerelles
logicielles à base de modules externes réutilisables par différents
couples de codes.
La démarche MED (Modélisation et Echanges de Données) s'inscrit dans cette seconde optique.
Cette démarche consiste à :
- ETAPE 1 : Préciser la nature des données échangées. Cette étude est guidée par
l'expression des besoins utilisateurs et doit aboutir à la définition d'un
modèle d'échange de données balayant l'ensemble du spectre des données échangeables.
Ce travail doit s'accompagner d'une évaluation :
- Des volumes de données échangées.
- Des fréquences et des conditions d'échanges.
- ETAPE 2 : A l'issue de la première étape, il s'agit de définir un outil logiciel
qui permette :
- De créer et représenter les données du modèle commun.
- De transférer ces données d'un code vers un autre. Pour cela, il faut
définir les points suivants :
- Le support informatique des échanges.
- Le mode d'accès à ce support.
- Le mode de représentation des données du modèle commun.
- Le mode d'accès aux données du modèle commun.
- Le mode d'intégration et d'utilisation du logiciel au sein d'un code
de calcul.
Pour MED, cela nous a conduit à :
- Etape 1 : La définition du modèle de données MED.
- Etape 2 : La spécification et au développement de la bibliothèque informatique MED-fichier.
Le modèle de données MED représente actuellement les maillages et les champs de résultats.
Ce sont ces données que MED propose d'échanger entre les codes.
L'idée est de pouvoir échanger lors d'études multi-physiques des maillages de plusieurs
millions de noeuds.
Vous pouvez consulter la description complète du modèle de données associé à la V2.2.
L'idée directrice a été de définir un module logiciel ré-utilisable
(la bibliothèque MED-fichier) qui permette à des codes de calcul scientifique d'échanger
des fichiers contenant les données du modèle.
Intégrer la bibliothèque MED-fichier dans un code de calcul
revient à définir une architecture fonctionnelle comprenant les couches suivantes :
- La couche basse qui fournit les fonctions d'accès au support d'échange (fichier sur disque).
- La couche intermédiaire qui définit le mode de représentation et d'accès aux données du
modèle commun et utilise les services de la couche basse.
- La couche haute qui gère l'import/export des données du modèle commun à partir
ou vers les structures de données propres à chaque code de calcul. La couche haute utilise
les services de la couche intermédiaire.
L'architecture technique découle tout naturellement de l'architecture
fonctionnelle :
- La couche basse devient une couche logicielle adhérente au support physique
des échanges. Cette couche constitue un module réutilisable et externe au code
de calcul. De plus elle est totalement indépendante du modèle de données commun :
elle offre uniquement un service d'accès à des structures de données générales (tableaux,
listes, matrices, ...). Dans le cadre de MED, étant donnés les volumes de donnés ciblés
(maillages à plusieurs millions de noeuds), c'est le format de fichier binaire HDF qui a été choisi.
HDF est un format de fichier développé par le NCSA. Pour plus
d'informations vous pouvez consulter le
site WEB dédié à HDF.
- La couche intermédiaire est l'outil informatique d'accès aux données du modèle commun :
- Elle capitalise les connaissances métier du modèle.
- Elle utilise les services de la couche basse pour représenter et transférer les
données du modèle.
Cette couche constitue également un module réutilisable et externe au code de calcul.
La bibliothèque informatique MED-fichier constitue ce module. Elle
offre une API (Application Programming Interface) C et FORTRAN.
- Enfin chaque code de calcul compatible avec le modèle de données commun peut
intégrer en son sein une interface avec la couche intermédiaire. Cette interface
constitue la couche logicielle haute. Une interface avec la bibliothèque MED
permet à un code de calcul de lire/écrire dans un fichier au format HDF les
données du modèle commun.
- Echanges de maillages et de résultats entre deux codes disposant
d'une interface MED.
- Archivage de données (maillages et champs de résultats).
- Le modèle de données définit les données communes échangées entre les codes. Il permet de lever toute
ambiguité sur la nature et la sémantique de ces données.
- L'API de MED-fichier permet d'accéder aux données définies dans ce modèle commun.
- HDF est un format de fichier binaire, neutre, portable et compact qui est largement diffusé dans le monde de la communauté scientifique.
- Chaque code disposant d'une interface avec MED-fichier
peut créer/lire des maillages et ou des résultats de calcul dans des fichiers MED au format HDF.
L'intérêt d'une telle interface est sa réutilisabilité : si vous voulez communiquer
avec un autre code disposant également de sa propre interface MED, vous n'avez rien à développer.
- Un modèle de données externe standard.
- Une réduction des coûts de développements.
- Des pratiques logicielles unifiées :
- Pas d'ambiguité sur les données échangées.
- Des protocoles d'échanges de données stricts.
- Des modèles de programmation documentés.
- 1997 : Première version du modèle de données.
- 1997-1999 : MED-fichier V1.0 (format HDF V4).
- 1999-2001 : MED-fichier V2.0 (passage sous format HDF V5).
- 2001-2003 : MED-fichier V2.1. (évolution du modèle de données).
- 2003 : MED-fichier V2.2. (nouvelle évolution du modèle de données).