Changes between Version 32 and Version 33 of DevelopmentActivities/Assimilation
- Timestamp:
- 2012-06-28T15:54:30+02:00 (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DevelopmentActivities/Assimilation
v32 v33 4 4 == 6/06/2012: Réunion de travail == 5 5 6 Martial Mancip and Ernest Koffi 6 Martial Mancip (MM) and Ernest Koffi (EK) [[BR]] 7 ''(Rédaction compte rendu: EK)'' 7 8 8 9 == Utlisation d'ORCHIDEE pour l'assimilation == … … 29 30 == 2. Actions pour la mise au format d'ORCHIDEE pour l'assimilation == 30 31 31 ''2.1: Note importante'' [[BR]] 32 32 33 == ''2.1: Note importante'' == 33 34 Pour 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. 34 35 La 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, … … 63 64 64 65 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 === 70 71 71 72 - 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 … … 82 83 83 84 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 ===: 86 87 - la mise au format du tags/trunk d'ORCHIDEE pour TAF 87 88 - 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 … … 101 102 102 103 103 == Etape 3 : Application de TAF pour la dérivation des codes==104 === Etape 3 : Application de TAF pour la dérivation des codes === 104 105 Tous 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. 105 106 Dans le cas échéant, contacter la personne en charge du code pour l'assimilation pour faire le nécessaire. … … 149 150 150 151 151 152 == 3. Description des nouveaux drivers/modules pertinents pour la dérivation du code d'ORICHIDEE par TAF et son exécution == 152 153 153 154 Le 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 … … 184 185 185 186 Les 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. 187 la 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 187 189 188 190 … … 232 234 direct.f90 233 235 }}} 234 - Code tange nt linéaire (TL):236 - Code tangeant linéaire (TL): 235 237 {{{ 236 238 tangeant.f90 … … 256 258 Toutes les opérations effecutées par ce script sont détaillées en trois étapes: 257 259 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 === 259 261 - Crée un répertoire de travail temporaire modeles_optim_temp à partir du répertoire ASSIMILATION 260 262 - Met le répertoire d’ORCHIDEE dans le répertoire modeles_optim_temp 261 263 262 264 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 === 264 266 265 267 makeorchidee_fcm se place dans modeles_optim_temp: … … 268 270 269 271 270 == Etape 3 : Création des routines pour TAF==272 === Etape 3 : Création des routines pour TAF === 271 273 272 274 Boucler sur le/les fichiers sources de chaque répertoire deux fois avec deux scripts awk … … 291 293 292 294 293 == 5. ! Questions/Reflexions ==295 == 5. Questions et Réflexions == 294 296 - 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" 295 297 pour conserver les optimisations dans les futures développements) … … 340 342 - Conformité aux règles de programmation ??? 341 343 - Unicité des variables dans les différents modules ??? 342 344 345 346 347 == 6. Autres == 348 Afin 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: 349 les modules suivants: 350 {{{ 351 histcom.f90 352 flincom.f90 353 }}} 354 355 Cela 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. 356 Commentaires EK; Martial, n'hésite pas à y ajouter d'autres adaptations effectuées. 357 343 358 [[BR]] 344 359 [[BR]]