anchor.diff:      
   subroutine convect(domain,options,dt_in)
       implicit none
  -    type(domain_type), intent(inout) :: domain
  -    type(options_type), intent(in)   :: options
  -    real, intent(in) ::dt_in
  -    integer ::ids,ide,jds,jde,kds,kde,j,itimestep,STEPCU
  +    type(domain_type),  intent(inout) :: domain
  +    type(options_type), intent(in)    :: options
  +    real, intent(in) :: dt_in
  +    
  +    integer :: ids,ide,jds,jde,kds,kde,j,itimestep,STEPCU
       
       itimestep=1
       STEPCU=1
  
positive.code:                 ,RUCUTEN, RVCUTEN                                 &
                  ,.True.,.True.,.True.,.True.,.True.               &
                  )
  !         write(*,*) "QV range"
  !         write(*,*) MAXVAL(RQVCUTEN(2:ide-1,:,2:jde-1)), MINVAL(RQVCUTEN(2:ide-1,:,2:jde-1))
  !         write(*,*) "qc range"
  !         write(*,*) MAXVAL(RQCCUTEN(2:ide-1,:,2:jde-1)), MINVAL(RQCCUTEN(2:ide-1,:,2:jde-1))
  !         write(*,*) "th range"
  !         write(*,*) MAXVAL(RTHCUTEN(2:ide-1,:,2:jde-1)), MINVAL(RTHCUTEN(2:ide-1,:,2:jde-1))
  !         write(*,*) "qi range"
  !         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))
  
  ! COMMENTED OUT BECAUSE IT WAS REMOVING MORE WATER THAN IT WAS FORMING PRECIPITATION
  !         domain%qv=domain%qv+RQVCUTEN*dt_in
  ! COMMENTED OUT BECAUSE IT WAS ALWAYS 0 (AT LEAST IN A SHORT RUN)
  !         domain%cloud=domain%cloud+RQCCUTEN*dt_in
  ! COMMENTED OUT TO BE CONSISTENT WITH REMOVING QVTEN
  !         domain%th=domain%th+RTHCUTEN*dt_in
  ! COMMENTED OUT BECAUSE IT WAS ALWAYS 0 (AT LEAST IN A SHORT RUN)
  !         domain%ice=domain%ice+RQICUTEN*dt_in
          domain%rain=domain%rain+RAINCV
          domain%crain=domain%crain+RAINCV
          
  !         call io_write3d("convtest/cu_rho_"//trim(str(output_number))//".nc","data",domain%rho)
  !         call io_write3d("convtest/cuten_qv_"//trim(str(output_number))//".nc","data",RQVCUTEN*dt_in)
  !         call io_write3d("convtest/cuten_qc_"//trim(str(output_number))//".nc","data",RQCCUTEN*dt_in)
  !         call io_write3d("convtest/cuten_th_"//trim(str(output_number))//".nc","data",RTHCUTEN*dt_in)
  !         call io_write3d("convtest/cuten_qi_"//trim(str(output_number))//".nc","data",RQICUTEN*dt_in)
  !         call io_write2d("convtest/cuten_cr_"//trim(str(output_number))//".nc","data",RAINCV)
  !         output_number=output_number+1
          
  !       write(*,*) MAXVAL(domain%qv(2:ide-1,:,2:jde-1)), MINVAL(domain%qv(2:ide-1,:,2:jde-1))
      endif
      
      
  
negative.code:         !$omp default(shared)
          !$omp do schedule(static)
          do j=jds,jde
              RAINCV(:,j)     = 0
              RQVCUTEN(:,:,j) = 0
              RTHCUTEN(:,:,j) = 0
              RQCCUTEN(:,:,j) = 0
              RQICUTEN(:,:,j) = 0
              p8(:,:kde-1,j)  = (domain%p(:,kds:kde-1,j) + domain%p(:,kds+1:kde,j))/2
              p8(:,kde,j)     =  domain%p(:,kde,j) + (domain%p(:,kde,j)-p8(:,kde-1,j))
              
              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
  