The MAXLOC function returns the location of the first element in array having the maximum value of all the elements identified by mask.
SyntaxMAXLOC (array [, dim] [, mask] )
array is an INTENT(IN) array of type INTEGER or REAL.
dim is an INTENT(IN) scalar INTEGER in the range
mask is an INTENT(IN) scalar or array of type LOGICAL and must be conformable with array.
The result is of type default INTEGER.
If dim is present, the result is an array of rank n-1 where n is the rank of array. The result values are the locations containing the maximum value along dimension dim.
If dim is absent, the result is an array of rank one whose size is the rank of array. Each element contains the subscript value of the first element in array to have the maximum value of all of the elements of array.
If mask is present, the elements of array for which mask is false are not considered.
Exampleinteger :: i6(6) = (/-14,3,0,-2,19,1/) integer :: i23(2,3) = reshape((/-14,3,0,-2,19,1/),shape(i23)) write(*,'(2i4)') i23 ! writes -14 3 ! 0 -2 ! 19 1 write(*,*) maxloc(i6) ! writes 5 write(*,*) maxloc(i23) ! writes 1 3 write(*,*) maxloc(i23,dim=1) ! writes 2 1 1 write(*,*) maxloc(i23,dim=2) ! writes 3 1 write(*,*) maxloc(i23,dim=1,mask=(i23 < 10)) ! writes 2 1 2