GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: phylmd/radio_decay.F90 Lines: 13 13 100.0 %
Date: 2023-06-30 12:56:34 Branches: 17 20 85.0 %

Line Branch Exec Source
1
!
2
! $Id $
3
!
4
288
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
864
  DO it = 1,nbtr
36

22352256
     d_tr(:,:,it) = 0.
37
864
     IF ( radio(it) ) THEN
38
576
        IF (tautr(it) .GT. 0.) THEN
39
23040
           DO k = 1,klev
40
22352256
              DO i = 1,klon
41
22351680
                 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
288
  IF ( rnpb ) THEN
52
11520
     DO k = 1,klev
53
11176128
        DO i = 1,klon
54
11175840
           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
288
END SUBROUTINE radio_decay