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 branches found
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.
Please register or to comment