15 |
|
|
16 |
! From phylmd/phytrac.F, version 1.15 2006/02/21 08:08:30 (SVN revision 679) |
! From phylmd/phytrac.F, version 1.15 2006/02/21 08:08:30 (SVN revision 679) |
17 |
|
|
18 |
! Authors: Frédéric Hourdin, Abderrahmane Idelkadi, Marie-Alice |
! Authors: Fr\'ed\'eric Hourdin, Abderrahmane Idelkadi, Marie-Alice |
19 |
! Foujols, Olivia |
! Foujols, Olivia |
20 |
|
|
21 |
! Objet : moniteur général des tendances des traceurs |
! Objet : moniteur g\'en\'eral des tendances des traceurs |
22 |
|
|
23 |
! L'appel de "phytrac" se fait avec "nqmx - 2" donc nous avons |
! L'appel de "phytrac" se fait avec "nqmx - 2" donc nous avons |
24 |
! bien les vrais traceurs (en nombre "nbtr", sans la vapeur d'eau |
! bien les vrais traceurs (en nombre "nbtr", sans la vapeur d'eau |
26 |
|
|
27 |
! Modifications pour les traceurs : |
! Modifications pour les traceurs : |
28 |
! - uniformisation des parametrisations dans phytrac |
! - uniformisation des parametrisations dans phytrac |
29 |
! - stockage des moyennes des champs nécessaires en mode traceur off-line |
! - stockage des moyennes des champs n\'ecessaires en mode traceur off-line |
30 |
|
|
31 |
use abort_gcm_m, only: abort_gcm |
use abort_gcm_m, only: abort_gcm |
32 |
use clesphys, only: ecrit_tra |
use clesphys, only: ecrit_tra |
51 |
integer, intent(in):: itap ! number of calls to "physiq" |
integer, intent(in):: itap ! number of calls to "physiq" |
52 |
integer, intent(in):: lmt_pas ! number of time steps of "physics" per day |
integer, intent(in):: lmt_pas ! number of time steps of "physics" per day |
53 |
integer, intent(in):: julien !jour julien, 1 <= julien <= 360 |
integer, intent(in):: julien !jour julien, 1 <= julien <= 360 |
54 |
real, intent(in):: gmtime ! heure de la journée en fraction de jour |
real, intent(in):: gmtime ! heure de la journ\'ee en fraction de jour |
55 |
logical, intent(in):: firstcal ! first call to "calfis" |
logical, intent(in):: firstcal ! first call to "calfis" |
56 |
logical, intent(in):: lafin ! fin de la physique |
logical, intent(in):: lafin ! fin de la physique |
57 |
|
|
86 |
REAL yu1(klon) ! vents au premier niveau |
REAL yu1(klon) ! vents au premier niveau |
87 |
REAL yv1(klon) ! vents au premier niveau |
REAL yv1(klon) ! vents au premier niveau |
88 |
|
|
89 |
! Arguments nécessaires pour les sources et puits de traceur : |
! Arguments n\'ecessaires pour les sources et puits de traceur : |
90 |
real ftsol(klon, nbsrf) ! Temperature du sol (surf)(Kelvin) |
real ftsol(klon, nbsrf) ! Temperature du sol (surf)(Kelvin) |
91 |
real pctsrf(klon, nbsrf) ! Pourcentage de sol f(nature du sol) |
real pctsrf(klon, nbsrf) ! Pourcentage de sol f(nature du sol) |
92 |
|
|
157 |
logical aerosol(nbtr) ! Nature du traceur |
logical aerosol(nbtr) ! Nature du traceur |
158 |
! ! aerosol(it) = true => aerosol |
! ! aerosol(it) = true => aerosol |
159 |
! ! aerosol(it) = false => gaz |
! ! aerosol(it) = false => gaz |
160 |
logical clsol(nbtr) ! couche limite sol calculée |
logical clsol(nbtr) ! couche limite sol calcul\'ee |
161 |
logical radio(nbtr) ! décroisssance radioactive |
logical radio(nbtr) ! d\'ecroisssance radioactive |
162 |
save aerosol, clsol, radio |
save aerosol, clsol, radio |
163 |
|
|
164 |
! convection tiedtke |
! convection tiedtke |
198 |
|
|
199 |
if (firstcal) then |
if (firstcal) then |
200 |
print *, 'phytrac: pdtphys = ', pdtphys |
print *, 'phytrac: pdtphys = ', pdtphys |
201 |
PRINT *, 'Fréquence de sortie des traceurs : ecrit_tra = ', ecrit_tra |
PRINT *, 'Fr\'equence de sortie des traceurs : ecrit_tra = ', ecrit_tra |
202 |
if (nbtr < nq_phys) call abort_gcm('phytrac', 'nbtr < nq_phys', 1) |
if (nbtr < nq_phys) call abort_gcm('phytrac', 'nbtr < nq_phys', 1) |
203 |
inirnpb=rnpb |
inirnpb=rnpb |
204 |
|
|
224 |
|
|
225 |
DO it = 1, nq_phys |
DO it = 1, nq_phys |
226 |
aerosol(it) = .FALSE. ! Tous les traceurs sont des gaz par defaut |
aerosol(it) = .FALSE. ! Tous les traceurs sont des gaz par defaut |
227 |
radio(it) = .FALSE. ! par défaut pas de passage par "radiornpb" |
radio(it) = .FALSE. ! par d\'efaut pas de passage par "radiornpb" |
228 |
clsol(it) = .FALSE. ! Par defaut couche limite avec flux prescrit |
clsol(it) = .FALSE. ! Par defaut couche limite avec flux prescrit |
229 |
ENDDO |
ENDDO |
230 |
|
|