# Guide de référence du module fortran MEDfile

## Fonctions

subroutine | mfiope (fid, name, access, cret)
| Ouverture d'un fichier MED.
subroutine | mpfope (fid, name, access, com, info, cret)
| Ouverture d'un fichier MED pour une utilisation parallèle.
subroutine | mficlo (fid, cret)
| Fermeture d'un fichier MED.
subroutine | mficow (fid, cmt, cret)
| Ecriture d'un descripteur dans un fichier MED.
subroutine | mficor (fid, cmt, cret)
| Lecture d'un descripteur dans un fichier MED.
subroutine | mfinvr (fid, major, minor, rel, cret)
| Lecture du numéro de version de la bibliothèque MED utilisée pour créer le fichier.
subroutine | mfisvr (fid, version, cret)
| Lecture du numéro de version de la bibliothèque MED utilisée pour créer le fichier (renvoyé sous la forme d'une chaîne de caractères).
subroutine | mficom (fname, hdfok, medok, cret)
| Vérification de la compatibilité d'un fichier avec HDF et MED.
subroutine | mfiomn (fid, fname, class, mid, cret)
| Cette routine permet de monter dans le fichier courant un type de données (exemples les maillages, les champs) d'un autre fichier MED.
subroutine | mfioun (fid, mid, class, cret)
| Une fois le démontage effectué, les données précédemment montées ne sont plus accessibles.

## Documentation des fonctions

subroutine mficlo | ( | integer | fid,
|  | integer | cret |
| ) |  |  |

Fermeture d'un fichier MED.

Paramètres:

  | fid | Identificateur du fichier.
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine permet de fermer un fichier MED. En cas d'accès en écriture, la garantie que les données sont physiquement écrites dans le fichier, n'est donnée que suite à l'exécution de cette routine.

Définition à la ligne 39 du fichier medfile.f.

subroutine mficom | ( | character *(*) | fname,
|  | integer | hdfok,
|  | integer | medok,
|  | integer | cret |
| ) |  |  |

Vérification de la compatibilité d'un fichier avec HDF et MED.

Paramètres:

  | fname | Nom du fichier.
  | hdfok | Indicateur booleen indiquant si le fichier est dans un format HDF compatible.
  | medok | Indicateur booleen indiquant si le fichier un fichier MED compatible.
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine permet de vérifier la compatibilité du fichier passé en argument avec HDF5 (est-ce un fichier HDF5 ?) et MED (est-ce un fichier MED que je peux lire ?).

Définition à la ligne 117 du fichier medfile.f.

subroutine mficor | ( | integer | fid,
|  | character*(*) | cmt,
|  | integer | cret |
| ) |  |  |

Lecture d'un descripteur dans un fichier MED.

Paramètres:

  | fid | Identificateur du fichier.
  | cmt | Descripteur du fichier.
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine permet de lire un descripteur dans un fichier MED. Ce descripteur est une chaîne de caratères de MED_COMMENT_SIZE (200) caractères

Définition à la ligne 69 du fichier medfile.f.

subroutine mficow | ( | integer | fid,
|  | character*(*) | cmt,
|  | integer | cret |
| ) |  |  |

Ecriture d'un descripteur dans un fichier MED.

Paramètres:

  | fid | Identificateur du fichier.
  | cmt | Descripteur du fichier.
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine permet d'écrire un descripteur dans un fichier MED. Ce descripteur est une chaîne de caratères de MED_COMMENT_SIZE (200) caractères

Définition à la ligne 54 du fichier medfile.f.

subroutine mfinvr | ( | integer | fid,
|  | integer | major,
|  | integer | minor,
|  | integer | rel,
|  | integer | cret |
| ) |  |  |

Lecture du numéro de version de la bibliothèque MED utilisée pour créer le fichier.

Paramètres:

  | fid | Identificateur du fichier.
  | major | Numéro de version majeur.
  | minor | Numéro de version mineur.
  | rel | Numéro de release.
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine lit le numéro de version de la bibliothèque MED qui a été utilisée pour créer le fichier auquel on accède via le paramètre fid. Le numéro de version est renvoyé sous la forme de trois entiers : numéro de version majeur, numéro de version mineur, numéro de relase

Définition à la ligne 85 du fichier medfile.f.

subroutine mfiomn | ( | integer | fid,
|  | character *(*) | fname,
|  | integer | class,
|  | integer | mid,
|  | integer | cret |
| ) |  |  |

Cette routine permet de monter dans le fichier courant un type de données (exemples les maillages, les champs) d'un autre fichier MED.

Paramètres:

  | fid | Identificateur du fichier.
  | fname | Nom du fichier à monter.
  | class | Type d'objet de haut niveau MED (champ ou maillage) .
  | mid | Identificateur du fichier monté.
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine permet de monter dans le fichier courant un type de données (exemples les maillages, les champs) d'un autre fichier MED. Cette routine est utile par exemple quand les champs et les maillages d'une étude se situent dans des fichiers différents. Une fois le montage effectué, l'accès aux données montées est transparent.

Définition à la ligne 133 du fichier medfile.f.

subroutine mfiope | ( | integer | fid,
|  | character *(*) | name,
|  | integer | access,
|  | integer | cret |
| ) |  |  |

Ouverture d'un fichier MED.

Paramètres:

  | fid | Identificateur du fichier.
  | name | Nom du fichier.
  | access | Mode d'acces au fichier.
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine permet d'ouvrir un fichier MED selon le mode d'accès souhaité.

Définition à la ligne 18 du fichier medfile.f.

subroutine mfioun | ( | integer | fid,
|  | integer | mid,
|  | integer | class,
|  | integer | cret |
| ) |  |  |

Une fois le démontage effectué, les données précédemment montées ne sont plus accessibles.

Paramètres:

  | fid | Identificateur du fichier.
  | mid | Identificateur du fichier monté.
  | class | Type d'objet de haut niveau MED (champ ou maillage) .
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine permet désactiver un point de montage.

Définition à la ligne 155 du fichier medfile.f.

subroutine mfisvr | ( | integer | fid,
|  | character*(*) | version,
|  | integer | cret |
| ) |  |  |

Lecture du numéro de version de la bibliothèque MED utilisée pour créer le fichier (renvoyé sous la forme d'une chaîne de caractères).

Paramètres:

  | fid | Identificateur du fichier.
  | version | Numéro de version défini dans une chaîne de caractères.
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine lit le numéro de version de la bibliothèque MED qui a été utilisée pour créer le fichier auquel on accède via le paramètre fid. Le numéro de version est renvoyé sous la forme d'une chaîne de caractères. Exemple de chaîne renvoyé : 'MED-3.0.0'.

Définition à la ligne 100 du fichier medfile.f.

subroutine mpfope | ( | integer | fid,
|  | character *(*) | name,
|  | integer | access,
|  | integer | com,
|  | integer | info,
|  | integer | cret |
| ) |  |  |

Ouverture d'un fichier MED pour une utilisation parallèle.

Paramètres:

  | fid | Identificateur du fichier.
  | name | Nom du fichier.
  | access | Mode d'acces au fichier.
  | com | Communicateur mpi du groupe de processus participant à des appels parallèles sur le fichier MED.
  | info | Le paramètre mpi_info obtenu de la biblitohèque MPI .
  | cret | retour négatif en cas d'erreur, Zéro sinon.

Cette routine permet d'ouvrir un fichier MED pour une utilisation parallèle selon le mode d'accès souhaité.

Remarques
  résultat i.e. l'identificateur entier (ID) retourné sera utilisé par les routines de l'API pour accéder au contenu du fichier.
  - Tous les appels à l'API MED via un descripteur de fichier parallèle doit être exécuté par tous les processus du comminicateur.
  - Si un processus veut travailler indépendament des autres il doit également ouvrir le fichier via MEDfileOpen pour avoir un descripteur séquentiel.

Définition à la ligne 18 du fichier medparfile.f.