! ! Hilfsroutinen fuer File-I/O ! module fileutil implicit none contains function anzahlReals(fileId) ! gibt die Zahl von Realwerten im File der Unit fileId zurueck use kinds implicit none integer :: anzahlReals integer, intent(in) :: fileId real(kind=REAL8) :: dummy integer :: status anzahlReals = 0 do read(fileId, *, iostat=status) dummy if (status /= 0) exit anzahlReals = anzahlReals + 1 end do if (status > 0) then write (*,*) 'Konnte Array nicht lesen.' stop else ! Ende der Datei erreicht rewind(fileId) end if status = dummy return end function anzahlReals function anzahlReals2(fileId) ! gibt die Zahl von Realwert-Paaren im File der Unit fileId zurueck use kinds implicit none integer :: anzahlReals2 integer, intent(in) :: fileId real(kind=REAL8) :: dummy1, dummy2 integer :: status anzahlReals2 = 0 do read(fileId, *, iostat=status) dummy1, dummy2 if (status /= 0) exit anzahlReals2 = anzahlReals2 + 1 end do dummy2 = dummy1 dummy1 = dummy2 if (status > 0) then write (*,*) 'Konnte Array nicht lesen.' stop else ! Ende der Datei erreicht rewind(fileId) end if return end function anzahlReals2 end module fileutil