NAMELIST I/O

변수 이름과 값이 고정되었을 때 사용하기에 편리

NAMELIST-directed WRITE

PROGRAM Write_NameList

IMPLICIT NONE

INTEGER :: i = 1, j = 2
REAL :: a = -999., b = 0.
CHARACTER(LEN = 12) :: string = 'Test string.'
NAMELIST /mylist/ i, j, string, a, b

OPEN (UNIT = 8, FILE = 'output.nml', DELIM = 'APOSTROPHE')
WRITE (UNIT = 8, NML = mylist)
CLOSE (UNIT = 8)

END PROGRAM Write_NameList

위 소스를 write_namelist.f95로 저장

컴파일 및 프로그램 테스트

NAMELIST-directed READ

PROGRAM Read_NameList

IMPLICIT NONE

INTEGER :: i = 1, j = 2
REAL :: a = -999., b = 0.
CHARACTER(LEN = 12) :: string = 'Test string.'
NAMELIST /mylist/ i, j, string, a, b

OPEN (UNIT = 8, FILE = 'input.nml', DELIM = 'APOSTROPHE')

WRITE (*,'(1X, A)') 'Namelist file before update: '
WRITE (UNIT = *, NML = mylist)

READ (UNIT = 8, NML = mylist)

WRITE (*,'(1X, A)') 'Namelist file after update: '
WRITE (UNIT = *, NML = mylist)

CLOSE (UNIT = 8)

END PROGRAM Read_NameList

위 소스를 read_namelist로 저장

&MYLIST
I = -111
STRING = 'Test 1.'
STRING = 'Different!'
B = 123456.
/

위 자료를 input.nml로 저장

컴파일 및 프로그램 실행



+ Recent posts