**** commit_v5 **** ** ADAPTATION GCM POUR CP(T) **-------------------------- * Ajout d'un fichier cpdet.F contenant toutes les routines nécessaires à l'utilisation de Cp(T) -> routines ini_cpdet, t2tpot, tpot2t -> fonction cpdet(t) * Du coup, suppression de tous les cpdet.* de phytitan et phyvenus * Modif de gcm.F : initialisation ini_cpdet ajoutée * Modif de comconst.h : ajout de nu_venus et t0_venus * Modif de caldyn0.F : - dimensions de pk (ip1jmp1 à la place de iip1,jjp1) - ajout de temp et tsurpk - calcul de temp (tpot2t) et tsurpk - passage de tsurpk à la place de teta dans sortvarc0 * Modif de caldyn.F : - passage de tsurpk en argument - dimensions de pk (ip1jmp1 à la place de iip1,jjp1) - ajout de temp - passage de tsurpk à la place de teta dans dudv2 - passage de tsurpk à la place de teta dans sortvarc * Modif de calfis.F : - ajout de zteta et zpk - calculs de zteta et zpk - calcul de ztfi via tpot2t - mise en commentaires de pcvgu/v/t/q car ne servent pas... - (ajout commentaire sur traceurs intensifs) - modification du calcul de pdhfi * Modif de diagedyn.F : (même si c'est une routine pure Terre, pour l'instant) - calcul de la temperature - remplacement de RCPD par cpdet(T) * Modif de leapfrog.F : - ajout de temp et tsurpk - calcul de temp (tpot2t) et tsurpk (3 endroits) - passage de tsurpk à la place de teta dans geopot (3 endroits) - passage de tsurpk en argument de caldyn - calcul de dtetaecdt * Modif de vlspltqs.F - modif taille de tempe - calcul de tempe (via tpot2t) ** APPEL DE LA PHYSIQUE **---------------------- * Modif de calfis.F : - on appelle physiq comme pour Venus et Titan quand on n'a pas la clé CPP_EARTH - j'ai enlevé le mot clé planet_type, ça fait double emploi, non ? - j'ai laissé nqtot dans les arguments d'appel à physiq... A reverifier. **** commit_v6 **** * Modif de defrun.F : commentaire indiquant qu'il ne sert plus donc pas a jour ! * Modif de dynredem.F : correction faute orthographe dans commentaire ** IOIPSL, real8 vs real4 **----------------------- J'élimine ce truc bancal. Il faudra compiler IOIPSL en double précision. Du coup, pas de modifs spécifiques dans dyn3d. Par contre, il faudra éliminer ça dans les physiques ! ** Nombre de traceurs **------------------- * Modif de infotrac.F90 : - definition de type_trac - definition de nqtrue depend de planet_type - lecture de traceur.def depend de planet_type * Modif de addfi.F : - separation des traceurs 1 et 2 pour qtestt/qtestw valable seulement pour planet_type=earth * Modif de caladvtrac.F : - deplacement du test sur planet_type pour virer tout ce qui concerne dq quand on n'est pas sur Terre * Modif de calfis.F : - ajout d'une remarque concernant pdq... ** Avec ou sans advection de traceurs **----------------------------------- Reglé grace à iadv lu dans traceur.def: si 0, pas advecté. Sans traceurs, on a donc un seul traceur dummy, non advecté, mais écrit dans start.nc et trimbalé partout... ** Homogeneisation des .def **------------------------- * Modif des deftanks/[titan/venus]/[gcm/physiq/run].def : - ajout planet_type - passage des cles physiques vers physiq.def - homogeneisation des parametres * Modif de conf_gcm.F : - ok_strato mis à true par defaut * Modif de clesph0.h : - ajout d'un commentaire: il faut virer ce fichier, ne sert plus a rien. ** Homogeneisation de bilan_dyn **----------------------------- * Modif de leapfrog.def : - premier appel: il y a first, deplacement de first=.false., elimination prem - ajout d'initialisations - ajout des tendances de la couche superieure (d*top) - elimination itau_w (ne sert pas) - couche superieure: ajout addfi séparé - passage des d*dis en */s - appel bilan_dyn * Modif de bilan_dyn.def : - modification appel (pour sortie des tendances en moment cinetique) - ajout tendances du* en m/s2 - ajout variables pour transport vertical - ajout variables pour tendances en moment cinetique - Champs advectés: base=6 (ovap est un traceur...), en commentaire pour l'instant, les traceurs. - introduction des calculs pour transport vertical - introduction des calculs pour tendances moment cinétique - présentation des déclarations - facteur fact_geovenus=-1 pour Vénus - petit ajustement possible pour ncum (problèmes de précision) - élminination des sorties grads - modif noms temp et ecin - modif sur incrementation itau et time - definitions et sorties: limité pour l'instant à temp et ang, sans les psiQ sans la somme en lat du transport vertical, à revoir (1D seulement?). - modification calcul ang - modification tpot2t - correction sur fonction de courant psiQ ** Choix de spécificités Terre dans gcm.F **--------------------------------------- ( certains appels ont été mis sous flag CPP_EARTH ou planet_type=earth alors ) ( qu'il sont aussi valables pour Venus et Titan... ) ( ils etaient sous flag IOIPSL avant... ) * Modif de gcm.F : - appel de dynetat0 modulé selon planet_type (mars est un cas à part) - appel de dynredem0 modulé selon planet_type (mars est un cas à part) - appel de iniphysiq: a mettre sous cle CPP_PHYS pour cas sans physique * Modif de leapfrog.F : - appel de dynredem1 modulé selon planet_type (mars est un cas à part) * Modif de calfis.F : - appel de physiq: a mettre sous cle CPP_PHYS pour cas sans physique - conservation de la possibilité de nsplit_phys - ajout commentaire sur unité des tendances * Modif de conf_gcm.F : - commentaires pour nsplit_phys **** commit_v7 **** * Mise à niveau (de la dynamique) par rapport à la version 1447 de LMDZ5 * ---------------------------------------------------------------------- * Pour l'instant, on n'a pas touché à dyn3dpar, donc pour l'instant on ne fait que recopier les fichiers de la version 1447 * Mise à jour de routines (dans dyn3d) qui n'ont changé que côté LMDZ5: - ener.h - grid_noro.F - iniacademic.F - integrd.F - limit_netcdf.F90 * Mise à jour des routines qui ont changé des deux côtés: - addfi.F * ajout d'un "USE control_mod, ONLY : planet_type" * mise en forme du if (planet_type=="earth") à l'identique de la revision 1447 (pour être peinard vis-à-vis de futures diff). - caladvtrac.F * ajout d'un "USE control_mod, ONLY : iapp_tracvl,planet_type" * 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...) * 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). * 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. - gcm.F * Mise d'un #ifdef CPP_PHYS autoure de Init_Phys_lmdz et InitComgeomphy , au lieu du (bancal) #ifdef CPP_EARTH * De même il faut bel et bien un #ifdef CPP_PHYS autour de iniphysiq & co. - infotrac.F90 * Ajout des modifs de forme et correction sur l'utilisation de trim() et taille des tableaux str1(23),str2(23) * 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?). - leapfrog.F * Ajout des modifs/améliorations pour le cas académique sans physique mais en utilisant dutop(),dvtop(), etc. pour le sponge layer **** commit_v8 **** ** ADAPTATION DYNAMIQUE PARALLELE AU CP(T) ------------------------------------------ Remarques: ---------- - 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. - On pourrait peut-être faire de cpdet.F90 un module... Retour sur leapfrog.F: (version séquentielle, dans dyn3d): ---------------------- - 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. => A 'hamoniser' plus tard. Modifications (dans dyn3dpar): ------------------------------ * infotrac.F90 : recopié à l'identique depuis dyn3d * comconst.h : recopié à l'identique depuis dyn3d * caldyn0.F : recopié à l'identique depuis dyn3d * cpdet.F : - création des routines t2tpot_p et tpot2t_p , versions // de t2tpot et tpot2t * gcm.F : - on encadre les appels à Init_Phys_lmdz et Init_interface_dyn_phys par des #ifdef CPP_PHYS (et non plus ifdef CPP_EARTH). - ajout de l'appel à ini_cpdet pour Cp(T) - appel de dynetat0 modulé selon planet_type (Mars est le cas pathologique) - appel à iniphysiq encadré par un #ifdef CPP_PHYS - appel de dynredem0_p modulé selon planet_type (Mars est le cas pathologique) * leapfrog_p.F : - ajout variables temp et tsurpk - ajout des calculs des hallos pour temp() et tsurkp() (NOTE POUR PLUS TARD: vérifier que c'est bien nécessaire...) - utilisation tpot2t_p et calcul de tsurkp() avant appel à geopot_p (sans oublier de modifier argument de geopot_p, teta => tsurpk). (3 fois) - ajout argument tsurpk dans l'appel à caldyn_p. - ajout des passages en (m/s)/s des dudis , dvdis et dtetadis. - calcul de dtetaecdt en passant par la température. - changement des arguments de l'appel à bilan_dyn_p. - appel de dynredem1_p modulé selon planet_type (Mars est le cas pathologique). * calfis_p.F : - utilisation de la clef CPP_PHYS (et non plus CPP_EARTH). - ajout des variables locales zteta et zpk. - ajout calcul de zteta et zpk. - 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 //). - appel de la routine physiq selon planet_type. - modification calcul de pdhfi. * caldyn_p.F : - ajout de tsurpk dans les arguments. - passage de tsurkp à la place de teta dans dudv2_p. - passage de tsurkp à la place de teta dans sortvarc. * vlspltqs_p.F : - modification de la taille de tempe (tempe(ip1jmp1,llm) au lieu de tempe(ip1jmp1). - 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...) * 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...) **** commit_v11 **** 24/01/2011 ajout du modele meso-echelle martien, ancienne physique -- A. Spiga **** commit_v17 **** 24/01/2011 ajout du module LES, ancienne physique -- A. Spiga **** commit_v37 **** 27/01/2011 Remise en route chantier compilation -- Ehouarn - Modifs et corrections pour pouvoir compiler le gcm (en séquentiel, avec makelmdz_fcm pour l'instant): * ajout de fichiers 'arch' pour linux-64 (pour Bellonzi, avec ioipsl et en r8) * modification de makelmdz_fcm, ajout de la clé CPP_PHYS si on compile avec une physique * correction de quelques typos/bugs révélés à la compilation: - infotrac.F90 : supression des appels à 'lnblnk' (remplacés par len_trim) - bilan_dyn.F : déclaration des variables znom3,znom3l,zunites3, planet_type - cpdet.F : "use control_mod, ONLY: planet_type" mis aux bons endroits (idem sur cpdet.F dans dyn3dpar) - leapfrog.F : declaration de ztetaec(), dtec, cpdet , itau_w, duspg() - diagedyn.F : correction typo; attention dans diagedyn.F il y a du include "../phylmd/YOMCST.h" Ca va poser problème qd on change de physique.... - Avec ces modifs, la compilation marche sans physque, avec ou sans ioipsl et avec la physique terrestre phylmd. ******************************************** **** commit_v51 (et quelques autres...) **** ******************************************** 29/01/2011 --- A. SPIGA Nouveautes LMD_MM_MARS - LMD_LES_MARS - LMDZ.MARS [dossier mars] Ce commit fait le bilan des chantiers d'uniformisation des diverses sources du mesochelle [tous les commits par "spiga" depuis le debut sont relatifs a ces chantiers] Chantiers acheves avec compilation et execution testees: 1. le meme coeur dynamique peut maintenant etre compile avec ancienne ou nouvelle physique; option -p sur makemeso. 2. la meme interface module_lmd_driver est partagee par LMD_MM_MARS et LMD_LES_MARS 3. le meme libf est partage entre modele mesoechelle et gcm les quelques routines qui different sont notees meso_ et integrees aux sources du gcm =====> De 4 version du modele + 1 version de la nouvelle physique, on passe a une seule version du modele meso-echelle dont la physique est automatiquement indexee sur les modifications effectuees dans le GCM [quelques routines mesoechelle mises a part] * Reste a tester LMD_LES_MARS avec la nouvelle physique. Modifications mineures attendues suite au point 2. * Reste a tester le nesting qui devrait induire des modifications dues a des lignes trop longues... ce sera transparent du point de vue GCM. ******************** **** commit_v52 **** ******************** ********** chantier principal du commit ********** --- version LMDZ5 qui fonctionne pour tests geantes ********** --- prochaine etape, tests sur GNOME M libf/dyn3dpar/comconst.h M libf/dyn3dpar/conf_planete.F90 ajout du flux de chaleur intrinseque: ihf [par defaut il est nul] M libf/dyn3dpar/gcm.F changements cosmetiques [pour diff plus efficace avec version non par] M libf/dyn3dpar/iniacademic.F possibilites de variations latitudinales de temperature plus originales [seulement pour planet_type.eq."giant"] M libf/dyn3dpar/leapfrog_p.F 1. ajout d'une tendance causee par le flux de chaleur intrinseque (seulement prise en compte si planet_type.eq."giant") 2. correction bugs problematiques a la compilation et au run --> probleme dans les boucles (l'indice etait llm et non l) --> ajout de SAVE pour les variables paralleles --> correction des declarations de variables manquantes M libf/dyn3dpar/calfis_p.F correction d'une deuxieme parenthese manquante sur ALLOCATE(zteta(klon,llm)) M libf/phylmd/regr_lat_time_climoz_m.F90 erreur a la compilation avec FCM... il s'agit d'une routine terrestre il y a visiblement un probleme avec o3_in en attendant, les lignes sont commentees avec !AS A deftanks/giant 8 fichiers ajout de fichiers de configuration typiques pour les geantes gazeuses [experimental pour le moment... on est loin de jupiter] --> comparaisons entre un run ancien [avec LMDZ5-dev sur SVN ipsl sans cp var] et run avec version sur ce SVN planeto donne des resultats similaires ********** pratique A ioipsl A ioipsl/compile_ioipsl.bash A ioipsl/util 16 fichiers script et utilitaire pour compiler IOIPSL de facon independante il suffit d'executer ./compile_ioipsl.bash M arch/arch-AMD64_CICLAD.path si IOIPSL a ete compile avec la methode precedente, les bons PATH sont definis dans ce fichier [le NETCDF est aussi OK] M 000-README-svn mise a jour options "svn status" M mars/libf/phymars/meso_callkeys.h mise a jour mineure du fichier [ecri_phys etait defini mais pas dans la liste] ******************** **** commit_v54 **** ******************** -------------------------- LMD_LES_MARS: Tests with new physics in unified frame M 53 mesoscale/LMD_LES_MARS/modif_mars/module_model_constants.F M 53 mesoscale/LMD_LES_MARS/modif_mars/module_first_rk_step_part1.F M 53 mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F Modifications made to cope with new soil scheme M 53 mesoscale/LMD_MM_MARS/SRC/WRFV2/mars_lmd/libf/phymars/meso_physiq.F Commented aeronomars in old physics so that the model can compile with lots of grid points -------------------------- LMD_MM_MARS: Implement tracers with the new physics. Test with JBM runs with 5 tracers including radiatively active dust and water ice TODO: propagate reading "traceur.def" and few initialisations from testphys1d.F into module_lmd_driver.F M 53 mars/libf/phymars/dimradmars.h M 53 mars/libf/phymars/callradite.F Change it back to both dust and ice radiatively active M 53 mesoscale/LMD_MM_MARS/makemeso Allow to "fresh start" with the inclusion of "clean -a" in the script M 53 mesoscale/LMD_MM_MARS/SRC/WRFV2/Registry/Registry.EM M 53 mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/module_initialize_real.F M 53 mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/solve_em.F M 53 mesoscale/LMD_MM_MARS/SRC/WRFV2/main/real_em.F M 53 mesoscale/LMD_MM_MARS/SIMU/runmeso Added the option mars==11 with 5 tracers: CO2 H2Ovap H2Oice DUST DUSTN -- Note that the order matters for H2Ovap and H2Oice LMD_MM_MARS: Create a folder to run LMD GCM with exact same physics as mesoscale A 0 mesoscale/LMDZ.MARS/libf/phymars/physiq.F All files in mesoscale/LMDZ.MARS/libf are links except this one --> Because specific WRITEDIAGFI commands are set to output what is needed PREP_MARS --> Something must be done so that qCO2, qdust, qdustN can be propagated too !!! A 0 mesoscale/LMDZ.MARS/libf_gcm A 0 mesoscale/LMDZ.MARS/in_lmdz_mars_newphys Two important links that must not be broken A 0 mesoscale/LMDZ.MARS/myGCM This folder is for runs. Only links here -- except temp files which are not synchronized. M 53 mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/compile A 0 mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/run.def A 0 mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/traceur.def M 53 mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/callphys.def A 0 mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/callphys.def.csttau Those files are needed to run the GCM in order to prepare initial & boundary conditions for the mesoscale... but basically it is the exact same GCM --> compile is a convenient script A 0 mesoscale/LMDZ.MARS/makegcm A 0 mesoscale/LMDZ.MARS/makegcm_g95 A 0 mesoscale/LMDZ.MARS/create_make_gcm This is supposed to be merged one day with files in trunk/mars/ A 0 mesoscale/LMDZ.MARS/myGCM/DEFS_JB Necessary files to restart a GCM run corresponding to new water cycle in JB's thesis **** commit_v65 **** -- 16/02/2011 -- EM , Mise a niveau par rapport à la version terrestre (LMDZ5V2.0-dev rev. 1487) * Mise à jour des scripts (terrestres) 'makegcm' et 'create_make_gcm' * Ajout du script 'makelmdz' (version "améliorée", en Bash, de makegcm) * Mise à jour des routines dans phylmd (sauf regr_lat_time_climoz_m.F) * disvert (dans dyn3d et dyn3dpar): passage au Fortran 90 * parallel.F90 (dyn3dpar): correction bug * etat0_netcdf.F90 (dyn3d et dyn3dpar) : mise à jour mineure * ce0l.F90 (dyn3dpar) : correction bug * abort_gcm.F (dyn3dpar) : correction bug * ugeostr.F90 (dyn3d et dyn3dpar) : passage au Fortran 90 * fluxstokenc_p.F (dyn3dpar) : correction bug * iniacademic.F90 (dyn3d et dyn3dpar) : passage au Fortran 90 * friction_p.F (dyn3dpar) : correction bug * infotrac.F90 (dyn3d et dyn3dpar) : correction bug mineur sur lecture traceurs * caladvtrac.F (dyn3d) : modifications cosmétiques ******************** **** commit_v76 **** etape importante d'une serie de commit sur les traceurs dans le mesoscale ******************** LMD_MM_MARS: remise a plat du traitement des traceurs terminee [en particulier en vue de l'utilisation nouvelle physique] --> fonctionnement concluant sur un cas Tharsis hydro 61x61x61 --> ne pas utiliser le cas FASTCASE trop instable avec traceurs --> reste a tester l'effet d'especes radiativement actives options dans namelist.input : mars = 0 ---> pas de traceurs mars = 1 ---> cycle de l'eau : water vapour + ice mars = 2 ---> cycle poussieres : un dust bin mars = 3 ---> cycle poussieres : dustq + dustn [NOUVELLE PHYS seulement] mars = 11 ---> cycle de l'eau + poussieres [1+3] [NOUVELLE PHYS seulement] NB: pour les deux derniers, reste un petit travail mineur sur qsurf (voir dans module_lmd_driver.F) il faut definir conjointement le callphys.def associe et relancer real.exe (sinon on transporte juste dynamiquement des 'dummy' traceurs) il n'est necessaire de recompiler que si le nombre total de traceurs change Fichiers a mettre a jour si l'on ajoute une option "mars" dans le Registry -------------------------------------------------------------------------- Attention suivant les inputs GCM, il faut peut etre egalement changer 1. readmeteo.F90 dans PREP_MARS et 2. METGRID.TBL dans WPS/metgrid M 75 mesoscale/LMD_MM_MARS/SRC/WRFV2/Registry/Registry.EM ---> definition du scenario et de l'ordre des traceurs dans SCALAR M 75 mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/module_initialize_real.F ---> definition des interpolations verticales des champs de traceurs venant du GCM M 75 mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/solve_em.F ---> definition du traitement a reserver aux bornes ---> --- dans les 4 scenarios precites, on passe aux bornes les champs du GCM [y compris QH2O_ICE contrairement a ce qui etait par defaut precedemment] ---> --- les lignes relatives a un flux nul aux bornes sont laissees a un cas hypothetique mars>50 M 75 mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F ---> definition de l'ordre correct des traceurs pour le passage a la physique ---> recuperation des tendances de la physique pour passage a la dynamique ---> NB: c'est dans ce module que sont presents des STOP si mars = 4-10 ou mars > 11 .... il faut donc modifier si l'on ajoute des options M 75 mesoscale/LMD_MM_MARS/SRC/WRFV2/main/real_em.F ---> definition et calcul des champs a appliquer aux bornes ---> generalise desormais, il n'y a plus qu'a ajouter d'eventuelles nouvelles options 'mars' ---> .... des modifications sont necessaires si on passe plus de 4 traceurs aux bornes M 75 mesoscale/LMD_MM_MARS/SIMU/runmeso ---> definition du bon nombre de traceurs dans la compilation de la physique puis l'execution [l'option mars est lue par le script dans namelist.input] Fichiers tests -------------- A 0 mesoscale/TESTS/newphys_tracers/* ---> pour la nouvelle physique (ici seulement les fichiers def) ---> toutes les options precitees ont ete testes avec succes a l'execution [pas de crash] ---> ... plausibilite physique verifiee rapidement, PAS d'ANALYSE APPROFONDIE pour le moment A 0 mesoscale/TESTS/LMD_MM_MARS_TESTCASE_water.tar.gz ---> pour l'ancienne physique (introduit precedemment mais n'avait pas ete synchronise) M 75 mars/libf/phymars/meso_dustlift.F NB: correction mineure, de facon a recuperer alpha_lift de initracer ******************** **** commit_v97 **** ******************** Serie de modifs Sebastien Lebonnois ** Correction bug **--------------- * Modif de bilan_dyn.F : - bug à la ligne 915: jjm et non jjp1... ** Modifs de dyn3d **--------------- * Modif de leapfrog.F : - ajout test pk monotone ** Sortie des opacites plutot que des aerosols dans phytitan **---------------------------------------------------------- * Modif de physiq.F : - ajout de variables et d'un common (pour variables venant de radtitan) * Modif de ini/write_histmth.h - sorties des opacites (thv* et khv*) - commentaire de la sortie des q* ** Reglage .def **--------------- * titan/physiq.def : - ajustement tx ** Sorties IOIPSL **----------------------- * Modif de phy[venus/titan]/physiq.F - suppression des REAL*4 lies aux sorties IOIPSL * Modif de phy[venus/titan]/[ini/write]_hist* - suppression des variables intermediaires en REAL*4 lies aux sorties IOIPSL ** nqmx remplace par nqtot **----------------------- * Modif de phytitan/ calchim.F,optci.F,optcv.F,pg3.F,physiq.F,phytrac.F, radlwsw.F,radtitan.F,rdf.F * Modif de phyvenus/ phytrac.F,testphys1d.F ** nettoyage **----------------------- * Suppression de phytitan/ calchim.dbleprec,calchim.spleprec ** calendriers **----------------------- * Modif de dyn3d[par]/gcm.F: - calendriers: il faut une option dans ioconf_calendar pour definir les calendriers titan et venus - pour definition jD_ref et jH_ref: avertissement pour Venus et Titan - avertissement pour separation en annees * Modif de deftank/[titan/venus]/run.def - ajout de calend => calend=titan ou venus - ajout de anneeref et raz_date ** Possibilite de tourner moins d'une journee **----------------------- * Modif de dyn3d[par]/leapfrog[_p].F - ajout de la possibilite de tourner moins d'1 jour * Modif de dyn3d[par]/control_mod.F90 - ajout de less1day et fractday * Modif de dyn3d[par]/conf_gcm.F - definition/lecture de less1day et fractday * Modif de deftank/venus/run.def - ajout de less1day et fractday ** suppression advtrac.h et control.h dans les phy* **----------------------- * Modif de : phy[venus/titan]/physiq.F - remplacement de #include "advtrac.h" par USE infotrac - remplacement de #include "control.h" par USE control_mod * Modif de : phy[venus/titan]/phytrac.F - remplacement de #include "advtrac.h" par USE infotrac - remplacement de #include "control.h" par USE control_mod * Modif de : phy[venus/titan]/phyredem.F - remplacement de #include "control.h" par USE control_mod ** ajustements lecture des .def **----------------------- * Modif de phy[titan/venus]/conf_phys.F90 - ajout de tous les parametres transferes de gcm.def dans physiq.def - utilisation de ecritphy: pour Venus, frequence de sortie dans mth et ins pour Titan, frequence de sortie dans ins - suppression de zzz * Modif de phy[titan/venus]/clesphys.h - mise a jour des declarations necessaires ** Elimination de clesphy0 **----------------------- * Modif de : phy[titan/venus]/phyetat0.F - elimination de clesphy0, longcles * Modif de : phy[titan/venus]/physiq.F - elimination de clesphy0, longcles * Modif de dyn3d[par]/ calfis.F, ce0l.F90, conf_gcm.F, gcm.F, leapfrog.F - elimination de clesphy0, longcles ** Ajustement format .h **----------------------- * Modif de phy[titan/venus]/clesphys.h (clesphys.inc elimine) * Modif de phy[titan/venus]/YOMCST.h (YOMCST.inc elimine) * Elimination de tous les YOETHF dans phy[titan/venus] et nettoyage de suphec.F * Elimination de tous les FCTTRE dans phy[titan/venus] * Modif de : phytitan/comorbit.h (comorbit.inc elimine) ** Controle de la remise a zero des varc **----------------------- * Modif de dyn3d[par]/sortvarc.F - ajout firstcal - ajout flag pour controle (resetvarc) - correction pour avoir le moment cinetique total absolu * Modif de dyn3d[par]/conf_gcm.F - ajout flag pour controle (resetvarc) * Modif de dyn3d[par]/control_mod.F90 - ajout de resetvarc * Modif de deftank/venus/run.def - ajout de resetvarc * Modif de dyn3d[par]/sortvarc0.F - correction pour avoir le moment cinetique total absolu ********************* **** commit_v101 **** ********************* Serie de modifs Sebastien Lebonnois Compilation de phyvenus, ça passe ! Modifs propagees a phytitan (sans compilation... a cause des routines C) dans la v102. Reste des chantiers a finir: - discretisation verticale - sponge layer ********************* **** commit_v104 **** ********************* SLebonnois: modification de makelmdz et create_make_gcm pour pouvoir compiler la chimie titan. Pas de raison que ca gene les autres. Dans cette version, les compilations de Venus et Titan fonctionnent. Phytitan: modifications pour pouvoir compiler correctement. Il ne manque plus que physiq.F a faire. --- Fait: Avec la v105, la compilation Titan se fait sans problemes. **----------- (commit 106: ajustements dans phytitan) **----------- - Sorties des opacites (*_hist*.h) - g(z) pris en compte (physiq.F, zzlay) - correction topo (physiq.F, zzlev(i,1)) - correction lell.F et lell_light.F (et aussi radtitan.F du coup) - remise a jour des sorties - suphec.F : RDAY=1.37889e6 et non RSIDAY **----------- ********************* **** commit_v108 **** ********************* Modifs Sebastien Lebonnois dans dyn3d[par] pour sponge layer et dissip horizontale. ** Correction bug **--------------- * Modif de dyn3d[par]/calfis[_p].F => ztfi doublement incremente... ** Sponge layer **------------- * Modif de dyn3d[par]/leapfrog[_p].F Utilisation de d*top dans appel a top_bound.F Initialisation des d* (dis, fi, top) * Modif de dyn3d[par]/top_bound[_p].F Implementation de mode_top_bound Pas d'incrementation * Modif de dyn3d[par]/conf_gcm.F Parametres de top_bound * Modif de dyn3d[par]/comconst.h Parametres de top_bound * Modif de deftank/[titan/venus]/gcm.def Ajout ok_strato Ajout parametres de top_bound * Ecriture doc Ajout top_bound.tex (et .pdf) dans la documentation. ** Dissipation horizontale **------------------------ * Modif de dyn3d[par]/inidissip.F passage a dissip_fac_mid automatique passage a dissip_fac_up sur modele martien si ok_strato * Modif de dyn3d[par]/conf_gcm.F Parametres dissip_* * Modif de dyn3d[par]/comconst.h Parametres dissip_* * Modif de deftank/[titan/venus]/gcm.def Ajout parametres dissip_* !!! REGLAGES A FAIRE !!! * Ecriture doc Ajout dissip_horiz.tex (et .pdf) dans la documentation. **************************** **** commit_v109 (+110) **** **************************** ** Discretisation verticale **----------------------- * Modif de dyn3d[par]/iniconst.F Appel de disvert_[no]terre mis sous flag planet_type * Modif de dyn3d[par]/disvert.F90 Renomme disvert_terre.F90 * Ajout de dyn3d[par]/disvert_noterre.F Correspond au disvert pour Titan et Venus (et Mars ? A verifier) Declaration aps et bps enlevee (=> comvert.h) * Modif de dyn3d[par]/comvert.h Ajout de aps,bps => entraine la modif de limy.F(+par), vlsplt[_p].F, vlspltqs[_p].F, * Modif de dyn3d[par]/limy.F, vlsplt[_p].F, vlspltqs[_p].F, Changement de aps en apps (et du coup, apn en appn) * Ajout dyn3d[par]/exner_milieu.F (vient directement de mars/libf/dyn3d/) pour remplacer exner_hyb dans cas noterre * Ajout dyn3dpar/exner_milieu_p.F adapte de exner_milieu.F pour remplacer exner_hyb_p dans cas noterre * Modif de dyn3d[par]/leapfrog[_p].F Appels à exner_hyb[_p]/exner_milieu[_p] mis sous flag planet_type. * Ajout de disvert.tex[/.pdf] dans la doc ********************* **** commit_v117 **** ********************* M 116 mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F *** CORRECTION MAJEURE DE BUG : PSFC et TRACEURS PAS BIEN MIS A JOUR *** - pdq au lieu de pdq*dt (dt = pas de temps dynamique) - idem pour pdpsrf IMPACT SURTOUT SUR LES SIMULATIONS LONGUES ET LES SIMULATIONS TACHE DE POUSSIERE (stage Julien) TEST A EFFECTUER POUR LES SIMULATIONS CYCLE DE L'EAU M 116 mars/libf/phymars/newsedim.F M 116 mars/README Correction de deux bugs dans newsedim.F: 1-e(-x) trop faible et endif mal place M 116 mesoscale/LMDZ.MARS.new/myGCM/start.nc A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/run.def A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/traceur.def A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/startfi72.nc A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/start72.nc A 0 mesoscale/LMDZ.MARS.new/myGCM/DEFS_JB/SP51_HR_dq_r3.0n0.5a0.5_MY26_TM/callphys.def M 116 mesoscale/LMDZ.MARS.new/myGCM/traceur.def M 116 mesoscale/LMDZ.MARS.new/myGCM/startfi.nc M 116 mesoscale/LMDZ.MARS.new/myGCM/callphys.def M 116 mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/compile M 116 mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/launch_gcm M 116 mesoscale/LMD_MM_MARS/SIMU/in_lmdz_mars_newphys/myGCM/run_mcd_3days Nouvelle base de donnees d'etats initiaux sans les nuages radiativement actifs A 0 mesoscale/PLOT/SPEC/LES/turb_period_psfc.pro A 0 mesoscale/PLOT/SPEC/LES/turb_inc.pro.new M 116 mesoscale/PLOT/SPEC/GW/gravitwave2.pro M 116 mesoscale/PLOT/SPEC/GW/gravitwaveprof.pro Petites MAJ routines graphiques ********************* **** commit_v119 **** ********************* Sebastien Lebonnois: apres validation des versions Venus et Titan, correction d'un certain nombre de bugs. ********************* **** commit_v124 **** ********************* Ehouarn: suite de l'implémentation de la discrétisation verticale -> insertion flag 'hybrid' pour discretisation verticale en sigma/hybrid dans disvert_noterre.F -> ajout parametre 'scaleheight' (lu dans z2sig.def) dans comvert.h -> quelques corrections de bug (en //), mais il faudra plus de travail pour atteindre la concordance entre versions séq. et //. ********************* **** commit_v126 **** ********************* Ehouarn: suite de l'implémentation de la discrétisation verticale, quelques mises à jour pour concorder avec la version terrestre. -> Finalement, on met un flag "disvert_type" pour fixer la discrétisation disvert_type==1 (défaut si planet_type=="earth") pour cas terrestre disvert_type==2 (défaut si planet_type!="earth") pour cas planéto (z2sig.def) -> au passage, pour rester en phase avec modèle terrestre on renomme disvert_terre en disvert (le disvert "alternatif" demeure 'disvert_noterre') ********************* **** commit_v130 **** ********************* Sebastien: - correction de bugs dans phytitan suite a compil avec -debug sur gnome - elimination de nbetat* dans gcm.F et leapfrog.F (et dans le parallele) - correction rday -> rjour dans sortvarc.F - ajustement des arch-GNOME* ********************* **** commit_v137 **** ********************* CHANGEMENT ARBORESCENCE DECIDEE EN REUNION SVN voir svn log voir DOC/000-MODELS ********************* **** commit_v142 **** ********************* LMD_LES_MARS: changement majeur pour pallier a plusieurs defauts penibles de la separation d'avec LMD_MM_MARS. --> le LES est maintenant inclus dans LMD_MM_MARS/SRC/LES [executer le script d'installation LMD_LES_MARS_install au prealable] --> il se compile avec le script makemeso dans $MMM en mettant l'option "-c les" qui cree un dossier particulier, e.g. lesmpi_64 --> pour l'instant sont supportes : mpi_64, mpifort_64, ancienne et nouvelle physique, cas particulier ciclad (detecte automatiquement) --> le(s) script(s) makeles sont desormais obsoletes --> il n'y a plus qu'un seul Registry.EM a modifier pour le LES (eventuellment il est possible de modifier dans le dossier specifique en remplacant le lien par un fichier) --> disparition du dossier MESOSCALE/LMD_LES_MARS --> les changements ont ete fait sans modifier le script copy_model Il reste a verifier le bon fonctionnement de facon plus approfondie suite a ce changement de structure. Le nouveau script 'correcfft' est un sparadrap un peu moche mais sans consequence. ********************* **** commit_v156 **** ********************* changements pour pouvoir faire tourner le LES sans appel a la physique martienne -- non teste mais fonctionne a priori egalement avec le MESOSCALE ********************* **** commit_v234 **** ********************* plus de meso_ files dans la physique martienne. physiq et inifis sont communs au GCM avec des precompiler flags. ********************* **** commit_v270 **** ********************* Ehouarn: mises à jour des dynamiques (seq et //) pour suivre les développements de LMDZ5 terrestre (LMDZ5 trunk, rev 1560) * scripts & co.: changement (mineur) dans "makelmdz_fcm" et "makelmdz" et les fichiers "arch*path" sur la façon dont sont définies et utilisées les références à NetCDF * dyn3d: - advtrac.F devient advtrac.F90 - inidissip.F devient inidissip.F90 + utilisation de "dissip_period" au lieu de "idissip" et calcul automatique de "dissip_period" si dissip_period=0 dans gcm.def - iniacademic.F90 : adaptation pour aquaplanètes terrestres (iflag_phys>2) - ajout de grilles_gcm_netcdf_sub.F90 (pas utile pour les planètes) - leapfrog.F :ajout du logical 'physic' (pour régler l'appel à la physique, avec les cas particuliers aquaplanètes) + correction bug sur cumul des flux de masse pour l'advection des tracers. - ini_paramLMDZ_dyn.h : remplacement de "idissip" par "dissip_period" - comdissipn.h : passage a un format compatible fixe/libre - control_mod.F90 : remplacement de "idissip" par "dissip_period" - defrun.F : remplacement de "idissip" par "dissip_period" - gcm.F : adaptations pour aquaplanètes terrestres (iflag_phys>2) - iniconst.F : dtdiss est calculé dans inidissip.F90 - vlsplt.F : changements cosmetiques - ce0l.F90 : ajout appel à grilles_gcm_netcdf_sub - integrd.F : changements cosmetiques - limit_netcdf.F90 : mise à jour de la version terrestre (pas important pour les planètes) - conf_gcm.F : ajout lecture du flag 'dissip_period' (au lieu de idissip) et du flag 'grilles_gcm_netcdf' (pas important pour les planètes) - write_paramLMDZ_dyn.h : remplacement de "idissip" par "dissip_period" *dyn3dpar: - Idem que pour dyn3d pour le fichiers identiques entre dyn3d et dyn3dpar: comdissipn.h, control_mod.F90, iniconst.F, grilles_gcm_netcdf_sub.F90, ce0l.F90, inidissip.F90, iniacademic.F90, limit_netcdf.F90, conf_gcm.F, defrun.F - advtrac_p.F devient advtrac_P.F90 - integrd_p.F : changements cosmetiques - leapfrog_p.F90 : changements cosmetiques + correction bug sur cumul des flux de masse - bilan_dyn_p.F : correction bug mineur - exner_hyb_p.F : correction bug OMP majeur - exner_milieu_p.F : correction bug OMP majeur ********************* **** commit_v492 **** ********************* Ehouarn: mises à jour des dynamiques (seq et //) pour suivre les développements de LMDZ5 terrestre (LMDZ5 trunk, rev 1605) * grid: - dimension/makdim: mise à jour du script + commentaires * filtrez: - filtreg_mod.F90: correction sur la taille des tableaux à allouer * dyn3d: - leapfrog.F : ajout possibilité de démarrer un run à n'importe quelle heure - dynredem.F : ajout possibilité de démarrer à n'importe quelle heure + utilisation du flag "type_trac" au lieu de "config_inca" - control_mod.F90 : ajout de "starttime", heure de départ - dynetat0.F : ajout "start_time" dans tab_cntrl(32) - gcm.F : utilisation du flag "type_trac" au lieu de "config_inca" + possibilité de démarrer à n'importe quelle heure - ce0l.F : utilisation du flag "type_trac" au lieu de "config_inca" - iniacademic.F90 : correction valeur de la pression de surface pour aqua et terra-planètes - conf_gcm.F : ajout lecture des flags "starttime" et "type_trac" - infotrac.F : gestion des cas INCA et Reprobus - temps.h : ajout de "start_time" * dyn3dpar: - Idem que pour dyn3d pour le fichiers identiques entre dyn3d et dyn3dpar: dynredem.F, control_mod.F90, dynetat0.F, iniacademic.F90 - temps.h : ajout de "start_time" - conf_gcm.F : ajout lecture des flags "starttime" et "type_trac" et changement du nom du fichier de sortie "standard" - gcm.F : utilisation du flag "type_trac" au lieu de "config_inca" + possibilité de démarrer à n'importe quelle heure - parallel.F90 : gestion des sorties "standard" dans plusieurs fichiers (1 par processus MPI) - leapfrog_p.F : ajout possibilité de démarrer un run à n'importe quelle heure et suppression de la variable "verbose" - dynredem_p.F : ajout possibilité de démarrer à n'importe quelle heure + utilisation du flag "type_trac" au lieu de "config_inca" - ce0l.F : utilisation du flag "type_trac" au lieu de "config_inca" - filtreg_p.F : ajout de flags cpp autour de l'utilisation de la BLAS et realisation des calculs via matmul() sinon ********************* **** commit_v776 **** ********************* Ehouarn: Updates in the dynamics (seq and //) to keep up with updates in LMDZ5 (up to LMDZ5 trunk, rev 1649): * bibio: - initdynav.F => initdynav.F90 - writedynav.F => writedynav.F90 - new_unit.F90 : added this new module - nf95_get_var_m.F90 : added this new module - netcdf95.F90, nf95_get_att_m.F90, nf95_gw_var_m.F90, nf95_put_var_m.F90, simple.F90 : updated as they were in LMDZ5 * dyn3d: - guide_mod.F90 : keep up with minor changes (pressure_exner flag) - inigrads.F : keep up with minor changes - integrd.F : keep up with changes (get rid of finvmaold which was not used) - calfis.F : keep up with minor changes (#CPP_...) - iniacademic.F90 : keep up with minor changes (pressure_exner flag) - inidissip.F90 : keep up with minor changes (simplify computation of zh) - ce0l.F90 : keep up with minor changes - dynetat0.F : keep up with minor changes (use netcdf90 function) - iniconst.F => iniconst.F90 (+ introduce pressure_exner flag) - exner_milieu.F : keep up with minor changes (can be used for all planets) - exner_hyb.F : keep up with minor changes (can be used for all planets) - gcm.F : keep up with minor changes (CPP_PHYS instead of CPP_EARTH) - comvert.h : keep up with minor changes (pressure_exner flag) - etat0_netcdf.F : keep up with minor changes (pressure_exner flag) - wrgrads.F : keep up with minor changes (lnblnk => trim) - disvert.F90 : keep up with changes (Earth version of disvert anyways) - dynredem.F : keep up with minor changes (use netcdf90 functions) - leapfrog.F : updates (get rid of finvmold , pressure_exner flag, updated computation of time, get rid of "dissipation bug" that kills 1+1=2 in dynamics) * dyn3dpar: - same updates as in dyn3 for routines : inigrads.F, iniacademic.F90, inidissip.F90, dynetat0.F, iniconst.F90, exner_milieu.F, exner_hyb.F, comvert.h, etat0_netcdf.F90, wrgrads.F, disvert.F90, dynredem.F - guide_p_mod.F : keep up with minor changes (pressure_exner flag) - gr_fi_dyn_p.F : keep up with minor changes (CPP_PHYS condition) - gr_dyn_fi_p.F : keep up with minor changes (CPP_PHYS condition) - integrd_p.F : keep up with changes (get rid of finvmaold which was not used) - calfis_p.F : keep up with minor changes (CPP_PHYS condition) - mod_interface_dyn_phys.F90 : keep up with minor changes (CPP_PHYS condition) - ce0l.F : keep up with minor changes - exner_milieu_p.F : keep up with minor changes (can be used for all planets) - exner_hyb_p.F : keep up with minor changes (can be used for all planets) - gcm.F : keep up with minor changes (CPP_PHYS) - bands.F : keep up with minor changes (CPP_PHYS) - dynredem_p.F : keep up with minor changes (use netcdf90 functions) - leapfrog_p.F : updates (get rid of finvmold , pressure_exner flag, updated computation of time, get rid of "dissipation bug" that kills 1+1=2 in dynamics) ********************* **** commit_v808 **** ********************* For Venus (but should be done for Titan also, soon): To be able to use start2archive.F and newstart-VT.F, the following routines are added in the phy* directory: ini_archive.F interp_vert.F readstart.F scal_wind.F wind_scal.F write_archive.F writerestart.F Also, dyn3d/startvar.F90 and dyn3d/grid_noro have been transfered to the phyvenus directory and adapted (mostly to remove the mask). They have also been removed from dyn3dpar. start2archive.F and newstart-VT.F should be in dyn3d. However, they depend on the planet. For the moment, not put in the SVN depository... For Titan: Update to be able to run clouds in the GCM. TO BE CHECKED ! - optc*_1pt3 replace optc*_1pt2 (called in optc*.F) - 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. - added optcld.F90 - 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. + some changes in NCL scripts... ********************* **** commit_v841 **** ********************* Ehouarn: Updates in the dynamics (seq and //) to keep up with updates in LMDZ5 (up to LMDZ5 trunk, rev 1678): * dyn3d: - leapfrog.F : jD_cur initialization for planet_type=generic ; comment out calls to "ini_paramLMDZ_dyn.h" and "write_paramLMDZ_dyn.h" (unused outputs) - comvert.h : add pseudoalt() - comconst.h : add comments - fxhyp.F : add modification (FH) to run with only 1 longitude point - gcm.F : remove call to iniaqua.F + add iflag_phys argument to call to iniphysiq => adapt iniphysiq.F in "phyvenus" and "phytitan" - dyetat0.F : adapt loading of "controle" start.nc file so it works for Earth/Venus/Titan and Mars/Generic planets. - groupe.F : add modification (FH) to run with only 1 longitude point - paramet.h : add modification (FH) to run with only 1 longitude point - calfis.F : add planet_type=="generic" case call to physiq - disvert_noterre.F : remove "pseudoalt" from local variables * phyvenus/phytitan : - iniphysiq.F : add the iflag_phys argument to routine input argument list * dyn3dpar: - identical changes to those in 'dyn3d' for comvert.h, comconst.h, paramet.h, fxhyp.F, dynetat0.F, disvert_noterre.F - gcm.F : add possibility to call to iniphysiq.F for iflag_phys>=100 and remove call to iniaqua.F + add iflag_phys argument to call to iniphysiq - leapfrog_p.F : add "physiq" logical (to control calls to physics) and jD_cur initialization for planet_type=generic - groupe_p.F : add modification (FH) to run with only 1 longitude point - calfis_p.F : add planet_type=="generic" case call to physiq * Important bug fix in leapfrog_p.F : moved compuation of tsurpk() so that it is done BEFORE the "Register Hallo" calls (prior to calling caldyn_p). Now dynamics in seq/MPI/OpenMP/mixed modes yield identical results when running in Newtonian mode (i.e. dynamics only).