source: LMDZ6/trunk/libf/phylmd/init_be.f90

Last change on this file was 5274, checked in by abarral, 9 hours ago

Replace yomcst.h by existing module

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