source: trunk/DOC/chantiers/commit_importants.log @ 1650

Last change on this file since 1650 was 1650, checked in by emillour, 8 years ago

Dynamical core: Further adaptations to stick with LMDZ5 (up to rev r2750)

  • libf
  • makelmdz[_fcm] : added Earth-specific "dust" and "strataer" cases and

-arch_path option

  • bld.cfg : added dust and strataer cases
  • dyn3d[par]
  • conf_gcm.F90 : added read_orop parameter (Earth-related) for

loading subgrid orography parameters.

  • guide[_p]_mod.F90: added output of nudging coefficients for winds

and temperature

  • temps_mod.F90 : cosmetics/comments
  • logic_mod.F90 : cosmetics/comments
  • dyn3d_common
  • comconst_mod.F90 : cosmetics/comments + added year_day module variable
  • conf_planete.F90 : added year_day from comconst_mod as done in LMDZ5
  • comvert_mod.F90 : cosmetics/comments
  • infotrac.F90 : added "startAer" case to follow up with LMDZ5
  • misc
  • wxios.F90 : follow up on changes in LMDZ5

EM

File size: 79.3 KB
Line 
1**** commit_v5 ****
2
3** ADAPTATION GCM POUR CP(T)
4**--------------------------
5
6* Ajout d'un fichier cpdet.F contenant toutes les routines nécessaires à
7  l'utilisation de Cp(T)
8  -> routines ini_cpdet, t2tpot, tpot2t
9  -> fonction cpdet(t)
10
11* Du coup, suppression de tous les cpdet.* de phytitan et phyvenus
12
13* Modif de gcm.F : initialisation ini_cpdet ajoutée
14
15* Modif de comconst.h : ajout de nu_venus et t0_venus
16
17* Modif de caldyn0.F :
18    - dimensions de pk (ip1jmp1 à la place de iip1,jjp1)
19    - ajout de temp et tsurpk
20    - calcul de temp (tpot2t) et tsurpk
21    - passage de tsurpk à la place de teta dans sortvarc0
22   
23* Modif de caldyn.F :
24    - passage de tsurpk en argument
25    - dimensions de pk (ip1jmp1 à la place de iip1,jjp1)
26    - ajout de temp
27    - passage de tsurpk à la place de teta dans dudv2
28    - passage de tsurpk à la place de teta dans sortvarc
29
30* Modif de calfis.F :
31    - ajout de zteta et zpk
32    - calculs de zteta et zpk
33    - calcul de ztfi via tpot2t
34    - mise en commentaires de pcvgu/v/t/q car ne servent pas...
35    - (ajout commentaire sur traceurs intensifs)
36    - modification du calcul de pdhfi
37
38* Modif de diagedyn.F :
39  (même si c'est une routine pure Terre, pour l'instant)
40    - calcul de la temperature
41    - remplacement de RCPD par cpdet(T)
42
43* Modif de leapfrog.F :
44    - ajout de temp et tsurpk
45    - calcul de temp (tpot2t) et tsurpk (3 endroits)
46    - passage de tsurpk à la place de teta dans geopot (3 endroits)
47    - passage de tsurpk en argument de caldyn
48    - calcul de dtetaecdt
49
50* Modif de vlspltqs.F
51    - modif taille de tempe
52    - calcul de tempe (via tpot2t)
53
54
55** APPEL DE LA PHYSIQUE
56**----------------------
57
58* Modif de calfis.F :
59    - on appelle physiq comme pour Venus et Titan quand on n'a pas la
60      clé CPP_EARTH
61    - j'ai enlevé le mot clé planet_type, ça fait double emploi, non ?
62    - j'ai laissé nqtot dans les arguments d'appel à physiq... A reverifier.
63
64**** commit_v6 ****
65
66* Modif de defrun.F : commentaire indiquant qu'il ne sert plus donc pas a jour !
67
68* Modif de dynredem.F : correction faute orthographe dans commentaire
69
70** IOIPSL, real8 vs real4
71**-----------------------
72
73J'élimine ce truc bancal. Il faudra compiler IOIPSL en double précision.
74Du coup, pas de modifs spécifiques dans dyn3d. Par contre, il faudra éliminer
75ça dans les physiques !
76
77
78** Nombre de traceurs
79**-------------------
80
81* Modif de infotrac.F90 :
82    - definition de type_trac
83    - definition de nqtrue depend de planet_type
84    - lecture de traceur.def depend de planet_type
85
86* Modif de addfi.F :
87    - separation des traceurs 1 et 2 pour qtestt/qtestw valable seulement
88      pour planet_type=earth
89
90* Modif de caladvtrac.F :
91    - deplacement du test sur planet_type pour virer tout ce qui concerne
92      dq quand on n'est pas sur Terre
93
94* Modif de calfis.F :
95    - ajout d'une remarque concernant pdq...
96
97
98** Avec ou sans advection de traceurs
99**-----------------------------------
100
101Reglé grace à iadv lu dans traceur.def: si 0, pas advecté.
102Sans traceurs, on a donc un seul traceur dummy, non advecté, mais
103écrit dans start.nc et trimbalé partout...
104
105
106** Homogeneisation des .def
107**-------------------------
108
109* Modif des deftanks/[titan/venus]/[gcm/physiq/run].def :
110    - ajout planet_type
111    - passage des cles physiques vers physiq.def
112    - homogeneisation des parametres
113
114* Modif de conf_gcm.F :
115    - ok_strato mis à true par defaut
116
117* Modif de clesph0.h :
118    - ajout d'un commentaire: il faut virer ce fichier, ne sert plus a rien.
119
120
121** Homogeneisation de bilan_dyn
122**-----------------------------
123
124* Modif de leapfrog.def :
125    - premier appel: il y a first, deplacement de first=.false., elimination prem
126    - ajout d'initialisations
127    - ajout des tendances de la couche superieure (d*top)
128    - elimination itau_w (ne sert pas)
129    - couche superieure: ajout addfi séparé
130    - passage des d*dis en */s
131    - appel bilan_dyn
132
133* Modif de bilan_dyn.def :
134    - modification appel (pour sortie des tendances en moment cinetique)
135    - ajout tendances du* en m/s2
136    - ajout variables pour transport vertical
137    - ajout variables pour tendances en moment cinetique
138    - Champs advectés: base=6 (ovap est un traceur...),
139      en commentaire pour l'instant, les traceurs.
140    - introduction des calculs pour transport vertical
141    - introduction des calculs pour tendances moment cinétique
142    - présentation des déclarations
143    - facteur fact_geovenus=-1 pour Vénus
144    - petit ajustement possible pour ncum (problèmes de précision)
145    - élminination des sorties grads
146    - modif noms temp et ecin
147    - modif sur incrementation itau et time
148    - definitions et sorties:
149       limité pour l'instant à temp et ang, sans les psiQ
150       sans la somme en lat du transport vertical, à revoir (1D seulement?).
151    - modification calcul ang
152    - modification tpot2t
153    - correction sur fonction de courant psiQ
154
155
156** Choix de spécificités Terre dans gcm.F
157**---------------------------------------
158( certains appels ont été mis sous flag CPP_EARTH ou planet_type=earth alors )
159( qu'il sont aussi valables pour Venus et Titan...                           )
160( ils etaient sous flag IOIPSL avant...                                      )
161
162* Modif de gcm.F :
163    - appel de dynetat0 modulé selon planet_type (mars est un cas à part)
164    - appel de dynredem0 modulé selon planet_type (mars est un cas à part)
165    - appel de iniphysiq: a mettre sous cle CPP_PHYS pour cas sans physique
166
167* Modif de leapfrog.F :
168    - appel de dynredem1 modulé selon planet_type (mars est un cas à part)
169
170* Modif de calfis.F :
171    - appel de physiq: a mettre sous cle CPP_PHYS pour cas sans physique
172    - conservation de la possibilité de nsplit_phys
173    - ajout commentaire sur unité des tendances
174
175* Modif de conf_gcm.F :
176    - commentaires pour nsplit_phys
177
178
179**** commit_v7 ****
180
181* Mise à niveau (de la dynamique) par rapport à la version 1447 de LMDZ5
182* ----------------------------------------------------------------------
183
184* Pour l'instant, on n'a pas touché à dyn3dpar, donc pour l'instant on ne
185  fait que recopier les fichiers de la version 1447
186
187* Mise à jour de routines (dans dyn3d) qui n'ont changé que côté LMDZ5:
188- ener.h
189- grid_noro.F
190- iniacademic.F
191- integrd.F
192- limit_netcdf.F90
193
194* Mise à jour des routines qui ont changé des deux côtés:
195- addfi.F
196  * ajout d'un "USE control_mod, ONLY : planet_type"
197  * mise en forme du if (planet_type=="earth") à l'identique de la revision 1447 (pour être peinard vis-à-vis de futures diff).
198- caladvtrac.F
199  * ajout d'un "USE control_mod, ONLY : iapp_tracvl,planet_type"
200  * mise en conformité de la taille du tableau dq(ip1jmp1,llm,nqtot) et non pas dq(ip1jmp1,llm,2) (qui oblige à avoir au moins 2 traceurs...)
201  * mise entre if (planet_type=="earth") des calculs après advtrac (à nouveau, il faut avoir au moins 2 traceurs pour que ça ait un sens; et encore, ce morceau ne sert peut-être au final à rien).
202  * A nouveau ces modifs étaient déjà en partie déjà faites; j'ai juste remis en forme comme dans la révision 1447 pour rester homogène avec le code terrestre.
203- gcm.F
204  * Mise d'un #ifdef CPP_PHYS autoure de Init_Phys_lmdz et InitComgeomphy , au lieu du (bancal) #ifdef CPP_EARTH
205  * De même il faut bel et bien un #ifdef CPP_PHYS autour de iniphysiq & co.
206- infotrac.F90
207  * Ajout des modifs de forme et correction sur l'utilisation de trim() et taille des tableaux str1(23),str2(23)
208  * On garde un type_trac='plnt' pour les planètes (Attention, il faudra vérifier que ça ne casse rien par ailleurs et surtout n'est-ce finalement pas redoundant avec le planet_type?).
209- leapfrog.F
210  * Ajout des modifs/améliorations pour le cas académique sans physique
211   mais en utilisant dutop(),dvtop(), etc. pour le sponge layer
212   
213**** commit_v8 ****
214
215** ADAPTATION DYNAMIQUE PARALLELE AU CP(T)
216------------------------------------------
217
218Remarques:
219----------
220- Modifs non testées par une compilation/exécution du code; finalement s'organiser un mode de fonctionnement ou on peut compiler le code (au moins sans physique) est assez impératif.
221- On pourrait peut-être faire de cpdet.F90 un module...
222
223Retour sur leapfrog.F: (version séquentielle, dans dyn3d):
224----------------------
225- On revient en arrière sur l'utilisation de dutop(),dvtop(),dtetatop() au lieu des dufi(),dvfi() et dtetafi() pour les appels à top_bound. Dans la version terrestre, différente du sponge Martien (et Vénusien), ces tendances sont liées.
226=> A 'hamoniser' plus tard.
227
228Modifications (dans dyn3dpar):
229------------------------------
230
231* infotrac.F90 : recopié à l'identique depuis dyn3d
232
233* comconst.h : recopié à l'identique depuis dyn3d
234
235* caldyn0.F : recopié à l'identique depuis dyn3d
236
237* cpdet.F :
238  - création des routines t2tpot_p et tpot2t_p , versions // de t2tpot et tpot2t
239
240* gcm.F :
241  - on encadre les appels à Init_Phys_lmdz et Init_interface_dyn_phys par des #ifdef CPP_PHYS (et non plus ifdef CPP_EARTH).
242  - ajout de l'appel à ini_cpdet pour Cp(T)
243  - appel de dynetat0 modulé selon planet_type (Mars est le cas pathologique)
244  - appel à iniphysiq encadré par un #ifdef CPP_PHYS
245  - appel de dynredem0_p modulé selon planet_type (Mars est le cas pathologique)
246 
247* leapfrog_p.F :
248  - ajout variables temp et tsurpk
249  - ajout des calculs des hallos pour temp() et tsurkp() (NOTE POUR PLUS TARD: vérifier que c'est bien nécessaire...)
250  - utilisation tpot2t_p et calcul de tsurkp() avant appel à geopot_p (sans oublier de modifier argument de geopot_p, teta => tsurpk). (3 fois)
251  - ajout argument tsurpk dans l'appel à caldyn_p.
252  - ajout des passages en (m/s)/s des dudis , dvdis et dtetadis.
253  - calcul de dtetaecdt en passant par la température.
254  - changement des arguments de l'appel à bilan_dyn_p.
255  - appel de dynredem1_p modulé selon planet_type (Mars est le cas pathologique).
256
257* calfis_p.F :
258  - utilisation de la clef CPP_PHYS (et non plus CPP_EARTH).
259  - ajout des variables locales zteta et zpk.
260  - ajout calcul de zteta et zpk.
261  - calcul de ztfi via tpot2t_p (NOTE POUR PLUS TARD: vérifier que la taille "physique" du champ ne pose pas pb par rapport au découpage //).
262  - appel de la routine physiq selon planet_type.
263  - modification calcul de pdhfi.
264 
265* caldyn_p.F :
266  - ajout de tsurpk dans les arguments.
267  - passage de tsurkp à la place de teta dans dudv2_p.
268  - passage de tsurkp à la place de teta dans sortvarc.
269 
270* vlspltqs_p.F :
271  - modification de la taille de tempe (tempe(ip1jmp1,llm) au lieu de tempe(ip1jmp1).
272  - calcul de tempe via tpot2t_p (NOTE POUR PLUS TARD: probablement à revoir! Etrangement vlspltqs_p ne contient aucune instruction OpenMP !?! Il y a là un truc qui m'échappe...)
273
274* bilan_dyn_p.F : A FAIRE... (mis de côté pour l'instant car pas sûr que l'ancien bilan_dyn_p fonctionne en mode mixte mpi/omp, à vérifier d'abord, avant de tenter des modifs...)
275
276**** commit_v11 ****
277
27824/01/2011 ajout du modele meso-echelle martien, ancienne physique -- A. Spiga
279
280**** commit_v17 ****
281
28224/01/2011 ajout du module LES, ancienne physique -- A. Spiga
283
284**** commit_v37 ****
28527/01/2011 Remise en route chantier compilation -- Ehouarn
286- Modifs et corrections pour pouvoir compiler le gcm (en séquentiel, avec
287   makelmdz_fcm pour l'instant):
288 * ajout de fichiers 'arch' pour linux-64 (pour Bellonzi, avec ioipsl et en r8)
289 * modification de makelmdz_fcm, ajout de la clé CPP_PHYS si on compile avec
290   une physique
291 * correction de quelques typos/bugs révélés à la compilation:
292 - infotrac.F90 : supression des appels à 'lnblnk' (remplacés par len_trim)
293 - bilan_dyn.F : déclaration des variables znom3,znom3l,zunites3, planet_type
294 - cpdet.F : "use control_mod, ONLY: planet_type" mis aux bons endroits
295             (idem sur cpdet.F dans dyn3dpar)
296 - leapfrog.F : declaration de  ztetaec(), dtec, cpdet , itau_w, duspg()
297 - diagedyn.F : correction typo; attention dans diagedyn.F il y a du
298                include "../phylmd/YOMCST.h"
299                Ca va poser problème qd on change de physique....
300
301- Avec ces modifs, la compilation marche sans physque, avec ou sans ioipsl
302  et avec la physique terrestre phylmd.
303
304********************************************
305**** commit_v51 (et quelques autres...) ****
306********************************************
307
30829/01/2011 --- A. SPIGA
309
310Nouveautes LMD_MM_MARS - LMD_LES_MARS - LMDZ.MARS [dossier mars]
311
312Ce commit fait le bilan des chantiers d'uniformisation des diverses sources du mesochelle
313[tous les commits par "spiga" depuis le debut sont relatifs a ces chantiers]
314
315Chantiers acheves avec compilation et execution testees:
316
3171. le meme coeur dynamique peut maintenant etre compile avec ancienne ou nouvelle physique; option -p sur makemeso.
318
3192. la meme interface module_lmd_driver est partagee par LMD_MM_MARS et LMD_LES_MARS
320
3213. le meme libf est partage entre modele mesoechelle et gcm
322   les quelques routines qui different sont notees meso_ et integrees aux sources du gcm
323
324=====> De 4 version du modele + 1 version de la nouvelle physique, on passe a une seule version du modele
325meso-echelle dont la physique est automatiquement indexee sur les modifications effectuees dans le GCM
326[quelques routines mesoechelle mises a part]
327
328* Reste a tester LMD_LES_MARS avec la nouvelle physique. Modifications mineures attendues suite au point 2.
329* Reste a tester le nesting qui devrait induire des modifications dues a des lignes trop longues... ce sera transparent du point de vue GCM.
330
331********************
332**** commit_v52 ****
333********************
334
335********** chantier principal du commit
336********** --- version LMDZ5 qui fonctionne pour tests geantes
337********** --- prochaine etape, tests sur GNOME
338
339M      libf/dyn3dpar/comconst.h
340M      libf/dyn3dpar/conf_planete.F90
341ajout du flux de chaleur intrinseque: ihf
342[par defaut il est nul]
343
344M      libf/dyn3dpar/gcm.F
345changements cosmetiques
346[pour diff plus efficace avec version non par]
347
348M      libf/dyn3dpar/iniacademic.F
349possibilites de variations latitudinales
350de temperature plus originales
351[seulement pour planet_type.eq."giant"]
352
353M      libf/dyn3dpar/leapfrog_p.F
3541. ajout d'une tendance causee par le flux de chaleur intrinseque
355      (seulement prise en compte si planet_type.eq."giant")
3562. correction bugs problematiques a la compilation et au run
357--> probleme dans les boucles (l'indice etait llm et non l)
358--> ajout de SAVE pour les variables paralleles
359--> correction des declarations de variables manquantes
360
361M      libf/dyn3dpar/calfis_p.F
362correction d'une deuxieme parenthese manquante sur ALLOCATE(zteta(klon,llm))
363
364M      libf/phylmd/regr_lat_time_climoz_m.F90
365erreur a la compilation avec FCM... il s'agit d'une routine terrestre
366il y a visiblement un probleme avec o3_in
367en attendant, les lignes sont commentees avec !AS
368
369A      deftanks/giant  8 fichiers
370ajout de fichiers de configuration typiques pour les geantes gazeuses
371[experimental pour le moment... on est loin de jupiter]
372       --> comparaisons entre un run ancien [avec LMDZ5-dev sur SVN ipsl sans cp var]
373       et run avec version sur ce SVN planeto donne des resultats similaires
374
375********** pratique
376
377A      ioipsl
378A      ioipsl/compile_ioipsl.bash
379A      ioipsl/util 16 fichiers
380script et utilitaire pour compiler IOIPSL de facon independante
381il suffit d'executer ./compile_ioipsl.bash
382
383M      arch/arch-AMD64_CICLAD.path
384si IOIPSL a ete compile avec la methode precedente, les bons
385PATH sont definis dans ce fichier [le NETCDF est aussi OK]
386
387M      000-README-svn
388mise a jour options "svn status"
389
390M      mars/libf/phymars/meso_callkeys.h
391mise a jour mineure du fichier
392[ecri_phys etait defini mais pas dans la liste]
393
394
395********************
396**** commit_v54 ****
397********************
398
399
400--------------------------
401LMD_LES_MARS: Tests with new physics in unified frame
402M              53   mesoscale/LMD_LES_MARS/modif_mars/module_model_constants.F
403M              53   mesoscale/LMD_LES_MARS/modif_mars/module_first_rk_step_part1.F
404M              53   mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
405Modifications made to cope with new soil scheme
406
407M              53   mesoscale/LMD_MM_MARS/SRC/WRFV2/mars_lmd/libf/phymars/meso_physiq.F
408Commented aeronomars in old physics so that the model can compile with lots of grid points
409
410--------------------------
411LMD_MM_MARS: Implement tracers with the new physics. Test with JBM runs with 5 tracers
412               including radiatively active dust and water ice
413             TODO: propagate reading "traceur.def" and few initialisations from
414               testphys1d.F into module_lmd_driver.F
415
416M              53   mars/libf/phymars/dimradmars.h
417M              53   mars/libf/phymars/callradite.F
418Change it back to both dust and ice radiatively active
419
420M              53   mesoscale/LMD_MM_MARS/makemeso
421Allow to "fresh start" with the inclusion of "clean -a" in the script
422
423M              53   mesoscale/LMD_MM_MARS/SRC/WRFV2/Registry/Registry.EM
424M              53   mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/module_initialize_real.F
425M              53   mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/solve_em.F
426M              53   mesoscale/LMD_MM_MARS/SRC/WRFV2/main/real_em.F
427M              53   mesoscale/LMD_MM_MARS/SIMU/runmeso
428Added the option mars==11 with 5 tracers: CO2 H2Ovap H2Oice DUST DUSTN
429-- Note that the order matters for H2Ovap and H2Oice
430
431LMD_MM_MARS: Create a folder to run LMD GCM with exact same physics as mesoscale
432
433A               0   mesoscale/LMDZ.MARS/libf/phymars/physiq.F
434All files in mesoscale/LMDZ.MARS/libf are links except this one
435--> Because specific WRITEDIAGFI commands are set to output what is needed PREP_MARS
436--> Something must be done so that qCO2, qdust, qdustN can be propagated too !!!
437
438A               0   mesoscale/LMDZ.MARS/libf_gcm
439A               0   mesoscale/LMDZ.MARS/in_lmdz_mars_newphys
440Two important links that must not be broken
441
442A               0   mesoscale/LMDZ.MARS/myGCM
443This folder is for runs. Only links here -- except temp files which are not synchronized.
444
445M              53   mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/compile
446A               0   mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/run.def
447A               0   mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/traceur.def
448M              53   mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/callphys.def
449A               0   mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/callphys.def.csttau
450Those files are needed to run the GCM in order to prepare initial & boundary
451   conditions for the mesoscale... but basically it is the exact same GCM
452--> compile is a convenient script
453
454A               0   mesoscale/LMDZ.MARS/makegcm
455A               0   mesoscale/LMDZ.MARS/makegcm_g95
456A               0   mesoscale/LMDZ.MARS/create_make_gcm
457This is supposed to be merged one day with files in trunk/mars/
458
459A               0   mesoscale/LMDZ.MARS/myGCM/DEFS_JB
460Necessary files to restart a GCM run corresponding to new water cycle in JB's thesis
461
462**** commit_v65 ****
463-- 16/02/2011 -- EM , Mise a niveau par rapport à la version terrestre
464                      (LMDZ5V2.0-dev rev. 1487)
465* Mise à jour des scripts (terrestres) 'makegcm' et 'create_make_gcm'
466* Ajout du script 'makelmdz' (version "améliorée", en Bash, de makegcm)
467* Mise à jour des routines dans phylmd (sauf regr_lat_time_climoz_m.F)
468
469* disvert (dans dyn3d et dyn3dpar): passage au Fortran 90
470* parallel.F90 (dyn3dpar): correction bug
471* etat0_netcdf.F90 (dyn3d et dyn3dpar) : mise à jour mineure
472* ce0l.F90 (dyn3dpar) : correction bug
473* abort_gcm.F (dyn3dpar) : correction bug
474* ugeostr.F90 (dyn3d et dyn3dpar) : passage au Fortran 90
475* fluxstokenc_p.F (dyn3dpar) : correction bug
476* iniacademic.F90 (dyn3d et dyn3dpar) : passage au Fortran 90
477* friction_p.F (dyn3dpar) : correction bug
478* infotrac.F90 (dyn3d et dyn3dpar) : correction bug mineur sur lecture traceurs
479* caladvtrac.F (dyn3d) : modifications cosmétiques
480
481********************
482**** commit_v76 ****  etape importante d'une serie de commit sur les traceurs dans le mesoscale
483********************
484
485LMD_MM_MARS: remise a plat du traitement des traceurs terminee
486             [en particulier en vue de l'utilisation nouvelle physique]
487             --> fonctionnement concluant sur un cas Tharsis hydro 61x61x61
488             --> ne pas utiliser le cas FASTCASE trop instable avec traceurs
489             --> reste a tester l'effet d'especes radiativement actives
490
491             options dans namelist.input :
492             mars = 0   ---> pas de traceurs
493             mars = 1   ---> cycle de l'eau : water vapour + ice
494             mars = 2   ---> cycle poussieres : un dust bin
495             mars = 3   ---> cycle poussieres : dustq + dustn [NOUVELLE PHYS seulement]
496             mars = 11  ---> cycle de l'eau + poussieres [1+3] [NOUVELLE PHYS seulement]
497                  NB: pour les deux derniers, reste un petit travail mineur sur qsurf
498                                                 (voir dans module_lmd_driver.F)
499             il faut definir conjointement le callphys.def associe et relancer real.exe
500                         (sinon on transporte juste dynamiquement des 'dummy' traceurs)
501             il n'est necessaire de recompiler que si le nombre total de traceurs change
502
503Fichiers a mettre a jour si l'on ajoute une option "mars" dans le Registry
504--------------------------------------------------------------------------
505Attention suivant les inputs GCM, il faut peut etre egalement changer
5061. readmeteo.F90 dans PREP_MARS et 2. METGRID.TBL dans WPS/metgrid
507
508M               75   mesoscale/LMD_MM_MARS/SRC/WRFV2/Registry/Registry.EM
509---> definition du scenario et de l'ordre des traceurs dans SCALAR
510
511M               75   mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/module_initialize_real.F
512---> definition des interpolations verticales des champs de traceurs venant du GCM
513
514M               75   mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/solve_em.F
515---> definition du traitement a reserver aux bornes
516---> --- dans les 4 scenarios precites, on passe aux bornes les champs du GCM
517         [y compris QH2O_ICE contrairement a ce qui etait par defaut precedemment]
518---> --- les lignes relatives a un flux nul aux bornes sont laissees a un cas hypothetique mars>50
519
520M               75   mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
521---> definition de l'ordre correct des traceurs pour le passage a la physique
522---> recuperation des tendances de la physique pour passage a la dynamique
523---> NB: c'est dans ce module que sont presents des STOP si mars = 4-10 ou mars > 11
524         .... il faut donc modifier si l'on ajoute des options
525
526M               75   mesoscale/LMD_MM_MARS/SRC/WRFV2/main/real_em.F
527---> definition et calcul des champs a appliquer aux bornes
528---> generalise desormais, il n'y a plus qu'a ajouter d'eventuelles nouvelles options 'mars'
529---> .... des modifications sont necessaires si on passe plus de 4 traceurs aux bornes
530
531M               75   mesoscale/LMD_MM_MARS/SIMU/runmeso
532---> definition du bon nombre de traceurs dans la compilation de la physique puis l'execution
533     [l'option mars est lue par le script dans namelist.input]
534
535Fichiers tests
536--------------
537A                0   mesoscale/TESTS/newphys_tracers/*
538---> pour la nouvelle physique (ici seulement les fichiers def)
539---> toutes les options precitees ont ete testes avec succes a l'execution [pas de crash]
540---> ... plausibilite physique verifiee rapidement, PAS d'ANALYSE APPROFONDIE pour le moment
541
542A                0   mesoscale/TESTS/LMD_MM_MARS_TESTCASE_water.tar.gz
543---> pour l'ancienne physique (introduit precedemment mais n'avait pas ete synchronise)
544
545M               75   mars/libf/phymars/meso_dustlift.F
546NB: correction mineure, de facon a recuperer alpha_lift de initracer
547
548
549********************
550**** commit_v97 ****
551********************
552
553Serie de modifs Sebastien Lebonnois
554
555** Correction bug
556**---------------
557
558* Modif de bilan_dyn.F :
559    - bug à la ligne 915: jjm et non jjp1...
560
561** Modifs de dyn3d
562**---------------
563
564* Modif de leapfrog.F :
565    - ajout test pk monotone
566
567** Sortie des opacites plutot que des aerosols dans phytitan
568**----------------------------------------------------------
569
570* Modif de physiq.F :
571    - ajout de variables et d'un common (pour variables venant de radtitan)
572
573* Modif de ini/write_histmth.h
574    - sorties des opacites (thv* et khv*)
575    - commentaire de la sortie des q*
576
577** Reglage .def
578**---------------
579
580* titan/physiq.def :
581    - ajustement tx
582
583** Sorties IOIPSL
584**-----------------------
585
586* Modif de phy[venus/titan]/physiq.F
587    - suppression des REAL*4 lies aux sorties IOIPSL
588
589* Modif de phy[venus/titan]/[ini/write]_hist*
590    - suppression des variables intermediaires en REAL*4 lies aux sorties IOIPSL
591
592** nqmx remplace par nqtot
593**-----------------------
594
595* Modif de phytitan/
596  calchim.F,optci.F,optcv.F,pg3.F,physiq.F,phytrac.F,
597  radlwsw.F,radtitan.F,rdf.F
598
599* Modif de phyvenus/
600  phytrac.F,testphys1d.F
601
602** nettoyage
603**-----------------------
604
605* Suppression de phytitan/
606  calchim.dbleprec,calchim.spleprec
607
608** calendriers
609**-----------------------
610
611* Modif de dyn3d[par]/gcm.F:
612  - calendriers: il faut une option dans ioconf_calendar pour definir
613  les calendriers titan et venus
614  - pour definition jD_ref et jH_ref: avertissement pour Venus et Titan
615  - avertissement pour separation en annees
616
617* Modif de deftank/[titan/venus]/run.def
618  - ajout de calend => calend=titan ou venus
619  - ajout de anneeref et raz_date
620
621** Possibilite de tourner moins d'une journee
622**-----------------------
623
624* Modif de dyn3d[par]/leapfrog[_p].F
625  - ajout de la possibilite de tourner moins d'1 jour
626
627* Modif de dyn3d[par]/control_mod.F90
628  - ajout de less1day et fractday
629
630* Modif de dyn3d[par]/conf_gcm.F
631  - definition/lecture de less1day et fractday
632
633* Modif de deftank/venus/run.def
634  - ajout de less1day et fractday
635
636** suppression advtrac.h et control.h dans les phy*
637**-----------------------
638
639* Modif de : phy[venus/titan]/physiq.F
640  - remplacement de #include "advtrac.h" par USE infotrac
641  - remplacement de #include "control.h" par USE control_mod
642
643* Modif de : phy[venus/titan]/phytrac.F
644  - remplacement de #include "advtrac.h" par USE infotrac
645  - remplacement de #include "control.h" par USE control_mod
646
647* Modif de : phy[venus/titan]/phyredem.F
648 - remplacement de #include "control.h" par USE control_mod
649
650** ajustements lecture des .def
651**-----------------------
652
653* Modif de phy[titan/venus]/conf_phys.F90
654  - ajout de tous les parametres transferes de gcm.def dans physiq.def
655  - utilisation de ecritphy:
656       pour Venus, frequence de sortie dans mth et ins
657       pour Titan, frequence de sortie dans ins
658  - suppression de zzz
659
660* Modif de phy[titan/venus]/clesphys.h
661  - mise a jour des declarations necessaires
662
663** Elimination de clesphy0
664**-----------------------
665
666* Modif de : phy[titan/venus]/phyetat0.F
667  - elimination de clesphy0, longcles
668
669* Modif de : phy[titan/venus]/physiq.F
670  - elimination de clesphy0, longcles
671
672* Modif de dyn3d[par]/
673  calfis.F, ce0l.F90, conf_gcm.F, gcm.F, leapfrog.F
674  - elimination de clesphy0, longcles
675
676** Ajustement format .h
677**-----------------------
678
679* Modif de phy[titan/venus]/clesphys.h (clesphys.inc elimine)
680
681* Modif de phy[titan/venus]/YOMCST.h (YOMCST.inc elimine)
682
683* Elimination de tous les YOETHF dans phy[titan/venus] et nettoyage de suphec.F
684
685* Elimination de tous les FCTTRE dans phy[titan/venus]
686
687* Modif de : phytitan/comorbit.h (comorbit.inc elimine)
688
689** Controle de la remise a zero des varc
690**-----------------------
691
692* Modif de dyn3d[par]/sortvarc.F
693  - ajout firstcal
694  - ajout flag pour controle (resetvarc)
695  - correction pour avoir le moment cinetique total absolu
696
697* Modif de dyn3d[par]/conf_gcm.F
698  - ajout flag pour controle (resetvarc)
699
700* Modif de dyn3d[par]/control_mod.F90
701  - ajout de resetvarc
702
703* Modif de deftank/venus/run.def
704  - ajout de resetvarc
705
706* Modif de dyn3d[par]/sortvarc0.F
707  - correction pour avoir le moment cinetique total absolu
708
709
710*********************
711**** commit_v101 ****
712*********************
713
714Serie de modifs Sebastien Lebonnois
715
716Compilation de phyvenus, ça passe !
717Modifs propagees a phytitan (sans compilation... a cause des routines C)
718dans la v102.
719
720Reste des chantiers a finir:
721- discretisation verticale
722- sponge layer
723
724*********************
725**** commit_v104 ****
726*********************
727
728SLebonnois: modification de makelmdz et create_make_gcm pour pouvoir
729compiler la chimie titan. Pas de raison que ca gene les autres.
730Dans cette version, les compilations de Venus et Titan fonctionnent.
731
732Phytitan: modifications pour pouvoir compiler correctement.
733Il ne manque plus que physiq.F a faire.
734---
735Fait:
736Avec la v105, la compilation Titan se fait sans problemes.
737
738**-----------
739(commit 106: ajustements dans phytitan)
740**-----------
741- Sorties des opacites (*_hist*.h)
742- g(z) pris en compte (physiq.F, zzlay)
743- correction topo (physiq.F, zzlev(i,1))
744- correction lell.F et lell_light.F (et aussi radtitan.F du coup)
745- remise a jour des sorties
746- suphec.F : RDAY=1.37889e6 et non RSIDAY
747**-----------
748
749*********************
750**** commit_v108 ****
751*********************
752
753Modifs Sebastien Lebonnois dans dyn3d[par] pour sponge layer et dissip horizontale.
754
755** Correction bug
756**---------------
757
758* Modif de dyn3d[par]/calfis[_p].F
759  => ztfi doublement incremente...
760
761** Sponge layer
762**-------------
763
764* Modif de dyn3d[par]/leapfrog[_p].F
765  Utilisation de d*top dans appel a top_bound.F
766  Initialisation des d* (dis, fi, top)
767
768* Modif de dyn3d[par]/top_bound[_p].F
769  Implementation de mode_top_bound
770  Pas d'incrementation
771
772* Modif de dyn3d[par]/conf_gcm.F
773  Parametres de top_bound
774
775* Modif de dyn3d[par]/comconst.h
776  Parametres de top_bound
777
778* Modif de deftank/[titan/venus]/gcm.def
779  Ajout ok_strato
780  Ajout parametres de top_bound
781
782* Ecriture doc
783  Ajout top_bound.tex (et .pdf) dans la documentation.
784
785** Dissipation horizontale
786**------------------------
787
788* Modif de dyn3d[par]/inidissip.F
789  passage a dissip_fac_mid automatique
790  passage a dissip_fac_up sur modele martien si ok_strato
791
792* Modif de dyn3d[par]/conf_gcm.F
793  Parametres dissip_*
794
795* Modif de dyn3d[par]/comconst.h
796  Parametres dissip_*
797
798* Modif de deftank/[titan/venus]/gcm.def
799  Ajout parametres dissip_*   !!! REGLAGES A FAIRE !!!
800
801* Ecriture doc
802  Ajout dissip_horiz.tex (et .pdf) dans la documentation.
803
804****************************
805**** commit_v109 (+110) ****
806****************************
807
808** Discretisation verticale
809**-----------------------
810
811* Modif de dyn3d[par]/iniconst.F
812  Appel de disvert_[no]terre mis sous flag planet_type
813
814* Modif de dyn3d[par]/disvert.F90
815  Renomme disvert_terre.F90
816
817* Ajout de dyn3d[par]/disvert_noterre.F
818  Correspond au disvert pour Titan et Venus (et Mars ? A verifier)
819  Declaration aps et bps enlevee (=> comvert.h)
820
821* Modif de dyn3d[par]/comvert.h
822  Ajout de aps,bps
823   => entraine la modif de limy.F(+par), vlsplt[_p].F, vlspltqs[_p].F,
824
825* Modif de dyn3d[par]/limy.F, vlsplt[_p].F, vlspltqs[_p].F,
826  Changement de aps en apps (et du coup, apn en appn)
827
828* Ajout dyn3d[par]/exner_milieu.F (vient directement de mars/libf/dyn3d/)
829  pour remplacer exner_hyb dans cas noterre
830
831* Ajout dyn3dpar/exner_milieu_p.F
832  adapte de exner_milieu.F
833  pour remplacer exner_hyb_p dans cas noterre
834
835* Modif de dyn3d[par]/leapfrog[_p].F
836  Appels à exner_hyb[_p]/exner_milieu[_p] mis sous flag planet_type.
837
838* Ajout de disvert.tex[/.pdf] dans la doc
839
840*********************
841**** commit_v117 ****
842*********************
843
844M              116   mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
845*** CORRECTION MAJEURE DE BUG : PSFC et TRACEURS PAS BIEN MIS A JOUR ***
846- pdq au lieu de pdq*dt (dt = pas de temps dynamique)
847- idem pour pdpsrf
848IMPACT SURTOUT SUR LES SIMULATIONS LONGUES ET LES SIMULATIONS TACHE DE POUSSIERE (stage Julien)
849TEST A EFFECTUER POUR LES SIMULATIONS CYCLE DE L'EAU
850
851M              116   mars/libf/phymars/newsedim.F
852M              116   mars/README
853Correction de deux bugs dans newsedim.F: 1-e(-x) trop faible et endif mal place
854
855M              116   mesoscale/LMDZ.MARS.new/myGCM/start.nc
856A                0   mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM
857A                0   mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/run.def
858A                0   mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/traceur.def
859A                0   mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/startfi72.nc
860A                0   mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/start72.nc
861A                0   mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/callphys.def
862M              116   mesoscale/LMDZ.MARS.new/myGCM/traceur.def
863M              116   mesoscale/LMDZ.MARS.new/myGCM/startfi.nc
864M              116   mesoscale/LMDZ.MARS.new/myGCM/callphys.def
865M              116   mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/compile
866M              116   mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/launch_gcm
867M              116   mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/run_mcd_3days
868Nouvelle base de donnees d'etats initiaux sans les nuages radiativement actifs
869
870A                0   mesoscale/PLOT/SPEC/LES/turb_period_psfc.pro
871A                0   mesoscale/PLOT/SPEC/LES/turb_inc.pro.new
872M              116   mesoscale/PLOT/SPEC/GW/gravitwave2.pro
873M              116   mesoscale/PLOT/SPEC/GW/gravitwaveprof.pro
874Petites MAJ routines graphiques
875
876*********************
877**** commit_v119 ****
878*********************
879
880Sebastien Lebonnois: apres validation des versions Venus et Titan,
881correction d'un certain nombre de bugs.
882
883*********************
884**** commit_v124 ****
885*********************
886
887Ehouarn: suite de l'implémentation de la discrétisation verticale
888-> insertion flag 'hybrid' pour discretisation verticale en sigma/hybrid
889   dans disvert_noterre.F
890-> ajout parametre 'scaleheight' (lu dans z2sig.def) dans comvert.h
891-> quelques corrections de bug (en //), mais il faudra plus de travail
892   pour atteindre la concordance entre versions séq. et //.
893   
894*********************
895**** commit_v126 ****
896*********************
897
898Ehouarn: suite de l'implémentation de la discrétisation verticale, quelques
899         mises à jour pour concorder avec la version terrestre.
900-> Finalement, on met un flag "disvert_type" pour fixer la discrétisation
901   disvert_type==1 (défaut si planet_type=="earth") pour cas terrestre
902   disvert_type==2 (défaut si planet_type!="earth") pour cas planéto (z2sig.def)
903-> au passage, pour rester en phase avec modèle terrestre on renomme
904   disvert_terre en disvert (le disvert "alternatif" demeure 'disvert_noterre')
905
906*********************
907**** commit_v130 ****
908*********************
909
910Sebastien:
911
912- correction de bugs dans phytitan suite a compil avec -debug sur gnome
913- elimination de nbetat* dans gcm.F et leapfrog.F (et dans le parallele)
914- correction rday -> rjour dans sortvarc.F
915- ajustement des arch-GNOME*
916
917*********************
918**** commit_v137 ****
919*********************
920
921CHANGEMENT ARBORESCENCE DECIDEE EN REUNION SVN
922voir svn log
923voir DOC/000-MODELS
924
925*********************
926**** commit_v142 ****
927*********************
928
929LMD_LES_MARS: changement majeur pour pallier a plusieurs defauts penibles de la separation d'avec LMD_MM_MARS.
930   --> le LES est maintenant inclus dans LMD_MM_MARS/SRC/LES [executer le script d'installation LMD_LES_MARS_install au prealable]
931   --> il se compile avec le script makemeso dans $MMM en mettant l'option "-c les" qui cree un dossier particulier, e.g. lesmpi_64
932   --> pour l'instant sont supportes : mpi_64, mpifort_64, ancienne et nouvelle physique, cas particulier ciclad (detecte automatiquement)
933   --> le(s) script(s) makeles sont desormais obsoletes
934   --> il n'y a plus qu'un seul Registry.EM a modifier pour le LES
935       (eventuellment il est possible de modifier dans le dossier specifique en remplacant le lien par un fichier)
936   --> disparition du dossier MESOSCALE/LMD_LES_MARS
937   --> les changements ont ete fait sans modifier le script copy_model
938   Il reste a verifier le bon fonctionnement de facon plus approfondie suite a ce changement de structure.
939   Le nouveau script 'correcfft' est un sparadrap un peu moche mais sans consequence.
940
941*********************
942**** commit_v156 ****
943*********************
944changements pour pouvoir faire tourner le LES sans appel a la physique martienne
945-- non teste mais fonctionne a priori egalement avec le MESOSCALE
946
947*********************
948**** commit_v234 ****
949*********************
950plus de meso_ files dans la physique martienne. physiq et inifis sont communs au GCM avec des precompiler flags.
951
952*********************
953**** commit_v270 ****
954*********************
955Ehouarn: mises à jour des dynamiques (seq et //) pour suivre les
956développements de LMDZ5 terrestre (LMDZ5 trunk, rev 1560)
957
958* scripts & co.: changement (mineur) dans "makelmdz_fcm" et "makelmdz" et les
959                 fichiers "arch*path" sur la façon dont sont définies et
960                 utilisées les références à NetCDF
961
962* dyn3d:
963- advtrac.F devient advtrac.F90
964- inidissip.F devient inidissip.F90 + utilisation de "dissip_period" au lieu de
965  "idissip" et calcul automatique de "dissip_period" si dissip_period=0
966  dans gcm.def
967- iniacademic.F90 : adaptation pour aquaplanètes terrestres (iflag_phys>2)
968- ajout de grilles_gcm_netcdf_sub.F90 (pas utile pour les planètes)
969- leapfrog.F :ajout du logical 'physic' (pour régler l'appel à la physique,
970  avec les cas particuliers aquaplanètes) + correction bug sur cumul des
971  flux de masse pour l'advection des tracers.
972- ini_paramLMDZ_dyn.h : remplacement de "idissip" par "dissip_period"
973- comdissipn.h : passage a un format compatible fixe/libre
974- control_mod.F90 : remplacement de "idissip" par "dissip_period"
975- defrun.F : remplacement de "idissip" par "dissip_period"
976- gcm.F : adaptations pour aquaplanètes terrestres (iflag_phys>2)
977- iniconst.F : dtdiss est calculé dans inidissip.F90
978- vlsplt.F : changements cosmetiques
979- ce0l.F90 : ajout appel à grilles_gcm_netcdf_sub
980- integrd.F : changements cosmetiques
981- limit_netcdf.F90 : mise à jour de la version terrestre (pas important pour
982                     les planètes)
983- conf_gcm.F : ajout lecture du flag 'dissip_period' (au lieu de idissip) et
984               du flag 'grilles_gcm_netcdf' (pas important pour les planètes)
985- write_paramLMDZ_dyn.h : remplacement de "idissip" par "dissip_period"
986
987*dyn3dpar:
988- Idem que pour dyn3d pour le fichiers identiques entre dyn3d et dyn3dpar:
989  comdissipn.h, control_mod.F90, iniconst.F, grilles_gcm_netcdf_sub.F90,
990  ce0l.F90, inidissip.F90, iniacademic.F90, limit_netcdf.F90, conf_gcm.F,
991  defrun.F
992- advtrac_p.F devient advtrac_P.F90
993- integrd_p.F : changements cosmetiques
994- leapfrog_p.F90 : changements cosmetiques + correction bug sur cumul des
995  flux de masse
996- bilan_dyn_p.F : correction bug mineur
997- exner_hyb_p.F : correction bug OMP majeur
998- exner_milieu_p.F : correction bug OMP majeur
999
1000*********************
1001**** commit_v492 ****
1002*********************
1003Ehouarn: mises à jour des dynamiques (seq et //) pour suivre les
1004développements de LMDZ5 terrestre (LMDZ5 trunk, rev 1605)
1005
1006* grid:
1007- dimension/makdim: mise à jour du script + commentaires
1008
1009* filtrez:
1010- filtreg_mod.F90: correction sur la taille des tableaux à allouer
1011
1012* dyn3d:
1013- leapfrog.F : ajout possibilité de démarrer un run à n'importe quelle heure
1014- dynredem.F : ajout possibilité de démarrer à n'importe quelle heure +
1015              utilisation du flag "type_trac" au lieu de "config_inca"
1016- control_mod.F90 : ajout de "starttime", heure de départ
1017- dynetat0.F : ajout "start_time" dans tab_cntrl(32)
1018- gcm.F : utilisation du flag "type_trac" au lieu de "config_inca" +
1019          possibilité de démarrer à n'importe quelle heure
1020- ce0l.F : utilisation du flag "type_trac" au lieu de "config_inca"
1021- iniacademic.F90 : correction valeur de la pression de surface pour
1022                    aqua et terra-planètes
1023- conf_gcm.F : ajout lecture des flags "starttime" et "type_trac"
1024- infotrac.F : gestion des cas INCA et Reprobus
1025- temps.h : ajout de "start_time"
1026
1027* dyn3dpar:
1028- Idem que pour dyn3d pour le fichiers identiques entre dyn3d et dyn3dpar:
1029  dynredem.F, control_mod.F90, dynetat0.F, iniacademic.F90
1030- temps.h : ajout de "start_time"
1031- conf_gcm.F : ajout lecture des flags "starttime" et "type_trac" et
1032               changement du nom du fichier de sortie "standard"
1033- gcm.F : utilisation du flag "type_trac" au lieu de "config_inca" +
1034          possibilité de démarrer à n'importe quelle heure
1035- parallel.F90 : gestion des sorties "standard" dans plusieurs fichiers (1 par
1036                 processus MPI)
1037- leapfrog_p.F : ajout possibilité de démarrer un run à n'importe quelle heure
1038                 et suppression de la variable "verbose"
1039- dynredem_p.F : ajout possibilité de démarrer à n'importe quelle heure +
1040                 utilisation du flag "type_trac" au lieu de "config_inca"
1041- ce0l.F : utilisation du flag "type_trac" au lieu de "config_inca"
1042- filtreg_p.F : ajout de flags cpp autour de l'utilisation de la BLAS et
1043                realisation des calculs via matmul() sinon
1044
1045*********************
1046**** commit_v776 ****
1047*********************
1048Ehouarn: Updates in the dynamics (seq and //) to keep up with updates
1049in LMDZ5 (up to LMDZ5 trunk, rev 1649):
1050
1051* bibio:
1052- initdynav.F => initdynav.F90
1053- writedynav.F => writedynav.F90
1054- new_unit.F90 : added this new module
1055- nf95_get_var_m.F90 : added this new module
1056- netcdf95.F90, nf95_get_att_m.F90, nf95_gw_var_m.F90, nf95_put_var_m.F90,
1057  simple.F90 : updated as they were in LMDZ5
1058
1059* dyn3d:
1060- guide_mod.F90 : keep up with minor changes (pressure_exner flag)
1061- inigrads.F : keep up with minor changes
1062- integrd.F : keep up with changes (get rid of finvmaold which was not used)
1063- calfis.F : keep up with minor changes (#CPP_...)
1064- iniacademic.F90 : keep up with minor changes (pressure_exner flag)
1065- inidissip.F90 : keep up with minor changes (simplify computation of zh)
1066- ce0l.F90 : keep up with minor changes
1067- dynetat0.F : keep up with minor changes (use netcdf90 function)
1068- iniconst.F => iniconst.F90 (+ introduce pressure_exner flag)
1069- exner_milieu.F : keep up with minor changes (can be used for all planets)
1070- exner_hyb.F : keep up with minor changes (can be used for all planets)
1071- gcm.F : keep up with minor changes (CPP_PHYS instead of CPP_EARTH)
1072- comvert.h : keep up with minor changes (pressure_exner flag)
1073- etat0_netcdf.F : keep up with minor changes (pressure_exner flag)
1074- wrgrads.F : keep up with minor changes (lnblnk => trim)
1075- disvert.F90 : keep up with changes (Earth version of disvert anyways)
1076- dynredem.F : keep up with minor changes (use netcdf90 functions)
1077- leapfrog.F : updates (get rid of finvmold , pressure_exner flag, updated
1078               computation of time, get rid of "dissipation bug"
1079               that kills 1+1=2 in dynamics)
1080
1081* dyn3dpar:
1082- same updates as in dyn3 for routines : inigrads.F, iniacademic.F90,
1083  inidissip.F90, dynetat0.F, iniconst.F90, exner_milieu.F, exner_hyb.F,
1084  comvert.h, etat0_netcdf.F90, wrgrads.F, disvert.F90, dynredem.F
1085- guide_p_mod.F : keep up with minor changes (pressure_exner flag)
1086- gr_fi_dyn_p.F : keep up with minor changes (CPP_PHYS condition)
1087- gr_dyn_fi_p.F : keep up with minor changes (CPP_PHYS condition)
1088- integrd_p.F : keep up with changes (get rid of finvmaold which was not used)
1089- calfis_p.F : keep up with minor changes (CPP_PHYS condition)
1090- mod_interface_dyn_phys.F90 : keep up with minor changes (CPP_PHYS condition)
1091- ce0l.F : keep up with minor changes
1092- exner_milieu_p.F : keep up with minor changes (can be used for all planets)
1093- exner_hyb_p.F : keep up with minor changes (can be used for all planets)
1094- gcm.F : keep up with minor changes (CPP_PHYS)
1095- bands.F : keep up with minor changes (CPP_PHYS)
1096- dynredem_p.F : keep up with minor changes (use netcdf90 functions)
1097- leapfrog_p.F : updates (get rid of finvmold , pressure_exner flag, updated
1098                 computation of time, get rid of "dissipation bug"
1099                 that kills 1+1=2 in dynamics)
1100
1101*********************
1102**** commit_v808 ****
1103*********************
1104
1105For Venus (but should be done for Titan also, soon):
1106
1107To be able to use start2archive.F and newstart-VT.F, the following routines are added in the phy* directory:
1108ini_archive.F
1109interp_vert.F
1110readstart.F
1111scal_wind.F
1112wind_scal.F
1113write_archive.F
1114writerestart.F
1115
1116Also,  dyn3d/startvar.F90 and dyn3d/grid_noro have been transfered to the
1117phyvenus directory and adapted (mostly to remove the mask). They have also been removed from dyn3dpar.
1118
1119start2archive.F and newstart-VT.F should be in dyn3d. However, they depend on the planet. For the moment, not put in the SVN depository...
1120
1121For Titan:
1122
1123Update to be able to run clouds in the GCM. TO BE CHECKED !
1124- optc*_1pt3 replace optc*_1pt2 (called in optc*.F)
1125- use of effg (though effg=RG for the moment) everywhere it was already implemented. Beware that there are still lots of places where RG is used directly. Many modifications still to be done for variable g.
1126- added optcld.F90
1127- physiq.F, write_hist[day/mth].h : use of zlsm1 to get a correct average of Ls in the outputs when crossing the 360->0 transition.
1128
1129+ some changes in NCL scripts...
1130
1131*********************
1132**** commit_v841 ****
1133*********************
1134Ehouarn: Updates in the dynamics (seq and //) to keep up with updates
1135in LMDZ5 (up to LMDZ5 trunk, rev 1678):
1136* dyn3d:
1137- leapfrog.F : jD_cur initialization for planet_type=generic ;
1138               comment out calls to "ini_paramLMDZ_dyn.h" and
1139               "write_paramLMDZ_dyn.h" (unused outputs)
1140- comvert.h : add pseudoalt()
1141- comconst.h : add comments
1142- fxhyp.F : add modification (FH) to run with only 1 longitude point
1143- gcm.F : remove call to iniaqua.F + add iflag_phys argument to call
1144          to iniphysiq => adapt iniphysiq.F in "phyvenus" and "phytitan"
1145- dyetat0.F : adapt loading of "controle" start.nc file so it works for
1146              Earth/Venus/Titan and Mars/Generic planets.
1147- groupe.F : add modification (FH) to run with only 1 longitude point
1148- paramet.h : add modification (FH) to run with only 1 longitude point
1149- calfis.F : add planet_type=="generic" case call to physiq
1150- disvert_noterre.F : remove "pseudoalt" from local variables
1151
1152* phyvenus/phytitan :
1153- iniphysiq.F : add the iflag_phys argument to routine input argument list
1154
1155* dyn3dpar:
1156- identical changes to those in 'dyn3d' for comvert.h, comconst.h, paramet.h,
1157  fxhyp.F, dynetat0.F, disvert_noterre.F
1158- gcm.F : add possibility to call to iniphysiq.F for iflag_phys>=100 and
1159          remove call to iniaqua.F + add iflag_phys argument to call
1160          to iniphysiq
1161- leapfrog_p.F : add "physiq" logical (to control calls to physics) and
1162                 jD_cur initialization for planet_type=generic
1163- groupe_p.F : add modification (FH) to run with only 1 longitude point
1164- calfis_p.F : add planet_type=="generic" case call to physiq
1165
1166* Important bug fix in leapfrog_p.F : moved compuation of tsurpk() so that
1167  it is done BEFORE the "Register Hallo" calls (prior to calling caldyn_p).
1168  Now dynamics in seq/MPI/OpenMP/mixed modes yield identical results when
1169  running in Newtonian mode (i.e. dynamics only).
1170
1171*********************
1172**** commit_v979 ****
1173*********************
1174Ehouarn: Updates in the dynamics (seq and //) to keep up with updates
1175in LMDZ5 (up to LMDZ5 trunk, rev 1760):
1176* General stuff (essentially to keep up with Earth model):
1177- Updated makelmdz_fcm and makelmdz (more control on dimension.h,
1178  added option -mem, although it is not usefull for now)
1179- Updated build_gcm with more control over fcm
1180- Updated create_make_gcm (enable looking for code in subdirectories)
1181
1182* bibio:
1183- updates (just renaming the files actually...) new_unit.F90 => new_unit_m.F90,
1184  pchsp_95.F90 => pchsp_95_m.F90 and pchfe_95.F90 => pchfe_95_m.F90
1185
1186* filtrez:
1187- mod_fft.F90: use more baseline CPP directives for preprocessor compatibility
1188- mod_filtre_fft_loc.F90: added this new file
1189- filtreg_mod.f90: added calls to init_..._loc
1190- filtreg.F: fixed calls to DGEMM into SGEMM (preprocessing does the switch)
1191
1192* dyn3d:
1193- removed obsolete files: etat0_netcdf.F90 limit_netcdf.F90
1194                          pres2lev.F90
1195- added new file : pres2lev_mod.F90 (module containing "old" pres2lev)
1196- gcm.F: changed args to call to inidissip (added arg "vert_prof_dissip")
1197- inidissip.F90: added arg "vert_prof_dissip" and the "earth model"
1198  discterizations (flagged with "planet_type=="earth")
1199- comdissnew.h: added 'vert_prof_dissip' to the common block
1200- guide_mod.F90: added the "use pres2lev_mod"
1201- conf_gcm.F: cosmetics, and evaluation of vert_prof_dissip,
1202  (and also of dissip_* factors, for Earth model)
1203- comconst.h : added dissip_factz,dissip_zref variables (for Earth mode dissip)
1204
1205* dyn3dpar:
1206- removed obsolete files: etat0_netcdf.F90 limit_netcdf.F90
1207                          pres2lev.F90 mod_const_para.F90
1208- added new files: pres2lev_mod.F90 (module containing "old" pres2lev)
1209                   mod_const_mpi
1210- abort_gcm : better control of abort in parallel mode
1211- gcm.F: changed args to call to inidissip (added arg "vert_prof_dissip")
1212- inidissip.F90: added arg "vert_prof_dissip" and the "earth model"
1213  discterizations (flagged with "planet_type=="earth")
1214- comdissnew.h: added 'vert_prof_dissip' to the common block
1215- filtreg_p.F : bug correction (array bounds)
1216- guide_p_mod.F90 : added the "use pres2lev_mod"
1217- conf_gcm.F : cosmetics (and evaluation of vert_prof_dissip , and
1218               also of dissip_* factors, for Earth model)
1219               plus check if "adjust" is indeed not used in OpenMP
1220- comconst.h : add dissip_factz,dissip_zref variables (for Earth mode dissip)
1221
1222**********************
1223**** commit_v1000 ****
1224**********************
1225Ehouarn: Some cleanup in the dynamics: ismax.F,ismin.F and cray.F (scopy/ssum)
1226moved to 'bibio' (rather than being in dyn3d and dyn3dpar).
1227
1228**********************
1229**** commit_v1010 ****
1230**********************
1231Ehouarn: Improved sponge layer scheme (top_bound):
1232- Sponge tendencies are now computed analytically, instead than using
1233  a Forward Euler approximation.
1234- Sponge tendencies are now added within top_bound.
1235
1236**********************
1237**** commit_v1017 ****
1238**********************
1239Ehouarn: Improved cpdet routines in // and additional sponge mode:
1240- Additionnal sponge mode (trigered with "callsponge" flag), in line with the one used
1241  in the Generic and Martian GCM. This sponge is called whenever there is a dissipation
1242  step.
1243- Improvement of the // cpdet routines : created routines tpot2t_glo_p and t2tpot_glo_p
1244  which handle fields on the whole dynamics (scaler) grid, which are more efficient than
1245  calling tpot2t_p or t2tpot_p with slabs of data (generated use of intermediate copies
1246  of these chunks of data at every call)
1247- Turned cpdet.F into a module cpdet_mod.F90 (and correspondingly adapted all routines
1248  in the Venus physics).
1249
1250**********************
1251**** commit_v1019 ****
1252**********************
1253Ehouarn: Updates in the dynamics (seq and //) to keep up with updates
1254in LMDZ5 (up to LMDZ5 trunk, rev 1845):
1255* General stuff:
1256- makelmdz_fcm: add options -j # (compile using # threads) and -full, and to keep up
1257   with Earth model, possibility to compile with various versions of orchidee
1258- bld.cfg: adaptations to enable compiling using multiple threads
1259- build_gcm: adaptations to enable compiling using multiple threads
1260- makelmdz: keep up with Earth model: possibility to compile with various versions of orchidee + cosmetic changes + library directory name change
1261
1262* bibio:
1263- wxios.F90 : Added for possible future use of XIOS library
1264
1265* filtrez:
1266- mkl_dft_type.f90 & mkl_dfti.f90 : MKL (for MKL FFT) interface definitions
1267- filtreg_mod : limit use of FFT to parallel mode
1268- mod_filtre_fft.F90 & mod_filtre_fft_lov.F90 : swich to use parallel_lmdz
1269
1270* dyn3d:
1271- abort_gcm.F : add things for xios
1272- advtrac.F90 : minor change in CFL outputs
1273- ce0l.F90 : indicesol.h is now module indice_sol_mod
1274- comvert.h : cosmetic change on comments
1275- gcm.F : add xios and use module indice_sol_mod (for INCA)
1276- inigeom.F : move two computations outside loop
1277
1278* dyn3dpar:
1279- parallel.F90 => parallel_lmdz.F90 : and change all the "use parallel" into
1280  "use parallel_lmdz" in all files in dyn3dpar
1281- comvert.h : cosmetic change on comments
1282- gcm.F : add xios and use module indice_sol_mod (for INCA)
1283- leapfrog_p.F : add xios + correction for times in Newtonian case
1284- ce0l.F90 : indicesol.h is now module indice_sol_mod
1285- inigeom.F : move two computations outside loop
1286
1287**********************
1288**** commit_v1056 ****
1289**********************
1290
1291SL: Titan runs parallel !
1292To do this, I had to add the possibility to do zonal averages in calfis...
1293This is under flags moyzon_ch (chemistry) and moyzon_mu (microphysics).
1294These flags are false by default and are activated through physiq.def.
1295This should not be a problem for other users of LMDZ.COMMON
1296
1297Also, you'll find updated arch files for GNOMEp_large using dynamic libraries that are located in the COMMON dir on "gnome".
1298
1299Other Titan modifications:
1300- use of tholin_cvd instead of tholin => xvis and xir read in physiq.def instead of initpar now (easier). These coeffs need to be adjusted for tholin_cvf... for the moment, they are =1.
1301- updated deftank. You can find a z2sig.def for 65 levels (10 additional levels above the usual model top)
1302- gravity waves parameterization is implemented but not usable yet !
1303
1304**********************
1305**** commit_v1107 ****
1306**********************
1307Ehouarn: Updates and modifications to enable running Mars physics with
1308         LMDZ.COMMON dynamics:
1309- For compilation: adapted makelmdz, create_make_gcm and makelmdz_fcm, bld.cfg
1310  to compile aeronomy routines in "aerono$physique" if it exists,
1311  and added "-P -traditional" preprocessing flags in "arch-linux-ifort*"
1312- Added function "cbrt.F" (cubic root) in 'bibio'
1313- Adapted the reading/writing of dynamics (re)start.nc files for Mars. The main
1314  issue is that different information (on time, reference and current) is
1315  stored and used differently, hence a few if (planet_type =="mars") here and
1316  there. Moreover in the martian case there is the possibility to store fields
1317  over multiple times.
1318  Some Mars-specific variables (ecritphy,ecritstart,timestart) added in
1319  control_mod.F and (hour_ini) in temps.h
1320
1321**********************
1322**** commit_v1189 ****
1323**********************
1324Ehouarn : updates in the dynamics:
1325- Correctly account for the change in pressure, masse, etc. after modifying surface
1326  pressure following a call to the physics
1327- Corrected tracer advection, which is computed using values at the beginning of the
1328  time step, so it is done at Matsuno forward step.
1329
1330**********************
1331**** commit_v1300 ****
1332**********************
1333Ehouarn: Updates in the dynamics (seq and //) to keep up with updates
1334in LMDZ5 (up to LMDZ5 trunk, rev 1955):
1335* compilation:
1336- bld.cfg : adaptations for XIOS and SISVAT (Earth physics sub-package).
1337- makelmdz_fcm : adaptations for XIOS and SISVAT.
1338- makelmdz: adaptations for dyn3D_common and XIOS and SISVAT
1339- create_make_gcm : adaptations for dyn3d_common
1340
1341* dyn3d_common :
1342- new directory which holds routines common to dyn3d and dyn3dpar:
1343  academic.h, adaptdt.F, advn.F, advx.F, advxp.F, advy.F, advyp.F, advz.F, advzp.F,
1344  bernoui.F, clesph0.h, coefpoly.F, com_io_dyn_mod.F90, comuforc_h.F90,
1345  comconst.h, comdissip.h, comdissipn.h, comdissnew.h, comgeom.h,
1346  comgeom2.h, comvert.h, conf_planete.F90, control_mod.F90, convflu.F,
1347  convmas.F, coordij.F, covcont.F, covnat.F, cpdet_mod.F90, defrun.F, description.h,
1348  diagedyn.F, disvert.F90, disvert_noterre.F, diverg.F, divergf.F, diverg_gam.F,
1349  divergst.F, divgrad.F, divgrad2.F, dump2d.F, dynetat0.F, dynredem.F, ener.h, enercin.F,
1350  exner_hyb.F,exner_milieu.F, extrapol.F, flumass.F, fxhyp.F, fxy.F, fxyhyper.F,
1351  fxysinus.F, fyhyp.F, geopot.F, gr_dyn_fi.F, gr_ecrit_fi.F, gr_fi_dyn.F, gr_int_dyn.F,
1352  gr_u_scal.F, grad.F, gradiv.F, gradiv2.F, gradsdef.h, grid_atob.F,
1353  grilles_gcm_netcdf.F, grilles_gcm_netcdf_sub.F90, heavyside.F, infotrac.F90,
1354  iniconst.F90, inidissip.F90, inigeom.F, inigrads.F, iniprint.h, initial0.F,
1355  inter_barxy_m.F90, interpost.F, interpre.F, invert_lat.F90, juldate.F,
1356  laplacien.F, laplacien_gam.F, laplacien_rot.F, laplacien_rotgam.F,
1357  limx.F, limy.F, limz.F, massbar.F, massbarxy.F, massdair.F, minmax.F,
1358  minmax2.F, nxgrad.F, nxgrad_gam.F, nxgradst.F, nxgrarot.F,nxgraro2.F,
1359  paramet.h, pbar.F, pentes_ini.F, ppm3d.F, prather.F, pres2lev_mod.F90,
1360  pression.F, psextbar.F, PVtheta.F, q_sat.F, ran1.F, relaxetat0.F,
1361  rotat.F, rotatf.F, rotat_nfil.F, rotatst.F, serre.h, sort.F,
1362  sortvarc.F, sortvarc0.F, temps.h, test_period.F, tidal_forces.F,
1363  tourabs.F, tourpot.F, traceurpole.F, tracstoke.h, ugeostr.F90, vitvert.F
1364  write_grads_dyn.h
1365- defrun.F: change abort() (not a Fortran standard) for abort_gcm()
1366- fxhyp.F : change abort() (not a Fortran standard) for abort_gcm()
1367- fyhyp.F : change abort() (not a Fortran standard) for abort_gcm()
1368- grid_atob.F : change abort() (not a Fortran standard) for abort_gcm()
1369- juldate.F : change dfloat() (not a Fortran standard) to dble()
1370- ran1.F better to use a "stop" instead of a "pause"
1371- dynetat0.F : change abort() (not a Fortran standard) for abort_gcm()
1372- dynredem.F : change abort() (not a Fortran standard) for abort_gcm()
1373
1374* bibio:
1375- wxios.F90 : updates on handling xios outputs.
1376
1377* dyn3d_par:
1378- mod_const_mpi.F90 : ajustments for XIOS.
1379- abort_gcm.F90 : cosmetic changes.
1380- gcm.F : adaptations for XIOS.
1381- leapfrog_p.F90 : adaptations for XIOS and for calls to bilan_dyn_p.
1382- parallel_lmdz.F90 : enable reading "omp_chunk" from def files. Adaptations for XIOS.
1383- conf_gcm.F90: remove "reading omp_chunk" from def files.
1384- bilan_dyn_p.F : corrections to make it work in MPI and OpenMP. >>> Earth version!!!
1385  >>> not the same as "bilan_dyn" in dyn3D !!
1386- guide_mod_p.F : update to keep up with Earth model
1387
1388* dyn3d:
1389- guide_mod.F : upate to keep up with Earth model
1390
1391**********************
1392**** commit_v1302 ****
1393**********************
1394Ehouarn: Updates in the dynamics (seq and //) to keep up with updates
1395in LMDZ5 (up to LMDZ5 trunk, rev 2070):
1396* compilation:
1397- bld.cfg : adaptations for compilation with RRTM and PRISM.
1398- makelmdz_fcm : adaptations for compilation with RRTM and OASIS-MCT ocean coupled mode
1399  and change handling of RRTM and SISVAT so that bld.cfg is never overwritten (as is the case
1400  for COSP), since bld.cfg is sometimes a link to the one located in LMDZ.COMMON.
1401- makelmdz : adaptations for compilation with RRTM and in 1D, and some cleanup.
1402- create_make_gcm : cleanup and improved scaning of dependencies
1403
1404* dyn3d_common:
1405- iniconst.F90 : change argument list in call to disvert
1406- disvert.F90 : change argument list; add "sima", "starto_**" cases
1407- grilles_gcm_netcdf.F : removed because obsolete
1408- q_sat.F : made free-form compatible
1409- exner_hyb_m.F90 : now a module; some cleanup around beta and alpha;
1410  made pkf an optional argument and removed the averaging of pks at the poles (because was
1411  is not necessary; note that it changes model results wrt previous versions of code)
1412- exner_milieu_m.F90 : now a module; some cleanup around beta and alpha;
1413  made pkf an optional argument and removed the averaging of pks at the poles (because was
1414  is not necessary; note that it changes model results wrt previous versions of code)
1415- iniacademic.F90 : adaptations for changes with exner_* routines
1416- removed PVtheta.F and tourabs.F
1417
1418* dyn3dpar :
1419- parallel_lmdz.F90 : updates for XIOS and Oasis-MCT coupler
1420- mod_const_mpi.F90 : updates for XIOS and Oasis-MCT coupler
1421- conf_gcm.F : remove obsolete "grilles_gcm_netcdf" flag
1422- logic.h : remove obsolete "grilles_gcm_netcdf" flag
1423- ce0l.F : follow up on updates from Earth model
1424- leapfrog_p.F : enable runing a number of dyn steps given by a negative "nday" value. Adaptations
1425  for exner_* routines. Add computation of geopotential before calling physics.
1426- gcm.F : enable runing a number of dyn steps given by a negative "nday" value
1427- guide_p_mod.F90 : follow up on updates from Earth model
1428- exner_hyb_p_m.F90 : now a module; some cleanup around beta and alpha;
1429  made pkf an optional argument and removed the averaging of pks at the poles (because was
1430  is not necessary; note that it changes model results wrt previous versions of code)
1431- exner_milieu_p_m.F90 : now a module; some cleanup around beta and alpha;
1432  made pkf an optional argument and removed the averaging of pks at the poles (because was
1433  is not necessary; note that it changes model results wrt previous versions of code)
1434- calfis_p.F : removed call to PVtheta
1435
1436* dyn3d :
1437- conf_gcm.F : remove obsolete "grilles_gcm_netcdf" flag and made free-form compatible
1438  (because it is included in the 1D Earth model, which is free form)
1439- logic.h : remove obsolete "grilles_gcm_netcdf" flag
1440- ce0l.F : follow up on updates from Earth model
1441- leapfrog.F : enable runing a number of dyn steps given by a negative "nday" value. Adaptations
1442  for exner_* routines. Add computation of geopotential before calling physics.
1443- gcm.F : enable runing a number of dyn steps given by a negative "nday" value
1444- guide_mod.F90 : follow up on updates from Earth model
1445- calfis.F : removed call to PVtheta
1446
1447* bibio :
1448- pres2lev_mod.F90 : move from dyn3d_common to bibio
1449- wxios.F90 : follow up on updates on XIOS usage
1450
1451**********************
1452**** commit_v1391 ****
1453**********************
1454Ehouarn: Updates in the dynamics (seq and //) to keep up with updates
1455in LMDZ5 (up to LMDZ5 trunk, rev 2200):
1456* compilation:
1457- create_make_gcm : added processing of .f & .f90 files (not just .F and .F90)
1458- makelmdz: add "mix" option for -io (ouptut with both IOIPSL and XIOS)
1459- makelmdz_fcm: add "mix" option for -io
1460
1461* filtrez:
1462- acc.F and eigen.F : add "implicit none" and variable declarations
1463
1464* bibio:
1465- handle_err_m.F90: replace "stop" with call to abort_gcm()
1466- i1mach.F, j4save.F: add "implicit none" and variable declarations
1467- xercnt.F, xermsg.F, xerprn.F, xersve.F, xgetua.F: add "implicit none"
1468  and variable declarations
1469
1470* dyn3d_common:
1471- disvert.F90 : added comments on meaning of "pa" variable
1472- grid_atob.F : better control on level of default ouputs
1473- infotrac.F90: update Earth-specific stuff (nqo water tracers)
1474- interpre.F: correction on the size of input array w
1475- juldate.F, massbar.F, ppm3d.F, ran1.F: add "implicit none"
1476  and variable declarations
1477- sortvarc.F: code cleanup
1478- iniacademic.F90: cleanup and extra sanity check.
1479
1480* dyn3d:
1481- abort_gcm.F: additions for XIOS
1482- conf_gcm.F90: transformed to free form from conf_gcm.F
1483- gcm.F: added test to check that iphysiq is a multiple of iperiod
1484- getparam.F90, guidz_mod.F: update from LMDZ5
1485- integrd.F: replace stop with call_abort()
1486
1487* dyn3dpar:
1488- abort_gcm.F: minor cleanup
1489- gcm.F: added test to check that iphysiq is a multiple of iperiod
1490- getparam.F90, guide_p_mod.F90: update from LMDZ5
1491- integrd_p.F: abort with call_abort when there is negative surface pressure
1492- leapfrog_p.F: add INCA specific stuff to keep up with current LMDZ5
1493- conf_gcm.F90: transformed to free form from conf_gcm.F
1494
1495**********************
1496**** commit_v1395 ****
1497**********************
1498Ehouarn: some cleanup and tidying on the dynamics/physics interface.
1499Essentially affects the "iniphysiq" routine in all physics packages.
1500
1501**********************
1502**** commit_v1403 ****
1503**********************
1504Ehouarn: Reorganizing the physics/dynamics interface.
1505
1506* makelmdz and makelmdz_fcm scripts adapted to handle the new directory
1507  settings
1508
1509* misc: (replaces what was the "bibio" directory)
1510- Should only contain extremely generic (and non physics or
1511  dynamics-specific) routines
1512- Therefore moved initdynav.F90, initfluxsto.F, inithist.F, writedynav.F90,
1513  write_field.F90, writehist.F to "dyn3d_common"
1514
1515* dynlonlat_phylonlat: (new interface directory)
1516- This directory contains routines relevent to physics/dynamics grid
1517  interactions, e.g. routines gr_dyn_fi or gr_fi_dyn and calfis
1518- Moreover the dynlonlat_phylonlat contains directories "phy***" corresponding
1519  to each physics package "phy***" to be used. These subdirectories should
1520  only contain specific interfaces (e.g. iniphysiq) or main programs (e.g.
1521  newstart)
1522
1523* phy***/dyn1d: this subdirectory contains the 1D model using physics
1524  from phy***
1525
1526**********************
1527**** commit_v1441 ****
1528**********************
1529Ehouarn: Updates in the dynamics (seq and //) to keep up with updates
1530in LMDZ5 (up to LMDZ5 trunk, rev 2250):
1531* compilation:
1532- added test in grid/dimension/makdim to check that # of longitudes
1533  is a multiple of 8
1534
1535* dyn3d_common:
1536Bug correction concerning zoom (cf LMDZ5 rev 2218)
1537- coefpoly.F becomes coefpoly_m.F90 (in misc)
1538- fxhyp.F => fxhyp_m.F90 , fyhyp.F => fyhyp_m.F90
1539- new routines for zoom: invert_zoom_x_m.F90 and principal_cshift_m.F90 
1540- inigeom.F adapted to new zoom definition routines
1541- fluxstokenc.F : got rid of calls to initial0()
1542
1543* dyn3d:
1544- advtrac.F90 : got rid of calls to initial0()
1545- conf_gcm.F90 : cosmetic changes and change in default dzoomx,dzoomy values
1546- guide_mod.F90 : followed updates from Earth Model
1547- gcm.F is now gcm.F90
1548
1549* dyn3dpar:
1550- advtrac_p.F90, covcont_p.F90, mod_hallo.F90 : cosmetic changes
1551- conf_gcm.F90 : cosmetic and changed in default dzoomx,dzoomy values
1552- parallel_lmdz.F90 : updates to keep up with Earth model
1553
1554* misc:
1555- arth.F90 becomes arth_m.F90
1556- wxios.F90 updated wrt Earth model changes
1557- nrtype.F90 and coefpoly_m.F90 added
1558- ran1.F, sort.F, minmax.F, minmax2.F, juldate.F moved over from dyn3d_common
1559
1560**********************
1561**** commit_v1508 ****
1562**********************
1563Ehouarn: Updates in the dynamics (seq and //) to keep up with updates
1564in LMDZ5 (up to LMDZ5 trunk, rev 2325):
1565IMPORTANT: Modifications for isotopes are only done in dyn3d, not in dyn3dpar
1566           as in LMDZ5 these modifications were done in dyn3dmem.
1567           Related LMDZ5 revisions are r2270 and r2281
1568* in dynlonlat_phylonlat:
1569- add module "grid_atob_m.F90" (a regridding utility
1570  so far only used by phylmd/ce0l.F90, used to be dyn3d_common/grid_atob.F)
1571
1572* in misc:
1573- follow up updates on wxios.F (add missing_val module variable)
1574
1575* in dyn3d_common:
1576- pression.F => pression.F90
1577- misc_mod.F90: moved from misc to dyn3d_common
1578- added new iso_verif_dyn.F
1579- covcont.F => covcont.F90
1580- infotrac.F90 : add handling of isotopes (reading of corresponding
1581  traceur.def for planets not implemented)
1582- dynetat0.F => dynetat0.F90 with some code factorization
1583- dynredem.F => dynredem.F90 with some code factorization
1584- added dynredem_mod.F90: routines used by dynredem
1585- iniacademic.F90 : added isotopes-related initialization for Earth case
1586
1587* in dyn3d:
1588- added check_isotopes.F
1589- modified (isotopes) advtrac.F90, caladvtrac.F
1590- guide_mod.F90: ported updates
1591- leapfrog.F : (isotopes) updates (NB: call integrd with nqtot tracers)
1592- qminimium.F : adaptations for isotopes (copied over, except that #include
1593  comvert.h is not needed).
1594- vlsplt.F: adaptations for isotopes (copied over, except than #include
1595  logic.h, comvert.h not needed, and replace "include comconst.h" with
1596  use comconst_mod, ONLY: pi)
1597- vlspltqs.F : same as vlsplt.F, but also keeping added modification for CP(T)
1598
1599* in dyn3dpar:
1600- leapfrog_p.F: remove unecessary #ifdef CPP_EARTH cpp flag. and call
1601  integrd_p with nqtot tracers (only important for Earth)
1602- dynredem_p.F => dynredem_p.F90 and some code factorization
1603- and no isotopes-relates changes in dyn3dpar (since these changes
1604  have been made in LMDZ5 dyn3dmem).
1605
1606**********************
1607**** commit_v1521 ****
1608**********************
1609Ehouarn: Updates to make planetary codes (+Earth) setups converge.
1610* Made a "phy_common" directory in libf, to contain routines common (wrt
1611  structural nature of underlying code/grid) to all LMDZ-related physics
1612  packages.
1613* moved all "mod_phys_*" and "mod_grid_phy_lmdz" files from dynlonlat_phylonlat
1614  to "phy_common"
1615* moved "ioipsl_getincom_p.F90 from "misc" to "phy_common" and modified
1616  it to match Earth GCM version and renamed it ioipsl_getin_p_mod.F90
1617* added an "abort_physics" (as in Earth GCM) in "phy_common"
1618* added a "print_control_mod.F90 (as in Earth GCM) in phy_common
1619* made similar changes in LMDZ.GENERIC and LMDZ.MARS
1620
1621**********************
1622**** commit_v1523 ****
1623**********************
1624Ehouarn: More updates to make planetary codes (+Earth) setups converge.
1625
1626* in dyn3d_common:
1627- convmas.F => convmas.F90
1628- enercin.F => enercin.F90
1629- flumass.F => flumass.F90
1630- massbar.F => massbar.F90
1631- tourpot.F => tourpot.F90
1632- vitvert.F => vitvert.F90
1633
1634* in misc:
1635- move "q_sat" from "dyn3d_common" to "misc" (in Earth model, it is also called
1636  by the physics)
1637- move "write_field" from "dyn3d_common" to "misc"(may be called from physics
1638  or dynamics and depends on neither).
1639
1640* in phy_common:
1641- move "write_field_phy" here since it may be called from any physics package)
1642- add module "regular_lonlat_mod" to store global information on lon-lat grid
1643
1644* in dynlonlat_phylonlat/phy*:
1645- turn "iniphysiq.F90" into module "iniphysiq_mod.F90"
1646  (and of course adapt gcm.F[90] and 1D models accordingly)
1647
1648**********************
1649**** commit_v1524 ****
1650**********************
1651Ehouarn: More updates to enforce dynamics/physics separation:
1652  get rid of references to "temps_mod" from physics packages;
1653  make a "time_phylmdz_mod.F90" module to store that
1654  information and fill it via "iniphysiq".
1655
1656**********************
1657**** commit_v1525 ****
1658**********************
1659Ehouarn: Further adaptations to enforce dynamics/physics separation:
1660- get rid of references to "control_mod" from physics packages.
1661
1662**********************
1663**** commit_v1530 ****
1664**********************
1665Ehouarn: Updates in the physics (Venus and Titan) to keep up with updates
1666in LMDZ5 (up to LMDZ5 trunk, rev 2350) concerning dynamics/physics separation:
1667- Adapted makelmdz and makelmdz_fcm script to stop if trying to compile
1668  1d model or newstart or start2archive in parallel.
1669- got rid of references to "dimensions.h" in physics.
1670  Within physics packages, use nbp_lon (=iim), nbp_lat (=jjmp1) and
1671  nbp_lev (=llm) from module mod_grid_phy_lmdz (in phy_common) instead.
1672  Only partially done for Titan, because of many hard-coded commons; a
1673  necessary first step will be to clean these up (using modules).
1674
1675**********************
1676**** commit_v1540 ****
1677**********************
1678Ehouarn: Further adaptations to keep up with changes in LMDZ5 concerning
1679physics/dynamics separation:
1680- changed directory "dynlonlat_phylonlat" to "dynphy_lonlat" and adapted
1681  makelmdz and makelmdz_fcm scripts accordingly.
1682- added option "-libphy" to makelmdz_fcm to just build a physics library,
1683  without any main program (not operational yet; further cleanup in the
1684  physics required).
1685- moved "iniprint.h" from dyn3d_common to misc (NB: it is used in both physics
1686  and dynamics; this should be cleaned up further...)
1687
1688**********************
1689**** commit_v1543 ****
1690**********************
1691Ehouarn: Further adaptations to keep up with changes in LMDZ5 concerning
1692physics/dynamics separation:
1693* dyn3d:
1694- adapted gcm.F so that all physics initializations are now done in iniphysiq.
1695
1696* dyn3dpar:
1697- adapted gcm.F so that all physics initializations are now done in iniphysiq.
1698- updated calfis_p.F to follow up with changes.
1699- copied over updated "bands.F90" from LMDZ5.
1700
1701* dynphy_lonlat:
1702- calfis_p.F90, mod_interface_dyn_phys.F90,
1703  follow up of changes in phy_common/mod_* routines
1704
1705* phy_common:
1706- added "geometry_mod.F90" to store information about the grid (replaces
1707  phy*/comgeomphy.F90) and give variables friendlier names: rlond =>
1708  longitude , rlatd => latitude, airephy => cell_area,
1709  cuphy => dx , cvphy => dy
1710- added "physics_distribution_mod.F90"
1711- updated "mod_grid_phy_lmdz.F90", "mod_phys_lmdz_mpi_data.F90",
1712  "mod_phys_lmdz_para.F90", "mod_phys_lmdz_mpi_transfert.F90",
1713  "mod_grid_phy_lmdz.F90", "mod_phys_lmdz_omp_data.F90",
1714  "mod_phys_lmdz_omp_transfert.F90", "write_field_phy.F90"
1715  and "ioipsl_getin_p_mod.F90" to LMDZ5 versions.
1716
1717* phy[venus/titan/mars/std]:
1718- removed "init_phys_lmdz.F90", "comgeomphy.F90"; adapted routines to use
1719  geometry_mod (longitude, latitude, cell_area, etc.)
1720
1721**********************
1722**** commit_v1545 ****
1723**********************
1724Ehouarn: Adaptation wrt previous changes for Titan and Venus where
1725longitude and latitude arrays (in phycommon/geometry_mod) were overwritten
1726with values from startphy.nc files, where values are given in degrees.
1727For the sake of homegeneity with other physics package, revert to "default"
1728behaviour: longitude/latitude are in radians and longitude_deg/latitude_deg
1729are in degrees.
1730Also added checking in phyetat0 that the longitude/latitude read in the
1731restartphy.nc files match the ones provided by the dynamics.
1732
1733**********************
1734**** commit_v1549 ****
1735**********************
1736Ehouarn: Further adaptations to keep up with changes in LMDZ5 concerning
1737physics/dynamics separation (up to rev r2420 of LMDZ5)
1738* all physics packages:
1739- added module callphysiq_mod.F90 in dynphy_lonlat/phy*** which contains
1740  the routine "call_physiq" which is called by calfis* and calls the
1741  physics. This way different "physiq" routine from different physics
1742  packages may be called: The calfis* routines now exposes all available
1743  fields that might be transmitted to physiq but which is actually send
1744  (ie: expected/needed by physiq) is decided in call_physiq.
1745- turned "physiq.F[90]" into module "physiq_mod.F[90]" for better control 
1746  of "physiq" arguments. for phyvenus/phytitan, extracted gr_fi_ecrit from
1747  physiq.F as gr_fi_ecrit.F90 (note that it can only work in serial).
1748
1749* misc:
1750- updated wxios.F90 to keep up with LMDZ5 modifications.
1751
1752* dyn3d_common:
1753- infotrac.F90 keep up with LMDZ5 modifications (cosmetics)
1754
1755* dyn3d:
1756- gcm.F90: cosmetic cleanup.
1757- leapfrog.F90: fix computation of date as function of itau.
1758
1759* dyn3dpar:
1760- gcm.F: cosmetic cleanup.
1761- leapfrog_p.F90: fix computation of date as function of itau.
1762    NB: physics are given the date corresponding to the end of the
1763    physics step.
1764
1765* dynphy_lonlat:
1766- calfis.F : added computation of relative wind vorticity.
1767- calfis_p.F: added computation of relative wind vorticity (input required
1768  by Earth physics)
1769
1770**********************
1771**** commit_v1563 ****
1772**********************
1773
1774iniphysiq in all GCMs
1775---------------------
1776
1777iniphysiq was performing two main tasks
1778- one that is planet-independent i.e. setting the physics grid and geometry
1779(we checked: the lines of code in phyxxx/iniphysiq_mod were doing
1780the exact same things)
1781- one that is planet-dependent i.e. time settings, planetary constants
1782
1783now the planet-independent initialization is done by inigeomphy_mod
1784which is in dynphy_lonlat and the planet-dependent initialization is done
1785in the respective phyxxx folders
1786
1787this commit is intended for interface lisibility and modular approach
1788following the framework adopted by Ehouarn in the last commits
1789it paves the path for a similar (and, now, easy) counterpart for mesoscale
1790models
1791
1792**********************
1793**** commit_v1572 ****
1794**********************
1795Ehouarn: Further adaptations to keep up with changes in LMDZ5 concerning
1796physics/dynamics separation (up to rev r2500 of LMDZ5)
1797
1798* arch:
1799- remove ifort debug option '-check all', replace it with
1800  '-check bounds,format,output_conversion,pointers,uninit' (i.e.
1801  get it to stop complaining about copying into temporary arrays)
1802
1803* dyn3d_common:
1804- comconst_mod.F90 : add ngroup
1805
1806* dyn3d:
1807- gcm.F90 : minor bug fix (arguments to a call_abort())
1808- leapfrog.F90 : recompute geopotential for bilan_dyn outputs
1809- conf_gcm.F90 : read "ngroup" from run.def
1810- groupe.F , groupeun.F : ngroup no longer a local parameter
1811
1812* dyn3d_par:
1813- conf_gcm.F90 : read "ngroup" from run.def
1814- groupe_p.F , groupeun_p.F : ngroup no longer a local parameter
1815
1816* misc:
1817- regr1_step_av_m.F90 : removed (not used)
1818
1819* phy_common:
1820- mod_phys_lmdz_mpi_transfert.F90 , mod_phys_lmdz_mpi_data.F90 : change
1821  is_north_pole and is_south_pole to is_north_pole_dyn and is_south_pole_dyn
1822- mod_phys_lmdz_omp_data.F90 : introduce is_nort_pole_phy and is_south_pole_phy
1823
1824* dynphy_lonlat:
1825- mod_interface_dyn_phys.F90 : use is_north_pole_dyn and is_south_pole_dyn
1826- calfis_p.F : use is_north_pole_dyn and is_south_pole_dyn
1827
1828* phyvenus:
1829- physiq_mod , write_hist*.h : use is_north_pole_phy and is_south_pole_phy
1830  to correctly compute mesh area at poles to send to hist*nc files.
1831
1832* phytitan:
1833- physiq_mod , write_hist*.h : use is_north_pole_phy and is_south_pole_phy
1834  to correctly compute mesh area at poles to send to hist*nc files.
1835
1836
1837**********************
1838**** commit_v1573 ****
1839**********************
1840Cleanup concerning iniphysiq/inigeomphy initializations: initializations
1841related to routines in phy_common or dynphy_lonlat can be done in
1842inigeomphy, but any initialization for modules/routines in a physics
1843package (directory phy***) must be done in the related phy***/iniphysiq
1844routine.
1845
1846**********************
1847**** commit_v1575 ****
1848**********************
1849Ehouarn: Further adaptations to keep up with changes in LMDZ5 concerning
1850physics/dynamics separation (up to rev r2575 of LMDZ5)
1851
1852* dyn3d_common:
1853- infotrac.F90 : propagate initialisations for INCA (Earth GCM)
1854
1855* misc:
1856- wxios.F90: updates to use the XIOS2 library
1857
1858* dynphy_lonlat:
1859- grid_atob_m.F90: fix for some zoomed grid interpolation cases
1860
1861**********************
1862**** commit_v1576 ****
1863**********************
1864Ehouarn: Clean up the dynamics/physics interface to converge with LMDZ5;
1865get rid of tracerdyn parameter (which was supposed to send information
1866about wether tracers should be advected or not in the Mars and Generic
1867models).
1868
1869**********************
1870**** commit_v1592 ****
1871**********************
1872Ehouarn: Further adaptations to stick with LMDZ5 (at this point one can
1873compile phylmd, from LMDZ5 revision 2602, with LMDZ.COMMON!)
1874
1875* dyn3d and dyn3dpar:
1876- removed ce0l.F90
1877
1878* dyn3d_common:
1879- added conf_dat_m.F90 (for Earth model)
1880- modified diagedyn.F: hard coded constants for Earth and error message
1881  for other planets
1882
1883* misc:
1884- added slopes_m.F90 and regr1_conserv_m.F90 used by Earth model
1885
1886**********************
1887**** commit_v1621 ****
1888**********************
1889Ehouarn: Further work on full dynamics/physics separation.
1890
1891LMDZ.COMMON:
1892- added phy_common/vertical_layers_mod.F90 to store information on vertical
1893  grid. This is where routines in the physics should get the information.
1894- The contents of vertical_layers_mod intialized via
1895  dynphy_lonlat/inigeomphy_mod.F90.
1896
1897LMDZ.MARS:
1898- physics now completely decoupled from dynamics; the physics package
1899  may now be compiled as a library (-libphy option of makelmdz_fcm).
1900- created an "ini_tracer_mod" routine in module "tracer_mod" for a cleaner
1901  initialization of the later.
1902- removed some purely dynamics-related outputs (etot0, zoom parameters, etc.)
1903  from diagfi.nc and stats.nc outputs as these informations are not available
1904  in the physics.
1905
1906LMDZ.GENERIC:
1907- physics now completely decoupled from dynamics; the physics package
1908  may now be compiled as a library (-libphy option of makelmdz_fcm).
1909- added nqtot to tracer_h.F90.
1910- removed some purely dynamics-related outputs (etot0, zoom parameters, etc.)
1911  from diagfi.nc and stats.nc outputs as these informations are not available
1912  in the physics.
1913
1914LMDZ.VENUS:
1915- physics now completely decoupled from dynamics; the physics package
1916  may now be compiled as a library (-libphy option of makelmdz_fcm).
1917- added infotrac_phy.F90 to store information on tracers in the physics.
1918  Initialized via iniphysiq.
1919- added cpdet_phy_mod.F90 to store t2tpot etc. functions to be used in the
1920  physics. Initialized via iniphysiq. IMPORTANT: there are some hard-coded
1921  constants! These should match what is in cpdet_mod.F90 in the dynamics.
1922- got rid of references to moyzon_mod module within the physics. The
1923  required variables (tmoy, plevmoy) are passed to the physics as arguments
1924  to physiq.
1925
1926LMDZ.TITAN:
1927- added infotrac_phy.F90 to store information on tracers in the physics.
1928  Initialized via iniphysiq.
1929- added cpdet_phy_mod.F90 to store t2tpot etc. functions to be used in the
1930  physics.
1931- Extra work required to completely decouple physics and dynamics: moyzon_mod
1932  should be cleaned up and information passed from dynamics to physics as
1933  as arguments. Likewise moyzon_ch and moyzon_mu should not be queried from
1934  logic_mod (which is in the dynamics).
1935
1936**********************
1937**** commit_v1650 ****
1938**********************
1939Ehouarn: Further adaptations to stick with LMDZ5 (up to rev r2750)
1940
1941* libf
1942- makelmdz[_fcm] : added Earth-specific "dust" and "strataer" cases and
1943                   -arch_path option
1944- bld.cfg : added dust and strataer cases
1945
1946* dyn3d[par]
1947- conf_gcm.F90 : added read_orop parameter (Earth-related) for
1948                 loading subgrid orography parameters.
1949- guide[_p]_mod.F90: added output of nudging coefficients for winds
1950                     and temperature
1951- temps_mod.F90 : cosmetics/comments
1952- logic_mod.F90 : cosmetics/comments
1953
1954* dyn3d_common
1955- comconst_mod.F90 : cosmetics/comments + added year_day module variable
1956- conf_planete.F90 : added year_day from comconst_mod as done in LMDZ5
1957- comvert_mod.F90 : cosmetics/comments
1958- infotrac.F90 : added "startAer" case to follow up with LMDZ5
1959
1960* misc
1961- wxios.F90 : follow up on changes in LMDZ5
Note: See TracBrowser for help on using the repository browser.