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

Annotation of /trunk/phylmd/initrrnpb.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 266 - (hide annotations)
Thu Apr 19 17:54:55 2018 UTC (6 years, 1 month 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 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 266 ! From LMDZ4/libf/phylmd/initrrnpb.F, version 1.2, 2004/06/22 11:45:33
10 guez 81
11 guez 266 ! Authors: AA + Christophe Genthon (LGGE/CNRS)
12     ! Date: June 1994
13 guez 98 ! Objet : initialisation des constantes des traceurs
14 guez 81
15 guez 98 USE dimphy, ONLY: klon
16 guez 81
17 guez 266 REAL, intent(in):: pctsrf(:, :) ! (klon, nbsrf)
18 guez 98 ! pourcentage de sol (f(nature du sol))
19     ! Nature de sol (pourcentage de sol)
20 guez 81
21 guez 266 REAL masktr(:, :) ! (klon, nqmx - 2)
22     ! Masque de l'echange avec la surface
23 guez 98 ! (possible => 1)
24     ! masktr---output-R- Masque reservoir de sol traceur (1 = reservoir)
25 guez 266
26     REAL fshtr(:, :) ! (klon, nqmx - 2)
27     ! Flux surfacique dans le reservoir de sol
28 guez 98 ! fshtr----output-R- Flux surfacique de production dans le sol
29 guez 266
30     REAL hsoltr(:) ! (nqmx - 2)
31     ! Epaisseur equivalente du reservoir de sol
32 guez 98 ! hsoltr---output-R- Epaisseur du reservoir de sol
33 guez 266
34     REAL tautr(:) ! (nqmx - 2)
35     ! Constante de decroissance radioactive
36 guez 98 ! tautr----output-R- Constante de decroissance du traceur
37 guez 266
38     REAL vdeptr(:) ! (nqmx - 2)
39     ! Vitesse de depot sec dans la couche Brownienne
40 guez 98 ! vdeptr---output-R- Vitesse de depot sec dans la couche Brownienne
41 guez 266
42     REAL scavtr(:) ! (nqmx - 2)
43     ! Coefficient de lessivage
44 guez 98 ! scavtr---output-R- Coefficient de lessivage
45 guez 81
46 guez 98 ! Local:
47 guez 266 INTEGER i
48 guez 98 REAL s
49 guez 81
50 guez 98 !-------------------------------------------------------------
51 guez 81
52 guez 98 PRINT *, 'Call sequence information: initrrnpb'
53 guez 81
54 guez 98 ! Initialisations spécifiques à chaque traceur (pour le moment, Rn222)
55 guez 81
56 guez 98 ! Radon
57 guez 81
58 guez 98 s = 1.E4 ! Source: atome par m2
59    
60 guez 266 hsoltr(1) = 0.1
61 guez 98 ! Hauteur equivalente du reservoir :
62     ! 1 m * porosite 0.1
63    
64 guez 266 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 guez 98
68 guez 266 PRINT *, 'Source du radon :'
69 guez 98 PRINT *, 'Source : ', s
70 guez 266 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 guez 98
75     DO i = 1, klon
76 guez 266 masktr(i, 1) = 0.
77     IF (nint(pctsrf(i, 1))==1) masktr(i, 1) = 1.
78     fshtr(i, 1) = s*masktr(i, 1)
79 guez 98
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 guez 266 hsoltr(2) = 10.
90 guez 98 ! hauteur équivalente du réservoir à partir duquel le dépôt
91     ! Brownien a lieu
92    
93 guez 266 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 guez 98 DO i = 1, klon
97 guez 266 masktr(i, 2) = 1. ! Le depot sec peut avoir lieu partout
98     fshtr(i, 2) = s*masktr(i, 2)
99 guez 98 END DO
100 guez 266 PRINT *, 'Source du plomb :'
101 guez 98 PRINT *, 'Source : ', s
102 guez 266 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 guez 98
107     END SUBROUTINE initrrnpb
108    
109     end module initrrnpb_m

  ViewVC Help
Powered by ViewVC 1.1.21