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

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

  ViewVC Help
Powered by ViewVC 1.1.21