Changes between Version 32 and Version 33 of DevelopmentActivities/Assimilation


Ignore:
Timestamp:
2012-06-28T15:54:30+02:00 (12 years ago)
Author:
ekoffi
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DevelopmentActivities/Assimilation

    v32 v33  
    44== 6/06/2012: Réunion de travail == 
    55 
    6 Martial Mancip and Ernest Koffi  
     6Martial Mancip (MM) and Ernest Koffi (EK) [[BR]] 
     7''(Rédaction compte rendu: EK)''  
    78 
    89== Utlisation d'ORCHIDEE pour l'assimilation == 
     
    2930== 2. Actions pour la mise au format d'ORCHIDEE pour l'assimilation ==  
    3031 
    31 ''2.1: Note importante''  [[BR]] 
    32  
     32 
     33== ''2.1: Note importante''   == 
    3334Pour la mise au format d'ORCHIDEE pour TAF, les modules d'initialisation/allocation dans les répertoires sechiba (i.e., sechiba_init_alloc.f90) et stomate (stomate_init_alloc.f90) d'ORCHIDEE sont automatiquement générés. 
    3435La création automatique de ces deux modules permet de considérer aisément toutes mises à jour d'ORCHIDEE pour l'assimilation sans un travail supplémentaire important. Pour la création de ces modules d'initialisation/alloctaion,  
     
    6364 
    6465 
    65 '' 2.2: Mise au format d'ORCHIDEE pour TAF et/ou exécution des codes obtenus ''[[BR]] 
    66   
    67 L'utilsateur doit exécuter les commandes décrites dans les 3 étapes suivantes pour avoir un code mis au format pour l'assimilation.  
    68  
    69     == Etape 1 : Chargement des routines d’ORCHIDEE/IOIPSL/TAF pertinents pour l’optimisation == 
     66 
     67== '' 2.2: Mise au format d'ORCHIDEE pour TAF et/ou exécution des codes obtenus '' ==  
     68 L'utilsateur doit exécuter les commandes décrites dans les 3 étapes suivantes pour avoir un code mis au format pour l'assimilation.  
     69 
     70    === Etape 1 : Chargement des routines d’ORCHIDEE/IOIPSL/TAF pertinents pour l’optimisation === 
    7071 
    7172       - lancer la commande model dans le répertoire util pour le code ORCHIDEE que vous souhaitez utiliser pour l'assimilation. On note $model-name cette configuration (Tapez model -h pour avoir la liste  
     
    8283  
    8384 
    84  == Etape 2: Mise au format du tag/trunk d'ORCHIDEE pour TAF  == 
    85     Deux principales taches sont effectuées par un script shell == makeorchidee_fcm ==: 
     85 === Etape 2: Mise au format du tag/trunk d'ORCHIDEE pour TAF  === 
     86    Deux principales taches sont effectuées par un script shell === makeorchidee_fcm ===: 
    8687        - la mise au format du tags/trunk d'ORCHIDEE pour TAF  
    8788        - le regroupement de tous les codes (i.e., ORCHIDEE, IOPSL), les nouveaux drivers/modules crées pour TAF et la subroutine weather.f90 dans ORCHIDEE_OL dans le répertoire ASSIMILATION  
     
    101102 
    102103 
    103    == Etape 3 : Application de TAF pour la dérivation des codes ==  
     104=== Etape 3 : Application de TAF pour la dérivation des codes ===  
    104105Tous les sources des codes pour l'assimilation sont désormais dans le répertoire ASSIMILATION.Se placer dans le répertoire ASSIMILATION pour efectuer la différentiation souhaitée.On note tangent linéaire (TL), tangent linéaire vectoriel (VTL), et adjoint (AD). Assurez-vous que vous avez le droit d'executer le script staf de TAF pertinent pour la différentiation. 
    105106Dans le cas échéant, contacter la personne en charge du code pour l'assimilation pour faire le nécessaire. 
     
    149150  
    150151 
    151   == 3. Description des nouveaux drivers/modules pertinents pour la dérivation du code d'ORICHIDEE par TAF et son exécution == 
     152== 3. Description des nouveaux drivers/modules pertinents pour la dérivation du code d'ORICHIDEE par TAF et son exécution == 
    152153 
    153154Le logiciel TAF n’est pas capable de générer les codes dérivés d’ORCHIDEE sans une mise au format du code ORCHIDEE au préalable. Comme mentionné au poin 1., il faut passer 
     
    184185 
    185186Les modules relatifs à ces opérations ci-dessus sont décrites aux points a-c. D'autres modules qui sont plus spécifiques soit pour TAF ou pour  
    186 la compilation du code mis au format TAF sont détaillés au point d. 
     187la compilation du code mis au format TAF sont détaillés au point d. Il faut également noter que certains de ces modules ont été développés par François Delage et Cedric Bacour (i.e., *_optim.f90) 
     188 
    187189 
    188190 
     
    232234     direct.f90 
    233235    }}} 
    234     - Code tangent linéaire (TL): 
     236    - Code tangeant linéaire (TL): 
    235237    {{{ 
    236238      tangeant.f90 
     
    256258Toutes les opérations effecutées par ce script sont détaillées en trois étapes: 
    257259 
    258 == Etape 1 : Chargement des routines d’ORCHIDEE/IOIPSL/TAF pertinents pour l’optimisation que l'on veut réaliser  == 
     260=== Etape 1 : Chargement des routines d’ORCHIDEE/IOIPSL/TAF pertinents pour l’optimisation que l'on veut réaliser  === 
    259261  - Crée un répertoire de travail temporaire modeles_optim_temp à partir du répertoire ASSIMILATION 
    260262  - Met le répertoire d’ORCHIDEE dans le répertoire modeles_optim_temp  
    261263 
    262264 
    263 == Etape 2 : Préparation des routines d’ORCHIDEE pour la mise au format pour TAF  == 
     265=== Etape 2 : Préparation des routines d’ORCHIDEE pour la mise au format pour TAF  === 
    264266 
    265267makeorchidee_fcm se place dans modeles_optim_temp: 
     
    268270  
    269271 
    270 ==  Etape 3 : Création des routines pour TAF ==  
     272===  Etape 3 : Création des routines pour TAF ===  
    271273 
    272274Boucler sur le/les fichiers sources de chaque répertoire deux fois avec deux scripts awk  
     
    291293 
    292294 
    293 == 5. ! Questions/Reflexions ==  
     295 == 5. Questions et Réflexions ==  
    294296   - Il faudra dans les tags/trunk ORCHIDEE : construire et maintenir de la liste des subroutines/fonctions d’initialisation par module (pas d'autres implications des développeurs "standard"  
    295297     pour conserver les optimisations dans les futures développements)  
     
    340342   - Conformité aux règles de programmation ??? 
    341343   - Unicité des variables dans les différents modules ??? 
    342       
     344 
     345 
     346 
     347== 6. Autres ==  
     348Afin de pouvoir appeler model.f90 plusieurs fois dans une boucle FORTRAN et ceci dans la perspective d'une optimisation dans un environnement FORTRAN, des adapations on été faites dans les sources de IOISPL. Ces adapations qui sont déjà dans le tags/trunk d'IOIPSL ont été principalement effectuées dans: 
     349les modules suivants: 
     350{{{ 
     351histcom.f90    
     352flincom.f90 
     353}}} 
     354 
     355Cela a permis de fermer les fichiers et de reinitialiser les variables liées à ces fichiers à la fin d'un appel de la subroutine model.f90. Ceci est obtenu par appel des subroutines histclo et flinclo à la fin de model.f90. Il faut noter que histclo et flinclo sont dans les modules histcom.f90 et flincom.f90, respectvement.  
     356Commentaires EK; Martial, n'hésite pas à y ajouter d'autres adaptations effectuées.  
     357 
    343358[[BR]] 
    344359[[BR]]