source: trunk/MESOSCALE_DEV/NOTES.txt @ 578

Last change on this file since 578 was 577, checked in by aslmd, 13 years ago

MESOSCALE: minor commit : def files; a small correction in runmeso; cosmetic in module_lmd_driver; nircorr=0 default for MESOSCALE in inifis.

File size: 17.1 KB
Line 
1
2quand on rajoute une variable dans Registry il faut absolument recompiler avec
3-f total. enlever Registry et faire Regitry.bash ne sufit pas. sinon il met un
4e erreur absurde avec le fait que les dx ne matchent pas.
5
6
7********************************* compilation API
8Il fallait faire trois choses:
91) Spécifier le chemin vers la librairie NetCDF grâce à l'option --include-paths de f2py, autrement dit ajouter:
10--include-paths $NETCDF/include:$NETCDF/lib
112) Ceci entrainait un bug:
12"readfortrancode: could not find include file" car une partie de la routine crackfortran.py du paquet EPD était mal écrite; j'ai installé la nouvelle version de EPD (7.2) et ce premier problème fut écarté car ils ont corrigé les lignes correspondantes dans crackfortran.py;
133) Autre bug:
14"libnetcdf.a: could not read symbols: Bad value > collect2"
15L'ajoût de l'option --with-pic lors de la compilation de NetCDF résout le problème. Autrement dit, il faut faire:
16./configure --with-pic ...
17Cette option permet de créer un "position independent code, needed for shared libraries". Je ne comprends pas exactement ce que ça veut dire, mais maintenant ça marche!
18*******************************
19
20NE PASE UTILISER NOMBRES NEGATIFS DANS LE CAS HILL !!!!
21>>> OK
22
23il faudrait parler du staggering U et V et de sa solution avec api
24
25pour les trucs octave il faut executer dans octave en interactif
26
27https://bi.offis.de/wisent/tiki-index.php?page=WRF-gFortran
28
29
30
31solved with openMPI !!!!
32beware of use of openMPI with NFS
33faster with local disks
34
35NOUVELLE FERME
36- OK avec pgf_64_single
37- OK avec mpi_64 sur 1 proc
38- pas OK avec mpi_64 et 4 proc
39  cas Hellas crashe entre la sortie 9 et 10
40  .... fastsse ou pas ne change rien [mpich fast dans les deux cas]
41  .... changer radt ne fait que retarder
42  .... baisser le pas de temps pose probleme plus tot
43  .... ne marche pas en phasant les options WRF avec les options LMD physics
44  .... avec fastsse partout (mm MPI), crash ds la sortie 2
45  .... option de base SVN avec mpich sans fast, marche pas non plus crashe entre 9 et 10
46  .... iradia=1 ne change rien, toujours le probleme
47  .... la simulation tourne lorsqu'on fait callrad = F
48  .... test avec Mbounds ne renvoie aucuune erreur
49  .... test avec juste -Ktrap=fp et rien d'autre renvoie aucune erreur
50  .... semble OK avec iaervar=1, probleme dans meso_dustopacity ??? ou avec la lecture NETCDF ???
51  .... crashe direct avec WHERE_MPI=/donnees/aslmd/MPI/mpich2-1.3.1_normal/bin
52  .... alors que ca passe nickel avec iaervar=1
53  .... crashe direct avec mes librairies netcdf3.6.1 compilees avec le dernier pgf2011
54  .... ne crashe pas direct avec mes librairies netcdf4.0.1 compilees avec le
55         dernier pgf2011 et les options utilisees dans le modele ajoutees aux options
56         dans la librairie compilee dans /distrib/local
57       mais crashe entre la sortie 9 et 10 comme les autres !!!!
58  .... marche bien aussi avec iaervar=3... probleme de lecture netcdf ???
59  .... experience: on a iaervar=4 mais juste apres readtesassim
60       on regle tauref a 0.3 et ca passe. donc ce n est pas un bug structurel.
61       les valeurs lues ne sont probablement les bonnes soit par probleme
62       dans le fichier soit par probleme structurel dans readtesassim
63  .... pourtant en affichant les valeurs on ne voit pas de pb particulier !
64  .... en changeant le nom hfx en sensheat et en enlevant z0 qui pose un pb
65       avec l'ancienne physique, ca ne marche toujours pas.
66  .... crash: semble stocker les variables qui sortent de la physique OK
67       mais le reste, par exemple tsurf, est NaN c'est bizarre
68  .... avec ndomainsz=ngridmx le modele va plus loin et crashe le second jour
69       a la sortie 2
70  .... mm comportement sur ulrich que sur penn
71  .... avec mcmodel crashe tout de suite
72  .... idem en invalidant les options d optimisation dans WRF et LMD phys [non en fait il faut enlever dans MPI]
73  .... test avec netcdf3: marche pas. mais ne faut-il pas enlever toutes les options?
74  .... avec aucune option d'optimisation et netcdf3: Nan avant la sortie 2
75  .... avec aucune option d'optimisation et netcdf4: va plus loin mais NaN entre 9 et 10
76  .... options d'optimisation en -O3 toujours le mm probleme
77  .... toujours le mm probleme mm avec ulimit -s unlimited
78
79  .... test qui donne des sortie 2 des NaN en recompilant avec -fast partout
80       avec mpirun -np 1, aucun souci tout va bien
81       avec mpirun -np 8, souci egalement des la sortie 2
82       ... visiblement un souci avec readtesassim ???
83       .... MAIS NON CAR SOUCI AUSSI AVEC iaervar=1 avec 8 procs
84       .... ALORS QUE PAS DE SOUCI AVEC iaervar=1 avec 4 procs
85export NETCDF=/donnees/aslmd/MODELES/MESOSCALE_DEV/NETCDF/pgfortran_64_netcdf-4.0.1_fast
86export WHERE_MPI=/donnees/aslmd/MPI/pgfortran_mpich2-1.3.1/bin
87  .... corrections readtesassim ne semblent rien changer...
88  .... sorties frequentes permettent de voir que le probleme est localisee
89       mais rempli tres vite le domaine
90       avec dt=40s probleme apparait au bout de 700s
91       avec dt=10s probleme apparait au bout de 300s
92       avec dt=100s problemen apparait au bout de 1200s
93       ... visiblement le probleme apparait aux jointures des domaines ?
94       ... probleme sur le vitesse verticale calculee ???
95       ... visiblement non puisque mm comportement avec non_hydrostatic ou W est normal
96       ... apparemment il s'agit vraiment d'une instabilite numerique
97       ... mettre les tendances R..BLEN a 0 ne change rien...
98       ... changer dimradmars n'arrange pas en fait lorsquon met des sorties frequentes
99       ... bizarre un des 4 processes wrf.exe passe en D quelques fois ????
100... ne marche pas avec les options de compilation de WRF3 !!!
101     (mais domain met moins de temps a compiler)
102... toujours le mm probleme en acces local disque
103
104... mpich compile sans fast crash entre sortie 1 et 2
105    mpich compile avec fast crash entre sortie 9 et 10
106... mpich2-1.4.1 compile avec fast crash entre sortie 9 et 10
107
108
109TEST AVEC DEBUG
110  .... s'arrete au beau milieu d integrations sans sortir de message d'erreur
111TEST AVEC LES POUR VOIR SI PB CORRIGE AVEC WRF3
112  .... rsl_lite ne compile pas avec l'option -fast
113  .... OK avec nofast_nemesis version compilee de mpich2
114TEST avec le vieux mpich2... CRASH aussi entre la sortie 9 et 10
115
116memes erreurs avec RSL_LITE de WRF3
117alors qu il compile sans souci chez LES
118.... un probleme d'options de compilations ????
119.... pendre direct la librairie compilee chez WRF3 ???
120LES: run OK
121juste des NaN a la toute fin...
122
123peut etre faut il regler dans WRFV2 les warnings relies a la compilation de rsl_lite
124------- il y a probablement des choses a corriger
125------- coupler avec gcc [-CC=gcc] comme dans LES ????
126.... mais lorsqu on utilise le vieux mpi compile avec pgf7 pas de warnings !
127
128
129...le debugger voir une floating exception sur lwtt dans la boucle avec kdlon
130...avec les options debug le modele semble aller loin OK --> a verifier??
131...les warnins a la compilation ont ils de l importance ?
132...le fait que netcdf4 ne soit pas supporte ???
133...longue compil sur module_domain....
134
135...des pistes ici
136http://www.mmm.ucar.edu/wrf/users/wrfv3/known-prob-3.0.1.html
137
138fonctionne avec le vieux mpi dans pgf2011 [et netcdf4]
139mais les jobs ne sont pas a 100% sur les procs
140probleme donc... c est tres lent
141
142test basique avec WRFV2.2.1 et le cas em_quarter_ss et mpipgf
143memes resultats avec un proc ou plusieurs
144pas de crash
145
146
147---------------------------------------------------------------------------------
148
149--- sur nouvelles machines problemes run parallele avec nouvelle physique
150
151--- makegcm_g95 ne marche pas avec -no-second-underscore
152    marche sans et semble compiler correctement
153    ne compile pas les exec avec mais OK pour liblmd.a
154
155--- conflits quelque soit la combinaison (f-no-second-underscore ou pas) lors
156de la compilation du dynamical core WRF avec g95 64 bits
157http://forum.wrfforum.com/viewtopic.php?f=5&t=3467
158
159--- absurde: fonctionne avec les librairies NETCDF gfortran compilees par
160Ehouarn sur auric
161et en remplacant readtesassim par le vieux readtesassim
162dans ce cas meme testphys1d.e compile correctement
163... il y a quelques erreurs netcdf dans la physique visiblement ss conseq [testphys1d compile....]
164... surveiller tout de meme, en rapport avec ncf90
165... faut-il enlever #include netcdf.inc dans readtesassim soit dit en passant?
166
167
168gfortran https://bi.offis.de/wisent/tiki-index.php?page=WRF-gFortran
169---> MAIS GROS PROBLEMES (time mgmt and seg fault)
170
171
172cc-----------------------------------
173cc you can still use meso_WRITEDIAGFI (e.g. for debugging purpose),
174cc though this is not the default strategy now
175cc-----------------------------------
176cc please use cudt in namelist.input to set frequency of outputs
177cc-----------------------------------
178cc BEWARE: if at least one call to meso_WRITEDIAGFI is performed,
179cc cudt cannot be 0 - otherwise you'll get a "Floating exception"
180cc-----------------------------------         
181!      call meso_WRITEDIAGFI(ngrid,"tauref",
182!     .  "tauref","W.m-2",2,
183!     .       tauref)
184!      call meso_WRITEDIAGFI(ngrid,"zt",
185!     .  "zt","W.m-2",3,
186!     .       zt)
187!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
188!!!!! note WRF MESOSCALE AYMERIC -- mot cle "caps"
189!!!!! watercaptag n'est plus utilise que dans vdifc
190!!!!! ... pour que la sublimation ne soit pas stoppee
191!!!!! ... dans la calotte permanente nord si qsurf=0
192!!!!! on desire garder cet effet regle par caps=T
193!!!!! on a donc commente "if (caps.and.(obliquit.lt.27.))" ci-dessus
194!!!!! --- remplacer ces lignes par qqch de plus approprie
195!!!!!      si on s attaque a la calotte polaire sud
196!!!!! pas d'autre occurrence majeure du mot-cle "caps"
197!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
198
199
200kvdif ne sert a rien dans le mesoscale martien, en raison de l'appel a la
201physique et MY
202
203Venus_est_dans_SOURCES_FORTRAN
204
205adapter runmeso pour les runs ideal et les ???
206
207faire comme storm mais avec les pour eviter les recouvrements
208user manual
209
210changer la gestion topo dans LES comme fait dans modele general
211
212        13min_si_Registry_modifie     
213        15min_makemeso_moins_f       
214        1min_phys_plus_dyn_chgtresol 
215
216        PD_SCALAR est T par defaut desormais !!
217
218
219        il faudrait regler le prob du Registry dans le LES
220il y a un souci avec les variables liees a l'eau et d'autres
221
222        ---anciennes notes lES sur gnome pb avec ideal.exe
223        ## jusque 201 OK avec ideal.exe sequentiel
224        ## ensuite il vaut mieux utiliser
225        ## mpirun -n 4 ideal.exe
226        ## le MP_STACK_SIZE est dans le bashrc
227
228
229
230concat.e puis localtime.e puis
231localtime.e (tres long) puis concatnc.e pour avoir en ls
232le resultat doit etre strider a 10... sinon bug affichage
233
234ncwa -O -v mtot,icetot -a longitude -d longitude,-179.0,179.0 diagfi.nc yeye.nc
235ncwa -O -v mtot -a longitude -d longitude,-180.0,180.0 concat_LT.nc mawd.nc
236(si trop gros faire ncrcat -v mtot -d Time,,,2 concat_LT.nc yorgl.nc)
237
238resumee
239--> localtime.e tres long
240--> concatnc.e en ls tres court
241--> renomme le fichier
242--> ncwa -O -v mtot,Time -a longitude -d longitude,-180.0,180.0 gcm_LT14_a035.nc mawd_a035.nc
243
244        A FAIRE:::: mettre des flags precompilo dans les meso_
245        les reporter dans makegcm
246
247changer le renormalisation dans aeropacity ????
248on ne laisse pas aerosol comme le lifting veut qu'il soit !
249tenter des taux de soulevement pour que taudust_tmp soit les obs
250en prescivant une dust bomb fixe d opacite, on aura au moins la structure verticale
251
252        tester traceurs radiativement actifs avec la nouvelle physique ?????
253
254        A FAIRE: PB LES sur iDATAPLEX (les points HFX nuls) (pas de soucis sur ciclad)
255METTRE SUR LE svn LA BASE d'ETATS INITIAUX ????
256
257more than 4 procs w/ nest ??? y reflechir
258        -----------------------------------------------------------------------
259        -- si possible comment determiner taille ?
260        nproc doit diviser e_we-1 (1er nest)
261        grid_ratio doit diviser e_we-1 +4 (1er nest)
262        soit e_we=ye+1
263        grid_ratio divise ye+4 et nproc divise ye
264        soit nproc=8, ye=8*i
265        ainsi il existe j tel que 8i + 4 = 3j ou encore 4*[2i+1] = 3j
266        verifie par exemple si 2i+1 est multiple de 3
267        il suffit donc de trouver un multiple impair de 3 et de deduire i
268        par exemple 2i+1=33 >>>> i=16
269        >>>> e_we = 129 pour le 1er nest (et ajouter 4 pour les suivants)
270        ------------------------------------------------------------------------
271
272        ne pas utiliser le FASTCASE avec traceurs (instabilites en haut)
273            ces instabilites sont cependant reglees si on augmente radt a 10 par exemple
274
275        pour le cycle de l'eau c'est OK de regler caps=F dans le mesoscale
276        sauf si on commence a devoiler la calotte permanente nord
277        ---> corrige, scenario caps specifique au mesoscale
278
279        NE SERAIT-CE PAS MIEUX DE TOUT TRANSMETTRE AUX BORNES ???
280        tous les traceurs, pas seulement vapor
281
282
283        - attention il faut les trois MARS sinon il s arrete sans message clair
284        - attention a ne pas lancer le modele s il est deja lance
285        - important que pd_scalar soit a T ... le mettre par defaut ????
286
287
288ROUTINES a AJOUTER sont dans COMMON_GCM
289- passer aux nouveaux makegcm [en commun avec Ehouarn si on veut le nouveau
290  readtesassim qui est en F90]
291- il faut tester le nest pour verifier les lignes trop longues
292
293        (ok) lier gr_fi_dyn qui est dans dyn3d
294        (ok) regler le pb du nouveau readtesassim (ou alors le lier tout simplement ou
295          l'appeler meso_readtesassim)
296        (ok) regler le pb meso_dustlift (le lier dans makemeso comme point precedent)
297             (car le souci c que dustlift est appele dans vdifc)
298
299        [c fait normalement]
300        RESTE a ADAPTER le LES a la NOUVELLE PHYSIQUE
301        il y a normalement peu a faire
302        reste a faire egalement le -DNEWPHYS pour le LES
303
304        attention pb d'affichage des valeurs dans le fichier texte avec LES ???
305        bien que les valeurs du fichier soient tout a fait raisonnables
306        ... n'est-ce pas un effet de bord cache ????
307
308
309        apres fusion, le LES est reconnu par module_lmd_driver lorsque diff_opt=2 km_opt=2
310
311
312        -attention PB si on ne sort pas HFX et USTM (note dans le Registry)
313        -il faut run.def nouvelle physique [c est meme ce qui est utilise par runmeso]
314        - IL FAUT SE PENCHER SUR LE FAIT QU'ON INDIQUE q2val=0 dans lmd_driver ....
315
316-----------------------
317ATTENTION NOUVELLE PHYSIQUE
318Oui, c'est quelque chose qu'il faut probablement changer partout
319maintenant que la version de pgf90 à changé (sur les machines du LMD).
320Avec cette nouvelle version (7.1-6), le '-fast' est plus agressif
321qu'avant (et inclue entre autre les horribles '-Mvect=sse -Mscalarsse'
322qui dégradent la précision de certains calculs pour accélérer le code);
323je préconise de ne plus s'en servir. Bon d'accord, je n'ai pas fait une
324étude approfondie de l'impact de '-fast', mais j'ai vu qu'avec,
325j'obtenais des résultats différents lorsque je changeais simplement
326l'ordre des traceurs...
327
328Aymeric Spiga wrote:
329> je détecte ces changements d'option de compilation ; ont-ils de
330> l'importance ?
331>
332> Aymeric
333>
334> < #   set optim90=" -fast"
335> < #   set optimtru90=" -fast -c -Mfree "
336> < #   set optim90=" -O2 -Munroll=c:1 -Mnoframe -Mcache_align"
337> < #   set optimtru90=" -O2 -Munroll=c:1 -Mnoframe -Mcache_align"
338> <    set optim90=" -O2 -Munroll -Mcache_align"
339> <    set optimtru90=" -O2 -Munroll -Mcache_align"
340> ---
341>   
342>>    set optim90=" -fast"
343>>    set optimtru90=" -fast -c -Mfree "
344------------------------------
345
346
347        - attention a cp et R, normaliser une bonne fois pour toutes
348        - il manque sur le SVN les cas idealises
349- il manque sur le SVN les scripts MPI
350        - il faut recompiler les librairies NETCDF
351        - mettre la nouvelle physique
352        - mettre les DEF du meso-echelle
353
354        - modele ok sur auric
355- modele pas ok sur ciclad avec pgf2010, erreur inedite un seul module manquant
356        - modele LES OK sur ciclad
357        - modele LES ok sur auric
358
359        24/01/2011
360        tests g95 en 64bits natif sur systeme Linux
361        -- modifications de makemeso, tests
362        -- tout est OK sauf les libraires NETCDF, probleme d'underscore
363        -- OK avec libraires maison compilees avec g95 standard sur flores [et tourne OK]
364
365
366
367        mpi_64_pgf7_ncdf4_mpi1.2.txt
368        - probleme lors de la compilation de solve_em : LINUX runs out of memory [huchard]
369        - IL FAUT COMPILER SUR auric
370        nougaro est lent a la compilation, utiliser surtout auric
371
372
373
374
375______________________________________________________
376
377
378PB MPI
379/donnees/aslmd/MODELES/MPI/mpich2-1.2.1p1_PGF7/lib/libmpich.a(simple_pmi.o):
380In function `PMI_Init':
381simple_pmi.c:(.text+0x15c0): warning: Using 'gethostbyname' in statically
382linked applications requires at runtime the shared libraries from the glibc
383version used for linking
384/donnees/aslmd/MODELES/MPI/mpich2-1.2.1p1_PGF7/lib/libmpich.a(simple_pmi.o):
385In function `PMI_Init':
386simple_pmi.c:(.text+0x15c0): warning: Using 'gethostbyname' in statically
387linked applications requires at runtime the shared libraries from the glibc
388version used for linking
389/donnees/aslmd/MODELES/MPI/mpich2-1.2.1p1_PGF7/lib/libmpich.a(simple_pmi.o):
390In function `PMI_Init':
391simple_pmi.c:(.text+0x15c0): warning: Using 'gethostbyname' in statically
392linked applications requires at runtime the shared libraries from the glibc
393version used for linking
394/donnees/aslmd/MODELES/MPI/mpich2-1.2.1p1_PGF7/lib/libmpich.a(simple_pmi.o):
395In function `PMI_Init':
396simple_pmi.c:(.text+0x15c0): warning: Using 'gethostbyname' in statically
397linked applications requires at runtime the shared libraries from the glibc
398version used for linking
399
400
401POSSIBLE mars.sed
402
403s+ *../frame/module_internal_header_util.o ../frame/pack_utils.o
404-L../external/esmf_time_f90 -lesmf_time+& -L../mars_lmd/libo -llmd
405-Mmpi=mpich2+g
406
Note: See TracBrowser for help on using the repository browser.