anchor.diff:          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 &
  +                ,U3D,V3D,domain%w*domain%dz/domain%dx,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              &
  
positive.code: !         write(*,*) MAXVAL(RQICUTEN(2:ide-1,:,2:jde-1)), MINVAL(RQICUTEN(2:ide-1,:,2:jde-1))
  !         write(*,*) "rain range"
  !         write(*,*) MAXVAL(RAINCV(2:ide-1,2:jde-1)), MINVAL(RAINCV(2:ide-1,2:jde-1))
          domain%qv=domain%qv+RQVCUTEN*dt_in
          domain%cloud=domain%cloud+RQCCUTEN*dt_in
          domain%th=domain%th+RTHCUTEN*dt_in
          domain%ice=domain%ice+RQICUTEN*dt_in
          domain%rain=domain%rain+RAINCV
          domain%crain=domain%crain+RAINCV
  !       write(*,*) MAXVAL(domain%qv(2:ide-1,:,2:jde-1)), MINVAL(domain%qv(2:ide-1,:,2:jde-1))
      endif
      
  
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
  