1 |
guez |
98 |
module initrrnpb_m |
2 |
guez |
3 |
|
3 |
guez |
81 |
IMPLICIT NONE |
4 |
guez |
3 |
|
5 |
guez |
98 |
contains |
6 |
guez |
3 |
|
7 |
guez |
98 |
SUBROUTINE initrrnpb(pctsrf, masktr, fshtr, hsoltr, tautr, vdeptr, scavtr) |
8 |
guez |
81 |
|
9 |
guez |
266 |
! From LMDZ4/libf/phylmd/initrrnpb.F, version 1.2, 2004/06/22 11:45:33 |
10 |
guez |
81 |
|
11 |
guez |
266 |
! Authors: AA + Christophe Genthon (LGGE/CNRS) |
12 |
|
|
! Date: June 1994 |
13 |
guez |
98 |
! Objet : initialisation des constantes des traceurs |
14 |
guez |
81 |
|
15 |
guez |
98 |
USE dimphy, ONLY: klon |
16 |
guez |
81 |
|
17 |
guez |
266 |
REAL, intent(in):: pctsrf(:, :) ! (klon, nbsrf) |
18 |
guez |
98 |
! pourcentage de sol (f(nature du sol)) |
19 |
|
|
! Nature de sol (pourcentage de sol) |
20 |
guez |
81 |
|
21 |
guez |
266 |
REAL masktr(:, :) ! (klon, nqmx - 2) |
22 |
|
|
! Masque de l'echange avec la surface |
23 |
guez |
98 |
! (possible => 1) |
24 |
|
|
! masktr---output-R- Masque reservoir de sol traceur (1 = reservoir) |
25 |
guez |
266 |
|
26 |
|
|
REAL fshtr(:, :) ! (klon, nqmx - 2) |
27 |
|
|
! Flux surfacique dans le reservoir de sol |
28 |
guez |
98 |
! fshtr----output-R- Flux surfacique de production dans le sol |
29 |
guez |
266 |
|
30 |
|
|
REAL hsoltr(:) ! (nqmx - 2) |
31 |
|
|
! Epaisseur equivalente du reservoir de sol |
32 |
guez |
98 |
! hsoltr---output-R- Epaisseur du reservoir de sol |
33 |
guez |
266 |
|
34 |
|
|
REAL tautr(:) ! (nqmx - 2) |
35 |
|
|
! Constante de decroissance radioactive |
36 |
guez |
98 |
! tautr----output-R- Constante de decroissance du traceur |
37 |
guez |
266 |
|
38 |
|
|
REAL vdeptr(:) ! (nqmx - 2) |
39 |
|
|
! Vitesse de depot sec dans la couche Brownienne |
40 |
guez |
98 |
! vdeptr---output-R- Vitesse de depot sec dans la couche Brownienne |
41 |
guez |
266 |
|
42 |
|
|
REAL scavtr(:) ! (nqmx - 2) |
43 |
|
|
! Coefficient de lessivage |
44 |
guez |
98 |
! scavtr---output-R- Coefficient de lessivage |
45 |
guez |
81 |
|
46 |
guez |
98 |
! Local: |
47 |
guez |
266 |
INTEGER i |
48 |
guez |
98 |
REAL s |
49 |
guez |
81 |
|
50 |
guez |
98 |
!------------------------------------------------------------- |
51 |
guez |
81 |
|
52 |
guez |
98 |
PRINT *, 'Call sequence information: initrrnpb' |
53 |
guez |
81 |
|
54 |
guez |
98 |
! Initialisations spécifiques à chaque traceur (pour le moment, Rn222) |
55 |
guez |
81 |
|
56 |
guez |
98 |
! Radon |
57 |
guez |
81 |
|
58 |
guez |
98 |
s = 1.E4 ! Source: atome par m2 |
59 |
|
|
|
60 |
guez |
266 |
hsoltr(1) = 0.1 |
61 |
guez |
98 |
! Hauteur equivalente du reservoir : |
62 |
|
|
! 1 m * porosite 0.1 |
63 |
|
|
|
64 |
guez |
266 |
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 |
guez |
98 |
|
68 |
guez |
266 |
PRINT *, 'Source du radon :' |
69 |
guez |
98 |
PRINT *, 'Source : ', s |
70 |
guez |
266 |
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 |
guez |
98 |
|
75 |
|
|
DO i = 1, klon |
76 |
guez |
266 |
masktr(i, 1) = 0. |
77 |
|
|
IF (nint(pctsrf(i, 1))==1) masktr(i, 1) = 1. |
78 |
|
|
fshtr(i, 1) = s*masktr(i, 1) |
79 |
guez |
98 |
|
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 |
guez |
266 |
hsoltr(2) = 10. |
90 |
guez |
98 |
! hauteur équivalente du réservoir à partir duquel le dépôt |
91 |
|
|
! Brownien a lieu |
92 |
|
|
|
93 |
guez |
266 |
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 |
guez |
98 |
DO i = 1, klon |
97 |
guez |
266 |
masktr(i, 2) = 1. ! Le depot sec peut avoir lieu partout |
98 |
|
|
fshtr(i, 2) = s*masktr(i, 2) |
99 |
guez |
98 |
END DO |
100 |
guez |
266 |
PRINT *, 'Source du plomb :' |
101 |
guez |
98 |
PRINT *, 'Source : ', s |
102 |
guez |
266 |
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 |
guez |
98 |
|
107 |
|
|
END SUBROUTINE initrrnpb |
108 |
|
|
|
109 |
|
|
end module initrrnpb_m |