diff --git a/src/encounter/encounter_check.f90 b/src/encounter/encounter_check.f90 index ea42073a0..e8bd7987e 100644 --- a/src/encounter/encounter_check.f90 +++ b/src/encounter/encounter_check.f90 @@ -918,7 +918,6 @@ module pure subroutine encounter_check_sort_aabb_1D(self, n, extent_arr) real(DP), dimension(:), intent(in) :: extent_arr !! Array of extents of size 2*n ! Internals integer(I4B) :: i, j, k, ibox, jbox - integer(I4B), dimension(2) :: extent logical, dimension(:), allocatable :: lfresh call util_sort(extent_arr, self%ind) diff --git a/src/util/util_sort.f90 b/src/util/util_sort.f90 index a3ad9a15c..84371b773 100644 --- a/src/util/util_sort.f90 +++ b/src/util/util_sort.f90 @@ -93,7 +93,8 @@ module pure subroutine util_sort_index_dp(arr, ind) allocate(ind(n)) ind = [(i, i=1, n)] end if - allocate(tmparr, source=arr) + allocate(tmparr, mold=arr) + tmparr(:) = arr(ind(:)) call qsort_DP(tmparr, ind) return @@ -221,7 +222,8 @@ module pure subroutine util_sort_index_i4b(arr, ind) allocate(ind(n)) ind = [(i, i=1, n)] end if - allocate(tmparr, source=arr) + allocate(tmparr, mold=arr) + tmparr(:) = arr(ind(:)) call qsort_I4B(tmparr, ind) return @@ -348,7 +350,8 @@ module pure subroutine util_sort_index_sp(arr, ind) allocate(ind(n)) ind = [(i, i=1, n)] end if - allocate(tmparr, source=arr) + allocate(tmparr, mold=arr) + tmparr(:) = arr(ind(:)) call qsort_SP(tmparr, ind) return