! ! $Header$ ! ndex = 0 ndex2d = 0 ndex3d = 0 c zsto = pdtphys zout = pdtphys * FLOAT(ecrit_tra) itau_w = itau_phy + nstep i = NINT(zout/zsto) cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,pphis,zx_tmp_2d) CALL histwrite_phy(nid_tra,"phis",itau_w,pphis) C cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,airephy,zx_tmp_2d) CALL histwrite_phy(nid_tra,"aire",itau_w,airephy) #ifdef INCA cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, ps,zx_tmp_2d) CALL histwrite_phy(nid_tra,"ps",itau_w,ps) print *,"WRITE PTROP" cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, ptrop,zx_tmp_2d) CALL histwrite_phy(nid_tra,"ptrop",itau_w,ptrop) C 3d FIELDS print *,"WRITE T_SERI" cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,t_seri, zx_tmp_3d) CALL histwrite_phy(nid_tra,"temp",itau_w,t_seri) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,u, zx_tmp_3d) CALL histwrite_phy(nid_tra,"u",itau_w,u) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,v, zx_tmp_3d) CALL histwrite_phy(nid_tra,"v",itau_w,v) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,sh, zx_tmp_3d) CALL histwrite_phy(nid_tra,"h2o",itau_w,sh) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pdel, zx_tmp_3d) CALL histwrite_phy(nid_tra,"pdel",itau_w,pdel) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pplay, zx_tmp_3d) CALL histwrite_phy(nid_tra,"pmid",itau_w,pplay) ! Ajout Anne !#ifdef INCA_AER c CALL gr_fi_ecrit(klev,klon,iim,jjm+1,airm, zx_tmp_3d) CALL histwrite_phy(nid_tra,"airm",itau_w,airm) !#endif ! Fin ajout Anne #ifdef INCA #ifdef INCAINFO DO it=1, phtcnt WRITE(str2,'(i2.2)') it cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,it), cym . zx_tmp_3d) CALL histwrite_phy(nid_tra,"j"//str2,itau_w,jrates(:,:,it)) ENDDO DO it=1, hetcnt WRITE(str2,'(i2.2)') it cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,hrates(1,1,it), cym . zx_tmp_3d) CALL histwrite_phy(nid_tra,"w"//str2,itau_w,hrates(:,:,it)) ENDDO DO it=1, extcnt WRITE(str2,'(i2.2)') it cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,extflx(1,1,it), cym . zx_tmp_3d) CALL histwrite_phy(nid_tra,"ext"//str2,itau_w,extflx(:,:,it)) ENDDO DO it=1, nfs WRITE(str2,'(i2.2)') it cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,invariants(1,1,it), cym . zx_tmp_3d) CALL histwrite_phy(nid_tra,"INV"//str2,itau_w,invariants(:,:,it)) ENDDO #else cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,2), cym . zx_tmp_3d) CALL histwrite_phy(nid_tra,"jO3",itau_w,jrates(:,:,2)) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,4), cym . zx_tmp_3d) CALL histwrite_phy(nid_tra,"jNO2",itau_w,jrates(:,:,4)) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,13), cym . zx_tmp_3d) CALL histwrite_phy(nid_tra,"jH2O2",itau_w,jrates(:,:,13)) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,hrates(1,1,1), cym . zx_tmp_3d) CALL histwrite_phy(nid_tra,"wHNO3",itau_w,hrates(:,:,1)) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,krates(1,1,1), cym . zx_tmp_3d) CALL histwrite_phy(nid_tra,"kN2O5",itau_w,krates(:,:,1)) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,extflx(1,1,1), cym . zx_tmp_3d) CALL histwrite_phy(nid_tra,"LghtNO",itau_w,extflx(:,:,1)) #endif DO it=1, grpcnt cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,nas(1,1,it),zx_tmp_3d) cym zx_tmp_3d = zx_tmp_3d * dry_mass / nadv_mass(it) CALL histwrite_phy(nid_tra,grpsym(it),itau_w, . nas(:,:,it)* dry_mass / nadv_mass(it)) ENDDO #endif #ifdef INCA_AER it = id_CIDUSTM cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,scavcoef_st(1,1,it), cym . zx_tmp_3d) CALL histwrite_phy(nid_tra,"scavcoef_st",itau_w, . scavcoef_st(:,:,it)) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,scavcoef_cv(1,1,it), cym . zx_tmp_3d) CALL histwrite_phy(nid_tra,"scavcoef_cv",itau_w, . scavcoef_cv(:,:,it)) CALL gr_fi_ecrit(1, klon,iim,jjm+1,angst(1),zx_tmp_2d) CALL histwrite_phy(nid_tra2,"AngstroemComp",itau_w,angst(:)) #endif #endif DO it=1,nqmax C champs 2D #ifdef INCA IF ( prt_flag_ts(it) == 0 ) CYCLE cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, eflux(1,it),zx_tmp_2d) CALL histwrite_phy(nid_tra,"Emi_"//solsym(it),itau_w, . eflux(:,it)) cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, dvel(1,it),zx_tmp_2d) CALL histwrite_phy(nid_tra,"Dep_"//solsym(it),itau_w, . dvel(:,it)) #ifdef INCA_AER call diag(airephy,tr_seri) IF ((it .ge. trmx) .and. (it .le. trnx)) then cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,sflux(1,it),zx_tmp_2d) CALL histwrite_phy(nid_tra2,"Sed_"//solsym(it),itau_w, . sflux(:,it)) cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,dflux(1,it),zx_tmp_2d) CALL histwrite_phy(nid_tra2,"Dry_"//solsym(it),itau_w, . dflux(:,it)) cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,wflux(1,it),zx_tmp_2d) CALL histwrite_phy(nid_tra2,"Wet_"//solsym(it),itau_w, . wflux(:,it)) cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,wsflux(1,it),zx_tmp_2d) CALL histwrite_phy(nid_tra2,"WetST_"//solsym(it),itau_w, . wsflux(:,it)) cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,wcflux(1,it),zx_tmp_2d) CALL histwrite_phy(nid_tra2,"WetCV_"//solsym(it),itau_w, . wcflux(:,it)) cym CALL gr_fi_ecrit(klev, klon,iim,jjm+1,eflux_alt(1,1,it),zx_tmp_3d) CALL histwrite_phy(nid_tra2,"Emi_alt_"//solsym(it),itau_w, . eflux_alt(:,:,it)) cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,aload(1,it),zx_tmp_2d) CALL histwrite_phy(nid_tra2,"Load_"//solsym(it),itau_w, . aload(:,it)) CALL histwrite_phy(nid_tra3,"Inst_Load_"//solsym(it),itau_w, . aload(:,it)) cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,sconc(1,it),zx_tmp_2d) CALL histwrite_phy(nid_tra2,"SConc_"//solsym(it),itau_w, . sconc(:,it)) do la=1,las cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,tausum(1,la,it),zx_tmp_2d) CALL histwrite_phy(nid_tra2,"OD_"//cla(la)//solsym(it), . itau_w,tausum(:,la,it)) enddo cym CALL gr_fi_ecrit(klev, klon,iim,jjm+1,md(1,1,it),zx_tmp_3d) CALL histwrite_phy(nid_tra2,"MD_"//solsym(it),itau_w, . md(:,:,it)) endif #endif C champs 3D cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,tr_seri(1,1,it),zx_tmp_3d) zx_tmp_fi3d(:,:)=tr_seri(:,:,it) !Prefer vmr to mmr for transported species if( adv_mass(it) /= 0. ) then #ifdef INCA_AER if (it .lt. trmx) then #endif zx_tmp_fi3d(:,:)= zx_tmp_fi3d(:,:) * dry_mass / adv_mass(it) #ifdef INCA_AER endif #endif else #ifdef INCA if ( solsym(it) == 'OX' ) then zx_tmp_fi3d(:,:)=zx_tmp_fi3d(:,:)*dry_mass/nadv_mass(id_o3) end if #endif end if CALL histwrite_phy(nid_tra,solsym(it),itau_w,zx_tmp_fi3d) #else cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,tr_seri(1,1,it),zx_tmp_3d) CALL histwrite_phy(nid_tra,tnom(it+2),itau_w,tr_seri(:,:,it)) if (lessivage) THEN cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,flestottr(1,1,it),zx_tmp_3d) CALL histwrite_phy(nid_tra,"fl"//tnom(it+2),itau_w, . flestottr(:,:,it)) endif c----Olivia cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,d_tr_th(1,1,it),zx_tmp_3d) CALL histwrite_phy(nid_tra,"d_tr_th_"//tnom(it+2),itau_w, . d_tr_th(:,:,it)) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,d_tr_cvi(1,1,it),zx_tmp_3d) CALL histwrite_phy(nid_tra,"d_tr_cv_"//tnom(it+2),itau_w, . d_tr_cvi(:,:,it)) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,d_tr_cli(1,1,it),zx_tmp_3d) CALL histwrite_phy(nid_tra,"d_tr_cl_"//tnom(it+2),itau_w, . d_tr_cli(:,:,it)) c---fin Olivia #endif ENDDO #ifdef INCA !#ifdef INCA_CH4 CALL histwrite_phy(nid_tra,"O3_column",itau_w,o3_col) CALL histwrite_phy(nid_tra,"CO_column",itau_w,co_col) CALL histwrite_phy(nid_tra,"CH4_column",itau_w,ch4_col) CALL histwrite_phy(nid_tra,"NO2_column",itau_w,no2_col) CALL histwrite_phy(nid_tra,"O3_ste",itau_w,o3_st_flx) CALL histwrite_phy(nid_tra,"O3_prod",itau_w,o3_prod) CALL histwrite_phy(nid_tra,"O3_loss",itau_w,o3_loss) ! Ajout Anne #ifdef INCA_AER ! for sulfur cycle CALL histwrite_phy(nid_tra,"SO2_p_dmsoh",itau_w,SO2_p_dmsoh) CALL histwrite_phy(nid_tra,"SO2_p_dmsno3",itau_w,SO2_p_dmsno3) CALL histwrite_phy(nid_tra,"SO2_p_h2soh",itau_w,SO2_p_h2soh) CALL histwrite_phy(nid_tra,"SO2_p_dmsooh",itau_w,SO2_p_dmsooh) CALL histwrite_phy(nid_tra,"DMSO_p_dmsoh",itau_w,DMSO_p_dmsoh) CALL histwrite_phy(nid_tra,"ASMSAM_p_dmsooh",itau_w,ASMSAM_p_dmsooh) CALL histwrite_phy(nid_tra,"ASSO4M_p_so2oh",itau_w,ASSO4M_p_so2oh) CALL histwrite_phy(nid_tra,"ASSO4M_p_so2h2o2",itau_w,ASSO4M_p_so2h2o2) CALL histwrite_phy(nid_tra,"ASSO4M_p_so2o3",itau_w,ASSO4M_p_so2o3) c closing the sulfur budget CALL histwrite_phy(nid_tra,"Wet3D_SO2",itau_w,wet3d_so2) CALL histwrite_phy(nid_tra,"Wet3D_DMS",itau_w,wet3d_dms) CALL histwrite_phy(nid_tra,"Wet3D_HNO3",itau_w,wet3d_hno3) CALL histwrite_phy(nid_tra,"Wet3D_H2O2",itau_w,wet3d_h2o2) CALL histwrite_phy(nid_tra,"PH_HIST",itau_w,PH_HIST) #endif #ifdef INCA_NMHC CALL histwrite_phy(nid_tra,"CO2_basprod",itau_w,CO2_basprod) CALL histwrite_phy(nid_tra,"CO2_nmhcprod",itau_w,CO2_nmhcprod) CALL histwrite_phy(nid_tra,"CO2_radicalprod",itau_w,CO2_radicalprod) CALL histwrite_phy(nid_tra,"HNO3_prod",itau_w,hno3_prod) CALL histwrite_phy(nid_tra,"HNO3_loss",itau_w,hno3_loss) CALL histwrite_phy(nid_tra,"CO_prod",itau_w,co_prod) CALL histwrite_phy(nid_tra,"CO_loss",itau_w,co_loss) #endif ! Fin ajout Anne ! ... Special section for daytime averaging ! CALL gr_fi_ecrit(klev,klon,iim,jjm+1,day_cnt(1,1), ! . zx_tmp_3d) ! CALL histwrite(nid_tra,"day_cnt",itau_w,zx_tmp_3d, ! . iim*(jjm+1)*klev,ndex3d) ! CALL gr_fi_ecrit(klev,klon,iim,jjm+1,no_daytime(1,1), ! . zx_tmp_3d) ! CALL histwrite(nid_tra,"NO_day",itau_w,zx_tmp_3d, ! . iim*(jjm+1)*klev,ndex3d) !#endif #else C abder cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,yu1,zx_tmp_2d) CALL histwrite_phy(nid_tra,"pyu1",itau_w,yu1) cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,yv1,zx_tmp_2d) CALL histwrite_phy(nid_tra,"pyv1",itau_w,yv1) cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,pftsol1,zx_tmp_2d) CALL histwrite_phy(nid_tra,"ftsol1",itau_w,pftsol1) cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,pftsol2,zx_tmp_2d) CALL histwrite_phy(nid_tra,"ftsol2",itau_w,pftsol2) cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,pftsol3,zx_tmp_2d) CALL histwrite_phy(nid_tra,"ftsol3",itau_w,pftsol3) cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,pftsol4,zx_tmp_2d) CALL histwrite_phy(nid_tra,"ftsol4",itau_w,pftsol4) cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,ppsrf1,zx_tmp_2d) CALL histwrite_phy(nid_tra,"psrf1",itau_w,ppsrf1) cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,ppsrf2,zx_tmp_2d) CALL histwrite_phy(nid_tra,"psrf2",itau_w,ppsrf2) cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,ppsrf3,zx_tmp_2d) CALL histwrite_phy(nid_tra,"psrf3",itau_w,ppsrf3) cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,ppsrf4,zx_tmp_2d) CALL histwrite_phy(nid_tra,"psrf4",itau_w,ppsrf4) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pplay,zx_tmp_3d) CALL histwrite_phy(nid_tra,"pplay",itau_w,pplay) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,t_seri,zx_tmp_3d) CALL histwrite_phy(nid_tra,"t",itau_w,t_seri) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pmfu,zx_tmp_3d) CALL histwrite_phy(nid_tra,"mfu",itau_w,pmfu) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pmfd,zx_tmp_3d) CALL histwrite_phy(nid_tra,"mfd",itau_w,pmfd) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pen_u,zx_tmp_3d) CALL histwrite_phy(nid_tra,"en_u",itau_w,pen_u) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pen_d,zx_tmp_3d) CALL histwrite_phy(nid_tra,"en_d",itau_w,pen_d) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pde_d,zx_tmp_3d) CALL histwrite_phy(nid_tra,"de_d",itau_w,pde_d) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pde_u,zx_tmp_3d) CALL histwrite_phy(nid_tra,"de_u",itau_w,pde_u) cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,coefh,zx_tmp_3d) CALL histwrite_phy(nid_tra,"coefh",itau_w,coefh) c abder #endif if (ok_sync) then call histsync(nid_tra) #ifdef INCA_AER call histsync(nid_tra2) call histsync(nid_tra3) #endif endif