anchor.diff:  
     !start timer
     CALL system_clock(start,count_rate)
  -  ! mvm: Simulation loop starts here
  +  ! coprocessing: Simulation loop starts here
     DO n=1,Nt
        !fixed point
        DO k=decomp%xst(3),decomp%xen(3); DO j=decomp%xst(2),decomp%xen(2); DO i=decomp%xst(1),decomp%xen(1)
  
positive.code:         PRINT *,'time',n*dt
       END IF
  
       !mvm: populating the arrays sent to the coprocessor
       DO k=decomp%xst(3),decomp%xen(3); DO j=decomp%xst(2),decomp%xen(2); DO i=decomp%xst(1),decomp%xen(1)
          realtempx(i,j,k)=REAL(wy(i,j,k)-vz(i,j,k),KIND=8)
       END DO; END DO ; END DO
  
negative.code:        rhswhatfix, nonlinuhat,&
         nonlinvhat, nonlinwhat,&
         phat,temp_c
    !coprocessing: added x,y,z component arrays also halos
    !coprocessing: halos get allocated inside call to update_halo
    REAL(kind=8), DIMENSION(:,:,:), ALLOCATABLE     ::  realtemp, realtempx, &
         realtempy, realtempz, tempxhalo, tempyhalo, tempzhalo
    !coprocessing: added 1D array for passing to C++
    real(kind=8), dimension(:), allocatable :: xpass2c, ypass2c, zpass2c
    ! MPI and 2DECOMP variables
    TYPE(DECOMP_INFO)                               ::  decomp
  