GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: phylmd/rrtm/suinit.F90 Lines: 53 53 100.0 %
Date: 2023-06-30 12:56:34 Branches: 66 128 51.6 %

Line Branch Exec Source
1
1
SUBROUTINE SUINIT(klon,klev)
2
#ifdef DOC
3
4
!     **** *SUINIT* - SCM initialization.
5
6
!     Purpose.
7
!     --------
8
9
!     **   Interface.
10
!     ----------
11
12
!     Explicit arguments :    None.
13
!     --------------------
14
15
!     Implicit arguments :    None.
16
!     --------------------
17
18
!     Method.
19
!     -------
20
21
!     Externals.   None.
22
!     ----------
23
24
!     Reference.
25
!     ----------
26
27
!     Author.
28
!     -------
29
!     Eric Bazile, Francois Bouyssel et Jean-Marcel Piriou
30
31
!     Modifications.
32
!     --------------
33
!     Original :97-02-01
34
!               Jozef Vivoda, SHMI: calling sequence as in 3D model
35
!                                   and ECMWF setup
36
!     2001-11-27 P. Marquet : several printout on listing (NULOUT=15)
37
38
!     ------------------------------------------------------------------
39
#endif
40
41
USE PARKIND1  ,ONLY : JPIM     ,JPRB
42
!#include "tsmbkind.h"
43
44
USE PARDIM, ONLY : JPMXLE
45
USE YOMCT0B  , ONLY : LECMWF
46
USE YOMRIP   , ONLY : NINDAT   ,NSSSSS
47
USE YOMDIM
48
USE YOMDPHY
49
! MPL 29042010: NDLNPR,RHYDR0 non initialises et pour ne pas mettre tout sudyn.F90
50
USE YOMDYN  , ONLY : TSTEP , NDLNPR , RHYDR0        ! MPL 29042010
51
!USE YOMEVOL  , ONLY : TECH     ,FREQFS   ,FREQFE   , FREQDDH
52
!USE YOMCT0   , ONLY : LFROG
53
! quelques ajouts qui viennent de suallo
54
USE YOMGEM   , ONLY : VDELA    , VDELB   ,VC       ,NLOEN    ,NLOENG  ,NGPTOT
55
USE YOMSTA   , ONLY : STZ      ,STPREH   ,STPRE    ,STPHI    ,STTEM   ,STDEN
56
USE YOEAERD  , ONLY : CVDAES   ,CVDAEL   ,CVDAEU   ,CVDAED
57
USE YOEOVLP  , ONLY : RA1OVLP
58
USE YOECLD   , ONLY : CETA
59
USE YOECND   , ONLY : CEVAPCU
60
USE YOMTOPH  , ONLY : RMESOU   ,RMESOT   ,RMESOQ
61
USE YOMGC    , ONLY : GEMU     ,GELAM    ,GELAT    ,GECLO    ,GESLO    ,GM       ,GAW
62
63
64
IMPLICIT NONE
65
LOGICAL LLTRACE, LLDEBUG
66
integer klon,klev
67
CHARACTER*200 CFICP
68
CHARACTER*200 CFLUX
69
CHARACTER*200 CLIST
70
CHARACTER*200 CFDDH
71
CHARACTER*80 CNMEXP
72
73
74
LLTRACE=.TRUE.
75
LLDEBUG=.TRUE.
76
77
!     ------------------------
78
!     *    READ NAMELISTS.
79
!     ------------------------
80
81
!----------------------------------------------------------------
82
! Elements indispensables de SUNAM pour faire tourner RRTM dans LMDZ
83
!-------------------------------------------------------------------
84
1
CFICP='Profile'
85
1
CFLUX='Output'
86
1
CLIST='Listing'
87
1
CFDDH='DHFDL'
88
1
CNMEXP='SCM'
89
1
TSTEP=450
90
! MPL 29042010 - RHYDR0 - upper boundary contition for hydrostatic
91
1
RHYDR0=1._JPRB
92
! MPL 29042010
93
! NDLNPR : NDLNPR=0: conventional formulation of delta, i.e. ln(P(l)/P(l-1)).
94
!          NDLNPR=1: formulation of delta used in non hydrostatic model,
95
1
NDLNPR=0
96
1
print *,'SUINIT: RHYDR0 NDLNPR',RHYDR0,NDLNPR
97
98
!----------------------------------------------------------------
99
! Elements indispensables de SUDIM pour faire tourner RRTM dans LMDZ
100
!-------------------------------------------------------------------
101
1
NDLON=klon
102
1
NFLEVG=klev
103
1
NPROMA=klon
104
105
!-------------------------------------------------------------------
106
!JV    Initialize constants
107
!     ---------------------
108
!JV
109
1
IF (LLTRACE)  WRITE(*,*) " coucou SUINIT : avant SUCST"
110
1
WRITE(*,FMT='('' ---------------- '')')
111
1
WRITE(*,FMT='(''     SUCST : '')')
112
1
WRITE(*,FMT='('' ---------------- '')')
113
1
NINDAT=20090408      !!!!! A REVOIR (MPL)
114
1
NSSSSS=0  ! LMDZ demarre tjrs a 00h -- MPL 15.04.09
115
1
CALL SUCST(6,NINDAT,NSSSSS,1)
116
1
print *,'SUINIT: NINDAT, NSSSSS',NINDAT, NSSSSS
117
118
IF (LLDEBUG) THEN
119
1
WRITE(*,FMT='(''  SUINIT / apres : SUCST '')')
120
ENDIF
121
122
123
!     ------------------------
124
!     *    ALLOCATES RECUPERES DE SUALLO
125
!     ------------------------
126

