! ! $Header$ ! IF (is_sequential) THEN IF (type_run.EQ."AMIP") THEN ! ndex2d = 0 itau_w = itau_phy + itap + start_time * day_step / iphysiq ! ! Champs 2D: ! pi = ACOS(-1.) pir = 4.0*ATAN(1.0) / 180.0 ! DO i=1, klon zx_tmp_fi2d(i)=(topsw(i)-toplw(i)) ENDDO ! ok_msk=.FALSE. msk(1:klon)=pctsrf(1:klon,is_ter) CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy, & ok_msk, msk, moyglo) zx_tmp_fi2d(1:klon)=moyglo ! CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_day_seri,"bilTOA",itau_w, & zx_tmp_2d,iim*jjmp1,ndex2d) ! ok_msk=.FALSE. CALL moyglo_pondaire(klon, bils, airephy, & ok_msk, msk, moyglo) zx_tmp_fi2d(1:klon)=moyglo ! CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_day_seri,"bils",itau_w, & zx_tmp_2d,iim*jjmp1,ndex2d) ! DO k=1, klev DO i=1, klon !IM 080904 zx_tmp_fi3d(i,k)=u(i,k)**2+v(i,k)**2 zx_tmp_fi3d(i,k)=(u(i,k)**2+v(i,k)**2)/2. ENDDO ENDDO ! CALL moyglo_pondaima(klon, klev, zx_tmp_fi3d, & airephy, paprs, moyglo) zx_tmp_fi2d(1:klon)=moyglo ! CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_day_seri,"ecin",itau_w, & zx_tmp_2d,iim*jjmp1,ndex2d) ! !IM 151004 BEG IF(1.EQ.0) THEN ! DO k=1, klev DO i=1, klon zx_tmp_fi3d(i,k)=u_seri(i,k)*RA*cos(pir* rlat(i)) ENDDO ENDDO ! CALL moyglo_pondaima(klon, klev, zx_tmp_fi3d, & airephy, paprs, moyglo) zx_tmp_fi2d(1:klon)=moyglo ! CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_day_seri,"momang",itau_w,zx_tmp_2d, & iim*jjmp1,ndex2d) ! ! friction torque ! DO i=1, klon zx_tmp_fi2d(i)=zxfluxu(i,1)*RA* cos(pir* rlat(i)) ENDDO ! ok_msk=.FALSE. CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy, & ok_msk, msk, moyglo) zx_tmp_fi2d(1:klon)=moyglo ! CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_day_seri,"frictor",itau_w,zx_tmp_2d, & iim*jjmp1,ndex2d) ! ! mountain torque ! !IM 190504 BEG CALL gr_fi_dyn(1,klon,iim+1,jjm+1,airephy,airedyn) CALL gr_fi_dyn(klev+1,klon,iim+1,jjm+1,paprs,padyn) CALL gr_fi_dyn(1,klon,iim+1,jjm+1,rlat,rlatdyn) mountor=0. airetot=0. DO j = 1, jjmp1 DO i = 1, iim+1 ij=i+(iim+1)*(j-1) zx_tmp(ij)=0. DO k = 1, klev zx_tmp(ij)=zx_tmp(ij)+dudyn(i,j,k)*airedyn(i,j)* & (padyn(i,j,k+1)-padyn(i,j,k))/RG airetot=airetot+airedyn(i,j) ENDDO !IM 190504 mountor=mountor+zx_tmp(ij)*airedyn(i,j)*RA* mountor=mountor+zx_tmp(ij)*RA* & cos(pir* rlatdyn(i,j)) ENDDO ENDDO !IM 151004 BEG IF(itap.EQ.1) PRINT*,'airetot=',airetot,airetot/klev !IM 151004 END !IM 190504 mountor=mountor/(airetot*airetot) mountor=mountor/airetot ! !IM 190504 END zx_tmp_2d(1:iim,1:jjmp1)=mountor CALL histwrite(nid_day_seri,"mountor",itau_w,zx_tmp_2d, & iim*jjmp1,ndex2d) ! ENDIF !(1.EQ.0) THEN ! ! CALL gr_fi_dyn(1,klon,iim+1,jjm+1,airephy,airedyn) CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d) airetot=0. ! DO j = 1, jjmp1 ! DO i = 1, iim+1 ! ij=i+(iim+1)*(j-1) ! DO k = 1, klev ! airetot=airetot+airedyn(i,j) ! airetot=airetot+airedyn(i,j) ! ENDDO !k ! ENDDO !i ! ENDDO !j ! DO i=1, klon airetot=airetot+airephy(i) ENDDO ! IF(itap.EQ.1) PRINT*,'airetotphy=',airetot ! airetot=0. DO j=1, jjmp1 DO i=1, iim airetot=airetot+zx_tmp_2d(i,j) ENDDO ENDDO ! ! IF(itap.EQ.1) PRINT*,'airetotij=',airetot, ! $ '4piR2',4.*pi*RA*RA ! zx_tmp_fi2d(1:klon)=aam/airetot CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_day_seri,"momang",itau_w,zx_tmp_2d, & iim*jjmp1,ndex2d) ! zx_tmp_fi2d(1:klon)=torsfc/airetot CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_day_seri,"torsfc",itau_w,zx_tmp_2d, & iim*jjmp1,ndex2d) ! !IM 151004 END ! CALL moyglo_pondmass(klon, klev, t_seri, & airephy, paprs, moyglo) zx_tmp_fi2d(1:klon)=moyglo ! CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_day_seri,"tamv",itau_w, & zx_tmp_2d,iim*jjmp1,ndex2d) ! ok_msk=.FALSE. CALL moyglo_pondaire(klon, paprs(:,1), airephy, & ok_msk, msk, moyglo) zx_tmp_fi2d(1:klon)=moyglo ! CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_day_seri,"psol",itau_w, & zx_tmp_2d,iim*jjmp1,ndex2d) ! ok_msk=.FALSE. CALL moyglo_pondaire(klon, evap, airephy, & ok_msk, msk, moyglo) zx_tmp_fi2d(1:klon)=moyglo ! CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d) CALL histwrite(nid_day_seri,"evap",itau_w, & zx_tmp_2d,iim*jjmp1,ndex2d) ! ! DO i=1, klon ! zx_tmp_fi2d(i)=SnowFrac(i,is_ter) ! ENDDO ! ! ok_msk=.TRUE. ! msk(1:klon)=pctsrf(1:klon,is_ter) ! CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy, ! . ok_msk, msk, moyglo) ! zx_tmp_fi2d(1:klon)=moyglo ! ! CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) ! CALL histwrite(nid_day_seri,"SnowFrac", ! . itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) ! ! DO i=1, klon !IM 080904 zx_tmp_fi2d(i)=zsnow_mass(i)/330.*rowl ! zx_tmp_fi2d(i)=zsnow_mass(i) ! ENDDO ! !IM 140904 ok_msk=.FALSE. ! ok_msk=.TRUE. ! msk(1:klon)=pctsrf(1:klon,is_ter) ! CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy, ! . ok_msk, msk, moyglo) ! zx_tmp_fi2d(1:klon)=moyglo ! ! CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d) ! CALL histwrite(nid_day_seri,"snow_depth",itau_w, ! . zx_tmp_2d,iim*jjmp1,ndex2d) ! DO i=1, klon zx_tmp_fi2d(i)=ftsol(i,is_oce) ENDDO ! ok_msk=.TRUE. msk(1:klon)=pctsrf(1:klon,is_oce) CALL moyglo_pondaire(klon, zx_tmp_fi2d, airephy, & ok_msk, msk, moyglo) zx_tmp_fi2d(1:klon)=moyglo ! CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d) CALL histwrite(nid_day_seri,"tsol_"//clnsurf(is_oce), & itau_w,zx_tmp_2d,iim*jjmp1,ndex2d) ! !================================================================= !================================================================= !================================================================= ! if (ok_sync) then call histsync(nid_day_seri) endif ! ENDIF !fin test sur type_run.EQ."AMIP" ENDIF ! mono_cpu