A comparison over an array produces a logical array, and count tells how many entries are true.

Program

Play the program to change the passing cutoff and count matching scores.

count_mask.f90
program count_mask_demo
    implicit none
    integer :: scores(5)
    integer :: cutoff
    logical :: passing(5)
    integer :: total

    scores = [70, 85, 90, 60, 75]
    cutoff = 
    passing = scores >= cutoff
    total = count(passing)
    print '(I0)', total
end program count_mask_demo
program count_mask_demo
    implicit none
    integer :: scores(5)
    integer :: cutoff
    logical :: passing(5)
    integer :: total

    scores = [70, 85, 90, 60, 75]
    cutoff = 
    passing = scores >= cutoff
    total = count(passing)
    print '(I0)', total
end program count_mask_demo
program count_mask_demo
    implicit none
    integer :: scores(5)
    integer :: cutoff
    logical :: passing(5)
    integer :: total

    scores = [70, 85, 90, 60, 75]
    cutoff = 
    passing = scores >= cutoff
    total = count(passing)
    print '(I0)', total
end program count_mask_demo
logical array `scores >= cutoff` compares each array element.
count `count(passing)` returns how many logical values are true.
threshold Changing the cutoff changes the mask before the count runs.