Changeset 1405 for LMDZ4/branches/LMDZ4_AR5/libf/phylmd/traclmdz_mod.F90
- Timestamp:
- Jul 1, 2010, 3:16:29 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4_AR5/libf/phylmd/traclmdz_mod.F90
r1279 r1405 35 35 !$OMP THREADPRIVATE(id_be) 36 36 37 LOGICAL,SAVE :: rnpb=.TRUE. ! Presence du couple Rn222, Pb210 37 INTEGER,SAVE :: id_aga ! Identification number for tracer : Age of stratospheric air 38 !$OMP THREADPRIVATE(id_aga) 39 INTEGER,SAVE :: lev_1p5km ! Approximative vertical layer number at 1.5km above surface, used for calculation of the age of air. The result shouldn't be that sensible to the exactness of this value as long as it is in the lower troposphere. 40 !$OMP THREADPRIVATE(lev_1p5km) 41 42 INTEGER,SAVE :: id_rn, id_pb ! Identification number for tracer : radon (Rn222), lead (Pb210) 43 !$OMP THREADPRIVATE(id_rn, id_pb) 44 LOGICAL,SAVE :: rnpb=.FALSE. ! Presence du couple Rn222, Pb210 38 45 !$OMP THREADPRIVATE(rnpb) 39 46 47 40 48 41 49 CONTAINS … … 123 131 ! Recherche des traceurs connus : Be7, CO2,... 124 132 ! -------------------------------------------- 125 id_ be=0133 id_rn=0; id_pb=0; id_aga=0; id_be=0 126 134 DO it=1,nbtr 127 135 iiq=niadv(it+2) 128 IF ( tname(iiq) == "BE" .OR. tname(iiq) == "Be" .OR. & 136 IF ( tname(iiq) == "RN" ) THEN 137 id_rn=it ! radon 138 ELSE IF ( tname(iiq) == "PB") THEN 139 id_pb=it ! plomb 140 ELSE IF ( tname(iiq) == "Aga" .OR. tname(iiq) == "AGA" ) THEN 141 ! Age of stratospheric air 142 id_aga=it 143 radio(id_aga) = .FALSE. 144 aerosol(id_aga) = .FALSE. 145 pbl_flg(id_aga) = 0 146 147 ! Find the first model layer above 1.5km from the surface 148 IF (klev>=30) THEN 149 lev_1p5km=6 ! NB! This value is for klev=39 150 ELSE IF (klev>=10) THEN 151 lev_1p5km=5 ! NB! This value is for klev=19 152 ELSE 153 lev_1p5km=klev/2 154 END IF 155 ELSE IF ( tname(iiq) == "BE" .OR. tname(iiq) == "Be" .OR. & 129 156 tname(iiq) == "BE7" .OR. tname(iiq) == "Be7" ) THEN 130 157 ! Recherche du Beryllium 7 … … 135 162 CALL init_be(pctsrf,masktr(:,id_be),tautr(id_be),vdeptr(id_be),scavtr(id_be),srcbe) 136 163 WRITE(*,*) 'Initialisation srcBe: OK' 137 END IF 164 END IF 165 138 166 END DO 139 167 ! 140 168 ! Valeurs specifiques pour les traceurs Rn222 et Pb210 141 169 ! ---------------------------------------------- 142 IF ( rnpb) THEN143 170 IF ( id_rn/=0 .AND. id_pb/=0 ) THEN 171 rnpb = .TRUE. 144 172 radio(1)= .TRUE. 145 173 radio(2)= .TRUE. … … 249 277 WRITE(solsym(it),'(i2)') it 250 278 END DO 279 280 ! 281 ! Update tracer : Age of stratospheric air 282 ! 283 IF (id_aga/=0) THEN 284 285 ! Bottom layers 286 DO k = 1, lev_1p5km 287 tr_seri(:,k,id_aga) = 0.0 288 END DO 289 290 ! Layers above 1.5km 291 DO k = lev_1p5km+1,klev-1 292 tr_seri(:,k,id_aga) = tr_seri(:,k,id_aga) + pdtphys 293 END DO 294 295 ! Top layer 296 tr_seri(:,klev,id_aga) = tr_seri(:,klev-1,id_aga) 297 298 END IF 299 251 300 !====================================================================== 252 301 ! -- Calcul de l'effet de la couche limite -- … … 273 322 274 323 DO it=1, nbtr 275 IF (couchelimite .AND. pbl_flg(it) == 0 ) THEN ! couche limite avec quantite dans le sol calculee324 IF (couchelimite .AND. pbl_flg(it) == 0 .AND. rnpb) THEN ! couche limite avec quantite dans le sol calculee 276 325 CALL cltracrn(it, pdtphys, yu1, yv1, & 277 326 cdragh, coefh,t_seri,ftsol,pctsrf, &
Note: See TracChangeset
for help on using the changeset viewer.