SURFEX v8.1
General documentation of Surfex
modd_conf.f90
Go to the documentation of this file.
1 ! ######spl
2  MODULE modd_conf
3 ! #################
4 !
5 !!**** *MODD_CONF* - declaration of configuration variables
6 !!
7 !! PURPOSE
8 !! -------
9 ! The purpose of this declarative module is to specify the variables
10 ! which concern the configuration of all models. For exemple,
11 ! the type of geometry (Cartesian or conformal projection plane).
12 !
13 !!
14 !!** IMPLICIT ARGUMENTS
15 !! ------------------
16 !! None
17 !!
18 !! REFERENCE
19 !! ---------
20 !! Book2 of documentation of Meso-NH (module MODD_CONF)
21 !! Technical Specifications Report of the Meso-NH (chapters 2 and 3)
22 !!
23 !! AUTHOR
24 !! ------
25 !! V. Ducrocq *Meteo France*
26 !!
27 !! MODIFICATIONS
28 !! -------------
29 !! Original 05/05/94
30 !! J. Stein 09/01/95 add the 1D switch
31 !! J. Stein and P. Jabouille 30/04/96 add the storage type
32 !! J.-P. Pinty 13/02/96 add LFORCING switch
33 !! J. Stein 25/07/97 add the equation system switch
34 !! P. Jabouille 07/05/98 add LPACK
35 !! V. Masson 18/03/98 add the VERSION switch
36 !! V. Masson 15/03/99 add PROGRAM swith
37 !! P. Jabouille 21/07/99 add NHALO and CSPLIT
38 !! P. Jabouille 26/06/01 lagrangian variables
39 !! V. Masson 09/07/01 add LNEUTRAL switch
40 !! P. Jabouille 18/04/02 add NBUGFIX and CBIBUSER
41 !!
42 !-------------------------------------------------------------------------------
43 !
44 !* 0. DECLARATIONS
45 ! ------------
46 !
47 IMPLICIT NONE
48 !
49 CHARACTER (LEN=5),SAVE :: CCONF ! Configuration of models
50  ! 'START' for start configuration (variables
51  ! at time t and t-dt are the same in the
52  ! initial file)
53  ! 'RESTART' for restart configuration
54  ! (variables at time t and t-dt are different)
55  ! 'POST' for post-treatment configuration
56 LOGICAL,SAVE :: lthinshell ! Logical for thinshell approximation
57  ! .TRUE. = thinshell approximation
58  ! .FALSE. = no thinshell approximation
59 LOGICAL,SAVE :: lcartesian ! Logical for cartesian geometry :
60  ! .TRUE. = cartesian geometry
61  ! .FALSE. = conformal projection
62 LOGICAL,SAVE :: l2d ! Logical for 2D model version
63  ! .TRUE. = 2D model version
64  ! .FALSE. = 3D model version
65 LOGICAL,SAVE :: l1d ! Logical for 1D model version
66  ! .TRUE. = 1D model version
67  ! .FALSE. = 2D or 3D model version
68 LOGICAL,SAVE :: lflat ! Logical for zero ororography
69  ! .TRUE. = no orography (zs=0.)
70  ! .FALSE. = orography
71 INTEGER,SAVE :: nmodel ! Number of nested models
72 INTEGER,SAVE :: nverb ! Level of informations on output-listing
73  ! 0 for minimum of prints
74  ! 5 for intermediate level of prints
75  ! 10 for maximum of prints
76 CHARACTER (LEN=5),SAVE :: CEXP ! Experiment name
77 CHARACTER (LEN=5),SAVE :: CSEG ! name of segment
78 CHARACTER (LEN=2),SAVE :: CSTORAGE_TYPE ! storage type for the informations
79  ! written in the FM files ( 'TT' if the MesoNH
80  ! prognostic fields are at the same instant;
81  ! 'MT' if they are taken at two instants in
82  ! succession; 'PG' for PGD files informations )
83 LOGICAL,SAVE :: lforcing ! Logical for forcing sources
84  ! .TRUE. = add forcing sources
85  ! .FALSE. = no forcing fields
86 !
87 CHARACTER (LEN=3),SAVE :: CEQNSYS! EQuatioN SYStem resolved by the MESONH model
88  ! 'LHE' Lipps and HEmler anelastic system
89  ! 'DUR' approximated form of the DURran version
90  ! of the anelastic sytem
91  ! 'MAE' classical Modified Anelastic Equations
92  ! but with not any approximation in the
93  ! momentum equation
94  ! 'FCE' fully compressible equations ( not
95  ! yet developped )
96 LOGICAL,SAVE :: lpack ! Logical to compress 1D or 2D FM files
97 !
98 !
99 INTEGER,SAVE :: nmasdev ! NMASDEV=XY corresponds to the masdevX_Y
100 INTEGER,SAVE :: nbugfix ! NBUGFIX=n corresponds to the BUGn of masdevX_Y
101 CHARACTER(LEN=10),SAVE :: CBIBUSER! CBIBUSER is the name of the user binary library
102 !
103 CHARACTER(LEN=6),SAVE :: CPROGRAM ! CPROGRAM is the program currently running:
104 ! ! 'PGD ','ADVPGD','NESPGD','REAL ','IDEAL '
105 ! ! 'MESONH','SPAWN ','DIAG '
106 !
107 INTEGER,SAVE :: nhalo ! Size of the halo for parallel distribution
108 !
109 CHARACTER (LEN=10),SAVE :: CSPLIT ! kind of domain splitting for parallel distribution
110  ! "BSPLITTING","XSPLITTING","YSPLITTING"
111 LOGICAL,SAVE :: llg ! Logical to use lagrangian variables
112 LOGICAL,SAVE :: linit_lg ! to reinitialize lagrangian variables
113 CHARACTER (LEN=5),SAVE :: CINIT_LG ! to reinitialize LG variables at every output
114 LOGICAL,SAVE :: lnomixlg ! to use turbulence for lagrangian variables
115 !
116 LOGICAL,SAVE :: lneutral ! True if ref. theta field is uniform
117 !
118 END MODULE modd_conf
logical, save lpack
Definition: modd_conf.f90:96
logical, save l2d
Definition: modd_conf.f90:62
logical, save lneutral
Definition: modd_conf.f90:116
integer, save nmodel
Definition: modd_conf.f90:71
logical, save lnomixlg
Definition: modd_conf.f90:114
logical, save lthinshell
Definition: modd_conf.f90:56
integer, save nbugfix
Definition: modd_conf.f90:100
logical, save lforcing
Definition: modd_conf.f90:83
logical, save lflat
Definition: modd_conf.f90:68
logical, save lcartesian
Definition: modd_conf.f90:59
integer, save nmasdev
Definition: modd_conf.f90:99
logical, save l1d
Definition: modd_conf.f90:65
logical, save linit_lg
Definition: modd_conf.f90:112
integer, save nverb
Definition: modd_conf.f90:72
logical, save llg
Definition: modd_conf.f90:111
integer, save nhalo
Definition: modd_conf.f90:107