##
Documentation de la bibliothèque MED-fichier V2.2 : Guide d'utilisation - Module "MED_Variable_Scalaire".

Sommaire de la page

- Introduction
- Modèles de programmation
  - Mode de définition des variables scalaire dans un fichier
  - Créer une variable scalaire dans un fichier
  - Ecrire une valeur dans une variable scalaire
  - Lire le nombre de variable scalaire dans un fichier
  - Accès aux variables scalaire d'un fichier
  - Lire les informations sur une variable scalaire
  - Accès au(x) valeur(s) d'une variable scalaire
  - Lire le nombre de pas de temps dans une variable scalaire
  - Lire les informations sur un pas de temps dans une variable scalaire
  - Lire une valeur dans une variable scalaire
- Exemples de programmation
  - Exemple d'écriture de variables scalaire dans un fichier
  - Exemple de lecture des variables scalaire d'un fichier

Retour à la page de garde du guide d'utilisation

# Introduction

Les routines disponibles permettent de :

- Créer une variable scalaire de type entier ou flottant dans un fichier (NOUVELLE FONCTIONNALITE).
- Ecrire une valeur entière ou flottante dans une variable scalaire du type correspondant selon éventuellement un pas de temps et/ou un numéro d'ordre (NOUVELLE FONCTIONNALITE).
- Lire le nombre de variables scalaires dans un fichier (NOUVELLE FONCTIONNALITE).
- Lire les informations sur une variable scalaire (nom, type, description associée)- (NOUVELLE FONCTIONNALITE).
- Lire le nombre de pas de temps/numéro d'ordre dans un variable scalaire (NOUVELLE FONCTIONNALITE).
- Lire les informations sur un pas de temps et/ou un numéro d'ordre (NOUVELLE FONCTIONNALITE).
- Lire une valeur entière ou flottante dans une variable scalaire du type correspondant selon éventuellement un pas de temps et/ou un numéro d'ordre (NOUVELLE FONCTIONNALITE).

Ces routines sont détaillées dans le guide de référence du module "MED_Variable_Scalaire".

# Modèles de programmation

### Mode de définition des variables scalaire dans un fichier

L'écriture de variables scalaire dans un fichier MED est optionnelle : un fichier MED peut contenir de 0 à plusieurs variables.

Le mode d'écriture pour chaque variable scalaire consiste à :

- Créer la variable. Cette variable peut être de type entier ou réel.
- Ecrire dans la variable une ou plusieurs valeurs du type correspondant. Chaque valeur peut être éventuellement associée à un pas de temps et ou un numéro d'ordre.

### Créer une variable scalaire dans un fichier

La routine MEDscalaireCr/efscac permet de créer une variable scalaire dans un fichier.

Le type de la variable est au choix :

- MED_FLOAT64 : flottant 64 bits IEEE.
- MED_INT32 : entier 32 bits.
- MED_INT64 : entier 64 bits

### Ecrire une valeur dans une variable scalaire

On dispose de 2 routines selon le type de la variable :

- La routine MEDscalaireEntierEcr/efscee permet d'écrire une valeur dans un variable scalaire de type entier.
- La routine MEDscalaireFlottantEcr/efscfe permet d'écrire une valeur dans un variable scalaire de type réel.

Dans les 2 cas, la valeur est éventuellement associée à un pas de temps et/ou un numéro d'ordre. La présence du pas de temps et celle du numéro d'ordre sont optionnelles :

- La constante MED_NOPDT (-1) permet d'indiquer qu'il n'y a pas de pas de temps.
- La constante MED_NONOR (-1) permet d'indiquer qu'il n'y a pas de numéro d'ordre.

### Lire le nombre de variable scalaire dans un fichier

La routine MEDnScalaire/efnsca permet de lire le nombre de variables scalaire dans un fichier.

Remarque :

- La présence de variable scalaire dans un maillage est optionnelle : un maillage peut contenir de zéro à plusieurs variables.

