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