The run.def Input File

From Planets
Jump to: navigation, search

The run.def input file and its format

The run.def file is a text file that is read at run time by the GCM (and must thus be present in the same directory as the executable). It contains the values of various parameters that the user can specify (as "key = value", where "key" is a predefined keyword and "value" may be a real, an integer, a string or a logical) and modify depending on the specific simulation that is intended, e.g. the line:

planet_type = generic

means that when the GCM will run, it will set parameter planet_type (which identifies the physics package that is used) to generic.

Any line starting with # is a comment, e.g.

# Number of days to run model for

The order in which parameters are given in the run.def file is not important, except if a parameter value is given more than once (not recommended!), then it is the last occurrence that prevails.

Worth knowing about: if a given "key" is not present in the file, then a default value (hard coded in the code) will be used for the related parameter.

*.def files included in run.def

The run.def file can include other files (based on the same format, lines containing "key = value" or comments) using the INCLUDEDEF keyword, e.g.:

INCLUDEDEF=callphys.def

This is a convenient way to separate related sets of parameters in separate files; common practice is to put dynamics related parameters in run.def and physics related parameters in callphys.def

Reference def files

Reference *.def files are provided in the LMDZ.GENERIC/deftank directory

Outputted used_*def files

When the GCM run finishes, for each of the input def files *.def, an ASCII output file used_*.def is generated (in practice these would be used_run.def and used_callphys.def). These files contain, along the same format as the *.def input files, the "key = value" that were used, along with comments about whether "value" was read in the input def file or if the code default was used (i.e. the sought "keyword" was not present in the input def files).

Example of run.def file

#
#----------------------------------------------------------------------- 
#Parametres de controle du run:                                          
#------------------------------                                          

planet_type = generic

# Nombre de jours d'integration                                         
     nday=2

# ndynstep overrides
     ndynstep=-2000

# nombre de pas par jour (multiple de iperiod) ( ici pour  dt = 1 min )      
 day_step = 480

# periode pour le pas Matsuno (en pas)                                  
  iperiod=5

# periode de sortie des variables de controle (en pas)                  
  iconser=120

# periode d'ecriture du fichier histoire (en jour)                      
    iecri=100

# periode de stockage fichier histmoy (en jour)                         
 periodav=60.

# periode de la dissipation (en pas)                                    
  idissip=5

# choix de l'operateur de dissipation (star ou  non star )              
 lstardis=.true.

# avec ou sans coordonnee hybrides
 hybrid=.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= 3000.

# temps de dissipation des plus petites long.d ondes pour u,v(nxgradrot)
 tetagrot=9000.

# temps de dissipation des plus petites long.d ondes pour  h ( divgrad) 
 tetatemp=9000.

# 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)                                       
  iphysiq=10

# choix d'une grille reguliere                                          
  grireg=.true.

# frequence (en pas) de l'ecriture du fichier diagfi               
 ecritphy=120
# ecritphy=10

# longitude en degres du centre du zoom                                 
   clon=63.

# 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.

# Avec sponge layer
  callsponge  = .true.
 
# Sponge:  mode0(u=v=0), mode1(u=umoy,v=0), mode2(u=umoy,v=vmoy)
  mode_sponge= 2

# Sponge:  hauteur de sponge (km)
  hsponge= 90

# Sponge:  tetasponge (secondes)
  tetasponge = 50000

# some definitions for the physics, in file 'callphys.def'
INCLUDEDEF=callphys.def

Note: Lines beginning with a hashtag are not read