c c*********************************************************************** c SUBROUTINE ZEROUT(lent,tmpmin,tmpmax,geshem,bengsh,dusfc,dvsfc, & dtsfc,dqsfc,dlwsfc,ulwsfc,gflux,runoff,ep,cldwrk, & dugwd,dvgwd,psmean,fhour,zhour,fluxr, & dt3dt,dq3dt,du3dt,dv3dt,cldcov,levs,fluxrzero) c c*********************************************************************** c integer nflx parameter(nflx=33) ! to be consistent with 20091215 GFS real tmpmin(LENT),tmpmax(LENT),geshem(LENT) real bengsh(LENT), dusfc(LENT), dvsfc(LENT) real dtsfc(LENT), dqsfc(LENT),dlwsfc(LENT) real ulwsfc(LENT), gflux(LENT),runoff(LENT) real ep(LENT), cldwrk(LENT) real dugwd(LENT), dvgwd(LENT),psmean(LENT) real fluxr(nflx,lent) real fhour,zhour real dt3dt(lent,levs,6), dq3dt(lent,levs,7) &, du3dt(LENT,LEVS,3), dv3dt(LENT,LEVS,3) &, cldcov(lent,levs) !->rsun: need to keep fluxr,cldcov unchanged during two radiation steps logical fluxrzero !<-rsun zhour = fhour DO i=1,lent TMPMIN(i) = 1.E10 TMPMAX(i) = 0.0 ENDDO DO i=1,lent GESHEM(i) = 0.0 BENGSH(i) = 0.0 DUSFC (i) = 0.0 DVSFC (i) = 0.0 DTSFC (i) = 0.0 DQSFC (i) = 0.0 DLWSFC(i) = 0.0 ULWSFC(i) = 0.0 GFLUX (i) = 0.0 RUNOFF(i) = 0.0 EP (i) = 0.0 CLDWRK(i) = 0.0 DUGWD (i) = 0.0 DVGWD (i) = 0.0 PSMEAN(i) = 0.0 ENDDO !->rsun modified if(fluxrzero) then DO i=1,lent DO IV=1,nflx FLUXR(iv,i) = 0.0 ENDDO ENDDO endif !<-rsun ! DT3DT(:,:,:) = 0.0 DQ3DT(:,:,:) = 0.0 DU3DT(:,:,:) = 0.0 DV3DT(:,:,:) = 0.0 !->rsun if(fluxrzero) then cldcov(:,:) = 0.0 endif !<-rsun RETURN END