gs2_maxval_real_array_2 Function

private function gs2_maxval_real_array_2(array_in) result(the_max)

Find maximum in 2D array

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension(:, :) :: array_in

Return Value real


Contents


Source Code

  real function gs2_maxval_real_array_2(array_in) result(the_max)
    implicit none
    real, dimension(:, :), intent(in) :: array_in
    integer :: counter, start, end

    start = lbound(array_in, dim = 2)
    end = ubound(array_in, dim = 2)
    the_max = 0.0
    !$OMP PARALLEL DO DEFAULT(none) &
    !$OMP SHARED(start, end, array_in) &
    !$OMP REDUCTION(max: the_max) &
    !$OMP SCHEDULE(static)
    do counter = start, end
       the_max = max(maxval(array_in(:, counter)), the_max)
    end do
    !$OMP END PARALLEL DO
  end function gs2_maxval_real_array_2