source: trunk/MESOSCALE_DEV/NOTES.txt @ 357

Last change on this file since 357 was 343, checked in by aslmd, 13 years ago

MESOSCALE: previous problems do not appear when using openMPI instead of MPICH2.

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