Documentation de la biliothèque MED-fichier V2.3 : Guide de référence - Module "MED_Fichier".
|
Retour à la page de garde du guide de référence.
Les routines disponibles permettent de :
- Créer un fichier MED.
- Ouvrir (en lecture ou en écriture) un fichier existant.
- Fermer un fichier.
- Ecrire/lire un descripteur associé à un fichier.
- Ecrire le descripteur.
- Lire la taille du descripteur.
- Lire le descripteur.
- Accéder au numéro de version de la bibliothèque MED que l'on utilise.
- Lire dans un fichier le numéro de version de la bibliothèque MED qui a été utilisée pour
le créer.
- Tester si le fichier que l'on veut lire a été créé avec la même version de bibliothèque MED
que celle qu'on utilise pour le lire.
- Tester si le fichier que l'on veut lire est au format HDF V5.
- Monter le contenu d'un fichier MED dans le fichier courant.
- Démonter un fichier précédemment monté.
- Nom : efouvr
- Signature :
subroutine efouvr(fid, nom, acces, cret)
character *(*) nom
integer acces, fid, cret
- Paramètres :
- fid (OUT) : identificateur (ID) du fichier si réussite.
- nom (IN) : nom du fichier à ouvrir.
- acces (IN) : mode d'accès au fichier.
- MED_LECTURE : Ouverture en lecture seule. Il est alors impossible de modifier le contenu du fichier.
- MED_LECTURE_ECRITURE : Ouverture en lecture/écriture du fichier. Si une donnée existe
déjà et qu'on la réécrit, elle est écrasée.
- MED_LECTURE_AJOUT : Ouverture en lecture/écriture du fichier. L'écriture n'est possible que pour
ajouter de nouvelles données : si une donnée existe et qu'on tente de la réécrire dans le fichier, une erreur est générée.
- MED_CREATION : Création du fichier s'il n'existe pas, écrasement sinon.
- cret (OUT) : code retour, 0 si réussite, -1 sinon.
Cette routine permet de créer ou d'ouvrir un fichier au format MED selon le mode d'accès souhaité.
- Le résultat i.e. l'identificateur entier (ID) retourné sera utilisé
par les routines de l'API pour accéder au contenu du fichier.
-
Dans MED-fichier V2.3., la gestion des droits d'accès à un fichier MED
a été redéfinie. Désormais le droit d'accès au contenu d'un fichier
est spécifié à l'ouverture du fichier et uniquement à ce moment là.
Si on décide d'ouvrir plusieurs fichiers en même temps, le mode d'accès
doit être le même pour tous les fichiers.
Cette routine permet de fermer un fichier MED.
En cas d'accès en écriture à un fichier MED, la garantie que
les données sont physiquement écrites dans le fichier
n'est donnée que suite à l'appel de cette routine.
Cette routine permet d'associer une description à un fichier : la description
est écrite dans le fichier.
- La taille de la description doit être au maximum de MED_TAILLE_DESC (200) caractères.
- Nom : eflfde
- Signature :
subroutine eflfde (fid,lon,cret)
integer fid,cret,lon
- Paramètres :
- fid (IN) : descripteur du fichier MED.
- lon (OUT) : longueur de la description associée au fichier.
- cret (OUT) : code retour, 0 si réussite, -1 sinon.
Retourne la longueur de la description associée à un fichier MED si cette description existe.
L'appel à cette routine est utile pour estimer la taille
mémoire à allouer avant d'effectuer la lecture de l'en-tête du fichier.
- Nom : effien
- Signature :
subroutine effien (fid,quoi,str,cret)
integer fid,quoi,cret
character*(*) str
- Paramètres :
- fid (IN) : identificateur du fichier MED.
- quoi (IN) : quelle information ?
- MED_HDF_VERSION : version de la bibliothèque HDF utilisée.
- MED_VERSION : version de la bibliothèque MED.
- MED_FICH_DES : description associée au fichier.
- str (OUT) : chaîne de caractères retournée.
- cret (OUT) : code retour, 0 si réussite, -1 sinon.
Cette routine permet de lire dans un fichier MED existant selon les paramètres utilisés :
- La version de HDF utilisée, résultat renvoyé sous forme de chaîne de caractères.
- La version de MED utilisée, résultat renvoyé sous forme de chaîne de caractères.
- Le descripteur associé au fichier s'il existe.
La présence du descripteur dans un fichier MED est optionnelle.
Cette routine permet de tester si un fichier est au format HDF V5.
Cette routine est utile pour constituer un premier test avant d'ouvrir un fichier MED
existant. Elle permet de détecter par exemple
si le fichier passé en argument est un fichier au format HDF V4 ou autre.
Cette routine permet de tester si un fichier que l'on veut lire a été créé avec la même version
de la bibliothèque MED que celle utilisée pour lire ce fichier.
- Cette routine est utile pour constituer un second test avant d'ouvrir un fichier MED existant :
elle permet de vérifier si le fichier que l'on veut ouvrir a été créé avec la version de MED utilisée.
- Avertissement : il y a non compatibilité entre un fichier MED V2.1 et un fichier V2.3, il
est nécessaire de convertir un fichier MED V2.1 avec l'utilitaire "medimport" afin de
pouvoir lire le fichier MED V2.3 ainsi créé avec la bibliothèque MED-fichier V2.3.
- Nom : efvedo
- Signature :
subroutine efvedo(maj,min,rel,cret)
integer maj,min,rel,cret
- Paramètres :
- maj (OUT) : Numéro de version majeur.
- min (OUT) : Numéro de version mineur.
- rel (OUT) : Numéro de release.
- cret (OUT) : 0 si réussite, -1 sinon.
Cette routine renvoie les entiers composant le numéro de version de la bibliothèque :
- numéro majeur : 2.
- numéro mineur : 3.
- numéro de release : 0.
- Nom : efveli
- Signature :
subroutine efveli(fid,maj,min,rel, cret)
integer fid,maj,min,rel,cret
- Paramètres :
- fid (IN) : ID du fichier.
- maj (OUT) : Numéro de version majeur.
- min (OUT) : Numéro de version mineur.
- rel (OUT) : Numéro de release.
- cret (OUT) : 0 si réussite, -1 sinon.
Cette routine donne les entiers composant le numéro de version de la bibliothèque MED-fichier
qui a été utilisée pour créer le fichier auquel on accède vie l'ID fid.
Par exemple, dans le cas d'un fichier créé avec MED-fichier V2.1.5, on obtient :
- numéro majeur : 2.
- numéro mineur : 1.
- numéro de release : 5.
Attention, si le fichier a été créé avec une version antérieure à MED-fichier V2.1.5
(MED V2.0, MED V2.1.1, MED V2.1.2, MED V2.1.3, MED V2.1.4), la routine renverra :
- numéro majeur : 2.
- numéro mineur : -1.
- numéro de release : -1.
- Nom : efmont
- Signature :
subroutine efmont(fid,acces,type,mid,cret)
integer cret,fid,mid,type
character* (*) acces
- Paramètres :
- fid (IN) : ID du fichier courant.
- acces (IN) : Le nom du fichier que l'on veut monter.
- type (IN) : Type des données auxquelles on veut accéder :
- MED_MAILLAGE : accès au(x) maillage(s) du fichier que l'on veut monter.
- MED_CHAMP :accès au(x) champ(s) du fichier que l'on veut monter.
- mid (OUT) : (ID) du point de montage.
- cret (OUT) : 0 en cas de réussite du montage, -1 sinon.
Cette routine permet de monter le contenu d'un fichier MED (soit les
maillages, soit les champs) dans le fichier MED courant.
- Cette routine est utile quand les champs et les maillages d'une étude
se situent dans des fichiers différents.
- Le montage est sélectif : on monte soit les maillages, soit les champs.
- Une fois le montage effectué, l'accès aux données montées est transparent.
- Avertissement : Un point de montage masque temporairement les données
du fichier courant. Exemple : si on monte dans le fichier courant les
maillages d'un autre fichier, les propres maillages du fichier courant sont
inaccessibles tant que le montage est actif.
- Nom : efdemo
- Signature :
subroutine efdemo(fid,mid,type,cret)
integer cret,fid,mid,type
- Paramètres :
- fid (IN) : ID du fichier courant.
- mid (IN) : (ID) du point de montage actif.
- type (IN) : Type des données qui sont montées dans le fichier courant:
- MED_MAILLAGE : maillage(s).
- MED_CHAMP : champ(s).
- cret (OUT) : 0 en cas de réussite du démontage, -1 sinon.
Cette routine permet désactiver un point de montage.
Une fois le démontage effectué, les données précédemment montées ne
sont plus accessibles et les données du fichier local qui étaient
éventuellement masquées redeviennent accessibles.