/[lmdze]/trunk/phylmd/initrrnpb.f
ViewVC logotype

Diff of /trunk/phylmd/initrrnpb.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 76 by guez, Fri Nov 15 18:45:49 2013 UTC revision 266 by guez, Thu Apr 19 17:54:55 2018 UTC
# Line 1  Line 1 
1  !  module initrrnpb_m
2  ! $Header: /home/cvsroot/LMDZ4/libf/phylmd/initrrnpb.F,v 1.2 2004/06/22 11:45:33 lmdzadmin Exp $  
3  !    IMPLICIT NONE
4        SUBROUTINE  initrrnpb(ftsol,pctsrf,masktr,fshtr,hsoltr,tautr  
5       .                   ,vdeptr,scavtr)  contains
6        use dimens_m  
7        use indicesol    SUBROUTINE initrrnpb(pctsrf, masktr, fshtr, hsoltr, tautr, vdeptr, scavtr)
8        use dimphy  
9        IMPLICIT none      ! From LMDZ4/libf/phylmd/initrrnpb.F, version 1.2, 2004/06/22 11:45:33
10  c======================================================================  
11  c Auteur(s): AA + CG (LGGE/CNRS) Date 24-06-94      ! Authors: AA + Christophe Genthon (LGGE/CNRS)
12  c Objet: initialisation des constantes des traceurs      ! Date: June 1994
13  CAA Revison pour le controle avec la temperature du sol      ! Objet : initialisation des constantes des traceurs
14  cAA  
15  CAA   it = 1 radon ss controle de ts      USE dimphy, ONLY: klon
16  cAA   it = 2 plomb ss controle de ts    
17  c======================================================================      REAL, intent(in):: pctsrf(:, :) ! (klon, nbsrf)
18  c Arguments:      ! pourcentage de sol (f(nature du sol))
19  c nbtr------input-I- nombre de vrais traceurs (sans l'eau)      ! Nature de sol (pourcentage de sol)
20  c ftsol-------input-R- Temperature du sol (Kelvin)  
21  c pctsrf-----input-R-  Nature de sol (pourcentage de sol)      REAL masktr(:, :) ! (klon, nqmx - 2)
22  c masktr---output-R- Masque reservoir de sol traceur (1 = reservoir)      ! Masque de l'echange avec la surface
23  c fshtr----output-R- Flux surfacique de production dans le sol      ! (possible => 1)
24  c hsoltr---output-R- Epaisseur du reservoir de sol      ! masktr---output-R- Masque reservoir de sol traceur (1 = reservoir)
25  c tautr----output-R- Constante de decroissance du traceur  
26  c vdeptr---output-R- Vitesse de depot sec dans la couche Brownienne      REAL fshtr(:, :) ! (klon, nqmx - 2)
27  c scavtr---output-R- Coefficient de lessivage      ! Flux surfacique dans le reservoir de sol
28  c======================================================================      ! fshtr----output-R- Flux surfacique de production dans le sol
29  c======================================================================      
30  C      REAL hsoltr(:) ! (nqmx - 2)
31        INTEGER i, it      ! Epaisseur equivalente du reservoir de sol
32        REAL pctsrf(klon,nbsrf) !Pourcentage de sol (f(nature du sol))      ! hsoltr---output-R- Epaisseur du reservoir de sol
33        REAL ftsol(klon,nbsrf)  ! Temperature du sol pour le controle Rn  
34  c                             ! le cas echeant      REAL tautr(:) ! (nqmx - 2)
35        REAL masktr(klon,nbtr)  ! Masque de l'echange avec la surface      ! Constante de decroissance radioactive
36  c                                 (possible => 1 )      ! tautr----output-R- Constante de decroissance du traceur
37        REAL fshtr(klon,nbtr)  ! Flux surfacique dans le reservoir de sol  
38        REAL hsoltr(nbtr)      ! Epaisseur equivalente du reservoir de sol      REAL vdeptr(:) ! (nqmx - 2)
39        REAL tautr(nbtr)       ! Constante de decroissance radioactive      ! Vitesse de depot sec dans la couche Brownienne
40        REAL vdeptr(nbtr)      ! Vitesse de depot sec dans la couche Brownienne      ! vdeptr---output-R- Vitesse de depot sec dans la couche Brownienne
41        REAL scavtr(nbtr)      ! Coefficient de lessivage  
42        REAL s      REAL scavtr(:) ! (nqmx - 2)
43  C      ! Coefficient de lessivage
44        print *, "Call sequence information: initrrnpb"      ! scavtr---output-R- Coefficient de lessivage
45        print*,'nbtr= ',nbtr  
46        print*,'nbsrf= ',nbsrf      ! Local:
47        print*,'klon= ',klon      INTEGER i
48  C      REAL s
49  C Puis les initialisation specifiques a chaque traceur (pour le moment, Rn222)  
50  C      !-------------------------------------------------------------
51  C  
52  C Radon it = 1      PRINT *, 'Call sequence information: initrrnpb'
53  c  
54        IF ( nbtr .LE. 0 ) STOP 'initrrnpb pas glop pas glop'      ! Initialisations spécifiques à chaque traceur (pour le moment, Rn222)
55        it = 1  
56        s = 1.E4  !  Source: atome par m2      ! Radon
57        hsoltr(it) = 0.1      ! Hauteur equivalente du reservoir :  
58  c                              1 m * porosite 0.1      s = 1.E4 ! Source: atome par m2
59        tautr(it) = 4.765E5  ! Decroissance du radon, secondes  
60  cAA      hsoltr(1) = 0.1
61  c      tautr(it) = 4.765E55  ! Decroissance du radon,infinie      ! Hauteur equivalente du reservoir :
62  cAA      ! 1 m * porosite 0.1
63        vdeptr(it) = 0. ! Pas de depot sec pour le radon  
64        scavtr(it) = 0. ! Pas de lessivage pour le radon      tautr(1) = 4.765E5 ! Decroissance du radon, secondes
65        vdeptr(1) = 0. ! Pas de depot sec pour le radon
66        print*, '-------------- SOURCE DU RADON ------------------------ '      scavtr(1) = 0. ! Pas de lessivage pour le radon
67        print*,'it = ',it  
68        print*,'Source : ', s      PRINT *, 'Source du radon :'
69        print*,'Hauteur equivalente du reservoir de sol: ',hsoltr(it)      PRINT *, 'Source : ', s
70        print*,'Decroissance (s): ', tautr(it)      PRINT *, 'Hauteur equivalente du reservoir de sol: ', hsoltr(1)
71        print*,'Vitesse de depot sec: ',vdeptr(it)      PRINT *, 'Decroissance (s): ', tautr(1)
72        print*,'Facteur de lessivage: ',scavtr(it)      PRINT *, 'Vitesse de depot sec: ', vdeptr(1)
73        PRINT *, 'Facteur de lessivage: ', scavtr(1)
74        DO i = 1,klon  
75          masktr(i,it) = 0.      DO i = 1, klon
76          IF ( NINT(pctsrf(i,1)) .EQ. 1 ) masktr(i,it) = 1.         masktr(i, 1) = 0.
77          fshtr(i,it) = s * masktr(i,it)         IF (nint(pctsrf(i, 1))==1) masktr(i, 1) = 1.
78           fshtr(i, 1) = s*masktr(i, 1)
79  cAA  
80  cAA POur l'instant le pctsrf(i,3) = 1.0         ! Pour l'instant le pctsrf(i, 3) = 1.
81  cAA lorsqu'il ya de la terre mias ne prend aucune autre valeur         ! lorsqu'il y a de la terre mais ne prend aucune autre valeur
82  cAA il n'est donc pas necessaire de multiplier fshtr par pctsrf         ! il n'est donc pas nécessaire de multiplier fshtr par pctsrf
83  cAA      END DO
84    
85        END DO      ! Pb210
86  C  
87  C 210Pb it = 2      s = 0. ! pas de source
88  C  
89        IF ( nbtr .LE. 1 ) STOP 'initrrnpb pas glop pas glop'      hsoltr(2) = 10.
90        it = 2      ! hauteur équivalente du réservoir à partir duquel le dépôt
91        s = 0. !  Pas de source !!!      ! Brownien a lieu
92        hsoltr(it) = 10.     ! Hauteur equivalente du reservoir  
93  c                              a partir duquel le      tautr(2) = 1.028E9 ! Decroissance du Pb210, secondes
94  c                              depot Brownien a lieu      vdeptr(2) = 1.E-3 ! 1 mm/s pour le 210Pb
95        tautr(it) = 1.028E9 ! Decroissance du Pb210, secondes      scavtr(2) = .5 ! Lessivage du Pb210
96        vdeptr(it) = 1.E-3 ! 1 mm/s pour le 210Pb      DO i = 1, klon
97        scavtr(it) =  .5   ! Lessivage du Pb210         masktr(i, 2) = 1. ! Le depot sec peut avoir lieu partout
98        DO i = 1,klon         fshtr(i, 2) = s*masktr(i, 2)
99          masktr(i,it) = 1. ! Le depot sec peut avoir lieu partout      END DO
100          fshtr(i,it) = s * masktr(i,it)      PRINT *, 'Source du plomb :'
101        END DO      PRINT *, 'Source : ', s
102        print*, '-------------- SOURCE DU PLOMB ------------------------ '      PRINT *, 'Hauteur equivalente du reservoir : ', hsoltr(2)
103        print*,'it = ',it      PRINT *, 'Decroissance (s): ', tautr(2)
104        print*,'Source : ', s      PRINT *, 'Vitesse de depot sec: ', vdeptr(2)
105        print*,'Hauteur equivalente du reservoir : ',hsoltr(it)      PRINT *, 'Facteur de lessivage: ', scavtr(2)
106        print*,'Decroissance (s): ', tautr(it)  
107        print*,'Vitesse de depot sec: ',vdeptr(it)    END SUBROUTINE initrrnpb
108        print*,'Facteur de lessivage: ',scavtr(it)  
109  c  end module initrrnpb_m
       WRITE(*,*) 'initialisation rnpb ok'  
 c  
       RETURN  
       END  

Legend:
Removed from v.76  
changed lines
  Added in v.266

  ViewVC Help
Powered by ViewVC 1.1.21