16 |
! From LMDZ4/libf/dyn3d/bilan_dyn.F, version 1.5 2005/03/16 10:12:17 |
! From LMDZ4/libf/dyn3d/bilan_dyn.F, version 1.5 2005/03/16 10:12:17 |
17 |
|
|
18 |
USE conf_gcm_m, ONLY: day_step, iperiod, periodav |
USE conf_gcm_m, ONLY: day_step, iperiod, periodav |
19 |
|
USE dimens_m, ONLY: jjm, llm |
20 |
|
USE disvert_m, ONLY: presnivs |
21 |
|
use dynetat0_m, only: day_ref, annee_ref, rlatv |
22 |
USE histbeg_totreg_m, ONLY: histbeg_totreg |
USE histbeg_totreg_m, ONLY: histbeg_totreg |
23 |
USE histdef_m, ONLY: histdef |
USE histdef_m, ONLY: histdef |
24 |
USE histend_m, ONLY: histend |
USE histend_m, ONLY: histend |
25 |
USE histvert_m, ONLY: histvert |
USE histvert_m, ONLY: histvert |
|
USE calendar, ONLY: ymds2ju |
|
|
USE dimens_m, ONLY: jjm, llm |
|
|
USE disvert_m, ONLY: presnivs |
|
|
USE comgeom, ONLY: rlatv |
|
|
USE temps, ONLY: annee_ref, day_ref, itau_dyn |
|
26 |
USE nr_util, ONLY: pi |
USE nr_util, ONLY: pi |
27 |
|
USE temps, ONLY: itau_dyn |
28 |
|
USE ymds2ju_m, ONLY: ymds2ju |
29 |
|
|
30 |
real, intent(in):: dt_app |
real, intent(in):: dt_app |
31 |
|
|
47 |
|
|
48 |
integer horiid, vertiid |
integer horiid, vertiid |
49 |
real julian |
real julian |
|
integer an, dayref |
|
50 |
real rlong(jjm), rlatg(jjm) |
real rlong(jjm), rlatg(jjm) |
51 |
|
|
52 |
!----------------------------------------------------------------- |
!----------------------------------------------------------------- |
60 |
|
|
61 |
! Initialisation du fichier contenant les moyennes zonales |
! Initialisation du fichier contenant les moyennes zonales |
62 |
|
|
63 |
an = annee_ref |
CALL ymds2ju(annee_ref, 1, day_ref, 0.0, julian) |
|
dayref = day_ref |
|
|
CALL ymds2ju(an, 1, dayref, 0.0, julian) |
|
64 |
|
|
65 |
rlong = 0. |
rlong = 0. |
66 |
rlatg = rlatv * 180. / pi |
rlatg = rlatv * 180. / pi |
68 |
call histbeg_totreg('dynzon', rlong(:1), rlatg, 1, 1, 1, jjm, itau_dyn, & |
call histbeg_totreg('dynzon', rlong(:1), rlatg, 1, 1, 1, jjm, itau_dyn, & |
69 |
julian, dt_cum, horiid, fileid) |
julian, dt_cum, horiid, fileid) |
70 |
|
|
71 |
! Appel à histvert pour la grille verticale |
! Appel \`a histvert pour la grille verticale |
72 |
|
|
73 |
call histvert(fileid, 'presnivs', 'Niveaux sigma', 'mb', presnivs, vertiid) |
call histvert(fileid, 'presnivs', 'Niveaux sigma', 'mb', presnivs, vertiid) |
74 |
|
|
75 |
! Appels à histdef pour la définition des variables à sauvegarder |
! Appels \`a histdef pour la d\'efinition des variables \`a sauvegarder |
76 |
do iQ = 1, nQ |
do iQ = 1, nQ |
77 |
do itr = 1, ntr |
do itr = 1, ntr |
78 |
if (itr == 1) then |
if (itr == 1) then |
87 |
enddo |
enddo |
88 |
enddo |
enddo |
89 |
|
|
90 |
! Déclarations des champs avec dimension verticale |
! D\'eclarations des champs avec dimension verticale |
91 |
do iQ = 1, nQ |
do iQ = 1, nQ |
92 |
do itr = 1, ntr |
do itr = 1, ntr |
93 |
call histdef(fileid, znom(itr, iQ), noml(itr, iQ), & |
call histdef(fileid, znom(itr, iQ), noml(itr, iQ), & |
94 |
zunites(itr, iQ), 1, jjm, horiid, llm, 1, llm, vertiid, & |
zunites(itr, iQ), 1, jjm, horiid, llm, 1, llm, vertiid, & |
95 |
'ave(X)', dt_cum, dt_cum) |
'ave(X)', dt_cum, dt_cum) |
96 |
enddo |
enddo |
97 |
! Déclarations pour les fonctions de courant |
! D\'eclarations pour les fonctions de courant |
98 |
call histdef(fileid, 'psi' // nom(iQ), 'stream fn. ' // noml(2, iQ), & |
call histdef(fileid, 'psi' // nom(iQ), 'stream fn. ' // noml(2, iQ), & |
99 |
zunites(2, iQ), 1, jjm, horiid, llm, 1, llm, vertiid, & |
zunites(2, iQ), 1, jjm, horiid, llm, 1, llm, vertiid, & |
100 |
'ave(X)', dt_cum, dt_cum) |
'ave(X)', dt_cum, dt_cum) |
101 |
enddo |
enddo |
102 |
|
|
103 |
! Déclarations pour les champs de transport d'air |
! D\'eclarations pour les champs de transport d'air |
104 |
call histdef(fileid, 'masse', 'masse', 'kg', 1, jjm, horiid, llm, 1, & |
call histdef(fileid, 'masse', 'masse', 'kg', 1, jjm, horiid, llm, 1, & |
105 |
llm, vertiid, 'ave(X)', dt_cum, dt_cum) |
llm, vertiid, 'ave(X)', dt_cum, dt_cum) |
106 |
call histdef(fileid, 'v', 'v', 'm/s', 1, jjm, horiid, llm, 1, llm, & |
call histdef(fileid, 'v', 'v', 'm/s', 1, jjm, horiid, llm, 1, llm, & |
107 |
vertiid, 'ave(X)', dt_cum, dt_cum) |
vertiid, 'ave(X)', dt_cum, dt_cum) |
108 |
! Déclarations pour les fonctions de courant |
! D\'eclarations pour les fonctions de courant |
109 |
call histdef(fileid, 'psi', 'stream fn. MMC ', 'mega t/s', 1, jjm, & |
call histdef(fileid, 'psi', 'stream fn. MMC ', 'mega t/s', 1, jjm, & |
110 |
horiid, llm, 1, llm, vertiid, 'ave(X)', dt_cum, dt_cum) |
horiid, llm, 1, llm, vertiid, 'ave(X)', dt_cum, dt_cum) |
111 |
|
|
112 |
! Déclaration des champs 1D de transport en latitude |
! D\'eclaration des champs 1D de transport en latitude |
113 |
do iQ = 1, nQ |
do iQ = 1, nQ |
114 |
do itr = 2, ntr |
do itr = 2, ntr |
115 |
call histdef(fileid, 'a' // znom(itr, iQ), noml(itr, iQ), & |
call histdef(fileid, 'a' // znom(itr, iQ), noml(itr, iQ), & |