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

Diff of /trunk/Sources/phylmd/initrrnpb.f

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

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

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

  ViewVC Help
Powered by ViewVC 1.1.21