source: trunk/MESOSCALE_DEV/NOTES.txt @ 525

Last change on this file since 525 was 514, checked in by aslmd, 13 years ago

MESOSCALE_DEV: cleaning things included in the user manual.

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