source: LMDZ6/branches/Amaury_dev/libf/dyn3d_common/iniconst.F90 @ 5099

Last change on this file since 5099 was 5099, checked in by abarral, 2 months ago

Replace most uses of CPP_DUST by the corresponding logical defined in lmdz_cppkeys_wrapper.F90
Convert several files from .F to .f90 to allow Dust to compile w/o rrtm/ecrad
Create lmdz_yoerad.f90
(lint) Remove "!" on otherwise empty line

  • 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 5099 2024-07-22 19:29:09Z abarral $
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  USE comvert_mod, ONLY: disvert_type, pressure_exner
16 
17  IMPLICIT NONE
18
19  !      P. Le Van
20
21  !   Declarations:
22  !   -------------
23
24  include "dimensions.h"
25  include "paramet.h"
26  include "iniprint.h"
27
28  character(len=*),parameter :: modname="iniconst"
29  character(len=80) :: abort_message
30
31
32
33  !-----------------------------------------------------------------------
34  !   dimension des boucles:
35  !   ----------------------
36
37  im      = iim
38  jm      = jjm
39  lllm    = llm
40  imp1    = iim
41  jmp1    = jjm + 1
42  lllmm1  = llm - 1
43  lllmp1  = llm + 1
44
45  !-----------------------------------------------------------------------
46
47  dtphys  = iphysiq * dtvr
48  unsim   = 1./iim
49  pi      = 2.*ASIN( 1. )
50
51  !-----------------------------------------------------------------------
52
53  r       = cpp * kappa
54
55  write(lunout,*) trim(modname),': R  CP  Kappa ',r,cpp,kappa
56
57  !-----------------------------------------------------------------------
58
59  ! vertical discretization: default behavior depends on planet_type flag
60  if (planet_type=="earth") then
61     disvert_type=1
62  else
63     disvert_type=2
64  endif
65  ! but user can also specify using one or the other in run.def:
66  call getin('disvert_type',disvert_type)
67  write(lunout,*) trim(modname),': disvert_type=',disvert_type
68
69  pressure_exner = disvert_type == 1 ! default value
70  call getin('pressure_exner', pressure_exner)
71
72  if (disvert_type==1) then
73     ! standard case for Earth (automatic generation of levels)
74     call disvert()
75  else if (disvert_type==2) then
76     ! standard case for planets (levels generated using z2sig.def file)
77     call disvert_noterre
78  else
79     write(abort_message,*) "Wrong value for disvert_type: ", disvert_type
80     call abort_gcm(modname,abort_message,0)
81  endif
82
83END SUBROUTINE iniconst
Note: See TracBrowser for help on using the repository browser.