anchor.diff:                  tcg_racg[:], tmr_racg[:], tcr_gacr[:], tmg_gacr[:],     &
                   tnr_racg[:], tnr_gacr[:]
         REAL (KIND=R8SIZE), ALLOCATABLE, DIMENSION(:,:,:,:)::             &
  -                tcs_racs1, tmr_racs1, tcs_racs2, tmr_racs2,             &
  -                tcr_sacr1, tms_sacr1, tcr_sacr2, tms_sacr2,             &
  -                tnr_racs1, tnr_racs2, tnr_sacr1, tnr_sacr2
  +                tcs_racs1[:], tmr_racs1[:], tcs_racs2[:], tmr_racs2[:], &
  +                tcr_sacr1[:], tms_sacr1[:], tcr_sacr2[:], tms_sacr2[:], &
  +                tnr_racs1[:], tnr_racs2[:], tnr_sacr1[:], tnr_sacr2[:]
         REAL (KIND=R8SIZE), ALLOCATABLE, DIMENSION(:,:,:,:)::             &
  -                tpi_qcfz, tni_qcfz
  +                tpi_qcfz[:], tni_qcfz[:]
         REAL (KIND=R8SIZE), ALLOCATABLE, DIMENSION(:,:,:,:)::             &
  -                tpi_qrfz, tpg_qrfz, tni_qrfz, tnr_qrfz
  +                tpi_qrfz[:], tpg_qrfz[:], tni_qrfz[:], tnr_qrfz[:]
         REAL (KIND=R8SIZE), ALLOCATABLE, DIMENSION(:,:)::                 &
                   tps_iaus, tni_iaus, tpi_ide
         REAL (KIND=R8SIZE), ALLOCATABLE, DIMENSION(:,:):: t_Efrw
  
positive.code: !         CALL wrf_dm_gatherv(tnr_sacr2, ntb_s*ntb_t, km_s, km_e, R8SIZE)
  ! #endif
  
   !        IF ( write_thompson_tables .AND. wrf_dm_on_monitor() ) THEN
   !        !   CALL wrf_message("Writing qr_acr_qs.dat in Thompson MP init")
   !          OPEN(63,file="qr_acr_qs.dat",form="unformatted",err=9234)
   !          WRITE(63,err=9234)tcs_racs1
   !          WRITE(63,err=9234)tmr_racs1
   !          WRITE(63,err=9234)tcs_racs2
   !          WRITE(63,err=9234)tmr_racs2
   !          WRITE(63,err=9234)tcr_sacr1
   !          WRITE(63,err=9234)tms_sacr1
   !          WRITE(63,err=9234)tcr_sacr2
   !          WRITE(63,err=9234)tms_sacr2
   !          WRITE(63,err=9234)tnr_racs1
   !          WRITE(63,err=9234)tnr_racs2
   !          WRITE(63,err=9234)tnr_sacr1
   !          WRITE(63,err=9234)tnr_sacr2
   !          CLOSE(63)
   !          RETURN    ! ----- RETURN
   ! 9234     CONTINUE
   !        !   CALL wrf_error_fatal("Error writing qr_acr_qs.dat")
   !        ENDIF
        ENDIF
  
        end subroutine qr_acr_qs
  
negative.code:       DOUBLE PRECISION:: y1, y2, y3, y4
        LOGICAL force_read_thompson, write_thompson_tables
        LOGICAL lexist,lopen
        INTEGER, allocatable :: good[:]
      !   LOGICAL, EXTERNAL :: wrf_dm_on_monitor
        allocate(good[*])
  
  !+---+
  
  