Organigramme (fr:METRo)

English

Cet article présente l'organigramme de METRo. Vous pouvez aussi vous référer au schéma des entrées/sorties comme complément à la compréhension du code source de METRo.

Cet article vise les développeurs de METRo. Vous n'avez pas besoin de le comprendre si vous ne voulez qu'installer et utiliser METRo.

Organigramme

 * Vert : code en python;
 * Cyan : code en fortran;
 * Rouge : code en C;
 * Orange : données dans le format XML.



Image pleine résolution.

Modules
Le code fortran est le modèle physique de METRo. Ce code se trouve dans le répertoire.

Tout les fichiers de code python se trouvent dans les sous-répertoires du répertoire nommé. Tout les modules de METRo, sauf pour le modèle physique, sont codés dans ce langage.

Configuration
Le module de configuration est dans le fichier  et contient toutes les méthodes dont METRo a besoin pour accéder aux configurations tout au long de sont éxecution. Il peut être appelé par n'importe quel autre module de METRo.

Le fichier  contient également l'ordre dans lesquels les modules de METRo sont appelés. Consulter le dictionnaire à la valeur  dans ce fichier pour visualiser l'ordre par défaut. Il n'y a qu'à écrire un module et à l'ajouter à cette liste pour qu'il soit executé.

Modèle
Le modèle physique de METRo est codé en fortran. Il correspond à la partie centrale de l'organigramme, cette partie contenant les blocs rouge et cyan. Le modèle est appelé par le module python nommé, par la méthode nommée.

Les constantes physiques utilisées par METRo sont des les fichiers  et.

Classe enveloppante C
est le nom du projet contenant la classe enveloppant du code fortran. Le fichier C est unique et est nommé. Les méthodes fortran sont appelées à partir de ce fichier dans un ordre déterminé. Il y a un peu de logique dans ce fichier mais uniquement pour déterminer quelle méthode fortran il faut invoquer, non pour faire des calculs.

Pour chaque liste ou tableau qu'il faut récupérer du code C, une fonction doit être implémentée dans le fichier  et écrite dans le fichier   (voir ci-dessous). La fonction retourne simplement la structure contenant les données. Voir le code pour un exemple.

Les types de données qui peuvent être récupérés du code fortran dans le code python sont dans le fichier. À moins que vous soyez extrêmement certain de ce que vous faites, ne modifier pas les fonctions déjà présentes dans ce fichier puisque c'est l'enveloppe SWIG de METRo. Les tableaux sont aussi supportés et sont simplement appelés en ajoutant le mot  après le type de données (un tableau de double donnerait  ).

Les types de données suivants sont supportés:
 * char;
 * double;
 * float;
 * long;
 * short;
 * int;

Convention de codage
La convention de codage suivante a été suivie dans le code python de METRo et dans une partie du code fortran et C. Autant que possible, tout le code de METRo devrait la respecter.t.


 * 1) Tous les modules python de METRo ont un nom débutant par la chaîne de caractères metro_;
 * 2) Les modules de prétraitement débute avec la chaîne de caractères ''metro_preprocess_"
 * 3) Les modules de post-traitement débute avec la chaîne de caractères ''metro_postprocess_"
 * 4) La notation hongroise est utilisée dans METRo. Elle a la signification suivante: