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

Annotation of /trunk/phylmd/initrrnpb.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 98 - (hide annotations)
Tue May 13 17:23:16 2014 UTC (9 years, 11 months 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 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 98 ! From LMDZ4/libf/phylmd/initrrnpb.F, version 1.2 2004/06/22 11:45:33
10 guez 81
11 guez 98 ! Authors: AA + CG (LGGE/CNRS) Date June 24th, 1994
12     ! Objet : initialisation des constantes des traceurs
13 guez 81
14 guez 98 use dimens_m, only: nqmx
15     USE dimphy, ONLY: klon
16     USE indicesol, ONLY: nbsrf
17     use nr_util, only: assert
18 guez 81
19 guez 98 REAL, intent(in):: pctsrf(klon, nbsrf)
20     ! pourcentage de sol (f(nature du sol))
21     ! Nature de sol (pourcentage de sol)
22 guez 81
23 guez 98 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 guez 81
37 guez 98 ! Local:
38 guez 81
39 guez 98 INTEGER i, it
40     ! it = 1 radon ss controle de ts
41     ! it = 2 plomb ss controle de ts
42     REAL s
43 guez 81
44 guez 98 !-------------------------------------------------------------
45 guez 81
46 guez 98 PRINT *, 'Call sequence information: initrrnpb'
47     call assert(nqmx >= 4, 'initrrnpb')
48 guez 81
49 guez 98 ! Initialisations spécifiques à chaque traceur (pour le moment, Rn222)
50 guez 81
51 guez 98 ! Radon
52 guez 81
53 guez 98 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