Index: trunk/LMDZ.UNIVERSAL/deftank/PROTO_Saturn_Article/run.def
===================================================================
--- trunk/LMDZ.UNIVERSAL/deftank/PROTO_Saturn_Article/run.def	(revision 1167)
+++ trunk/LMDZ.UNIVERSAL/deftank/PROTO_Saturn_Article/run.def	(revision 1171)
@@ -1,254 +1,179 @@
+###########################################################################
+### RUN.DEF ### RUN.DEF ### RUN.DEF ### RUN.DEF ### RUN.DEF ### RUN.DEF ###
+########################################################################### 
+### A MERGED VERSION TO BE USED WITH OLD OR RECENT LMDZ CORE
+### i.e. compiles gcm.def+run.def in LMDZ5 with run.def in old planeto LMDZ
+### (*) indicates same parameters in old and recent LMDZ core
+###########################################################################
 
-#########
-######### THIS IS INTENDED TO WORK BOTH WITH LMDZ.GENERIC + old LMDZ core
-#########                                AND LMDZ.GENERIC + new LMDZ core
-#########
+###########################################################################
+### NUMERICAL INTEGRATIONS
+###########################################################################
+### nday --> number of days of integration (*)
+### iperiod --> period for the Matsuno step (in dynamical steps) (*)
+### day_step --> number of steps per day (multiple of iperiod) (*)
+### purmats --> temporal integration: Matsuno or Matsuno-leapfrog? (*)
+### grireg --> regular grid or not (*)
+### adjust --> flag to activate load optimization
+### use_filtre_fft --> flag to activate FFT filtering
+###########################################################################
+nday = 65000
+iperiod = 5
+day_step = 70
+purmats = .false.
+grireg = .true.
+adjust = n
+use_filtre_fft = n
 
-### A INCLURE ?
-## calend=venus  ## calendrier specifique
-## resetvarc=n   ## reinit des variables de controle
-## iflag_trac=0  ## avec ou sans traceurs
+###########################################################################
+### WHAT RELATES TO PHYSICS
+###########################################################################
+### iphysiq --> period for calling physics (in dynamical steps) (*)
+### ecritphy --> frequency for outputs in diagfi (in dynamical steps) (*)
+### planet_type --> the planet
+### disvert_type --> type of vertical coordinates (2 for planeto)
+### hybrid --> use hybrid coordinates or not? (*)
+### iflag_phys=0 --> no physics (e.g. shallow water)
+### iflag_phys=1 --> physics (e.g. phylmd)
+### iflag_phys=2 --> simple newtonian relaxation
+### physic --> flag with or without physics (*)
+###########################################################################
+iphysiq = 14
+ecritphy = 7000
+planet_type = generic
+disvert_type = 2
+hybrid = .false.
+iflag_phys = 1
+physic = .true.
 
-################################################################
-#### LMDZ5
-#### IN GCM.DEF
-#### -- those parameters are ignored when using old LMDZ core
-################################################################
+###########################################################################
+### INITIALIZATION and NUDGING
+###########################################################################
+### read_start --> with or without start files ?
+###                (without: initialization by iniacademic)
+### raz_date=0 --> use the date in start file
+### raz_date=1 --> erase the date and start from scratch
+### ok_guide --> flag for nudging towards winds (needs relax.nc)
+### facwind --> time constant for relaxation 
+###             5.e8 medium 1.e7-5.e6 strong 1.e6 very fast
+###########################################################################
+read_start = y 
+raz_date = 0
+ok_guide = n
+facwind = 1.e6
 
-## period appel a la dissipation (multiple iperiod, 0 si calcul automatique)
-## (remplace ce qui etait idissip dans l'ancienne dynamique)
-#dissip_period = 0
-#dissip_period = 2 
+###########################################################################
+### HORIZONTAL DISSIPATION
+###########################################################################
+### dissip_period --> period call to dissipation (in dynamical steps)
+### - must be a multiple of iperiod
+### - 0 means automatic computation 
+### - use idissip instead if old LMDZ core (idissip ignored in LMDZ5)
+### dissip_fac_mid --> enhancement factor in middle atmosphere
+### - set to 1 to prevent dissipation enhancement
+### lstardis --> star or not star dissipation operator (*)
+### nitergdiv --> number of iterations for gradiv operator (*)
+### nitergrot --> number of iterations for nxgradrot operator (*)
+### niterh --> number of iterations for divgrad operator (*)
+### tetagdiv --> dissipation timescale of smallest wvl: u,v (gradiv) (*)
+### tetagrot --> dissipation timescale of smallest wvl: u,v (nxgradrot) (*)
+### tetatemp --> dissipation timescale of smallest wvl: h (divgrad) (*)
+### coefdis --> coefficient for gamdissip (*)
+###########################################################################
 dissip_period = 5
