source: trunk/MESOSCALE_DEV/NOTES.txt @ 342

Last change on this file since 342 was 341, checked in by aslmd, 14 years ago

MESOSCALE: tests pour faire marcher le modele en parallele sur la ferme. toujours infructueux... toutes les notes incluses et options explorees en commentaire. les options par defaut restent les memes en attendant. ajout de scripts pour compiler NETCDF et MPI. correction d un probleme de Registry et de makemeso pour les runs LES ancienne physique. ajout d un cas test LES phoenix.

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