anchor.diff:         zplusterm(:,:,:) = 0.
                  
          ! corresponding index for regime a cloud droplets
  -       cc = kk - ncld + fca%cur
  +       index_a = kk - ncld + fca%cur
  +
  +       ! Droplets lost to larger aerosol bins
  +       IF (lscgca) THEN
  +          ! Aerosol bins a, parallel aerosol bin plus 1
  +          index_aero = ica%par + index_a
  +          CALL accumulateSinkReverse(kbdim,klev,zccca,kk,index_aero,fn2a,aero,ncld,nbins,zminusterm)
  +          ! Aerosol bins b, aerosol bin plus 1
  +          index_aero = icb%par + (kk-fca%cur)
  +          CALL accumulateSinkReverse(kbdim,klev,zccca,kk,index_aero,fn2b,aero,ncld,nbins,zminusterm)
  +       END IF
          
          ! Droplets lost by those with larger nucleus in regime b
          IF (lscgcc) &
  
positive.code:   SUBROUTINE coag_aero(kbdim,klev,tstep,    &
                         zccaa,zccca,zccpa,zccia,zccsa)
      
      INTEGER, INTENT(in) :: kbdim,klev
      REAL, INTENT(in) :: tstep
      REAL, INTENT(in) :: zccaa(kbdim,klev,nbins,nbins),zccca(kbdim,klev,nbins,ncld),  &
                          zccpa(kbdim,klev,nbins,nprc),zccia(kbdim,klev,nbins,nice),   &
                          zccsa(kbdim,klev,nbins,nsnw)
  
      INTEGER :: index_2a,index_2b
      INTEGER :: ii,jj,kk
  
      INTEGER :: nspec
  
negative.code: 
         ! Particle volume gained from smaller particles in regime 1a
         IF (kk > in1a .AND. lscgaa) &
              CALL accumulateSource(kbdim,klev,nspec,zccaa,kk,in1a,kk-1,aero,nbins,nbins,zplusterm)
  
         ! Particles gained from cloud droplets with smaller dry ccn diameter (usually not relevant for the smallest particles but
         ! the possibility included for generity)
         IF (lscgca) THEN
            IF (kk > ica%par) THEN
               ! Get the corresponding cloud index minus 1
               index_cld = kk-ica%par
               CALL accumulateSourceReverse(kbdim,klev,nspec,zccca,kk,ica%cur,index_cld,cloud,nbins,ncld,zplusterm)
            END IF 
         END IF
        
         DO jj = 1,klev
            DO ii = 1,kbdim
               !-- Volume and number concentrations after coagulation update [fxm]
               aero(ii,jj,kk)%volc(1:nspec) = ( aero(ii,jj,kk)%volc(1:nspec)+tstep*zplusterm(1:nspec,ii,jj) * &
                    aero(ii,jj,kk)%numc ) / (1. + tstep*zminusterm(ii,jj))
  