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

Diff of /trunk/phylmd/initrrnpb.f90

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

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

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

  ViewVC Help
Powered by ViewVC 1.1.21