/[lmdze]/trunk/phylmd/initrrnpb.f
ViewVC logotype

Contents of /trunk/phylmd/initrrnpb.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 98 - (show annotations)
Tue May 13 17:23:16 2014 UTC (10 years ago) by guez
File size: 3543 byte(s)
Split inter_barxy.f : one procedure per module, one module per
file. Grouped the files into a directory.

Split orbite.f.

Value of raz_date read from the namelist is taken into account
(resetting the step counter) even if annee_ref == anneeref and day_ref
== dayref. raz_date is no longer modified by gcm main unit. (Following
LMDZ.)

Removed argument klon of interfsur_lim. Renamed arguments lmt_alb,
lmt_rug to alb_new, z0_new (same name as corresponding actual
arguments in interfsurf_hq).

Removed argument klon of interfsurf_hq.

Removed arguments qs and d_qs of diagetpq. Were always
zero. Downgraded arguments d_qw, d_ql of diagetpq to local variables,
they were not used in physiq. Removed all computations for solid water
in diagetpq, was just zero.


Downgraded arguments fs_bound, fq_bound of diagphy to local variables,
they were not used in physiq. Encapsulated in a test on iprt all
computations in diagphy.

Removed parameter nbtr of module dimphy. Replaced it everywhere in the
program by nqmx - 2.

Removed parameter rnpb of procedure physiq. Kept the true case in
physiq and phytrac. Could not work with false case anyway.

Removed arguments klon, llm, airephy of qcheck. Removed argument ftsol
of initrrnpb, was not used.

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

  ViewVC Help
Powered by ViewVC 1.1.21