1 | * récupération de |
---|
2 | mmancip@obelix2.saclay.cea.fr:/home/satellites2/ekoffi/orchidee/modipsl_AR5_new/modeles0/try0 |
---|
3 | et |
---|
4 | mmancip@obelix2.saclay.cea.fr:/home/satellites2/ekoffi/orchidee/modipsl_AR5_new/modeles0/post |
---|
5 | pour un test. |
---|
6 | |
---|
7 | |
---|
8 | * On regarde pour les étapes de compilation : |
---|
9 | try0/compil_orch |
---|
10 | et |
---|
11 | try0/Makefile |
---|
12 | |
---|
13 | * On revoie les 3 "make fw" dans compil_orch : |
---|
14 | On discute du conflit apparut avec le use de routing dans sechiba_init_alloc.f90 |
---|
15 | => on remplace le awk par un simple sed : |
---|
16 | << |
---|
17 | sed -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 |
---|
22 | libfw.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 | <<< |
---|
31 | ifort -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 |
---|
32 | ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(198): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [ROUTING] |
---|
33 | USE routing,ONLY : routing_basins_p, routing_init, routing_diagnostic_p, routing_irrigmap,routing_clear |
---|
34 | ----^ |
---|
35 | ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(198): error #6580: Name in only-list does not exist. [ROUTING_BASINS_P] |
---|
36 | USE routing,ONLY : routing_basins_p, routing_init, routing_diagnostic_p, routing_irrigmap,routing_clear |
---|
37 | -------------------^ |
---|
38 | ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(198): error #6580: Name in only-list does not exist. [ROUTING_INIT] |
---|
39 | USE routing,ONLY : routing_basins_p, routing_init, routing_diagnostic_p, routing_irrigmap,routing_clear |
---|
40 | -------------------------------------^ |
---|
41 | ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(198): error #6580: Name in only-list does not exist. [ROUTING_DIAGNOSTIC_P] |
---|
42 | USE routing,ONLY : routing_basins_p, routing_init, routing_diagnostic_p, routing_irrigmap,routing_clear |
---|
43 | ---------------------------------------------------^ |
---|
44 | ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(198): error #6580: Name in only-list does not exist. [ROUTING_IRRIGMAP] |
---|
45 | USE routing,ONLY : routing_basins_p, routing_init, routing_diagnostic_p, routing_irrigmap,routing_clear |
---|
46 | -------------------------------------------------------------------------^ |
---|
47 | ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90(198): error #6580: Name in only-list does not exist. [ROUTING_CLEAR] |
---|
48 | USE routing,ONLY : routing_basins_p, routing_init, routing_diagnostic_p, routing_irrigmap,routing_clear |
---|
49 | ------------------------------------------------------------------------------------------^ |
---|
50 | ORCHIDEE/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 | ---------------------^ |
---|
53 | ORCHIDEE/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 | -------------------------^ |
---|
56 | ORCHIDEE/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 | -----------------------------^ |
---|
59 | ORCHIDEE/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 | ---------------------^ |
---|
62 | ORCHIDEE/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 | ---------^ |
---|
65 | compilation aborted for ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.f90 (code 1) |
---|
66 | make: *** [../../lib/fw/libfw.a(ORCHIDEE/src_modif_tl/src_sechiba/sechiba_init_alloc.o)] Error 1 |
---|
67 | >>> |
---|
68 | |
---|
69 | le conflit est levé dans |
---|
70 | /home/mancip/IPSL_CODE/ASSIMILATION/modipsl_AR5_new/try0/shell_compile_OK |
---|
71 | |
---|
72 | => Ã voir : Tester avec TAF et |
---|
73 | 1) regarder les directives TAF présentes en en-tête de sechiba_init_alloc ??? |
---|
74 | 2) 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 |
---|
85 | exemple : |
---|
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 : |
---|
103 | bin/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 | |
---|
121 | Pour automatiser la création du modÚle modifier, on doit re-travailler le |
---|
122 | script launch_preproc.ksh. On aura l'arborescence classique |
---|
123 | aprÚs récupération du modÚle avec util/model |
---|
124 | puis installation standard des Makefiles avec util/ins_make. |
---|
125 | A partir de cette arborescence, l'idée est de simplifiée la production |
---|
126 | et la compilation du modÚle pour TAF avec l'arbo modipsl suivante : |
---|
127 | modipsl: |
---|
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 |
---|
141 | et 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 |
---|