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

Contents of /trunk/phylmd/initrrnpb.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 266 - (show annotations)
Thu Apr 19 17:54:55 2018 UTC (6 years ago) by guez
File size: 3263 byte(s)
Define macros of the preprocessor CPP_IIM, CPP_JJM, CPP_LLM so we can
control the resolution from the compilation command, and automate
compilation for several resolutions.

In module yoethf_m, transform variables into named constants. So we do
not need procedure yoethf any longer.

Bug fix in program test_inter_barxy, missing calls to fyhyp and fxhyp,
and definition of rlatu.

Remove variable iecri of module conf_gcm_m. The files dyn_hist*.nc are
written every time step. We are simplifying the output system, pending
replacement by a whole new system.

Modify possible value of vert_sampling from "param" to
"strato_custom", following LMDZ. Default values of corresponding
namelist variables are now the values used for LMDZ CMIP6.

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 + Christophe Genthon (LGGE/CNRS)
12 ! Date: June 1994
13 ! Objet : initialisation des constantes des traceurs
14
15 USE dimphy, ONLY: klon
16
17 REAL, intent(in):: pctsrf(:, :) ! (klon, nbsrf)
18 ! pourcentage de sol (f(nature du sol))
19 ! Nature de sol (pourcentage de sol)
20
21 REAL masktr(:, :) ! (klon, nqmx - 2)
22 ! Masque de l'echange avec la surface
23 ! (possible => 1)
24 ! masktr---output-R- Masque reservoir de sol traceur (1 = reservoir)
25
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
29
30 REAL hsoltr(:) ! (nqmx - 2)
31 ! Epaisseur equivalente du reservoir de sol
32 ! hsoltr---output-R- Epaisseur du reservoir de sol
33
34 REAL tautr(:) ! (nqmx - 2)
35 ! Constante de decroissance radioactive
36 ! tautr----output-R- Constante de decroissance du traceur
37
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
41
42 REAL scavtr(:) ! (nqmx - 2)
43 ! Coefficient de lessivage
44 ! scavtr---output-R- Coefficient de lessivage
45
46 ! Local:
47 INTEGER i
48 REAL s
49
50 !-------------------------------------------------------------
51
52 PRINT *, 'Call sequence information: initrrnpb'
53
54 ! Initialisations spécifiques à chaque traceur (pour le moment, Rn222)
55
56 ! Radon
57
58 s = 1.E4 ! Source: atome par m2
59
60 hsoltr(1) = 0.1
61 ! Hauteur equivalente du reservoir :
62 ! 1 m * porosite 0.1
63
64 tautr(1) = 4.765E5 ! Decroissance du radon, secondes
65 vdeptr(1) = 0. ! Pas de depot sec pour le radon
66 scavtr(1) = 0. ! Pas de lessivage pour le radon
67
68 PRINT *, 'Source du radon :'
69 PRINT *, 'Source : ', s
70 PRINT *, 'Hauteur equivalente du reservoir de sol: ', hsoltr(1)
71 PRINT *, 'Decroissance (s): ', tautr(1)
72 PRINT *, 'Vitesse de depot sec: ', vdeptr(1)
73 PRINT *, 'Facteur de lessivage: ', scavtr(1)
74
75 DO i = 1, klon
76 masktr(i, 1) = 0.
77 IF (nint(pctsrf(i, 1))==1) masktr(i, 1) = 1.
78 fshtr(i, 1) = s*masktr(i, 1)
79
80 ! Pour l'instant le pctsrf(i, 3) = 1.
81 ! lorsqu'il y a de la terre mais ne prend aucune autre valeur
82 ! il n'est donc pas nécessaire de multiplier fshtr par pctsrf
83 END DO
84
85 ! Pb210
86
87 s = 0. ! pas de source
88
89 hsoltr(2) = 10.
90 ! hauteur équivalente du réservoir à partir duquel le dépôt
91 ! Brownien a lieu
92
93 tautr(2) = 1.028E9 ! Decroissance du Pb210, secondes
94 vdeptr(2) = 1.E-3 ! 1 mm/s pour le 210Pb
95 scavtr(2) = .5 ! Lessivage du Pb210
96 DO i = 1, klon
97 masktr(i, 2) = 1. ! Le depot sec peut avoir lieu partout
98 fshtr(i, 2) = s*masktr(i, 2)
99 END DO
100 PRINT *, 'Source du plomb :'
101 PRINT *, 'Source : ', s
102 PRINT *, 'Hauteur equivalente du reservoir : ', hsoltr(2)
103 PRINT *, 'Decroissance (s): ', tautr(2)
104 PRINT *, 'Vitesse de depot sec: ', vdeptr(2)
105 PRINT *, 'Facteur de lessivage: ', scavtr(2)
106
107 END SUBROUTINE initrrnpb
108
109 end module initrrnpb_m

  ViewVC Help
Powered by ViewVC 1.1.21