Changes between Version 35 and Version 36 of DevelopmentActivities/Assimilation


Ignore:
Timestamp:
2012-06-28T16:38:59+02:00 (12 years ago)
Author:
ekoffi
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DevelopmentActivities/Assimilation

    v35 v36  
    299299  
    300300    
    301    - Gestion des « includes » des directives TAF: Il faut noter que cela se fait dans model.f90 et dans le Makefile du répertoire ASSIMILATION. Néanmoins, les directives TAF doivent être spécifiques à chaque version d'ORCHIDEE pour l’optimisation et aussi à la version de IOSPL. Ce n'est pas simple de gérer automatiquement ces directives TAF parce qu'on n'a pas trouvé de façon claire les raisons pour lesquelles certaines variables SAVE ou fonctions/subroutines ne sont pas analysées par TAF. Pour l'instant, nous gérons ces directives à la main dans le fichier taf_directives.f90 et ceci en fonction des problèmes rencontrés lors de l'exécution des codes dérivés générés par TAF.  
    302 On pourrait faire une gestion automatique en appliquant des directives à toutes les fonctions/subroutines dans le fichier taf_directives.f90 !!! A titre d'exemple, voici ci-après les directives pour le cas simple de la subroutine ymds2ju du module calendar.f90 de la librairie IOIPSL. Il faut noter que sans ces directives, TAF ne considère pas l'appel de la subroutine ymds2ju dans le code dérivé e.g., model_tl.f90. On note les numéros des arguments d'entrée de la subroutine dans la commande INPUT et dans OUTPUT ceux des arguments de sortie. Enfin, la commande REQUIRED permet de dire à TAF de considérer cette subroutine lors de la génération des codes dérivés. Après une analyse approfondie de ce cas, nous n'avons pas compris les raisons pour lesquelles TAF ne considère pas cette subroutine dans le code dérivé model_tl.f90. Pour plus de détails sur les directives TAF, il faut consulter la documentation d'utilisation du logiciel qui est fourni.  
     301   - Gestion des « includes » des directives TAF: Il faut noter que cela se fait dans model.f90 et dans le Makefile du répertoire ASSIMILATION. Néanmoins, les directives TAF doivent être spécifiques à chaque version d'ORCHIDEE pour l’optimisation et aussi à la version de IOIPSL. Ce n'est pas simple de gérer automatiquement ces directives TAF parce qu'on n'a pas trouvé de façon claire les raisons pour lesquelles certaines variables SAVE ou fonctions/subroutines ne sont pas analysées par TAF. Pour l'instant, nous gérons ces directives à la main dans le fichier taf_directives.f90 et ceci en fonction des problèmes rencontrés lors de l'exécution des codes dérivés générés par TAF. On pourrait faire une gestion automatique en appliquant des directives à toutes les fonctions/subroutines dans le fichier taf_directives.f90 !!! A titre d'exemple, voici ci-après les directives pour le cas simple de la subroutine ymds2ju du module calendar.f90 de la librairie IOIPSL. Il faut noter que sans ces directives, TAF ne considère pas l'appel de la subroutine ymds2ju dans le code dérivé e.g., model_tl.f90. On note les numéros des arguments d'entrée de la subroutine dans la commande INPUT et dans OUTPUT ceux des arguments de sortie. Enfin, la commande REQUIRED permet de dire à TAF de considérer cette subroutine lors de la génération des codes dérivés. Après une analyse approfondie de ce cas, nous n'avons pas compris les raisons pour lesquelles TAF ne considère pas cette subroutine dans le code dérivé model_tl.f90. Pour plus de détails sur les directives TAF, il faut consulter la documentation d'utilisation du logiciel qui est fourni.  
    303302{{{ 
    304303!$TAF SUBROUTINE calendar::ymds2ju INPUT  = 1,2,3,4