source: LMDZ4/branches/LMDZ4_AR5/libf/phylmd/radio_decay.F90 @ 4040

Last change on this file since 4040 was 1279, checked in by Laurent Fairhead, 15 years ago

Merged LMDZ4-dev branch changes r1241:1278 into the trunk
Running trunk and LMDZ4-dev in LMDZOR configuration on local
machine (sequential) and SX8 (4-proc) yields identical results
(restart and restartphy are identical binarily)
Log history from r1241 to r1278 is available by switching to
source:LMDZ4/branches/LMDZ4-dev-20091210

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.8 KB
Line 
1!
2! $Id $
3!
4SUBROUTINE 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
61END SUBROUTINE radio_decay
Note: See TracBrowser for help on using the repository browser.