subroutine hdiff(u_x,u_y,v_x,v_y,t_x,t_y,u_t,v_t,t_t,mype) !$$$ subprogram documentation block ! . . . . ! subprogram: hdiff calculate horiziontal diffusion ! prgmmr: rancic ! ! abstract: compute horizontal diffusion for wind, and virtual ! temperature ! ! program history log: ! 2010-02-25 rancic ! ! ! attributes: ! language: f90 ! machine: ibm RS/6000 SP ! !$$$ use kinds, only: r_kind,i_kind use constants, only: zero,half,one,two use gridmod, only: lat2,lon2,nsig use tends4pertmod, only: time_step implicit none ! Declare passed variables integer(i_kind) ,intent(in ) :: mype real(r_kind),dimension(lat2,lon2,nsig),intent(in ) :: u_x,u_y,v_x,v_y,t_x,t_y real(r_kind),dimension(lat2,lon2,nsig),intent(inout) :: u_t,v_t,t_t ! Declare local variables real(r_kind),dimension(lat2,lon2,nsig):: uc_x,uc_y,vc_x,vc_y,tc_x,tc_y real(r_kind),dimension(lat2,lon2,nsig):: u_xx,u_yy,v_xx,v_yy,t_xx,t_yy real(r_kind) uave,vave,up,vp real(r_kind) khdff,kht,facdec integer(i_kind) i,j,k khdff=1.73e04_r_kind kht=khdff*time_step t_xx=zero; t_yy=zero u_xx=zero; u_yy=zero v_xx=zero; v_yy=zero do k=1,nsig if(k