IF (ok_mensuel) THEN c ndex2d = 0 ndex3d = 0 zx_tmp_2d = 0. z4_tmp_2d = 0. zx_tmp_3d = 0. z4_tmp_3d = 0. zx_tmp_fi2d=0. zx_tmp_fi3d=0. c zsto = dtime zout = dtime * FLOAT(ecrit_mth) itau_w = itau_phy + itap c c------------------------------------------------------- IF(lev_histmth.GE.1) THEN c ccccccccccccc 2D fields, invariables c CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) z4_tmp_2d=zx_tmp_2d CALL histwrite(nid_mth,"phis",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) C CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d) z4_tmp_2d=zx_tmp_2d CALL histwrite(nid_mth,"aire",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) c ccccccc axe Ls do j=1,jjmp1 do i=1,iim z4_tmp_2d(i,j)=zls*180./RPI ! zls est en radians !! enddo enddo CALL histwrite(nid_mth,"ls",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) c ccccccccccccc 2D fields, variables c CALL gr_fi_ecrit(1, klon,iim,jjmp1, ftsol,zx_tmp_2d) z4_tmp_2d=zx_tmp_2d CALL histwrite(nid_mth,"tsol",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) c DO i = 1, klon zx_tmp_fi2d(i) = paprs(i,1) ENDDO CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) z4_tmp_2d=zx_tmp_2d CALL histwrite(nid_mth,"psol",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) c c CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d) c z4_tmp_2d=zx_tmp_2d c CALL histwrite(nid_mth,"ue",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) c c CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d) c z4_tmp_2d=zx_tmp_2d c CALL histwrite(nid_mth,"ve",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) c ENDIF !lev_histmth.GE.1 c c------------------------------------------------------- IF(lev_histmth.GE.2) THEN c ccccccccccccc 3D fields, basics c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,"temp",itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,"pres",itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,"geop",itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,"vitu",itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,"vitv",itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,"vitw",itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d) z4_tmp_2d=zx_tmp_2d CALL histwrite(nid_mth,"tops",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) c if (iflag_trac.eq.1) THEN if (microfi.eq.1) then DO iq=1,nmicro CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qaer(1,1,iq), zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,tname(iq),itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) ENDDO endif if (nmicro.lt.nqmax) then DO iq=nmicro+1,nqmax CALL gr_fi_ecrit(klev,klon,iim,jjmp1,tr_seri(1,1,iq),zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,tname(iq),itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) ENDDO c Condensation: c DO iq=nmicro+1,nqmax c CALL gr_fi_ecrit(klev,klon,iim,jjmp1,d_tr_mph(1,1,iq),zx_tmp_3d) c z4_tmp_3d=zx_tmp_3d c CALL histwrite(nid_mth,"c_"//tname(iq),itau_w,z4_tmp_3d, c . iim*jjmp1*klev,ndex3d) c ENDDO endif endif c ENDIF !lev_histmth.GE.2 c c------------------------------------------------------- IF(lev_histmth.GE.3) THEN c cccccccccccccccccc Radiative transfer c c 2D c CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) z4_tmp_2d=zx_tmp_2d CALL histwrite(nid_mth,"topl",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d) z4_tmp_2d=zx_tmp_2d CALL histwrite(nid_mth,"sols",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) z4_tmp_2d=zx_tmp_2d CALL histwrite(nid_mth,"soll",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) c c 3D c zx_tmp_fi3d(1:klon,1:klev)=swnet(1:klon,1:klev) CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,"SWnet",itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) c zx_tmp_fi3d(1:klon,1:klev)=lwnet(1:klon,1:klev) CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,"LWnet",itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) c ENDIF !lev_histmth.GE.3 c c------------------------------------------------------- IF(lev_histmth.GE.4) THEN c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,"dtdyn",itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,"dtphy",itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) c K/s zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev) CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,"dtvdf",itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) c c K/s zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev) CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,"dtajs",itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) c c K/s zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev) CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,"dtswr",itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) c c K/s zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev) CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,"dtlwr",itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) c K/s c zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) c z4_tmp_3d=zx_tmp_3d c CALL histwrite(nid_mth,"dtec",itau_w,z4_tmp_3d, c . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_vdf, zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,"duvdf",itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_dyn, zx_tmp_3d) z4_tmp_3d=zx_tmp_3d CALL histwrite(nid_mth,"dudyn",itau_w,z4_tmp_3d, . iim*jjmp1*klev,ndex3d) c c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_vdf, zx_tmp_3d) c z4_tmp_3d=zx_tmp_3d c CALL histwrite(nid_mth,"dvvdf",itau_w,z4_tmp_3d, c . iim*jjmp1*klev,ndex3d) c ENDIF !lev_histmth.GE.4 c c------------------------------------------------------- IF(lev_histmth.GE.5) THEN c c c CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxu , zx_tmp_2d) c z4_tmp_2d=zx_tmp_2d c CALL histwrite(nid_mth,"taux_",itau_w, c $ z4_tmp_2d,iim*jjmp1,ndex2d) c c CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxv , zx_tmp_2d) c z4_tmp_2d=zx_tmp_2d c CALL histwrite(nid_mth,"tauy_",itau_w, c $ z4_tmp_2d,iim*jjmp1,ndex2d) c c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d) c z4_tmp_2d=zx_tmp_2d c CALL histwrite(nid_mth,"cdrm",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) c c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d) c z4_tmp_2d=zx_tmp_2d c CALL histwrite(nid_mth,"cdrh",itau_w,z4_tmp_2d,iim*jjmp1,ndex2d) c ENDIF !lev_histmth.GE.5 c------------------------------------------------------- c if (ok_sync) then call histsync(nid_mth) endif ENDIF