4 |
|
|
5 |
contains |
contains |
6 |
|
|
7 |
subroutine ini_histins(dtime, ok_instan, nid_ins) |
subroutine ini_histins(dtime, ok_instan, nid_ins, itau_phy) |
8 |
|
|
9 |
! From phylmd/ini_histins.h, v 1.2 2005/05/25 13:10:09 |
! From phylmd/ini_histins.h, v 1.2 2005/05/25 13:10:09 |
10 |
|
|
|
use dimens_m, only: iim, jjm, llm |
|
|
use dimphy, only: klon |
|
|
use temps, only: itau_phy, day_ref, annee_ref |
|
11 |
use clesphys, only: ecrit_ins |
use clesphys, only: ecrit_ins |
12 |
use indicesol, only: nbsrf, clnsurf |
use clesphys2, only: conv_emanuel |
13 |
USE calendar, only: ymds2ju |
use dimens_m, only: iim, jjm, llm, nqmx |
14 |
|
use dimphy, only: klon |
15 |
|
use disvert_m, only: presnivs |
16 |
|
use dynetat0_m, only: day_ref, annee_ref |
17 |
USE histbeg_totreg_m, ONLY : histbeg_totreg |
USE histbeg_totreg_m, ONLY : histbeg_totreg |
18 |
USE histdef_m, ONLY : histdef |
USE histdef_m, ONLY : histdef |
19 |
USE histend_m, ONLY : histend |
USE histend_m, ONLY : histend |
20 |
USE histvert_m, ONLY : histvert |
USE histvert_m, ONLY : histvert |
21 |
|
use indicesol, only: nbsrf, clnsurf |
22 |
|
use iniadvtrac_m, only: tname, ttext |
23 |
use phyetat0_m, only: rlon, rlat |
use phyetat0_m, only: rlon, rlat |
24 |
use disvert_m, only: presnivs |
USE ymds2ju_m, only: ymds2ju |
25 |
|
|
26 |
REAL, intent(in):: dtime ! pas temporel de la physique (s) |
REAL, intent(in):: dtime ! pas temporel de la physique (s) |
27 |
logical, intent(in):: ok_instan |
logical, intent(in):: ok_instan |
28 |
integer, intent(out):: nid_ins |
integer, intent(out):: nid_ins |
29 |
|
integer, intent(in):: itau_phy |
30 |
|
|
31 |
|
! Local: |
32 |
REAL zx_lon(iim, jjm + 1), zx_lat(iim, jjm + 1) |
REAL zx_lon(iim, jjm + 1), zx_lat(iim, jjm + 1) |
33 |
real zjulian, zsto, zout |
real zjulian, zsto, zout |
34 |
integer i, nhori, nvert, idayref, nsrf |
integer i, nhori, nvert, nsrf, iq, it |
35 |
|
|
36 |
!------------------------------------------------------------------- |
!------------------------------------------------------------------- |
37 |
|
|
38 |
IF (ok_instan) THEN |
IF (ok_instan) THEN |
|
|
|
39 |
zsto = dtime * ecrit_ins |
zsto = dtime * ecrit_ins |
40 |
zout = dtime * ecrit_ins |
zout = dtime * ecrit_ins |
41 |
|
|
42 |
idayref = day_ref |
CALL ymds2ju(annee_ref, 1, day_ref, 0.0, zjulian) |
|
CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian) |
|
43 |
|
|
44 |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), rlon, zx_lon) |
CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), rlon, zx_lon) |
45 |
DO i = 1, iim |
DO i = 1, iim |
219 |
CALL histdef(nid_ins, "albs", "Surface albedo", "-", & |
CALL histdef(nid_ins, "albs", "Surface albedo", "-", & |
220 |
iim, (jjm + 1), nhori, 1, 1, 1, -99, & |
iim, (jjm + 1), nhori, 1, 1, 1, -99, & |
221 |
"inst(X)", zsto, zout) |
"inst(X)", zsto, zout) |
|
CALL histdef(nid_ins, "albslw", "Surface albedo LW", "-", & |
|
|
iim, (jjm + 1), nhori, 1, 1, 1, -99, & |
|
|
"inst(X)", zsto, zout) |
|
222 |
|
|
|
!IM cf. AM 081204 BEG |
|
|
! HBTM2 |
|
223 |
CALL histdef(nid_ins, "s_pblh", "Boundary Layer Height", "m", & |
CALL histdef(nid_ins, "s_pblh", "Boundary Layer Height", "m", & |
224 |
iim, (jjm + 1), nhori, 1, 1, 1, -99, & |
iim, (jjm + 1), nhori, 1, 1, 1, -99, & |
225 |
"inst(X)", zsto, zout) |
"inst(X)", zsto, zout) |
261 |
iim, (jjm + 1), nhori, 1, 1, 1, -99, & |
iim, (jjm + 1), nhori, 1, 1, 1, -99, & |
262 |
"inst(X)", zsto, zout) |
"inst(X)", zsto, zout) |
263 |
|
|
264 |
!IM cf. AM 081204 END |
if (conv_emanuel) CALL histdef(nid_ins, "ptop", "cloud top pressure", & |
265 |
|
"Pa", iim, jjm + 1, nhori, 1, 1, 1, -99, "inst(X)", zsto, zout) |
266 |
|
|
267 |
! Champs 3D: |
! Champs 3D: |
268 |
|
|
294 |
iim, (jjm + 1), nhori, llm, 1, llm, nvert, & |
iim, (jjm + 1), nhori, llm, 1, llm, nvert, & |
295 |
"inst(X)", zsto, zout) |
"inst(X)", zsto, zout) |
296 |
|
|
297 |
|
CALL histdef(nid_ins, "zmasse", "column density of air in cell", & |
298 |
|
"kg m-2", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", & |
299 |
|
zsto, zout) |
300 |
|
|
301 |
|
CALL histdef(nid_ins, "rhum", "Relative humidity", & |
302 |
|
"", iim, jjm + 1, nhori, llm, 1, llm, nvert, "inst(X)", & |
303 |
|
zsto, zout) |
304 |
|
|
305 |
|
DO it = 1, nqmx - 2 |
306 |
|
! champ 2D |
307 |
|
iq=it+2 |
308 |
|
CALL histdef(nid_ins, tname(iq), ttext(iq), "U/kga", iim, jjm+1, & |
309 |
|
nhori, llm, 1, llm, nvert, "inst(X)", zsto, zout) |
310 |
|
CALL histdef(nid_ins, "fl"//tname(iq), "Flux "//ttext(iq), & |
311 |
|
"U/m2/s", iim, jjm+1, nhori, llm, 1, llm, nvert, & |
312 |
|
"inst(X)", zsto, zout) |
313 |
|
|
314 |
|
!---Ajout Olivia |
315 |
|
CALL histdef(nid_ins, "d_tr_th_"//tname(iq), & |
316 |
|
"tendance thermique"// ttext(iq), "?", & |
317 |
|
iim, jjm+1, nhori, llm, 1, llm, nvert, & |
318 |
|
"inst(X)", zsto, zout) |
319 |
|
CALL histdef(nid_ins, "d_tr_cv_"//tname(iq), & |
320 |
|
"tendance convection"// ttext(iq), "?", & |
321 |
|
iim, jjm+1, nhori, llm, 1, llm, nvert, & |
322 |
|
"inst(X)", zsto, zout) |
323 |
|
CALL histdef(nid_ins, "d_tr_cl_"//tname(iq), & |
324 |
|
"tendance couche limite"// ttext(iq), "?", & |
325 |
|
iim, jjm+1, nhori, llm, 1, llm, nvert, & |
326 |
|
"inst(X)", zsto, zout) |
327 |
|
!---fin Olivia |
328 |
|
|
329 |
|
ENDDO |
330 |
|
|
331 |
CALL histend(nid_ins) |
CALL histend(nid_ins) |
332 |
ENDIF |
ENDIF |
333 |
|
|