1 | ! |
---|
2 | ! $Id $ |
---|
3 | ! |
---|
4 | SUBROUTINE radio_decay(radio,rnpb,dtime,tautr,tr,d_tr) |
---|
5 | ! |
---|
6 | ! Caluclate radioactive decay for all tracers with radio(it)=true |
---|
7 | ! |
---|
8 | USE dimphy |
---|
9 | USE infotrac, ONLY : nbtr |
---|
10 | IMPLICIT NONE |
---|
11 | !----------------------------------------------------------------------- |
---|
12 | ! Auteur(s): AA + CG (LGGE/CNRS) Date 24-06-94 |
---|
13 | ! Objet: Calcul de la tendance radioactive des traceurs type radioelements |
---|
14 | !CG240694 : Pour un traceur, le radon |
---|
15 | !CG161294 : Plus un 2eme traceur, le 210Pb. Le radon decroit en plomb. |
---|
16 | !----------------------------------------------------------------------- |
---|
17 | ! |
---|
18 | ! Entrees |
---|
19 | ! |
---|
20 | LOGICAL,DIMENSION(nbtr),INTENT(IN) :: radio ! .true. = traceur radioactif |
---|
21 | LOGICAL,INTENT(IN) :: rnpb ! .true. = decroissance RN = source PB |
---|
22 | REAL,INTENT(IN) :: dtime ! Pas de temps physique (secondes) |
---|
23 | REAL,DIMENSION(nbtr),INTENT(IN) :: tautr ! Constante de decroissance radioactive |
---|
24 | REAL,DIMENSION(klon,klev,nbtr),INTENT(IN) :: tr ! Concentrations traceurs U/kgA |
---|
25 | ! |
---|
26 | ! Sortie |
---|
27 | ! |
---|
28 | REAL,DIMENSION(klon,klev,nbtr),INTENT(OUT) :: d_tr ! Tendance de decroissance radioactive |
---|
29 | ! |
---|
30 | ! Locales |
---|
31 | ! |
---|
32 | INTEGER :: i,k,it |
---|
33 | |
---|
34 | |
---|
35 | DO it = 1,nbtr |
---|
36 | IF ( radio(it) ) THEN |
---|
37 | IF (tautr(it) .GT. 0.) THEN |
---|
38 | DO k = 1,klev |
---|
39 | DO i = 1,klon |
---|
40 | d_tr(i,k,it) = - tr(i,k,it) * dtime / tautr(it) |
---|
41 | END DO |
---|
42 | END DO |
---|
43 | ELSE |
---|
44 | d_tr(:,:,it) = 0. |
---|
45 | END IF |
---|
46 | ELSE |
---|
47 | d_tr(:,:,it) = 0. |
---|
48 | END IF |
---|
49 | END DO |
---|
50 | !------------------------------------------------------- |
---|
51 | !CG161294 : Cas particulier radon [it=1] => plomb [it=2] |
---|
52 | !------------------------------------------------------- |
---|
53 | IF ( rnpb ) THEN |
---|
54 | DO k = 1,klev |
---|
55 | DO i = 1,klon |
---|
56 | d_tr(i,k,2) = d_tr(i,k,2) - d_tr(i,k,1) |
---|
57 | ENDDO |
---|
58 | ENDDO |
---|
59 | ENDIF |
---|
60 | |
---|
61 | END SUBROUTINE radio_decay |
---|