1
ALLOCATE(VDELA  (MAX(JPMXLE,NFLEVG)))
127

1
ALLOCATE(VDELB  (MAX(JPMXLE,NFLEVG)))
128
201
VDELB = 0  !ym missing init
129

1
ALLOCATE( VC      (NFLEVG) )
130
40
VC = 0    !ym missing init
131

1
ALLOCATE( NLOEN   (NPROMA) )
132

1
ALLOCATE( NLOENG   (NPROMA) )
133

1
ALLOCATE( STZ     (NFLEVG) )
134


1
ALLOCATE( CVDAES  (NFLEVG+1))
135

1
ALLOCATE( CVDAEL  (NFLEVG+1))
136

1
ALLOCATE( CVDAEU  (NFLEVG+1))
137

1
ALLOCATE( CVDAED  (NFLEVG+1))
138

1
ALLOCATE(RA1OVLP(NFLEVG))
139
140

1
ALLOCATE(STPREH(0:NFLEVG)) ! Nouvel ajout MPL 22062010
141

1
ALLOCATE(STPRE(NFLEVG))
142

1
ALLOCATE(STPHI(NFLEVG))
143

1
ALLOCATE(STTEM(NFLEVG))
144

1
ALLOCATE(STDEN(NFLEVG))
145
146

1
ALLOCATE(CETA(NFLEVG))    ! Nouvel ajout MPL 28062010
147

1
ALLOCATE(CEVAPCU(NFLEVG))
148

1
ALLOCATE(RMESOU(NFLEVG))
149

1
ALLOCATE(RMESOT(NFLEVG))
150

1
ALLOCATE(RMESOQ(NFLEVG))
151
152
!     ------------------------
153
!     *    ALLOCATES RECUPERES DE SUGEM2
154
!     ------------------------
155
156

1
ALLOCATE(GEMU   (NGPTOT)) ! Nouvel ajout MPL 28062010
157

1
ALLOCATE(GELAM  (NGPTOT))
158

1
ALLOCATE(GELAT  (NGPTOT))
159

1
ALLOCATE(GECLO  (NGPTOT))
160

1
ALLOCATE(GESLO  (NGPTOT))
161

1
ALLOCATE(GM     (NGPTOT))
162

1
ALLOCATE(GAW    (NGPTOT))
163
!
164
!     ------------------------------------------------------------------
165
166
1
END SUBROUTINE SUINIT