--- trunk/libf/phylmd/ini_hist.f90 2008/07/28 14:48:09 14 +++ trunk/libf/phylmd/ini_hist.f90 2008/08/01 15:24:12 15 @@ -37,9 +37,8 @@ ENDDO CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), rlat, zx_lat) - CALL histbeg_totreg("histhf", iim, zx_lon(:, 1), (jjm + 1), & - zx_lat(1, :), 1, iim, 1, (jjm + 1), itau_phy, zjulian, dtime, & - nhori, nid_hf) + CALL histbeg_totreg("histhf", zx_lon(:, 1), zx_lat(1, :), 1, iim, 1, & + (jjm + 1), itau_phy, zjulian, dtime, nhori, nid_hf) CALL histvert(nid_hf, "presnivs", "Vertical levels", "mb", & llm, presnivs/100., nvert) @@ -88,9 +87,8 @@ ENDDO CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), rlat, zx_lat) - CALL histbeg_totreg("histhf3d", iim, zx_lon(:, 1), (jjm + 1), & - zx_lat(1, :), 1, iim, 1, (jjm + 1), itau_phy, zjulian, dtime, & - nhori, nid_hf3d) + CALL histbeg_totreg("histhf3d", zx_lon(:, 1), zx_lat(1, :), 1, iim, 1, & + (jjm + 1), itau_phy, zjulian, dtime, nhori, nid_hf3d) CALL histvert(nid_hf3d, "presnivs", "Vertical levels", "mb", & llm, presnivs/100., nvert) @@ -98,24 +96,24 @@ ! Champs 3D: CALL histdef(nid_hf3d, "temp", "Air temperature", "K", & - iim, (jjm + 1), nhori, llm, 1, llm, nvert, 32, & + iim, (jjm + 1), nhori, llm, 1, llm, nvert, & "ave(X)", zstohf, zout) CALL histdef(nid_hf3d, "ovap", "Specific humidity", "kg/kg", & - iim, (jjm + 1), nhori, llm, 1, llm, nvert, 32, & + iim, (jjm + 1), nhori, llm, 1, llm, nvert, & "ave(X)", zstohf, zout) CALL histdef(nid_hf3d, "vitu", "Zonal wind", "m/s", & - iim, (jjm + 1), nhori, llm, 1, llm, nvert, 32, & + iim, (jjm + 1), nhori, llm, 1, llm, nvert, & "ave(X)", zstohf, zout) CALL histdef(nid_hf3d, "vitv", "Meridional wind", "m/s", & - iim, (jjm + 1), nhori, llm, 1, llm, nvert, 32, & + iim, (jjm + 1), nhori, llm, 1, llm, nvert, & "ave(X)", zstohf, zout) if (nbtr >= 3) then CALL histdef(nid_hf3d, "O3", "Ozone mass fraction", "?", iim, & - (jjm + 1), nhori, llm, 1, llm, nvert, 32, "ave(X)", zstohf, & + (jjm + 1), nhori, llm, 1, llm, nvert, "ave(X)", zstohf, & zout) end if @@ -132,8 +130,9 @@ use dimens_m, only: iim, jjm, llm use dimphy, only: klon use temps, only: itau_phy, day_ref, annee_ref - USE ioipsl, only: ymds2ju, histbeg_totreg, histvert, histend + USE ioipsl, only: ymds2ju, histbeg_totreg, histvert, histend, histdef use phyetat0_m, only: rlon, rlat + use clesphys, only: ecrit_day REAL, intent(in):: dtime ! pas temporel de la physique (s) real, intent(in):: presnivs(:) @@ -156,14 +155,17 @@ zx_lon(i, jjm + 1) = rlon(i+1) ENDDO CALL gr_fi_ecrit(1, klon, iim, jjm + 1, rlat, zx_lat) - CALL histbeg_totreg("histday", iim, zx_lon(:, 1), jjm + 1, & - zx_lat(1, :), 1, iim, 1, jjm + 1, itau_phy, zjulian, dtime, & - nhori, nid_day) + CALL histbeg_totreg("histday", zx_lon(:, 1), zx_lat(1, :), 1, iim, 1, & + jjm + 1, itau_phy, zjulian, dtime, nhori, nid_day) CALL histvert(nid_day, "presnivs", "Vertical levels", "mb", & llm, presnivs/100., nvert) - + call histdef(nid_day, "Sigma_O3_Royer", & + "column-density of ozone, in a cell, from Royer", "DU", & + pxsize=iim, pysize=jjm+1, phoriid=nhori, pzsize=llm, par_oriz=1, & + par_szz=llm, pzid=nvert, popp="ave(X)", pfreq_opp=dtime, & + pfreq_wrt=real(ecrit_day)) CALL histend(nid_day) - ENDIF ! fin de test sur ok_journe + ENDIF end subroutine ini_histday @@ -206,224 +208,223 @@ zx_lon(i, (jjm + 1)) = rlon(i+1) ENDDO CALL gr_fi_ecrit(1, klon, iim, (jjm + 1), rlat, zx_lat) - CALL histbeg_totreg("histins", iim, zx_lon(:, 1), (jjm + 1), & - zx_lat(1, :), 1, iim, 1, (jjm + 1), itau_phy, zjulian, dtime, & - nhori, nid_ins) + CALL histbeg_totreg("histins", zx_lon(:, 1), zx_lat(1, :), 1, iim, 1, & + jjm + 1, itau_phy, zjulian, dtime, nhori, nid_ins) write(*, *)'Inst ', itau_phy, zjulian CALL histvert(nid_ins, "presnivs", "Vertical levels", "mb", & llm, presnivs/100., nvert) CALL histdef(nid_ins, "phis", "Surface geop. height", "-", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "once", zsto, zout) CALL histdef(nid_ins, "aire", "Grid area", "-", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "once", zsto, zout) ! Champs 2D: CALL histdef(nid_ins, "tsol", "Surface Temperature", "K", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "t2m", "Temperature 2m", "K", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "q2m", "Specific humidity 2m", "Kg/Kg", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "u10m", "Vent zonal 10m", "m/s", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "v10m", "Vent meridien 10m", "m/s", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "psol", "Surface Pressure", "Pa", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "plul", "Large-scale Precip.", "mm/day", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "pluc", "Convective Precip.", "mm/day", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "cdrm", "Momentum drag coef.", "-", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "cdrh", "Heat drag coef.", "-", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "precip", "Precipitation Totale liq+sol", & "kg/(s*m2)", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "snow", "Snow fall", "kg/(s*m2)", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) ! CALL histdef(nid_ins, "snow_mass", "Snow Mass", "kg/m2", - ! . iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, + ! . iim, (jjm + 1), nhori, 1, 1, 1, -99, ! . "inst(X)", zsto, zout) CALL histdef(nid_ins, "topl", "OLR", "W/m2", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "evap", "Evaporation", "kg/(s*m2)", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "sols", "Solar rad. at surf.", "W/m2", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "soll", "IR rad. at surface", "W/m2", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "solldown", "Down. IR rad. at surface", & - "W/m2", iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + "W/m2", iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "bils", "Surf. total heat flux", "W/m2", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "sens", "Sensible heat flux", "W/m2", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "fder", "Heat flux derivation", "W/m2", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "dtsvdfo", "Boundary-layer dTs(o)", "K/s", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "dtsvdft", "Boundary-layer dTs(t)", "K/s", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "dtsvdfg", "Boundary-layer dTs(g)", "K/s", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "dtsvdfi", "Boundary-layer dTs(g)", "K/s", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) DO nsrf = 1, nbsrf call histdef(nid_ins, "pourc_"//clnsurf(nsrf), & "% "//clnsurf(nsrf), "%", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) call histdef(nid_ins, "fract_"//clnsurf(nsrf), & "Fraction "//clnsurf(nsrf), "1", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) call histdef(nid_ins, "sens_"//clnsurf(nsrf), & "Sensible heat flux "//clnsurf(nsrf), "W/m2", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) call histdef(nid_ins, "tsol_"//clnsurf(nsrf), & "Surface Temperature"//clnsurf(nsrf), "W/m2", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) call histdef(nid_ins, "lat_"//clnsurf(nsrf), & "Latent heat flux "//clnsurf(nsrf), "W/m2", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) call histdef(nid_ins, "taux_"//clnsurf(nsrf), & "Zonal wind stress"//clnsurf(nsrf), "Pa", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) call histdef(nid_ins, "tauy_"//clnsurf(nsrf), & "Meridional xind stress "//clnsurf(nsrf), "Pa", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) call histdef(nid_ins, "albe_"//clnsurf(nsrf), & "Albedo "//clnsurf(nsrf), "-", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) call histdef(nid_ins, "rugs_"//clnsurf(nsrf), & "rugosite "//clnsurf(nsrf), "-", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) !XXX END DO CALL histdef(nid_ins, "rugs", "rugosity", "-", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "albs", "Surface albedo", "-", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "albslw", "Surface albedo LW", "-", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) !IM cf. AM 081204 BEG ! HBTM2 CALL histdef(nid_ins, "s_pblh", "Boundary Layer Height", "m", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "s_pblt", "T at Boundary Layer Height", & "K", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "s_lcl", "Condensation level", "m", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "s_capCL", "Conv avlbl pot ener for ABL", "J/m2", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "s_oliqCL", "Liq Water in BL", "kg/m2", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "s_cteiCL", "Instability criteria (ABL)", "K", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "s_therm", "Exces du thermique", "K", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "s_trmb1", "deep_cape(HBTM2)", "J/m2", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "s_trmb2", "inhibition (HBTM2)", "J/m2", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "s_trmb3", "Point Omega (HBTM2)", "m", & - iim, (jjm + 1), nhori, 1, 1, 1, -99, 32, & + iim, (jjm + 1), nhori, 1, 1, 1, -99, & "inst(X)", zsto, zout) !IM cf. AM 081204 END @@ -431,31 +432,31 @@ ! Champs 3D: CALL histdef(nid_ins, "temp", "Temperature", "K", & - iim, (jjm + 1), nhori, llm, 1, llm, nvert, 32, & + iim, (jjm + 1), nhori, llm, 1, llm, nvert, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "vitu", "Zonal wind", "m/s", & - iim, (jjm + 1), nhori, llm, 1, llm, nvert, 32, & + iim, (jjm + 1), nhori, llm, 1, llm, nvert, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "vitv", "Merid wind", "m/s", & - iim, (jjm + 1), nhori, llm, 1, llm, nvert, 32, & + iim, (jjm + 1), nhori, llm, 1, llm, nvert, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "geop", "Geopotential height", "m", & - iim, (jjm + 1), nhori, llm, 1, llm, nvert, 32, & + iim, (jjm + 1), nhori, llm, 1, llm, nvert, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "pres", "Air pressure", "Pa", & - iim, (jjm + 1), nhori, llm, 1, llm, nvert, 32, & + iim, (jjm + 1), nhori, llm, 1, llm, nvert, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "dtvdf", "Boundary-layer dT", "K/s", & - iim, (jjm + 1), nhori, llm, 1, llm, nvert, 32, & + iim, (jjm + 1), nhori, llm, 1, llm, nvert, & "inst(X)", zsto, zout) CALL histdef(nid_ins, "dqvdf", "Boundary-layer dQ", "Kg/Kg/s", & - iim, (jjm + 1), nhori, llm, 1, llm, nvert, 32, & + iim, (jjm + 1), nhori, llm, 1, llm, nvert, & "inst(X)", zsto, zout) CALL histend(nid_ins)