SUBROUTINE dbcsr_new_image_dist(imgdist, dist, &
template)
TYPE(dbcsr_imagedistribution_obj), INTENT(OUT) :: imgdist
TYPE(dbcsr_distribution_obj), INTENT(IN) :: dist
TYPE(dbcsr_imagedistribution_obj), INTENT(IN) :: template
! ---------------------------------------------------------------------------
idid = idid + 1
ALLOCATE (imgdist%i)
imgdist%i%refcount = 1
imgdist%i%id = idid
imgdist%i%row_decimation = template%i%row_decimation
imgdist%i%row_multiplicity = template%i%row_multiplicity
imgdist%i%col_decimation = template%i%col_decimation
imgdist%i%col_multiplicity = template%i%col_multiplicity
!
NULLIFY (imgdist%i%other_vl_rows)
NULLIFY (imgdist%i%other_vl_cols)
CALL array_nullify(imgdist%i%global_vrow_map)
CALL array_nullify(imgdist%i%global_vcol_map)
imgdist%i%has_other_vl_rows = .FALSE.
imgdist%i%has_other_vl_cols = .FALSE.
imgdist%i%has_global_vrow_map = .FALSE.
imgdist%i%has_global_vcol_map = .FALSE.
!
imgdist%i%main = dist
CALL dbcsr_distribution_hold(imgdist%i%main)
!
END SUBROUTINE dbcsr_new_image_dist