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 |
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 |
|
|