+dissip_fac_mid = 1.
+lstardis = .true. 
+nitergdiv = 1
+nitergrot = 2
+niterh = 2
+tetagdiv = 5400. 8000. 160000. 1000. 2500. 4000.
+tetagrot = 7200. 8000. 160000. 1000. 2500. 4000.
+tetatemp = 7200. 8000. 160000. 1000. 2500. 4000.
 
-## avec ou sans physique
-## 0: pas de physique (e.g. en mode Shallow Water)
-## 1: avec physique (e.g. physique phylmd)
-## 2: avec rappel newtonien dans la dynamique                                         
-iflag_phys=2
-iflag_phys=1 
+###########################################################################
+### ENHANCEMENT OF HORIZONTAL DISSIPATION IN UPPERMOST LEVELS 
+###########################################################################
+### - not activated if ok_strato=n
+### - dissip_fac_up --> enhancement factor
+### - dissip_deltaz --> altitude range of transition (km)
+### - dissip_hdelta --> scale height at transition (km)
+### - dissip_pupstart --> pressure at bottom of transition region (Pa) 
+###########################################################################
+ok_strato = n
+dissip_fac_up = 5
+dissip_deltaz = 150.
+dissip_hdelta = 50.
+dissip_pupstart = 50.
 
-## avec ou sans fichiers de demarrage (start.nc, startphy.nc) ?
-## (sans fichiers de demarrage, initialisation des champs par iniacademic
-##  dans la dynamique)
-#read_start=n
-read_start=y 
+###########################################################################
+### DAMPING ("SPONGE") LAYER AT MODEL TOP
+###########################################################################
+### iflag_top_bound=0 for no sponge
+### iflag_top_bound=1 for sponge over 4 topmost layers
+### iflag_top_bound=2 for sponge from top to ~1% of top layer pressure
+### mode_top_bound=0 for no sponge
+### mode_top_bound=1 for u,v --> 0
+### mode_top_bound=2 for u,v --> zonal mean
+### mode_top_bound=3 for u,v,h --> zonal mean
+### tau_top_bound --> damping frequency at last layer
+### e-5 medium / e-4 strong yet reasonable / e-3 very strong
+###########################################################################
+iflag_top_bound = 1
+mode_top_bound = 1
+tau_top_bound = 1.e-4
 
-##  Avec ou sans strato // i.e. Couche eponge et second palier pour dissip horizontale
-ok_strato=n
+###########################################################################
+### OUTPUT FROM DYNAMICS
+###########################################################################
+### prt_level --> level of control prints (1-10)
+### ok_dyn_ins --> flag instantaneous outputs (dyn_hist.nc)
+### iecri --> frequency of instantaneous outputs (in dynamical steps)
+### ok_dyn_ave --> flag averaged outputs (dyn_hist_ave.nc)
+### periodav --> period of output of averages in dynamics (in days) 
+### ok_dynzon --> flag outputs dynzon
+### NB: iecri and periodav used to be in old LMDZ core although useless
+### iconser --> frequency of outputs of control variables (in dyn steps)(*)
+###########################################################################
+prt_level = 1
+ok_dyn_ins = n
+iecri = 480
+ok_dyn_ave = n
+periodav = 1
+ok_dynzon = 0
+iconser = 120
 
