Changeset 1750 for LMDZ5/branches/testing/libf/phylmd/init_be.F90
- Timestamp:
- Apr 25, 2013, 5:27:27 PM (12 years ago)
- Location:
- LMDZ5/branches/testing
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/testing
- Property svn:mergeinfo changed
/LMDZ5/trunk merged: 1711-1716,1718,1720-1725,1727-1729,1732-1742,1744-1745
- Property svn:mergeinfo changed
-
LMDZ5/branches/testing/libf/phylmd/init_be.F90
r1279 r1750 1 1 !$Id $ 2 2 3 SUBROUTINE init_be(pctsrf,masktr,tautr,vdeptr,scavtr,srcbe) 3 SUBROUTINE init_be(pctsrf,pplay,masktr,tautr,vdeptr,scavtr,srcbe) 4 !!!SUBROUTINE init_be(pctsrf,masktr,tautr,vdeptr,scavtr,srcbe) 4 5 5 6 USE dimphy … … 26 27 ! 27 28 REAL,DIMENSION(klon,nbsrf),INTENT(IN) :: pctsrf !Pourcentage de sol (f(nature du sol)) 29 REAL,DIMENSION(klon,klev), INTENT(IN) :: pplay ! Pressions en milieu de couches 28 30 ! 29 31 ! Output Arguments … … 37 39 ! Local Variables 38 40 ! 41 !!! INTEGER :: iref ! numero d'un point oceanique donnant la grille de pression de reference 39 42 REAL,DIMENSION(klon) :: rlatgeo ! latitudes geomagnetiques de la grille 40 43 REAL :: glt ! latitude du pole geomagnetique 41 44 REAL :: glg ! longitude du pole geomagnetique 42 45 REAL :: latgeo,qcos 43 INTEGER :: k,i 46 INTEGER :: k,i, kref, k2 47 INTEGER :: nref 48 PARAMETER (nref=39) 49 REAL,DIMENSION(nref) :: pref ! grille de pression de reference (bas des couches) 50 DATA pref / & 51 101249.99999999994, 100387.17261011522, 99447.35334189111, 98357.43412194174, & 52 97046.47707771382, 95447.1116450629, 93496.85259615642, 91139.46548240296, & 53 88326.55568744117, 85019.60710580258, 81192.7404556645, 76836.48366938648, & 54 71962.81275769137, 66611.56331321516, 60857.914829743604, 54819.84484441629, & 55 48663.06257114699, 42598.95465845692, 36869.104365898806, 31709.927925633147, & 56 27296.757208636915, 23682.282929080895, 20766.025578936627, 18336.105961406534, & 57 16178.04816768436, 14168.286905562818, 12275.719926478887, 10507.798835225762, & 58 8876.585404909414, 7391.283929569539, 6057.514475749798, 4877.165909157005, & 59 3848.34936408203, 2965.444753540027, 2219.2391544640013, 1597.15366044666, & 60 1083.5531161631498, 660.1311067852655, 306.36072267002805 / 61 !$OMP THREADPRIVATE(pref) 44 62 45 63 WRITE(*,*)'PASSAGE init_be ...' 46 64 47 ! Source actuellement definie pour klev = 19 et klev >= 39 48 IF (klev /= 19 .AND. klev<39) CALL abort_gcm("init_be","Source du be7 necessite klev=19 ou klev>=39",1) 49 ! 65 ! la source est maintenant définie independemment de la valeur de klev. 66 !!! Source actuellement definie pour klev = 19 et klev >= 39 67 !! IF (klev /= 19 .AND. klev<39) CALL abort_gcm("init_be","Source du be7 necessite klev=19 ou klev>=39",1) 68 !!! 50 69 ! Definition des constantes 51 70 ! ------------------------- … … 53 72 vdeptr = 1.E-3 54 73 scavtr = 0.5 74 !!!!!jyg le 13/03/2013; puis 20/03/2013 : pref est maintenant une table. 75 !!! 76 !!! Recherche d'un point rlat=0., rlon=180. 77 !! iref=(klon+1)/2 78 !! DO i = 1,klon 79 !! IF (abs(rlatd(i)) .LT. 0.15 .AND. cos(rlond(i)) .LT. -0.85) iref=i 80 !! ENDDO 81 !!! 82 !!! Grille de pression de reference (= approx de sommets de couches) 83 !! pref(1) = pplay(iref,1)+0.5*(pplay(iref,1)-pplay(iref,2)) 84 !! DO k = 2,klev 85 !! pref(k) = 0.5*(pplay(iref,k-1)+pplay(iref,k)) 86 !! ENDDO 87 !!! 55 88 56 89 WRITE(*,*) '-------------- SOURCE DE BERYLLIUM ------------------- ' … … 77 110 ! 3-mettre la source de Be ds la bonne unite (en at/kgA/s) 78 111 ! 79 glt =78.5*rpi/180.80 glg =69.0*rpi/180.112 glt = 78.5*rpi/180. 113 glg = -69.0*rpi/180. 81 114 82 115 DO i = 1,klon 83 116 qcos=sin(glt)*sin(rlatd(i)) 84 qcos=qcos+cos(glt)*cos(rlatd(i))*cos(rlond(i)+glg) 117 !!jyg 118 !! qcos=qcos+cos(glt)*cos(rlatd(i))*cos(rlond(i)+glg) 119 qcos=qcos+cos(glt)*cos(rlatd(i))*cos(rlond(i)-glg) 120 !!jyg end 85 121 IF ( qcos .LT. -1.) qcos = -1. 86 122 IF ( qcos .GT. 1.) qcos = 1. … … 88 124 ENDDO 89 125 90 !=========================== 91 ! Cas 19 niveaux verticaux 92 !=========================== 93 IF (klev.eq.19) then 126 !!!=========================== 127 !!! Cas 19 niveaux verticaux 128 !!!=========================== 129 !! IF (klev.eq.19) then 130 !! DO k = 1,klev 131 !! DO i = 1,klon 132 !!!!!jyg le 13/03/2013 133 !!! 134 !!! k est le niveau dans la grille locale 135 !!! Determination du niveau kref dans la grille de refernce 136 !! kref = 1 137 !! DO k2 = 1,klev 138 !! IF (pref(k2) .GT. pplay(i,k)) kref=k2 139 !! ENDDO 140 !!!!! 141 !! latgeo=(180./rpi)*abs(rlatgeo(i)) 142 !! IF ( kref .EQ. 1 ) THEN 143 !! IF (latgeo.GE.50.0) srcbe(i,k)=0.1 144 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.09 145 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.07 146 !! END IF 147 !! IF ( kref .EQ. 2 ) THEN 148 !! IF (latgeo.GE.50.0) srcbe(i,k)=0.12 149 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.1 150 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.09 151 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.07 152 !! END IF 153 !! IF ( kref .EQ. 3 ) THEN 154 !! IF (latgeo.GE.50.0) srcbe(i,k)=0.14 155 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.12 156 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.1 157 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.09 158 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.07 159 !! END IF 160 !! IF ( kref .EQ. 4 ) THEN 161 !! IF (latgeo.GE.50.0) srcbe(i,k)=0.175 162 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.16 163 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.14 164 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.12 165 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.1 166 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.09 167 !! END IF 168 !! IF ( kref .EQ. 5 ) THEN 169 !! IF (latgeo.GE.50.0) srcbe(i,k)=0.28 170 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.26 171 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.23 172 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.175 173 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.14 174 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.12 175 !! END IF 176 !! IF ( kref .EQ. 6 ) THEN 177 !! IF (latgeo.GE.50.0) srcbe(i,k)=0.56 178 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.49 179 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.42 180 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.28 181 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.26 182 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.245 183 !! END IF 184 !! IF ( kref .EQ. 7 ) THEN 185 !! IF (latgeo.GE.50.0) srcbe(i,k)=1.05 186 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.875 187 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.7 188 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.52 189 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.44 190 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.385 191 !! END IF 192 !! IF ( kref .EQ. 8 ) THEN 193 !! IF (latgeo.GE.50.0) srcbe(i,k)=2. 194 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=1.8 195 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=1.5 196 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=1. 197 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.8 198 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.75 199 !! END IF 200 !! IF ( kref .EQ. 9 ) THEN 201 !! IF (latgeo.GE.50.0) srcbe(i,k)=4. 202 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=3.5 203 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=3. 204 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=2.5 205 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=1.8 206 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=1.4 207 !! END IF 208 !! IF ( kref .EQ. 10 ) THEN 209 !! IF (latgeo.GE.50.0) srcbe(i,k)=8.5 210 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=8. 211 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=7. 212 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=4.5 213 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=3.5 214 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=3. 215 !! END IF 216 !! IF ( kref .EQ. 11 ) THEN 217 !! IF (latgeo.GE.50.0) srcbe(i,k)=17. 218 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=15. 219 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=11. 220 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=8. 221 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=5. 222 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=4. 223 !! END IF 224 !! IF ( kref .EQ. 12 ) THEN 225 !! IF (latgeo.GE.50.0) srcbe(i,k)=25. 226 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=22. 227 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=17. 228 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=11. 229 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=7.5 230 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=7. 231 !! END IF 232 !! IF ( kref .EQ. 13 ) THEN 233 !! IF (latgeo.GE.60.0) srcbe(i,k)=33. 234 !! IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=32. 235 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=30. 236 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=22. 237 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=15. 238 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=11. 239 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=8. 240 !! END IF 241 !! IF ( kref .EQ. 14 ) THEN 242 !! IF (latgeo.GE.60.0) srcbe(i,k)=48. 243 !! IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=45. 244 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=36. 245 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=26. 246 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=17.5 247 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=12.5 248 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=10. 249 !! END IF 250 !! IF ( kref .EQ. 15 ) THEN 251 !! IF (latgeo.GE.70.0) srcbe(i,k)=58. 252 !! IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=57. 253 !! IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=50. 254 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=38. 255 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=25. 256 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=15. 257 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=12.5 258 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=10. 259 !! END IF 260 !! IF ( kref .EQ. 16 ) THEN 261 !! IF (latgeo.GE.70.0) srcbe(i,k)=70. 262 !! IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=65. 263 !! IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=50. 264 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=32. 265 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=20. 266 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=13. 267 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=9. 268 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=7.5 269 !! END IF 270 !! IF ( kref .GE. 17 ) THEN 271 !! IF (latgeo.GE.70.0) srcbe(i,k)=80. 272 !! IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=70. 273 !! IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=45. 274 !! IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=27. 275 !! IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=17.5 276 !! IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=12. 277 !! IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=8. 278 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=7. 279 !! END IF 280 !! END DO 281 !! END DO 282 !! END IF ! fin de 19 niveaux verticaux 283 !! 284 !!!!!! IF (klev .ge. 39) then 94 285 DO k = 1,klev 95 286 DO i = 1,klon 287 !!!jyg le 13/03/2013 288 ! 289 ! k est le niveau dans la grille locale 290 ! Determination du niveau kref dans la grille de refernce 291 kref = 1 292 DO k2 = 1,nref 293 IF (pref(k2) .GT. pplay(i,k)) kref=k2 294 ENDDO 295 !!! 96 296 latgeo=(180./rpi)*abs(rlatgeo(i)) 97 IF ( k .EQ. 1 ) THEN 297 IF ( kref .LE. 4 ) THEN 298 IF (latgeo.GE.50.0) srcbe(i,k)=0.07 299 END IF 300 IF ( kref .EQ. 5 ) THEN 98 301 IF (latgeo.GE.50.0) srcbe(i,k)=0.1 99 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.09 100 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.07 101 END IF 102 IF ( k .EQ. 2 ) THEN 103 IF (latgeo.GE.50.0) srcbe(i,k)=0.12 104 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.1 105 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.09 302 IF (latgeo.GE.20.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.09 106 303 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.07 107 304 END IF 108 IF ( k .EQ. 3) THEN305 IF ( kref .EQ. 6 ) THEN 109 306 IF (latgeo.GE.50.0) srcbe(i,k)=0.14 110 307 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.12 … … 113 310 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.07 114 311 END IF 115 IF ( k .EQ. 4 ) THEN 116 IF (latgeo.GE.50.0) srcbe(i,k)=0.175 117 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.16 118 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.14 119 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.12 120 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.1 121 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.09 122 END IF 123 IF ( k .EQ. 5 ) THEN 124 IF (latgeo.GE.50.0) srcbe(i,k)=0.28 125 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.26 126 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.23 127 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.175 128 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.14 129 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.12 130 END IF 131 IF ( k .EQ. 6 ) THEN 132 IF (latgeo.GE.50.0) srcbe(i,k)=0.56 133 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.49 134 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.42 135 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.28 136 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.26 137 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.245 138 END IF 139 IF ( k .EQ. 7 ) THEN 140 IF (latgeo.GE.50.0) srcbe(i,k)=1.05 141 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.875 142 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.7 143 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.52 144 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.44 145 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.385 146 END IF 147 IF ( k .EQ. 8 ) THEN 148 IF (latgeo.GE.50.0) srcbe(i,k)=2. 149 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=1.8 150 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=1.5 151 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=1. 152 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.8 153 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.75 154 END IF 155 IF ( k .EQ. 9 ) THEN 156 IF (latgeo.GE.50.0) srcbe(i,k)=4. 157 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=3.5 158 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=3. 159 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=2.5 160 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=1.8 161 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=1.4 162 END IF 163 IF ( k .EQ. 10 ) THEN 164 IF (latgeo.GE.50.0) srcbe(i,k)=8.5 165 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=8. 166 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=7. 167 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=4.5 168 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=3.5 169 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=3. 170 END IF 171 IF ( k .EQ. 11 ) THEN 172 IF (latgeo.GE.50.0) srcbe(i,k)=17. 173 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=15. 174 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=11. 175 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=8. 176 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=5. 177 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=4. 178 END IF 179 IF ( k .EQ. 12 ) THEN 180 IF (latgeo.GE.50.0) srcbe(i,k)=25. 181 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=22. 182 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=17. 183 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=11. 184 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=7.5 185 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=7. 186 END IF 187 IF ( k .EQ. 13 ) THEN 188 IF (latgeo.GE.60.0) srcbe(i,k)=33. 189 IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=32. 190 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=30. 191 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=22. 192 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=15. 193 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=11. 194 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=8. 195 END IF 196 IF ( k .EQ. 14 ) THEN 197 IF (latgeo.GE.60.0) srcbe(i,k)=48. 198 IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=45. 199 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=36. 200 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=26. 201 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=17.5 202 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=12.5 203 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=10. 204 END IF 205 IF ( k .EQ. 15 ) THEN 206 IF (latgeo.GE.70.0) srcbe(i,k)=58. 207 IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=57. 208 IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=50. 209 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=38. 210 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=25. 211 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=15. 212 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=12.5 213 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=10. 214 END IF 215 IF ( k .EQ. 16 ) THEN 216 IF (latgeo.GE.70.0) srcbe(i,k)=70. 217 IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=65. 218 IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=50. 219 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=32. 220 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=20. 221 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=13. 222 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=9. 223 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=7.5 224 END IF 225 IF ( k .GE. 17 ) THEN 226 IF (latgeo.GE.70.0) srcbe(i,k)=80. 227 IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=70. 228 IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=45. 229 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=27. 230 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=17.5 231 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=12. 232 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=8. 233 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=7. 234 END IF 235 END DO 236 END DO 237 END IF ! fin de 19 niveaux verticaux 238 239 !================================ 240 ! Cas 39 niveaux verticaux 241 !================================ 242 IF (klev .ge. 39) then 243 DO k = 1,klev 244 DO i = 1,klon 245 latgeo=(180./rpi)*abs(rlatgeo(i)) 246 IF ( k .LE. 4 ) THEN 247 IF (latgeo.GE.50.0) srcbe(i,k)=0.07 248 END IF 249 IF ( k .EQ. 5 ) THEN 250 IF (latgeo.GE.50.0) srcbe(i,k)=0.1 251 IF (latgeo.GE.20.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.09 252 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.07 253 END IF 254 IF ( k .EQ. 6 ) THEN 255 IF (latgeo.GE.50.0) srcbe(i,k)=0.14 256 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.12 257 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.1 258 IF (latgeo.GE.20.0 .and. latgeo.LT.30.0) srcbe(i,k)=0.09 259 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=0.07 260 END IF 261 IF ( k .EQ. 7 ) THEN 312 IF ( kref .EQ. 7 ) THEN 262 313 IF (latgeo.GE.50.0) srcbe(i,k)=0.16 263 314 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.16 … … 267 318 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.09 268 319 END IF 269 IF ( k .EQ. 8 ) THEN320 IF ( kref .EQ. 8 ) THEN 270 321 IF (latgeo.GE.50.0) srcbe(i,k)=0.175 271 322 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.16 … … 275 326 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.1 276 327 END IF 277 IF ( k .EQ. 9 ) THEN328 IF ( kref .EQ. 9 ) THEN 278 329 IF (latgeo.GE.50.0) srcbe(i,k)=0.245 279 330 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.21 … … 283 334 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.12 284 335 END IF 285 IF ( k .EQ. 10 ) THEN336 IF ( kref .EQ. 10 ) THEN 286 337 IF (latgeo.GE.50.0) srcbe(i,k)=0.31 287 338 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.28 … … 291 342 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.14 292 343 END IF 293 IF ( k .EQ. 11 ) THEN344 IF ( kref .EQ. 11 ) THEN 294 345 IF (latgeo.GE.50.0) srcbe(i,k)=0.35 295 346 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.3 … … 299 350 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.16 300 351 END IF 301 IF ( k .EQ. 12 ) THEN352 IF ( kref .EQ. 12 ) THEN 302 353 IF (latgeo.GE.40.0) srcbe(i,k)=0.5 303 354 IF (latgeo.GE.30.0 .and. latgeo.LT.40.0) srcbe(i,k)=0.4 … … 306 357 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.25 307 358 END IF 308 IF ( k .EQ. 13 ) THEN359 IF ( kref .EQ. 13 ) THEN 309 360 IF (latgeo.GE.50.0) srcbe(i,k)=0.8 310 361 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=0.7 … … 314 365 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.35 315 366 END IF 316 IF ( k .EQ. 14 ) THEN367 IF ( kref .EQ. 14 ) THEN 317 368 IF (latgeo.GE.50.0) srcbe(i,k)=1.2 318 369 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=1. … … 322 373 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.4 323 374 END IF 324 IF ( k .EQ. 15 ) THEN375 IF ( kref .EQ. 15 ) THEN 325 376 IF (latgeo.GE.60.0) srcbe(i,k)=1.75 326 377 IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=1.8 … … 331 382 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.65 332 383 END IF 333 IF ( k .EQ. 16 ) THEN384 IF ( kref .EQ. 16 ) THEN 334 385 IF (latgeo.GE.50.0) srcbe(i,k)=3. 335 386 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=2.5 … … 339 390 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=0.9 340 391 END IF 341 IF ( k .EQ. 17 ) THEN392 IF ( kref .EQ. 17 ) THEN 342 393 IF (latgeo.GE.50.0) srcbe(i,k)=4. 343 394 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=3. … … 347 398 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=1.4 348 399 END IF 349 IF ( k .EQ. 18 ) THEN400 IF ( kref .EQ. 18 ) THEN 350 401 IF (latgeo.GE.50.0) srcbe(i,k)=7. 351 402 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=6. … … 355 406 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=2. 356 407 END IF 357 IF ( k .EQ. 19 ) THEN408 IF ( kref .EQ. 19 ) THEN 358 409 IF (latgeo.GE.50.0) srcbe(i,k)=8.5 359 410 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=8. … … 363 414 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=3. 364 415 END IF 365 IF ( k .EQ. 20 ) THEN416 IF ( kref .EQ. 20 ) THEN 366 417 IF (latgeo.GE.50.0) srcbe(i,k)=12.5 367 418 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=12. … … 371 422 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=3.5 372 423 END IF 373 IF ( k .EQ. 21 ) THEN424 IF ( kref .EQ. 21 ) THEN 374 425 IF (latgeo.GE.50.0) srcbe(i,k)=16. 375 426 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=13. … … 379 430 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=4. 380 431 END IF 381 IF ( k .EQ. 22 ) THEN432 IF ( kref .EQ. 22 ) THEN 382 433 IF (latgeo.GE.50.0) srcbe(i,k)=20. 383 434 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=17.5 … … 387 438 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=4.5 388 439 END IF 389 IF ( k .EQ. 23 ) THEN440 IF ( kref .EQ. 23 ) THEN 390 441 IF (latgeo.GE.50.0) srcbe(i,k)=25. 391 442 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=22. … … 395 446 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=6. 396 447 END IF 397 IF ( k .EQ. 24 ) THEN448 IF ( kref .EQ. 24 ) THEN 398 449 IF (latgeo.GE.50.0) srcbe(i,k)=28. 399 450 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=26. … … 403 454 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=7. 404 455 END IF 405 IF ( k .EQ. 25 ) THEN456 IF ( kref .EQ. 25 ) THEN 406 457 IF (latgeo.GE.50.0) srcbe(i,k)=33. 407 458 IF (latgeo.GE.40.0 .and. latgeo.LT.50.0) srcbe(i,k)=28. … … 411 462 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=8.5 412 463 END IF 413 IF ( k .EQ. 26 ) THEN464 IF ( kref .EQ. 26 ) THEN 414 465 IF (latgeo.GE.60.0) srcbe(i,k)=38. 415 466 IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=36. … … 419 470 IF (latgeo.GE.10.0 .and. latgeo.LT.20.0) srcbe(i,k)=11.5 420 471 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=10. 421 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=6. 422 END IF 423 IF ( k .EQ. 27 ) THEN 472 !!jyg 473 !! IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=6. 474 !!jyg end 475 END IF 476 IF ( kref .EQ. 27 ) THEN 424 477 IF (latgeo.GE.60.0) srcbe(i,k)=46. 425 478 IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=44. … … 430 483 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=10. 431 484 END IF 432 IF ( k .EQ. 28 ) THEN485 IF ( kref .EQ. 28 ) THEN 433 486 IF (latgeo.GE.60.0) srcbe(i,k)=53. 434 487 IF (latgeo.GE.50.0 .and. latgeo.LT.60.0) srcbe(i,k)=48. … … 439 492 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=10. 440 493 END IF 441 IF ( k .EQ. 29 ) THEN494 IF ( kref .EQ. 29 ) THEN 442 495 IF (latgeo.GE.70.0) srcbe(i,k)=58. 443 496 IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=56. … … 449 502 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=10. 450 503 END IF 451 IF ( k .EQ. 30 ) THEN504 IF ( kref .EQ. 30 ) THEN 452 505 IF (latgeo.GE.70.0) srcbe(i,k)=65. 453 506 IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=60. … … 459 512 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=9. 460 513 END IF 461 IF ( k .EQ. 31 ) THEN514 IF ( kref .EQ. 31 ) THEN 462 515 IF (latgeo.GE.70.0) srcbe(i,k)=70. 463 516 IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=62. … … 469 522 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=7.6 470 523 END IF 471 IF ( k .EQ. 32 ) THEN524 IF ( kref .EQ. 32 ) THEN 472 525 IF (latgeo.GE.70.0) srcbe(i,k)=80. 473 526 IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=60. … … 479 532 IF (latgeo.GE.0.0 .and. latgeo.LT.10.0) srcbe(i,k)=7.4 480 533 END IF 481 IF ( k .GE. 33 ) THEN534 IF ( kref .GE. 33 ) THEN 482 535 IF (latgeo.GE.70.0) srcbe(i,k)=80. 483 536 IF (latgeo.GE.60.0 .and. latgeo.LT.70.0) srcbe(i,k)=70. … … 491 544 END DO 492 545 END DO 493 END IF ! fin de 39 niveaux verticaux546 !!!!!! END IF ! fin de 39 niveaux verticaux 494 547 495 548 … … 503 556 ! 1/(60*1.295) = 0.01287 504 557 srcbe(i,k)=srcbe(i,k)*0.01287 558 !! print *,' k, srcbe(i,k) ', & 559 !! k, srcbe(i,k) 505 560 ! La source est at/min/m3 -> at/s/m3 506 561 ! srcbe(i,k)=srcbe(i,k)*0.0166667
Note: See TracChangeset
for help on using the changeset viewer.