anchor.diff:          do j=jds,jde
               RAINCV(:,j)=0
               p8(:,:kde-1,j)=(domain%p(:,kds:kde-1,j)+domain%p(:,kds+1:kde,j))/2
  -            p8(:,kde,j)=p8(:,kde-1,j)+(p8(:,kde-1,j)-p8(:,kde-2,j))
  -            if (j>jds) then
  -                V3D(:,:,j)=(domain%v(:,:,j-1)+domain%v(:,:,j))/2
  -            endif
  +            p8(:,kde,j)=p8(:,kde-1,j)+(p8(:,kde-1,j)-p8(:,kde-2,j))/2
  +            
  +            V3D(:,:,j)=(domain%v(:,:,j+1)+domain%v(:,:,j))/2
               U3D(:,:,j)=(domain%u(ids:ide,:,j)+domain%u(ids+1:ide+1,:,j))/2
               T3D(:,:,j)=domain%th(:,:,j)*domain%pii(:,:,j)
  -!           rho(:,:,j)=domain%p(:,:,j)/(R*T3D(:,:,j))
           enddo
           !$omp end do
           !$omp end parallel  
  
positive.code:         call CU_TIEDTKE(                                          &
                   dt_in,itimestep,STEPCU                           &
                  ,RAINCV,PRATEC,domain%latent_heat/LH_vaporization,domain%sensible_heat,ZNU(kds:kde) &
                  ,U3D,V3D,domain%w,T3D,domain%qv,domain%cloud,domain%ice,domain%pii,domain%rho &
                  ,domain%qv_adv_tendency,domain%qv_pbl_tendency    &
                  ,domain%dz,p8,domain%p,XLAND,CU_ACT_FLAG          &
                  ,ids+1,ide-1, jds+1,jde-1, kds,kde-1              &
  
negative.code: !! ----------------------------------------------------------------------------
  module convection
      use data_structures
      use module_cu_tiedtke,  only: tiedtkeinit, CU_TIEDTKE
      use string,             only: str
      use io_routines,        only: io_write3d, io_write2d
      
      implicit none
      integer :: output_number
      real,allocatable,dimension(:,:,:)::p8,U3D,V3D,T3D, & 
                                         RTHCUTEN,RQVCUTEN,RQCCUTEN,RQICUTEN,    &
                                         RUCUTEN,RVCUTEN
  