anchor.diff:                  ,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
  +        ! add domain wide tendency terms
  +        !$omp parallel private(j) &
  +        !$omp firstprivate(jds,jde, dt_in) &
  +        !$omp default(shared)
  +        !$omp do schedule(static)
  +        do j=jds,jde
  +            domain%qv(:,:,j)   =domain%qv(:,:,j)   + RQVCUTEN(:,:,j)*dt_in
  +            domain%cloud(:,:,j)=domain%cloud(:,:,j)+ RQCCUTEN(:,:,j)*dt_in
  +            domain%th(:,:,j)   =domain%th(:,:,j)   + RTHCUTEN(:,:,j)*dt_in
  +            domain%ice(:,:,j)  =domain%ice(:,:,j)  + RQICUTEN(:,:,j)*dt_in
  +            
  +            domain%rain(:,j)   =domain%rain(:,j)  + RAINCV(:,j)
  +            domain%crain(:,j)  =domain%crain(:,j) + RAINCV(:,j)
  +        enddo
  +        !$omp end do
  +        !$omp end parallel  
           
  -!         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
       
       
  
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*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              &
  
negative.code:         do i=1,n_levels
              znu(i)=(domain%p(xpt,i,ypt)-ptop)/(psfc-ptop)
          enddo
      end subroutine znu_init
  
      subroutine init_convection(domain,options)
          implicit none
          type(domain_type),  intent(in) :: domain
          type(options_type), intent(in) :: options
          integer :: ids,ide,jds,jde,kds,kde
          
          write(*,*) "Initializing Cumulus Scheme"
          ids=1
  