Directory: | ./ |
---|---|
File: | phys/radio_decay.f90 |
Date: | 2022-01-11 19:19:34 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 13 | 13 | 100.0% |
Branches: | 17 | 20 | 85.0% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | ! | ||
2 | ! $Id $ | ||
3 | ! | ||
4 | 480 | 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_phy, ONLY : nbtr | ||
10 | USE traclmdz_mod, ONLY : id_rn, id_pb | ||
11 | IMPLICIT NONE | ||
12 | !----------------------------------------------------------------------- | ||
13 | ! Auteur(s): AA + CG (LGGE/CNRS) Date 24-06-94 | ||
14 | ! Objet: Calcul de la tendance radioactive des traceurs type radioelements | ||
15 | ! Cas particulier pour le couple radon-plomb : 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 |
2/2✓ Branch 0 taken 960 times.
✓ Branch 1 taken 480 times.
|
1440 | DO it = 1,nbtr |
36 |
4/4✓ Branch 0 taken 37440 times.
✓ Branch 1 taken 960 times.
✓ Branch 2 taken 37215360 times.
✓ Branch 3 taken 37440 times.
|
37253760 | d_tr(:,:,it) = 0. |
37 |
1/2✓ Branch 0 taken 960 times.
✗ Branch 1 not taken.
|
1440 | IF ( radio(it) ) THEN |
38 |
1/2✓ Branch 0 taken 960 times.
✗ Branch 1 not taken.
|
960 | IF (tautr(it) .GT. 0.) THEN |
39 |
2/2✓ Branch 0 taken 37440 times.
✓ Branch 1 taken 960 times.
|
38400 | DO k = 1,klev |
40 |
2/2✓ Branch 0 taken 37215360 times.
✓ Branch 1 taken 37440 times.
|
37253760 | DO i = 1,klon |
41 | 37252800 | d_tr(i,k,it) = - tr(i,k,it) * dtime / tautr(it) | |
42 | END DO | ||
43 | END DO | ||
44 | END IF | ||
45 | END IF | ||
46 | END DO | ||
47 | |||
48 | !------------------------------------------------------- | ||
49 | ! Cas particulier radon (id_rn) => plomb (id_pb) | ||
50 | !------------------------------------------------------- | ||
51 |
1/2✓ Branch 0 taken 480 times.
✗ Branch 1 not taken.
|
480 | IF ( rnpb ) THEN |
52 |
2/2✓ Branch 0 taken 18720 times.
✓ Branch 1 taken 480 times.
|
19200 | DO k = 1,klev |
53 |
2/2✓ Branch 0 taken 18607680 times.
✓ Branch 1 taken 18720 times.
|
18626880 | DO i = 1,klon |
54 | 18626400 | d_tr(i,k,id_pb) = d_tr(i,k,id_pb) - d_tr(i,k,id_rn) | |
55 | ENDDO | ||
56 | ENDDO | ||
57 | ENDIF | ||
58 | |||
59 | 480 | END SUBROUTINE radio_decay | |
60 |