Ignore:
Timestamp:
Jul 29, 2024, 11:01:04 PM (3 months ago)
Author:
abarral
Message:

Put YOMCST.h into modules

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/phylmd/init_be.F90

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