source: LMDZ5/trunk/libf/dyn3d_common/iniconst.F90 @ 2597

Last change on this file since 2597 was 2597, checked in by Ehouarn Millour, 8 years ago

Cleanup in the dynamics: get rid of comconst.h, make it a module comconst_mod.
EM

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.1 KB
Line 
1!
2! $Id: iniconst.F90 2597 2016-07-22 06:44:47Z emillour $
3!
4SUBROUTINE iniconst
5
6  USE control_mod
7#ifdef CPP_IOIPSL
8  use IOIPSL
9#else
10  ! if not using IOIPSL, we still need to use (a local version of) getin
11  use ioipsl_getincom
12#endif
13  USE comconst_mod, ONLY: im, imp1, jm, jmp1, lllm, lllmm1, lllmp1, &
14                          unsim, pi, r, kappa, cpp, dtvr, dtphys
15 
16  IMPLICIT NONE
17  !
18  !      P. Le Van
19  !
20  !   Declarations:
21  !   -------------
22  !
23  include "dimensions.h"
24  include "paramet.h"
25  include "temps.h"
26  include "comvert.h"
27  include "iniprint.h"
28
29  character(len=*),parameter :: modname="iniconst"
30  character(len=80) :: abort_message
31  !
32  !
33  !
34  !-----------------------------------------------------------------------
35  !   dimension des boucles:
36  !   ----------------------
37
38  im      = iim
39  jm      = jjm
40  lllm    = llm
41  imp1    = iim
42  jmp1    = jjm + 1
43  lllmm1  = llm - 1
44  lllmp1  = llm + 1
45
46  !-----------------------------------------------------------------------
47
48  dtphys  = iphysiq * dtvr
49  unsim   = 1./iim
50  pi      = 2.*ASIN( 1. )
51
52  !-----------------------------------------------------------------------
53  !
54
55  r       = cpp * kappa
56
57  write(lunout,*) trim(modname),': R  CP  Kappa ',r,cpp,kappa
58  !
59  !-----------------------------------------------------------------------
60
61  ! vertical discretization: default behavior depends on planet_type flag
62  if (planet_type=="earth") then
63     disvert_type=1
64  else
65     disvert_type=2
66  endif
67  ! but user can also specify using one or the other in run.def:
68  call getin('disvert_type',disvert_type)
69  write(lunout,*) trim(modname),': disvert_type=',disvert_type
70
71  pressure_exner = disvert_type == 1 ! default value
72  call getin('pressure_exner', pressure_exner)
73
74  if (disvert_type==1) then
75     ! standard case for Earth (automatic generation of levels)
76     call disvert()
77  else if (disvert_type==2) then
78     ! standard case for planets (levels generated using z2sig.def file)
79     call disvert_noterre
80  else
81     write(abort_message,*) "Wrong value for disvert_type: ", disvert_type
82     call abort_gcm(modname,abort_message,0)
83  endif
84
85END SUBROUTINE iniconst
Note: See TracBrowser for help on using the repository browser.