subroutine setup_pert_array(ctrn_index)
implicit none
integer, intent(in) :: ctrn_index
integer :: i
gf_count = nBasis
allocate(overlap_pert(nBasis))
do i = 1, nBasis
if (ctrn_index == 2) then
overlap_pert(i)%ncreate = 1
allocate(overlap_pert(i)%crtn_orbs(1))
overlap_pert(i)%crtn_orbs(1) = i
call init_perturbation_creation(overlap_pert(i))
else
overlap_pert(i)%nannihilate = 1
allocate(overlap_pert(i)%ann_orbs(1))
overlap_pert(i)%ann_orbs(1) = i
call init_perturbation_annihilation(overlap_pert(i))
end if
end do
end subroutine setup_pert_array