source: LMDZ5/tags/proto-testing-20131015/libf/dyn3dmem/iniconst.F90 @ 3313

Last change on this file since 3313 was 1707, checked in by Laurent Fairhead, 12 years ago

Version testing basée sur la r1706


Testing release based on r1706

File size: 2.1 KB
Line 
1!
2! $Id: iniconst.F90 1625 2012-05-09 13:14:48Z lguez $
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
14  IMPLICIT NONE
15  !
16  !      P. Le Van
17  !
18  !   Declarations:
19  !   -------------
20  !
21  include "dimensions.h"
22  include "paramet.h"
23  include "comconst.h"
24  include "temps.h"
25  include "comvert.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
54  r       = cpp * kappa
55
56  write(lunout,*) trim(modname),': R  CP  Kappa ',r,cpp,kappa
57  !
58  !-----------------------------------------------------------------------
59
60  ! vertical discretization: default behavior depends on planet_type flag
61  if (planet_type=="earth") then
62     disvert_type=1
63  else
64     disvert_type=2
65  endif
66  ! but user can also specify using one or the other in run.def:
67  call getin('disvert_type',disvert_type)
68  write(lunout,*) trim(modname),': disvert_type=',disvert_type
69
70  pressure_exner = disvert_type == 1 ! default value
71  call getin('pressure_exner', pressure_exner)
72
73  if (disvert_type==1) then
74     ! standard case for Earth (automatic generation of levels)
75     call disvert(pa,preff,ap,bp,dpres,presnivs,nivsigs,nivsig, scaleheight)
76  else if (disvert_type==2) then
77     ! standard case for planets (levels generated using z2sig.def file)
78     call disvert_noterre
79  else
80     write(abort_message,*) "Wrong value for disvert_type: ", disvert_type
81     call abort_gcm(modname,abort_message,0)
82  endif
83
84END SUBROUTINE iniconst
Note: See TracBrowser for help on using the repository browser.