### Accès aux variables scalaire d'un fichier

Dès que l'on connaît le nombre de variables scalaire, il est possible d'accéder à chacune d'entre elles par l'intermédiaire d'une boucle. Si on a "N" variables, cette boucle ira de 1 à N. A chaque itération, la valeur du compteur de la boucle est un indice permettant l'accès à une variable donnée.

### Lire les informations sur une variable scalaire

La routine MEDscalaireInfo/efscai permet de lire les informations sur une variable scalaire repérée selon un indice dans le fichier -i.e. :

- Le nom.
- Le type.
- La description associée.

### Accès au(x) valeur(s) d'une variable scalaire

Pour accéder à l'ensemble des valeurs d'une variable scalaire, il faut :

- Lire le nombre de valeur, ce nombre est donné par le nombre pas de temps. Une valeur associée à aucun pas de temps est comptabilisée par cette opération.
- Pour chaque pas de temps (boucle) :
  - Lire les informations sur le pas de temps.
  - Lire la valeur associée au pas de temps.

### Lire le nombre de pas de temps dans une variable scalaire

La routine MEDnScalairePasdeTemps/efnspd permet de lire le nombre de pas de temps dans une variable scalaire.

### Lire les informations sur un pas de temps dans une variable scalaire

La routine MEDscalairePasdetempsInfo/efspdi permet de lire les informations sur un pas de temps. Il s'agit en fait d'un couple (pas de temps, numéro d'ordre). On lit :

- Le numéro du pas de temps.
- L'unité du pas de temps.
- La valeur du pas de temps.
- La valeur du numéro d'ordre.

La présence du pas de temps et celle du numéro d'ordre sont optionnelles. Dans ce cas, on récupère

- La constante MED_NOPDT (-1) pour indiquer qu'il n'y a pas de pas de temps à la place du numéro de pas de temps.
- La constante MED_NONOR (-1) pour indiquer qu'il n'y a pas de numéro d'ordre.

### Lire une valeur dans une variable scalaire

On dispose de 2 routines selon le type de la variable :

- La routine MEDscalaireEntierLire/efscel permet de lire une valeur dans un variable scalaire de type entier.
- La routine MEDscalaireFlottantLire/efscfl permet de lire une valeur dans un variable scalaire de type réel.

Dans les 2 cas, la valeur est éventuellement associée à un pas de temps et/ou un numéro d'ordre. La présence du pas de temps et celle du numéro d'ordre sont optionnelles :

- La constante MED_NOPDT (-1) permet d'indiquer qu'il n'y a pas de pas de temps.
- La constante MED_NONOR (-1) permet d'indiquer qu'il n'y a pas de numéro d'ordre.

# Exemples de programmation

### Exemple d'écriture de variables scalaire dans un fichier

Le programme suivant permet de :

- Créer le fichier "test21.med".
- Créer dans ce fichier une variable scalaire entière.
- Ecrire dans cette variable :
  - Une valeur sans pas de temps et sans numéro d'ordre.
  - Une valeur avec un pas de temps et sans numéro d'ordre.
- Créer dans le fichier une variable scalaire de type réel :
- Ecrire dans cette variable un valeur avec un pas de temps et un numéro d'ordre.
- Fermer le fichier "test21.med".

Accès aux sources :

- Version C.
- Version FORTRAN.

### Exemple de lecture des variables scalaire d'un fichier

Le programme suivant permet de :

- Ouvrir le fichier "test21.med" en mode MED_LECTURE.
- Lire dans le fichier le nombre de variable scalaire.
- Pour chaque variable :
  - Lire les informations sur la variable.
  - Lire le nombre de pas de temps.
  - Pour chaque pas de temps :
    - Lire les informations sur le pas de temps.
    - Lire la valeur associée.
- Fermer le fichier "test21.med".

Accès aux sources :

- Version C.
- Version FORTRAN.