Это просто набросок того, что я предложил в своем комментарии: «Вы можете прочитать файл строка за строкой в строку и затем действовать в соответствии с содержимым строки.»
logical :: read_numbers
character(255) :: line
read_numbers = .false.
do
read(unit,'(a)') line
if (read_numbers) then
read(line,*) array
read_numbers = .false.
end if
read_numbers = (line(1:2)=='OW')
end do
Это будет установите read_numbers
в значение true, когда оно встречает "OW". Затем он будет читать цифры в следующем проходе. При необходимости добавьте обработку ошибок.