Рассмотрим список имен, содержащий двумерные массивы. Например, следующая программа читает из файла "input.dat".
program test
use :: iso_fortran_env
implicit none
integer :: ierr, unit, i
real(kind=kind(0.0d0)), allocatable :: p(:, :)
namelist /VAR_p/ p
allocate(p(2,2))
open(newunit=unit, file='input.dat', status='old', iostat=ierr)
read(unit, nml=VAR_p, iostat=ierr)
close(unit)
do i = 1, size(p, 1)
write(output_unit, '(F4.2," ",F4.2)') p(i,1), p(i,2)
end do
end program test
Можно указать массив p в "input.dat" как
! input.dat
&VAR_p
p(1,1) = 1.2
p(1,2) = 3.2
p(2,1) = 1.0
p(2,2) = 0.0
/
. программа работает нормально. Тем не менее, я бы предпочел предоставлять массив p построчно. Что-то вроде
! input.dat
&VAR_p
p(1,:) = (1.2, 3.2)
p(2,:) = (1.30, 0.0)
/
Есть ли синтаксис для достижения этого?