! ! $Header$ ! IF (ok_mensuel) THEN c ndex2d = 0 ndex3d = 0 zsto = dtime zout = dtime * ecrit_mth itau_w = itau_phy + itap i = NINT(zout/zsto) c IF(lev_histmth.GE.1) THEN c c Champs 2D: c CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d) CALL histwrite(nid_mth,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) C i = NINT(zout/zsto) CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d) CALL histwrite(nid_mth,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, is_ter) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) CALL histwrite(nid_mth,"pourc_"//clnsurf(is_ter),itau_w, $ zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d) CALL histwrite(nid_mth,"slp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d) CALL histwrite(nid_mth,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, zt2m,zx_tmp_2d) CALL histwrite(nid_mth,"t2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c c ENSEMBLES BEG CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d) CALL histwrite(nid_mth,"t2m_min",itau_w,zx_tmp_2d, . iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d) CALL histwrite(nid_mth,"t2m_max",itau_w,zx_tmp_2d, . iim*jjmp1,ndex2d) c c CALL gr_fi_ecrit(1,klon,iim,jjmp1,ftsoil(:,1,is_ter),zx_tmp_2d) c CALL gr_fi_ecrit(1,klon,iim,jjmp1,ftsol(:,is_ter),zx_tmp_2d) c CALL gr_fi_ecrit(1,klon,iim,jjmp1,ztsol,zx_tmp_2d) c CALL histwrite(nid_mth,"tsoil",itau_w,zx_tmp_2d, c . iim*jjmp1,ndex2d) c DO i=1, klon zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i)) ENDDO CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth,"wind10m",itau_w,zx_tmp_2d, $ iim*jjmp1,ndex2d) c DO i = 1, klon zx_tmp_fi2d(i) = pctsrf(i,is_sic) ENDDO CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) c CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d, c . iim*jjmp1*klev,ndex3d) c c ENSEMBLES END c CALL gr_fi_ecrit(1, klon,iim,jjmp1, zq2m,zx_tmp_2d) CALL histwrite(nid_mth,"q2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, zu10m,zx_tmp_2d) CALL histwrite(nid_mth,"u10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) C CALL gr_fi_ecrit(1, klon,iim,jjmp1, zv10m,zx_tmp_2d) CALL histwrite(nid_mth,"v10m",itau_w,zx_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) CALL histwrite(nid_mth,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxqsurf,zx_tmp_2d) CALL histwrite(nid_mth,"qsurf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c if (.not. ok_veget) then CALL gr_fi_ecrit(1, klon,iim,jjmp1, qsol,zx_tmp_2d) CALL histwrite(nid_mth,"qsol",itau_w,zx_tmp_2d,iim*jjmp1 $ ,ndex2d) endif c DO i = 1, klon zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i) ENDDO CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth,"precip",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, nday_rain,zx_tmp_2d) CALL histwrite(nid_mth,"ndayrain",itau_w,zx_tmp_2d, $ iim*jjmp1,ndex2d) c DO i = 1, klon zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i) ENDDO CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth,"plul",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c DO i = 1, klon zx_tmp_fi2d(i) = rain_con(i) + snow_con(i) ENDDO CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth,"pluc",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d) CALL histwrite(nid_mth,"snow",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d) CALL histwrite(nid_mth,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1, . ndex2d) c cIM: 071003 c zx_tmp_fi2d(1:klon)=evap(1:klon)*86400. c CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d) CALL histwrite(nid_mth,"evap",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d) CALL histwrite(nid_mth,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw0,zx_tmp_2d) CALL histwrite(nid_mth,"tops0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d) CALL histwrite(nid_mth,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw0,zx_tmp_2d) CALL histwrite(nid_mth,"topl0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c c zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, klevp1) cIM 080304 zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 2 ) zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, klevp1 ) CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth, "SWupTOA",itau_w,zx_tmp_2d, . iim*jjmp1,ndex2d) c c c zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, klevp1) cIM 080304 zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 2 ) zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, klevp1 ) CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth, "SWupTOAclr",itau_w,zx_tmp_2d, . iim*jjmp1,ndex2d) c c zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, klevp1) cIM 080304 zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 2 ) zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, klevp1 ) CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth, "SWdnTOA",itau_w,zx_tmp_2d, . iim*jjmp1,ndex2d) c c zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, klevp1) cIM 080304 zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 2 ) zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, klevp1 ) CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth, "SWdnTOAclr",itau_w,zx_tmp_2d, . iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200,zx_tmp_2d) CALL histwrite(nid_mth,"SWup200",itau_w,zx_tmp_2d, $ iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200clr,zx_tmp_2d) CALL histwrite(nid_mth,"SWup200clr",itau_w,zx_tmp_2d, $ iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200,zx_tmp_2d) CALL histwrite(nid_mth,"SWdn200",itau_w,zx_tmp_2d, $ iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200clr,zx_tmp_2d) CALL histwrite(nid_mth,"SWdn200clr",itau_w,zx_tmp_2d, $ iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200,zx_tmp_2d) CALL histwrite(nid_mth,"LWup200",itau_w,zx_tmp_2d, $ iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200clr,zx_tmp_2d) CALL histwrite(nid_mth,"LWup200clr",itau_w,zx_tmp_2d, $ iim*jjmp1,ndex2d) c zx_tmp_fi2d(1:klon)=-1*LWdn200(1:klon) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth,"LWdn200",itau_w,zx_tmp_2d, $ iim*jjmp1,ndex2d) c zx_tmp_fi2d(1:klon)=-1*LWdn200clr(1:klon) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth,"LWdn200clr",itau_w,zx_tmp_2d, $ iim*jjmp1,ndex2d) c c200 END CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d) CALL histwrite(nid_mth,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw0,zx_tmp_2d) CALL histwrite(nid_mth,"sols0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d) CALL histwrite(nid_mth,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d) CALL histwrite(nid_mth,"soll0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c c zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, 1) zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 1 ) CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth, "SWupSFC",itau_w,zx_tmp_2d, . iim*jjmp1,ndex2d) c c zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, 1) zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 1 ) CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth, "SWupSFCclr",itau_w,zx_tmp_2d, . iim*jjmp1,ndex2d) c c zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, 1) zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 1 ) CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth, "SWdnSFC",itau_w,zx_tmp_2d, . iim*jjmp1,ndex2d) c c zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, 1) zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 1 ) CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth, "SWdnSFCclr",itau_w,zx_tmp_2d, . iim*jjmp1,ndex2d) c zx_tmp_fi2d(1:klon)=sollw(1:klon)+sollwdown(1:klon) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) CALL histwrite(nid_mth,"LWupSFC",itau_w,zx_tmp_2d,iim*jjmp1, . ndex2d) c zx_tmp_fi2d(1:klon)=sollw0(1:klon)+sollwdownclr(1:klon) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) CALL histwrite(nid_mth,"LWupSFCclr",itau_w,zx_tmp_2d,iim*jjmp1, . ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d) CALL histwrite(nid_mth,"LWdnSFC",itau_w,zx_tmp_2d,iim*jjmp1, . ndex2d) c DO i=1, klon sollwdownclr(i)=lwdn0(i,1) ENDDO !i=1, klon c CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdownclr,zx_tmp_2d) CALL histwrite(nid_mth,"LWdnSFCclr",itau_w,zx_tmp_2d, $ iim*jjmp1,ndex2d) c c c effets des aerosols c c IF (ok_ade.OR.ok_aie) THEN zx_tmp_fi2d(1:klon) = topswai(1:klon) - topswad(1:klon) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, topswad,zx_tmp_2d) CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d ,zx_tmp_2d) CALL histwrite(nid_mth,"topsad",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c zx_tmp_fi2d(1:klon) = solswai(1:klon) - solswad(1:klon) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, solswad,zx_tmp_2d) CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d ,zx_tmp_2d) CALL histwrite(nid_mth,"solsad",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c zx_tmp_fi2d(1:klon) = topsw(1:klon) - topswai(1:klon) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, topswai,zx_tmp_2d) CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d ,zx_tmp_2d) CALL histwrite(nid_mth,"topsai",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c zx_tmp_fi2d(1:klon) = solsw(1:klon) - solswai(1:klon) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, solswai,zx_tmp_2d) CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d ,zx_tmp_2d) CALL histwrite(nid_mth,"solsai",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c endif c CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d) CALL histwrite(nid_mth,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c zx_tmp_fi2d(1:klon)=-1*sens(1:klon) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d) CALL histwrite(nid_mth,"fder",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c c c DO i = 1, klon c zx_tmp_fi2d(i) = fluxu(i,1) c ENDDO c CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) c CALL histwrite(nid_mth,"frtu",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c c DO i = 1, klon c zx_tmp_fi2d(i) = fluxv(i,1) c ENDDO c CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) c CALL histwrite(nid_mth,"frtv",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c c CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxffonte,zx_tmp_2d) CALL histwrite(nid_mth,"ffonte",itau_w,zx_tmp_2d,iim*jjmp1, $ ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxfqcalving,zx_tmp_2d) CALL histwrite(nid_mth,"fqcalving",itau_w,zx_tmp_2d,iim*jjmp1, $ ndex2d) cIM: 171003 DO nsrf = 1, nbsrf zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) CALL histwrite(nid_mth,"taux_"//clnsurf(nsrf),itau_w, $ zx_tmp_2d,iim*jjmp1,ndex2d) C zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) CALL histwrite(nid_mth,"tauy_"//clnsurf(nsrf),itau_w, $ zx_tmp_2d,iim*jjmp1,ndex2d) ENDDO cIM: 171003 c cIM if ( lev_histday.gt.1 ) then DO nsrf = 1, nbsrf CYYY IF(nsrf.GT.1) THEN zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) CALL histwrite(nid_mth,"pourc_"//clnsurf(nsrf),itau_w, $ zx_tmp_2d,iim*jjmp1,ndex2d) ENDIF !nsrf.GT.1 C zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) CALL histwrite(nid_mth,"tsol_"//clnsurf(nsrf),itau_w, $ zx_tmp_2d,iim*jjmp1,ndex2d) C zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) CALL histwrite(nid_mth,"sens_"//clnsurf(nsrf),itau_w, $ zx_tmp_2d,iim*jjmp1,ndex2d) C zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) CALL histwrite(nid_mth,"lat_"//clnsurf(nsrf),itau_w, $ zx_tmp_2d,iim*jjmp1,ndex2d) C zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) CALL histwrite(nid_mth,"flw_"//clnsurf(nsrf),itau_w, $ zx_tmp_2d,iim*jjmp1,ndex2d) c zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) CALL histwrite(nid_mth,"fsw_"//clnsurf(nsrf),itau_w, $ zx_tmp_2d,iim*jjmp1,ndex2d) C zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) CALL histwrite(nid_mth,"wbils_"//clnsurf(nsrf),itau_w, $ zx_tmp_2d,iim*jjmp1,ndex2d) C END DO cIM endif !lev_histday c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d) CALL histwrite(nid_mth,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d) CALL histwrite(nid_mth,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d) CALL histwrite(nid_mth,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d) CALL histwrite(nid_mth,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d) CALL histwrite(nid_mth,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d) CALL histwrite(nid_mth,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d) CALL histwrite(nid_mth,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c zx_tmp_fi2d(1:klon) = flwp(1:klon) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth,"lwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c zx_tmp_fi2d(1:klon) = fiwp(1:klon) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_mth,"iwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d) CALL histwrite(nid_mth,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d) CALL histwrite(nid_mth,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, uq,zx_tmp_2d) CALL histwrite(nid_mth,"uq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, vq,zx_tmp_2d) CALL histwrite(nid_mth,"vq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) cKE43 IF (iflag_con.GE.3) THEN ! sb c CALL gr_fi_ecrit(1, klon,iim,jjmp1, cape,zx_tmp_2d) CALL histwrite(nid_mth,"cape",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1,pbase,zx_tmp_2d) CALL histwrite(nid_mth,"pbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_pct,zx_tmp_2d) CALL histwrite(nid_mth,"ptop",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_cbmf,zx_tmp_2d) CALL histwrite(nid_mth,"fbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c c34EK c ENDIF !iflag_con.GE.3 c CALL gr_fi_ecrit(1, klon,iim,jjmp1, prw,zx_tmp_2d) CALL histwrite(nid_mth,"prw",itau_w,zx_tmp_2d, . iim*jjmp1,ndex2d) c c c c c Champs interpolles sur des niveaux de pression DO k=1, nlevENS c CALL gr_fi_ecrit(1, klon,iim,jjmp1, ulev(:,k),zx_tmp_2d) CALL histwrite(nid_mth,"u"//clev(k),itau_w,zx_tmp_2d, $ iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, vlev(:,k),zx_tmp_2d) CALL histwrite(nid_mth,"v"//clev(k),itau_w,zx_tmp_2d, $ iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, wlev(:,k),zx_tmp_2d) CALL histwrite(nid_mth,"w"//clev(k),itau_w,zx_tmp_2d, $ iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d) CALL histwrite(nid_mth,"phi"//clev(k),itau_w,zx_tmp_2d, $ iim*jjmp1,ndex2d) c ENDDO !nlevENS ENDIF !lev_histmth.GE.1 c IF(lev_histmth.GE.2) THEN c c Champs 3D: C c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, flwc,zx_tmp_3d) CALL histwrite(nid_mth,"lwcon",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fiwc,zx_tmp_3d) CALL histwrite(nid_mth,"iwcon",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d) CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c c#ifdef histmthNMC c#include "write_histmthNMC.h" c#endif c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d) CALL histwrite(nid_mth,"ovap",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c cIM: 071003 c zx_tmp_fi3d(1:klon,1:klev)=qx(1:klon,1:klev,ivap)/ c . (1-qx(1:klon,1:klev,ivap)) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d, zx_tmp_3d) c CALL histwrite(nid_mth,"wvap",itau_w,zx_tmp_3d, c . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d) CALL histwrite(nid_mth,"geop",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d) CALL histwrite(nid_mth,"vitu",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d) CALL histwrite(nid_mth,"vitv",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d) CALL histwrite(nid_mth,"vitw",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d) CALL histwrite(nid_mth,"pres",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldfra, zx_tmp_3d) CALL histwrite(nid_mth,"rneb",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, rnebcon, zx_tmp_3d) CALL histwrite(nid_mth,"rnebcon",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_rh, zx_tmp_3d) CALL histwrite(nid_mth,"rhum",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, wo, zx_tmp_3d) CALL histwrite(nid_mth,"ozone",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c cIM 22.03.04 BEG CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d) CALL histwrite(nid_mth,"dtphy",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_qx(:,:,ivap), . zx_tmp_3d) CALL histwrite(nid_mth,"dqphy",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) cIM 22.03.04 END c ENDIF !lev_histmth.GE.2 c IF(lev_histmth.GE.3) THEN c DO nsrf=1, nbsrf c zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) CALL histwrite(nid_mth,"albe_"//clnsurf(nsrf),itau_w, $ zx_tmp_2d,iim*jjmp1,ndex2d) C zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf) CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) CALL histwrite(nid_mth,"rugs_"//clnsurf(nsrf),itau_w, $ zx_tmp_2d,iim*jjmp1,ndex2d) c zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf) CALL gr_fi_ecrit(1, klon,iim,jjmp1, agesno,zx_tmp_2d) CALL histwrite(nid_mth,"ages_"//clnsurf(nsrf),itau_w $ ,zx_tmp_2d,iim*jjmp1,ndex2d) c ENDDO !nsrf=1, nbsrf c CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsol,zx_tmp_2d) CALL histwrite(nid_mth,"albs",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsollw,zx_tmp_2d) CALL histwrite(nid_mth,"albslw",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) c ENDIF !lev_histmth.GE.3 c c IF(lev_histmth.GE.4) THEN c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, clwcon0, zx_tmp_3d) CALL histwrite(nid_mth,"clwcon",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, Ma, zx_tmp_3d) CALL histwrite(nid_mth,"Ma",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, upwd, zx_tmp_3d) CALL histwrite(nid_mth,"upwd",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd, zx_tmp_3d) CALL histwrite(nid_mth,"dnwd",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd0, zx_tmp_3d) CALL histwrite(nid_mth,"dnwd0",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d) CALL histwrite(nid_mth,"dtdyn",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_dyn, zx_tmp_3d) CALL histwrite(nid_mth,"dqdyn",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c cIM: 101003 : K/30min ==> K/s zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) CALL histwrite(nid_mth,"dtcon",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_con, zx_tmp_3d) CALL histwrite(nid_mth,"dqcon",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c cIM: 101003 : K/30min ==> K/s zx_tmp_fi3d(1:klon,1:klev)=d_t_lsc(1:klon,1:klev)/pdtphys CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) CALL histwrite(nid_mth,"dtlsc",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) cIM: 071003 cIM: 101003 : K/30min ==> K/s zx_tmp_fi3d(1:klon, 1:klev)=(d_t_lsc(1:klon,1:klev)+ . d_t_eva(1:klon,1:klev))/pdtphys CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d, zx_tmp_3d) CALL histwrite(nid_mth,"dtlschr",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_lsc, zx_tmp_3d) CALL histwrite(nid_mth,"dqlsc",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c cIM: 101003 : K/30min ==> K/s zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) CALL histwrite(nid_mth,"dtvdf",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_vdf, zx_tmp_3d) CALL histwrite(nid_mth,"dqvdf",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c cIM: 101003 : K/30min ==> K/s zx_tmp_fi3d(1:klon,1:klev)=d_t_eva(1:klon,1:klev)/pdtphys CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) CALL histwrite(nid_mth,"dteva",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_eva, zx_tmp_3d) CALL histwrite(nid_mth,"dqeva",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c zpt_conv = 0. where (ptconv) zpt_conv = 1. CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zpt_conv, zx_tmp_3d) CALL histwrite(nid_mth,"ptconv",itau_w,zx_tmp_3d, . iim*(jjmp1)*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, ratqs, zx_tmp_3d) CALL histwrite(nid_mth,"ratqs",itau_w,zx_tmp_3d, . iim*(jjmp1)*klev,ndex3d) c cIM: 101003 : K/30min ==> K/s zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev)/pdtphys CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) CALL histwrite(nid_mth,"dtajs",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_ajs, zx_tmp_3d) CALL histwrite(nid_mth,"dqajs",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c cIM: 101003 : K/day ==> K/s cIM: LMD_ARMIP3 zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)*pdtphys/RDAY zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) CALL histwrite(nid_mth,"dtswr",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c cIM: 101003 : K/day ==> K/s cIM: LMD_ARMIP3 zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)*pdtphys/RDAY zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)/RDAY CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) CALL histwrite(nid_mth,"dtsw0",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c cIM: 101003 : K/day ==> K/s cIM: LMD_ARMIP3 zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)*pdtphys/RDAY zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) CALL histwrite(nid_mth,"dtlwr",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c cIM: 101003 : K/day ==> K/s cIM: LMD_ARMIP3 zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)*pdtphys/RDAY zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)/RDAY CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) CALL histwrite(nid_mth,"dtlw0",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c cIM: 101003 : deja en K/s zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev) CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d) CALL histwrite(nid_mth,"dtec",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_vdf, zx_tmp_3d) CALL histwrite(nid_mth,"duvdf",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_vdf, zx_tmp_3d) CALL histwrite(nid_mth,"dvvdf",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c IF (ok_orodr) THEN CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_oro, zx_tmp_3d) CALL histwrite(nid_mth,"duoro",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_oro, zx_tmp_3d) CALL histwrite(nid_mth,"dvoro",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c ENDIF C IF (ok_orolf) THEN CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_lif, zx_tmp_3d) CALL histwrite(nid_mth,"dulif",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_lif, zx_tmp_3d) CALL histwrite(nid_mth,"dvlif",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) ENDIF C c c effets des aerosols c c IF (ok_ade.OR.ok_aie) THEN CALL gr_fi_ecrit(klev,klon,iim,jjmp1, re, zx_tmp_3d) CALL histwrite(nid_mth,"re",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fl, zx_tmp_3d) CALL histwrite(nid_mth,"redenom",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldtau, zx_tmp_3d) CALL histwrite(nid_mth,"tau",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldtaupi, zx_tmp_3d) CALL histwrite(nid_mth,"taupi",itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) c endif c IF (nqmax.GE.3) THEN DO iq=1,nqmax-2 IF (iq.LE.99) THEN CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,iq+2), zx_tmp_3d) WRITE(str2,'(i2.2)') iq CALL histwrite(nid_mth,"trac"//str2,itau_w,zx_tmp_3d, . iim*jjmp1*klev,ndex3d) ELSE PRINT*, "Trop de traceurs" CALL abort ENDIF ENDDO ENDIF c ENDIF !lev_histmth.GE.4 c if (ok_sync) then call histsync(nid_mth) endif ENDIF