GCC Code Coverage Report


Directory: ./
File: phys/init_be.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 0 247 0.0%
Branches: 0 762 0.0%

Line Branch Exec Source
1 !$Id $
2
3 ✗ SUBROUTINE init_be(pctsrf,pplay,masktr,tautr,vdeptr,scavtr,srcbe)
4 !!!SUBROUTINE init_be(pctsrf,masktr,tautr,vdeptr,scavtr,srcbe)
5
6 USE dimphy
7 USE infotrac_phy, ONLY : nbtr
8 USE indice_sol_mod
9 USE geometry_mod, ONLY : longitude, latitude
10
11 IMPLICIT NONE
12 !=====================================================================
13 ! Objet : prescription d'une source de Beryllium 7
14 ! pour 19 niveaux verticaux
15 ! (d'apres le diagramme de Lal and Peters, 1967)
16 !
17 !
18 ! written by : O. Coindreau (CEA/LDG) 05/2005
19 ! last modified by : A. Jamelot (LMD/CEA) 04/03/2009
20 !=====================================================================
21
22 INCLUDE "YOMCST.h"
23 INCLUDE "YOECUMF.h"
24
25 !
26 ! Input Arguments
27 !
28 REAL,DIMENSION(klon,nbsrf),INTENT(IN) :: pctsrf !Pourcentage de sol (f(nature du sol))
29 REAL,DIMENSION(klon,klev), INTENT(IN) :: pplay ! Pressions en milieu de couches
30 !
31 ! Output Arguments
32 !
33 REAL,DIMENSION(klon),INTENT(OUT) :: masktr ! Masque de l'echange avec la surface (possible => 1 )
34 REAL,INTENT(OUT) :: tautr ! Constante de decroissance radioactive
35 REAL,INTENT(OUT) :: vdeptr ! Vitesse de depot sec dans la couche Brownienne
36 REAL,INTENT(OUT) :: scavtr ! Coefficient de lessivage
37 REAL,DIMENSION(klon,klev),INTENT(OUT) :: srcbe ! source volumique de 7Be
38 !
39 ! Local Variables
40 !
41 !!! INTEGER :: iref ! numero d'un point oceanique donnant la grille de pression de reference
42 ✗ REAL,DIMENSION(klon) :: rlatgeo ! latitudes geomagnetiques de la grille
43 REAL :: glt ! latitude du pole geomagnetique
44 REAL :: glg ! longitude du pole geomagnetique
45 REAL :: latgeo,qcos
46 INTEGER :: k,i, kref, k2
47 INTEGER :: nref
48 PARAMETER (nref=39)
49 REAL,DIMENSION(nref), SAVE :: pref ! grille de pression de reference (bas des couches)
50 DATA pref / &
51 101249.99999999994, 100387.17261011522, 99447.35334189111, 98357.43412194174, &
52 97046.47707771382, 95447.1116450629, 93496.85259615642, 91139.46548240296, &
53 88326.55568744117, 85019.60710580258, 81192.7404556645, 76836.48366938648, &
54 71962.81275769137, 66611.56331321516, 60857.914829743604, 54819.84484441629, &
55 48663.06257114699, 42598.95465845692, 36869.104365898806, 31709.927925633147, &
56 27296.757208636915, 23682.282929080895, 20766.025578936627, 18336.105961406534, &
57 16178.04816768436, 14168.286905562818, 12275.719926478887, 10507.798835225762, &
58 8876.585404909414, 7391.283929569539, 6057.514475749798, 4877.165909157005, &
59 3848.34936408203, 2965.444753540027, 2219.2391544640013, 1597.15366044666, &
60 1083.5531161631498, 660.1311067852655, 306.36072267002805 /
61 !$OMP THREADPRIVATE(pref)
62
63 ✗ WRITE(*,*)'PASSAGE init_be ...'
64
65 ! la source est maintenant d�finie independemment de la valeur de klev.
66 !!! Source actuellement definie pour klev = 19 et klev >= 39
67 !! IF (klev /= 19 .AND. klev<39) CALL abort_physic("init_be","Source du be7 necessite klev=19 ou klev>=39",1)
68 !!!
69 ! Definition des constantes
70 ! -------------------------
71 ✗ tautr = 6645000.
72 ✗ vdeptr = 1.E-3
73 ✗ scavtr = 0.5
74 !!!!!jyg le 13/03/2013; puis 20/03/2013 : pref est maintenant une table.
75 !!!
76 !!! Recherche d'un point rlat=0., rlon=180.
77 !! iref=(klon+1)/2
78 !! DO i = 1,klon
79 !! IF (abs(rlatd(i)) .LT. 0.15 .AND. cos(rlond(i)) .LT. -0.85) iref=i
80 !! ENDDO
81 !!!
82 !!! Grille de pression de reference (= approx de sommets de couches)
83 !! pref(1) = pplay(iref,1)+0.5*(pplay(iref,1)-pplay(iref,2))
84 !! DO k = 2,klev
85 !! pref(k) = 0.5*(pplay(iref,k-1)+pplay(iref,k))
86 !! ENDDO
87 !!!
88
89 ✗ WRITE(*,*) '-------------- SOURCE DE BERYLLIUM ------------------- '
90 ✗ WRITE(*,*)'Decroissance (s): ', tautr
91 ✗ WRITE(*,*)'Vitesse de depot sec: ',vdeptr
92 ✗ WRITE(*,*)'Facteur de lessivage: ',scavtr
93
94 ✗ DO i = 1,klon
95 ✗ masktr(i) = 0.
96 ✗ IF ( NINT(pctsrf(i,1)) .EQ. 1 ) masktr(i) = 1.
97 END DO
98
99 ! Premiers niveaux: source nulle
100 ! ------------------------------
101 ✗ DO k = 1,6
102 ✗ DO i = 1,klon
103 ✗ srcbe(i,k) = 0.
104 END DO
105 END DO
106 !
107 ! Pour les autres niveaux:
108 ! 1-passer des coordonnees geographiques a la latitude geomagnetique
109 ! 2-prescrire la source de Be (en 10exp5 at/g/s) dans ce repere
110 ! 3-mettre la source de Be ds la bonne unite (en at/kgA/s)
111 !
112 ✗ glt = 78.5*rpi/180.
113 ✗ glg = -69.0*rpi/180.
114
115 ✗ DO i = 1,klon
116 ✗ qcos=sin(glt)*sin(latitude(i))
117 !!jyg
118 !! qcos=qcos+cos(glt)*cos(latitude(i))*cos(longitude(i)+glg)
119 ✗ qcos=qcos+cos(glt)*cos(latitude(i))*cos(longitude(i)-glg)
120 !!jyg end
121 ✗ IF ( qcos .LT. -1.) qcos = -1.
122 ✗ IF ( qcos .GT. 1.) qcos = 1.
123 ✗ rlatgeo(i)=rpi/2.-acos(qcos)
124 ENDDO
125
126 !!!===========================
127 !!! Cas 19 niveaux verticaux
128 !!!===========================
129 !! IF (klev.eq.19) then
130 !! DO k = 1,klev
131 !! DO i = 1,klon
132 !!!!!jyg le 13/03/2013
133 !!!
134 !!! k est le niveau dans la grille locale
135 !!! Determination du niveau kref dans la grille de refernce
136 !! kref = 1
137 !! DO k2 = 1,klev
138 !! IF (pref(k2) .GT. pplay(i,k)) kref=k2
139 !! ENDDO
140 !!!!!
141 !! latgeo=(180./rpi)*abs(rlatgeo(i))
142 !! IF ( kref .EQ. 1 ) THEN
143 !! IF (latgeo.GE.50.0) srcbe(i,k)=0.1
144 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.09
145 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.07
146 !! END IF
147 !! IF ( kref .EQ. 2 ) THEN
148 !! IF (latgeo.GE.50.0) srcbe(i,k)=0.12
149 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.1
150 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.09
151 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.07
152 !! END IF
153 !! IF ( kref .EQ. 3 ) THEN
154 !! IF (latgeo.GE.50.0) srcbe(i,k)=0.14
155 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.12
156 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.1
157 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.09
158 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.07
159 !! END IF
160 !! IF ( kref .EQ. 4 ) THEN
161 !! IF (latgeo.GE.50.0) srcbe(i,k)=0.175
162 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.16
163 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.14
164 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.12
165 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.1
166 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.09
167 !! END IF
168 !! IF ( kref .EQ. 5 ) THEN
169 !! IF (latgeo.GE.50.0) srcbe(i,k)=0.28
170 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.26
171 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.23
172 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.175
173 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.14
174 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.12
175 !! END IF
176 !! IF ( kref .EQ. 6 ) THEN
177 !! IF (latgeo.GE.50.0) srcbe(i,k)=0.56
178 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.49
179 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.42
180 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.28
181 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.26
182 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.245
183 !! END IF
184 !! IF ( kref .EQ. 7 ) THEN
185 !! IF (latgeo.GE.50.0) srcbe(i,k)=1.05
186 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.875
187 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.7
188 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.52
189 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.44
190 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.385
191 !! END IF
192 !! IF ( kref .EQ. 8 ) THEN
193 !! IF (latgeo.GE.50.0) srcbe(i,k)=2.
194 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=1.8
195 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=1.5
196 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=1.
197 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.8
198 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.75
199 !! END IF
200 !! IF ( kref .EQ. 9 ) THEN
201 !! IF (latgeo.GE.50.0) srcbe(i,k)=4.
202 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=3.5
203 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=3.
204 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=2.5
205 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=1.8
206 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=1.4
207 !! END IF
208 !! IF ( kref .EQ. 10 ) THEN
209 !! IF (latgeo.GE.50.0) srcbe(i,k)=8.5
210 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=8.
211 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=7.
212 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=4.5
213 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=3.5
214 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=3.
215 !! END IF
216 !! IF ( kref .EQ. 11 ) THEN
217 !! IF (latgeo.GE.50.0) srcbe(i,k)=17.
218 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=15.
219 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=11.
220 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=8.
221 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=5.
222 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=4.
223 !! END IF
224 !! IF ( kref .EQ. 12 ) THEN
225 !! IF (latgeo.GE.50.0) srcbe(i,k)=25.
226 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=22.
227 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=17.
228 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=11.
229 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=7.5
230 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=7.
231 !! END IF
232 !! IF ( kref .EQ. 13 ) THEN
233 !! IF (latgeo.GE.60.0) srcbe(i,k)=33.
234 !! IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=32.
235 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=30.
236 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=22.
237 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=15.
238 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=11.
239 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=8.
240 !! END IF
241 !! IF ( kref .EQ. 14 ) THEN
242 !! IF (latgeo.GE.60.0) srcbe(i,k)=48.
243 !! IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=45.
244 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=36.
245 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=26.
246 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=17.5
247 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=12.5
248 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=10.
249 !! END IF
250 !! IF ( kref .EQ. 15 ) THEN
251 !! IF (latgeo.GE.70.0) srcbe(i,k)=58.
252 !! IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=57.
253 !! IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=50.
254 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=38.
255 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=25.
256 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=15.
257 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=12.5
258 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=10.
259 !! END IF
260 !! IF ( kref .EQ. 16 ) THEN
261 !! IF (latgeo.GE.70.0) srcbe(i,k)=70.
262 !! IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=65.
263 !! IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=50.
264 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=32.
265 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=20.
266 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=13.
267 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=9.
268 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=7.5
269 !! END IF
270 !! IF ( kref .GE. 17 ) THEN
271 !! IF (latgeo.GE.70.0) srcbe(i,k)=80.
272 !! IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=70.
273 !! IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=45.
274 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=27.
275 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=17.5
276 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=12.
277 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=8.
278 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=7.
279 !! END IF
280 !! END DO
281 !! END DO
282 !! END IF ! fin de 19 niveaux verticaux
283 !!
284 !!!!!! IF (klev .ge. 39) then
285 ✗ DO k = 1,klev
286 ✗ DO i = 1,klon
287 !!!jyg le 13/03/2013
288 !
289 ! k est le niveau dans la grille locale
290 ! Determination du niveau kref dans la grille de refernce
291 kref = 1
292 ✗ DO k2 = 1,nref
293 ✗ IF (pref(k2) .GT. pplay(i,k)) kref=k2
294 ENDDO
295 !!!
296 ✗ latgeo=(180./rpi)*abs(rlatgeo(i))
297 ✗ IF ( kref .LE. 4 ) THEN
298 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=0.07
299 END IF
300 ✗ IF ( kref .EQ. 5 ) THEN
301 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=0.1
302 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.09
303 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.07
304 END IF
305 ✗ IF ( kref .EQ. 6 ) THEN
306 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=0.14
307 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.12
308 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.1
309 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.09
310 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.07
311 END IF
312 ✗ IF ( kref .EQ. 7 ) THEN
313 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=0.16
314 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.16
315 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.14
316 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.12
317 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.1
318 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.09
319 END IF
320 ✗ IF ( kref .EQ. 8 ) THEN
321 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=0.175
322 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.16
323 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.14
324 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.12
325 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.1
326 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.1
327 END IF
328 ✗ IF ( kref .EQ. 9 ) THEN
329 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=0.245
330 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.21
331 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.175
332 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.14
333 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.12
334 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.12
335 END IF
336 ✗ IF ( kref .EQ. 10 ) THEN
337 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=0.31
338 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.28
339 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.245
340 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.21
341 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.16
342 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.14
343 END IF
344 ✗ IF ( kref .EQ. 11 ) THEN
345 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=0.35
346 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.3
347 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.3
348 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.2
349 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.18
350 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.16
351 END IF
352 ✗ IF ( kref .EQ. 12 ) THEN
353 ✗ IF (latgeo.GE.40.0) srcbe(i,k)=0.5
354 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.4
355 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.35
356 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.3
357 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.25
358 END IF
359 ✗ IF ( kref .EQ. 13 ) THEN
360 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=0.8
361 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.7
362 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.6
363 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.5
364 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.4
365 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.35
366 END IF
367 ✗ IF ( kref .EQ. 14 ) THEN
368 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=1.2
369 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=1.
370 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.75
371 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.6
372 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.5
373 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.4
374 END IF
375 ✗ IF ( kref .EQ. 15 ) THEN
376 ✗ IF (latgeo.GE.60.0) srcbe(i,k)=1.75
377 ✗ IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=1.8
378 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=1.6
379 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=1.4
380 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.9
381 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.75
382 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.65
383 END IF
384 ✗ IF ( kref .EQ. 16 ) THEN
385 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=3.
386 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=2.5
387 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=1.8
388 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=1.5
389 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=1.2
390 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.9
391 END IF
392 ✗ IF ( kref .EQ. 17 ) THEN
393 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=4.
394 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=3.
395 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=2.5
396 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=2.
397 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=1.6
398 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=1.4
399 END IF
400 ✗ IF ( kref .EQ. 18 ) THEN
401 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=7.
402 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=6.
403 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=4.5
404 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=3.5
405 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=3.
406 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=2.
407 END IF
408 ✗ IF ( kref .EQ. 19 ) THEN
409 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=8.5
410 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=8.
411 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=7.
412 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=4.
413 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=3.5
414 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=3.
415 END IF
416 ✗ IF ( kref .EQ. 20 ) THEN
417 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=12.5
418 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=12.
419 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=8.
420 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=6.
421 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=4.
422 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=3.5
423 END IF
424 ✗ IF ( kref .EQ. 21 ) THEN
425 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=16.
426 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=13.
427 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=10.
428 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=7.5
429 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=4.5
430 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=4.
431 END IF
432 ✗ IF ( kref .EQ. 22 ) THEN
433 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=20.
434 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=17.5
435 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=12.5
436 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=9.
437 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=6.
438 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=4.5
439 END IF
440 ✗ IF ( kref .EQ. 23 ) THEN
441 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=25.
442 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=22.
443 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=15.
444 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=10.
445 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=7.5
446 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=6.
447 END IF
448 ✗ IF ( kref .EQ. 24 ) THEN
449 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=28.
450 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=26.
451 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=18.
452 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=12.
453 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=8.5
454 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=7.
455 END IF
456 ✗ IF ( kref .EQ. 25 ) THEN
457 ✗ IF (latgeo.GE.50.0) srcbe(i,k)=33.
458 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=28.
459 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=20.
460 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=14.
461 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=10.
462 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=8.5
463 END IF
464 ✗ IF ( kref .EQ. 26 ) THEN
465 ✗ IF (latgeo.GE.60.0) srcbe(i,k)=38.
466 ✗ IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=36.
467 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=32.
468 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=24.
469 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=15.
470 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=11.5
471 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=10.
472 !!jyg
473 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=6.
474 !!jyg end
475 END IF
476 ✗ IF ( kref .EQ. 27 ) THEN
477 ✗ IF (latgeo.GE.60.0) srcbe(i,k)=46.
478 ✗ IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=44.
479 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=35.
480 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=25.
481 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=16.
482 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=12.5
483 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=10.
484 END IF
485 ✗ IF ( kref .EQ. 28 ) THEN
486 ✗ IF (latgeo.GE.60.0) srcbe(i,k)=53.
487 ✗ IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=48.
488 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=37.
489 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=25.
490 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=16.
491 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=12.5
492 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=10.
493 END IF
494 ✗ IF ( kref .EQ. 29 ) THEN
495 ✗ IF (latgeo.GE.70.0) srcbe(i,k)=58.
496 ✗ IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=56.
497 ✗ IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=50.
498 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=36.
499 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=24.
500 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=15.
501 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=11.5
502 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=10.
503 END IF
504 ✗ IF ( kref .EQ. 30 ) THEN
505 ✗ IF (latgeo.GE.70.0) srcbe(i,k)=65.
506 ✗ IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=60.
507 ✗ IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=50.
508 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=35.
509 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=22.
510 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=14.
511 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=10.
512 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=9.
513 END IF
514 ✗ IF ( kref .EQ. 31 ) THEN
515 ✗ IF (latgeo.GE.70.0) srcbe(i,k)=70.
516 ✗ IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=62.
517 ✗ IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=48.
518 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=32.
519 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=21.
520 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=13.
521 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=9.
522 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=7.6
523 END IF
524 ✗ IF ( kref .EQ. 32 ) THEN
525 ✗ IF (latgeo.GE.70.0) srcbe(i,k)=80.
526 ✗ IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=60.
527 ✗ IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=46.
528 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=30.
529 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=17.5
530 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=11.
531 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=8.
532 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=7.4
533 END IF
534 ✗ IF ( kref .GE. 33 ) THEN
535 ✗ IF (latgeo.GE.70.0) srcbe(i,k)=80.
536 ✗ IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=70.
537 ✗ IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=45.
538 ✗ IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=27.
539 ✗ IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=15.
540 ✗ IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=10.
541 ✗ IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=7.6
542 ✗ IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=7.
543 END IF
544 END DO
545 END DO
546 !!!!!! END IF ! fin de 39 niveaux verticaux
547
548
549 !====================================
550 ! Conversion de la source en U/s/kgA
551 !====================================
552 ✗ DO k = 1,klev
553 ✗ DO i = 1,klon
554 ! La source est at/min/m3 -> at/s/kgA
555 ! avec une masse volumique de l'air = 1.295 kg/m3
556 ! 1/(60*1.295) = 0.01287
557 ✗ srcbe(i,k)=srcbe(i,k)*0.01287
558 !! print *,' k, srcbe(i,k) ', &
559 !! k, srcbe(i,k)
560 ! La source est at/min/m3 -> at/s/m3
561 ! srcbe(i,k)=srcbe(i,k)*0.0166667
562 END DO
563 END DO
564
565 ✗ END SUBROUTINE init_be
566