LMDZ
init_be.F90
Go to the documentation of this file.
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
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
integer, save nbtr
subroutine init_be(pctsrf, pplay, masktr, tautr, vdeptr, scavtr, srcbe)
Definition: init_be.F90:4
real, dimension(:), allocatable, save longitude
Definition: geometry_mod.F90:5
integer, save klon
Definition: dimphy.F90:3
integer, save klev
Definition: dimphy.F90:7
!$Header!integer nvarmx parameter(nfmx=10, imx=200, jmx=150, lmx=200, nvarmx=1000) real xd(imx
Definition: dimphy.F90:1
real, dimension(:), allocatable, save latitude
Definition: geometry_mod.F90:8