Skip to content
Snippets Groups Projects
Commit f6ec92d8 authored by kamischi's avatar kamischi
Browse files

Test for reading a variable number of real numbers

The intention are the different terms for seteps. Lorentz, Drude and Kurosawa.
parent 053880c3
No related tags found
No related merge requests found
L 123.0 0.53 4.85
D 457.0 358.45
K 78324.5345 235.23 234.43 342.0
program FortranReadTest
implicit none
type :: termType
character (len = 1) :: mode
double precision, dimension (4) :: osc
end type termType
type (termType), dimension (3) :: term
integer :: i, j
open (unit = 1, file = 'FortranReadInput.txt')
do i = 1, 3
term(i) = parseTerm(1)
end do
close (1)
do i = 1, 3
write (*,*) term(i)%mode, (term(i)%osc(j), j = 1, 4)
enddo
stop
contains
type (termType) function parseTerm(unit)
integer, intent (in) :: unit
character (len = 300) :: line
integer :: i
read (unit, '(A)') line
parseTerm%mode = line(1:1)
parseTerm%osc = 0
select case (parseTerm%mode)
case ('L')
read(line(3:), *) (parseTerm%osc(i), i = 1, 3)
case ('D')
read(line(3:), *) (parseTerm%osc(i), i = 1, 2)
case ('K')
read(line(3:), *) (parseTerm%osc(i), i = 1, 4)
! case default
end select
end function parseTerm
end program FortranReadTest
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment