DevelopmentActivities/Assimilation: REUION_19-11-10

File REUION_19-11-10, 8.3 KB (added by mmaipsl, 14 years ago)
Line 
1* récupération de
2  mmancip@obelix2.saclay.cea.fr:/home/satellites2/ekoffi/orchidee/modipsl_AR5_new/modeles0/try0
3et
4mmancip@obelix2.saclay.cea.fr:/home/satellites2/ekoffi/orchidee/modipsl_AR5_new/modeles0/post
5pour un test.
6
7
8* On regarde pour les étapes de compilation :
9try0/compil_orch
10et
11try0/Makefile
12
13* On revoie les 3 "make fw" dans compil_orch :
14On discute du conflit apparut avec le use de routing dans sechiba_init_alloc.f90
15=> on remplace le awk par un simple sed :
16<<
17sed -e 's/USE routing,ONLY/!USE routing,ONLY/' -i $path/$fic
18#cat temp.f90 | awk 'begiN { i=0;} { i++; if (i==198) { print "!" $0;} else { print $0;}}'> $path/$fic
19>>
20
21* "fw" pour modÚle forward => compilation directe. On a donc
22libfw.a = liborchidee.a + liborchidee_ol.a
23
24* on voit que src_modif_tl serait mieux renommé src_modif
25
26* le conflit viens du
27 USE routing dans sechiba_init_alloc et du
28 USE sechiba_init_alloc dans routing
29  En effet, la premiÚre compile donne 
30<<<
31ifort  -c -cpp -D_ISNAN_  -DASSIMIL_DECL -diag-disable vec -g -traceback  -i4 -r8 -I../../lib/fw -module ../../lib/fw -I/usr/local/include ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90
32ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(198): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [ROUTING]
33USE routing,ONLY : routing_basins_p, routing_init, routing_diagnostic_p, routing_irrigmap,routing_clear
34----^
35ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(198): error #6580: Name in only-list does not exist.   [ROUTING_BASINS_P]
36USE routing,ONLY : routing_basins_p, routing_init, routing_diagnostic_p, routing_irrigmap,routing_clear
37-------------------^
38ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(198): error #6580: Name in only-list does not exist.   [ROUTING_INIT]
39USE routing,ONLY : routing_basins_p, routing_init, routing_diagnostic_p, routing_irrigmap,routing_clear
40-------------------------------------^
41ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(198): error #6580: Name in only-list does not exist.   [ROUTING_DIAGNOSTIC_P]
42USE routing,ONLY : routing_basins_p, routing_init, routing_diagnostic_p, routing_irrigmap,routing_clear
43---------------------------------------------------^
44ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(198): error #6580: Name in only-list does not exist.   [ROUTING_IRRIGMAP]
45USE routing,ONLY : routing_basins_p, routing_init, routing_diagnostic_p, routing_irrigmap,routing_clear
46-------------------------------------------------------------------------^
47ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(198): error #6580: Name in only-list does not exist.   [ROUTING_CLEAR]
48USE routing,ONLY : routing_basins_p, routing_init, routing_diagnostic_p, routing_irrigmap,routing_clear
49------------------------------------------------------------------------------------------^
50ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(1105): error #6406: Conflicting attributes or multiple declaration of name.   [ROUTING_INIT]
51                CALL routing_init (kjit, kjpindex, index, dtradia, returnflow, irrigation, &
52---------------------^
53ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(1117): error #6406: Conflicting attributes or multiple declaration of name.   [ROUTING_BASINS_P]
54                    CALL routing_basins_p(kjpindex, lalo, neighbours, resolution, contfrac)
55-------------------------^
56ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(1137): error #6406: Conflicting attributes or multiple declaration of name.   [ROUTING_IRRIGMAP]
57                        CALL routing_irrigmap(kjpindex, index, lalo, neighbours, resolution, &
58-----------------------------^
59ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(1145): error #6406: Conflicting attributes or multiple declaration of name.   [ROUTING_DIAGNOSTIC_P]
60                CALL routing_diagnostic_p(kjpindex, index, resolution, contfrac, hist_id, hist2_id)
61---------------------^
62ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(4271): error #6406: Conflicting attributes or multiple declaration of name.   [ROUTING_CLEAR]
63    CALL routing_clear
64---------^
65compilation aborted for ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90 (code 1)
66make: *** [../../lib/fw/libfw.a(ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.o)] Error 1
67>>>
68
69le conflit est levé dans
70/home/mancip/IPSL_CODE/ASSIMILATION/modipsl_AR5_new/try0/shell_compile_OK
71
72=> à voir : Tester  avec TAF et
731) regarder les directives TAF présentes en en-tête de sechiba_init_alloc ???
742) regarder/modifier l'entrées pour TAF dans bin/preproc : ASSIMIL_DIRTAF_sechiba.txt
75
76* On voit que l'on peut conserver la compilation standard d'ORCHIDEE et construire
77  automatique les modules stomate_init_alloc et sechiba_init_alloc avec les étapes
78  suivantes :
79  1. reprendre et modifer si besoin les fonctions  stomate/sechiba_init_main ==>
80     phase d'initialisation de stomate et sechiba.
81  2. lister les fonctions utilisées à l'initialisation des modules à modifier =>
82     mettre et commiter ces listes dans ORCHIDEE entre les phrases-clés suivantes :
83!ASSIMIL_SUB
84!END ASSIMIL_SUB
85exemple :
86!ASSIMIL_SUB
87! condveg_init
88! condveg_clear
89! condveg_var_init
90! condveg_snow
91! condveg_soilalb
92! condveg_z0logz
93! condveg_z0cdrag
94! condveg_albcalc
95!END ASSIMIL_SUB
96
97  3. déplacer les variables encapsulées entre les directives :
98#IFNDEF ASSIMIL_DECL
99#ENDIF
100     dans le init_main correspondant.
101
102* On voit les outils déjà construits par TL dans bin/preproc :
103bin/preproc:
104  total used in directory 92 available 18099592
105  drwxr-xr-x 3 mancip mancip  4096 2010-11-19 18:32 .
106  -rwxr-xr-x 1 mancip mancip    89 2010-11-19 18:32 commente_lignes
107  drwxr-xr-x 4 mancip mancip  4096 2010-08-02 12:20 ..
108  -rw-rw-r-- 1 mancip mancip 12252 2010-08-02 12:20 find_and_rename.py
109  drwxrwxr-x 2 mancip mancip  4096 2010-08-02 12:20 OLD
110  -rw-r--r-- 1 mancip mancip  6299 2010-06-15 16:48 ASSIMIL_DIRTAF_sechiba.txt
111  -rw-r--r-- 1 mancip mancip  6299 2010-06-14 17:57 ASSIMIL_DIRTAF_sechiba.txt~
112  -rw-r--r-- 1 mancip mancip  5580 2010-06-14 10:50 ASSIMIL_DIRTAF_stomate.txt
113  -rw-r--r-- 1 mancip mancip  8008 2010-06-09 14:15 ASSIMIL_SUBINIT_sechiba.txt
114  -rw-r--r-- 1 mancip mancip  4480 2010-06-09 13:27 ASSIMIL_SUBINIT_stomate.txt
115  -rwxr-xr-x 1 mancip mancip  3439 2010-04-01 09:48 CREATE_INIT_MODULE
116  -rwxrwxr-x 1 mancip mancip   891 2010-03-17 18:24 launch_preproc.ksh
117  -rwxr-xr-x 1 mancip mancip   125 2009-01-09 13:44 commente_lignes~
118  -rwxr-xr-x 1 mancip mancip  1454 2009-01-06 16:33 extract_subcode.awk
119  -r--r--r-- 1 mancip mancip  4248 2008-02-14 17:28 ASSIMIL_SUBINIT.txt
120
121Pour automatiser la création du modÚle modifier, on doit re-travailler le
122script launch_preproc.ksh. On aura l'arborescence classique
123aprÚs récupération du modÚle avec util/model
124puis installation standard des Makefiles avec util/ins_make.
125A partir de cette arborescence, l'idée est de simplifiée la production
126et la compilation du modÚle pour TAF avec l'arbo modipsl suivante :
127modipsl:
128  total used in directory 10308 available 18099568
129  drwxr-xr-x 12 mancip mancip    4096 2010-11-19 18:08 .
130  drwxrwxr-x  3 mancip mancip    4096 2010-08-02 10:13 ..
131  drwxr-xr-x  4 mancip mancip    4096 2010-08-02 12:20 bin
132  drwxr-xr-x  3 mancip mancip    4096 2010-06-03 15:07 config
133  drwxr-xr-x  3 mancip mancip    4096 2010-07-01 10:21 doc
134  drwxr-xr-x  5 mancip mancip    4096 2010-07-27 14:26 lib
135  drwxr-xr-x 10 mancip mancip    4096 2010-06-03 15:09 libIGCM
136  drwxr-xr-x 11 mancip mancip    4096 2010-11-19 18:40 modeles
137  drwxr-xr-x 11 mancip mancip    4096 2010-11-19 18:40 modeles_Assimil
138  drwxr-xr-x  6 mancip mancip    4096 2010-06-03 15:09 .svn
139  drwxr-xr-x  3 mancip mancip    4096 2010-06-03 15:09 tools
140  drwxr-xr-x  3 mancip mancip    4096 2010-07-27 14:26 util
141et la compilation classique de orchidee pourrait être lancée.
142
143* Rajout des stomate/sechiba_init_alloc dans les Makefiles
144
145* ProblÚme avec le répertoire modeles/f90  : dépendance avec netcdf => on doit avoir
146  le chemin vers les sources netcdf et on a uniquement besoin de
147/usr/local/src/netcdf-3.6.2-beta4/f90:
148  total used in directory 1416 available 2109988
149  -rw-r--r--  1 root root   3801 2005-05-20 21:05 netcdf_constants.f90
150  -rw-r--r--  1 root root   2551 2000-10-24 00:07 typeSizes.f90
151 
152
153* A voir : suppression des lignes entre les directives #IFDEF CPP_PARA #ELSE ou #ENDIF