-### Dissipation horizontale
-dissip_fac_mid=1. # for no var dissip (see inidissip)
-dissip_fac_up=1. # for no var dissip (see inidissip)
-## deltaz et hdelta en km
-#dissip_deltaz=10.
-#dissip_hdelta=5.
-## pupstart en Pa
-#dissip_pupstart=1.e3
+###########################################################################
+### ZOOMED GRID (same parameters in old and recent LMDZ core)
+###########################################################################
+### clon --> longitude of center of zoom (deg) (*)
+### clat --> latitude of center of zoom (deg) (*)
+### grossismx --> zoom factor in longitude (*)
+### grossismy --> zoom factor in latitude (*)
+### dzoomx --> longitude extent of zoom zone (fraction of total area) (*)
+### dzoomy --> latitude extent of zoom zone (fraction of total area) (*)
+### taux --> "stifness" of zoom in longitude (*)
+### tauy --> "stifness" of zoom in latitude (*)
+### fxyhypb --> f(y) hyperbolic (T) or sinusoidal (F) (*)
+### ysinus --> f(y) = sin(lat) (T) or lat (F) (*)
+###########################################################################
+clon = 0.
+clat = 0.
+grossismx = 1.
+grossismy = 1.
+dzoomx = 0.
+dzoomy = 0.
+taux = 2.
+tauy = 2.
+fxyhypb = .false.
+ysinus = .false.
 
