Changes between Initial Version and Version 1 of Ticket #256


Ignore:
Timestamp:
06/05/15 14:55:12 (9 years ago)
Author:
sdipsl
Comment:

En y réflechissant, et puisque XIOS est intégré dans toute les composantes on pourrait

  • avoir cet appel dans config_Check et non pas dans les drivers.
  • avoir une nouvelle section dans les comp.card : [XIOSParameter]

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #256

    • Property Summary changed from Fonction pour verifier le coherence des fichier xml to Fonction pour verifier la coherence des fichier xml
  • Ticket #256 – Description

    initial v1  
    11'''Objective de la function'''[[BR]] 
    2  * Verifier la coherence entre les variables listé dans les fichiers file_def_xxx.xml et field_def_xxx.xml pour un composant. On suppose que field_def_xxx.xml est coherent avec les sources du modèle mais qu'il y a un risque que file_def_xxx.xml ne le soit pas. 
     2 * Verifier la coherence entre les variables listés dans les fichiers file_def_xxx.xml et field_def_xxx.xml pour une composante. On suppose que field_def_xxx.xml est coherent avec les sources du modèle mais qu'il y a un risque que file_def_xxx.xml ne le soit pas. 
    33 * Selon le choix fait a l'appel, la fonction 
    44  * force la modification du fichier file_def(supprimer les lignes pour les variables en trop) et poursuivre la simulation.  
    5   * ou la simulation est arreté apres que tout les fichiers xml declaré dans [Param sont verifié et avertis l'utilisateur d'un probleme de coherence. Il se peut que ca soit l'utilsateur qui a ajouté des variables dans file_def mais a oublié de mettre a jour son version de modèle.  
     5  * ou la simulation est arretée une fois que tout les fichiers xml declarés dans [!ParametersFiles] ont été verifié. Puis l'utilisateur est averti d'un probleme de cohérence. Il se peut que l'utilisateur a ajouté des variables dans file_def mais a oublié de mettre a jour sa version de modèle.  
    66 
    77'''Utilisation'''[[BR]] 
    8  * La function sera appelé depuis chaque comp.driver pour lequel le correspondant comp.card contient des fichiers xml. Par exemple pour le cas ORCHIDEE, tout les fichiers xml sont listé dans orchidee.card et c'est donc uniqument orchidee.driver qui fera appelle a cette fonction et non pas stomate.driver. La fonction prendra en argument d'entrée le choix de s'arreter ou de modifier les fichiers.  
     8 * La function sera appelée depuis chaque comp.driver pour lequel le comp.card correspondant contient des fichiers xml. Par exemple pour le cas ORCHIDEE, tout les fichiers xml sont listé dans orchidee.card et c'est donc uniquement orchidee.driver qui fera appelle a cette fonction et non pas stomate.driver. La fonction prendra en argument le choix de s'arreter ou de modifier les fichiers. 
    99 
    10 '''Possibilité d'implementation'''[[BR]] 
    11 Parmis tout les fichiers xml listé dans [!ParametersFiles] pour le composant qui appelle le function, extraire le fichier field_def_*.xml (il faut uniquement et obligatoirement qu'il y a une) et extraire les noms des tout les fichier file_def*xml (par exemple pour LMDZ il y a plusieurs). Ensuite pour tout les fichiers file_def*xml, parser chaque ligne avec un variable et verifier que le meme variable est listé dans field_def*xml. Si le variable n'est pas dans le fichier field_def, le fonction soit 1) envoit un signal pour arreter la simulation soit 2) modifie le file_def en enlevant les variables en trop.  
     10'''Possibilité d'implémentation'''[[BR]] 
     11Parmi tout les fichiers xml listés dans [!ParametersFiles] pour le composant qui appelle le function, extraire le fichier field_def_*.xml (il faut qu'il y en ait et un seul) et extraire les noms des tout les fichier file_def*xml (par exemple pour LMDZ il y en a plusieurs). Ensuite pour tout les fichiers file_def*xml, parser chaque ligne avec une variable et vérifier que la même variable est listée dans field_def*xml. Si la variable n'est pas dans le fichier field_def, le fonction 1) envoit un signal pour arreter la simulation 2) ou modifie le file_def en enlevant les variables en trop.  
    1212 
    1313 
    14 Il est possible qu'il suffit de parser tout les fichiers xml sans porter de l'importance sur les noms. Il faut chercher tout les field_ref et verifier qu'il y a un "field id=" qui correspond sur un autre ligne(probablement dans un autre fichier). Il est imperative que chaque variable declaré avec "field_ref" aussi existe en "field id". Il peut y a avoir des "field id" sans "field_ref".  
     14Il est possible qu'il suffise de parser les fichiers xml sans attacher d'importance à leurs noms. Il faut chercher tout les field_ref et verifier qu'il y a un "field id=" qui correspond sur un autre ligne(probablement dans un autre fichier). Il est imperatif que chaque variable declarée avec "field_ref" existe en "field id". Il peut y avoir des "field id" sans "field_ref". 
    1515 
    16 A voir comment ca se passe si les variables sont declaré en groupe. Dans se cas il faut verifier si la groupe et declare.  
    17  
     16A voir comment ca se passe si les variables sont declarées en groupe. Dans se cas il faut verifier si la groupe et declaré.