1 |
module initrrnpb_m |
2 |
|
3 |
IMPLICIT NONE |
4 |
|
5 |
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 |
end module initrrnpb_m |