-########################################
-## LMDZ.COMMON
-## iflag_top_bound=0 for no sponge
-## iflag_top_bound=1 for sponge over 4 topmost layers
-## iflag_top_bound=2 for sponge from top to ~1% of top layer pressure
-iflag_top_bound=0
-iflag_top_bound=2
-iflag_top_bound=1
-## Mode Couche eponge
-##   mode = 0 : pas de sponge
-##   mode = 1 : u et v -> 0
-##   mode = 2 : u et v -> moyenne zonale
-##   mode = 3 : u, v et h -> moyenne zonale
-mode_top_bound=0
-mode_top_bound=2
-mode_top_bound=1
-#######################################
-
-
-#  Coefficient pour la couche eponge (valeur derniere couche)
-tau_top_bound=1.e-5
-#tau_top_bound=5.e-5
-#tau_top_bound=1.e-4
-
-## guidage par vent dans relax.nc
-ok_guide = y
-ok_guide = n
-facwind = 2.e7
-facwind = 5.e8
-
-################################################################
-#### LMDZ5
-#### IN RUN.DEF
-#### -- those parameters are ignored when using old LMDZ core
-################################################################
-
-## Type de calendrier utilise
-## valeur possible: earth_360d (defaut), earth_365d, earth_366d
-ip_ebil_phy=1
-ip_ebil_dyn=1
-calend=earth_360d
-
-### Jour de l'etat initial ( = 350  si 20 Decembre ,par expl. ,comme ici )
-#dayref=10120
-###  Annee de l'etat  initial (   avec  4  chiffres   )
-#anneeref=2000
-
-## Remise a zero de la date initiale
-raz_date=0
-### for restart runs
-# use 1 for 'from scratch' runs
-
-## flag de sortie dynzon
-ok_dynzon=n
-## activation du calcul d equilibrage de charge
-adjust=n
-## activation du filtre fft
-use_filtre_fft=n
-## niveau d'impression de controle
-prt_level=10
-prt_level=1
-
-## coordonnees type planeto
-disvert_type = 2
-
-## the generic physics
-planet_type = generic
-
-## sorties instantanees dans la dynamique (fichiers dyn_hist.nc and co.)
-ok_dyn_ins=n
-#ok_dyn_ins=y
-## periode d'ecriture des sorties instantanees dans la dynamique
-## (en pas dynamiques)
-#iecri=30
-#iecri=120
-iecri=480
-#iecri=960
-#iecri=4800
-#iecri=9600
-
-## sorties de valeurs moyennes dans la dynamique (fichiers dyn_hist_ave.nc and co.)
-ok_dyn_ave=n
-## periode de stockage des moyennes dans la dynamique (en jours)
-periodav=1
-
-
-#################################
-#### AND NOW THE OLD run.def ####
-#################################
-## -----> REMOVED
-## was present and conflicting with LMDZ5
-## (although useless in old OLD LMDz DYN CORE
-## - iecri [periode d'ecriture du fichier histoire (en jour)]
-## - periodav [periode de stockage fichier histmoy (en jour) dynzon?]
-#################################
-#################################
-
-#----------------------------------------------------------------------- 
-#Parametres de controle du run:                                          
-#------------------------------                                          
-
-# Nombre de jours d'integration                                         
-#     nday = 720
-#     nday = 20
-#     nday = 100
-#     nday = 1800
-#     nday = 250000
-     nday = 65000
-
-# nombre de pas par jour (multiple de iperiod) ( ici pour dt = 1 min )      
-# day_step = 25
-# day_step = 50
-day_step = 70
-# day_step = 240
-# day_step = 480
-# day_step = 960
-
-# periode pour le pas Matsuno (en pas)                                  
-  iperiod=5
-
-# periode de sortie des variables de controle (en pas)                  
-  iconser=120
-
-# periode de la dissipation (en pas)                                    
-# -- this is ignored by LMDZ5 which rely on dissip_period instead
-  idissip=5
-
-# choix de l'operateur de dissipation (star ou  non star )              
- lstardis=.true. 
-
-# avec ou sans coordonnee hybrides
- hybrid=.false. # calculs 1D sandrine #.true.
-
-# nombre d'iterations de l'operateur de dissipation   gradiv            
-nitergdiv=1
-
-# nombre d'iterations de l'operateur de dissipation  nxgradrot          
-nitergrot=2
-
-# nombre d'iterations de l'operateur de dissipation  divgrad            
-   niterh=2
-
-# temps de dissipation des plus petites long.d ondes pour u,v (gradiv)  
- tetagdiv= 5400. 8000. 160000. 1000. 2500. 4000.
-
-# temps de dissipation des plus petites long.d ondes pour u,v(nxgradrot)
- tetagrot= 7200. 8000. 160000. 1000. 2500. 4000.
-
-# temps de dissipation des plus petites long.d ondes pour  h ( divgrad) 
- tetatemp= 7200. 8000. 160000. 1000. 2500. 4000.
-
-# coefficient pour gamdissip                                            
-  coefdis=0.
-
-# choix du shema d'integration temporelle (Matsuno ou Matsuno-leapfrog) 
-  purmats=.false. 
-
-# avec ou sans physique                                                 
-   physic=.true.
-
-# periode de la physique (en pas) (en pas dynamiques, n'a de sens que si iflag_phys=1)                                      
-  iphysiq=5
-  iphysiq=14
-#  iphysiq=1
-
-# choix d'une grille reguliere                                          
-  grireg=.true.
-
-# frequence (en pas) de l'ecriture du fichier diagfi               
-  ecritphy=500
-  ecritphy=7000
-
-# longitude en degres du centre du zoom                                 
-   clon=0.
-
-# latitude en degres du centre du zoom                                  
-   clat=0.
-
-# facteur de grossissement du zoom,selon longitude                      
-  grossismx=1.
-
-# facteur de grossissement du zoom ,selon latitude                      
- grossismy=1.
-
-#  Fonction  f(y)  hyperbolique  si = .true.  , sinon  sinusoidale         
-  fxyhypb=.false.
-
-# extension en longitude  de la zone du zoom  ( fraction de la zone totale)
-   dzoomx= 0.
-
-# extension en latitude de la zone  du zoom  ( fraction de la zone totale)
-   dzoomy=0.
-
-#  raideur du zoom en  X
-    taux=2.
-
-#  raideur du zoom en  Y
-    tauy=2.
-
-#  Fonction  f(y) avec y = Sin(latit.) si = .TRUE. ,  Sinon  y = latit.
-  ysinus= .false.
-
-###################### SPONGE LAYER IN OLD DYNAMICS
-###################### -- this is ignored by LMDZ5 !!! NO LONGER !!!
+###########################################################################
+### LEFTOVERS
+### calend=earth_360d ## specific calendar
+### resetvarc=n   ## reinit des variables de controle
+### iflag_trac=0  ## avec ou sans traceurs
+### dayref=10120  ## initial date
+### anneeref=2000 ## year of initial state
+### --- old version of spong layer
 ## Avec sponge layer
 #  callsponge  = .true.
@@ -259,7 +184,8 @@
 ## Sponge:  tetasponge (secondes)
 #  tetasponge = 50000
-####################### 
 
-# some definitions for the physics, in file 'callphys.def'
+###########################################################################
+### INCLUDE OTHER DEF FILES (physics, specific settings, etc...)
+###########################################################################
 INCLUDEDEF=callphys.def
-#INCLUDEDEF=modif.def
+INCLUDEDEF=modif.def
