挑発されてるようで不快だが

配列に同じ値がないか、重複を排除した2番目に大きい値
(例えば配列a=(/1, 2, 5, 3, 5/)なら3)を返してほしいなら
maxval(a, mask = a < maxval(a))でいい
配列を降順に並べた時の2番目の値(上の例なら5)を返してほしいなら
maxlocで最初の最大値の位置を特定して、それを除外した配列のmaxvalをとる