(그림을 클릭하지 마시오. 절대)
아마 옛날에 포트란 77로 포트란을 공부하던 시절에 책에서 분명히 읽었 법한 내용이다.
시간도 오래되고 90을 거쳐 95로 넘어가면서 그런 당연한 규칙을 잊었던 것 같다.
OPEN문을 사용하여 외부파일과 연결을 시킬 때 다음과 같은 형식을 쓴다.
(물론 포트란 종류에 따라 조금 다른 포맷을 쓸 수도 있다.)
OPEN(# , file='filename.dat', status='unknown')
#는 외부파일과 연결하는 채널 번호이다. 채널번호를 부여해 파일을 연결시켜서 파일을 읽어들이거나 값을 외부파일에 보낼 수도 있다.
이전에 바보같이 #자리에 6을 써서 아래 READ문을 사용하여 파일을 읽어들였는데 그 아래의 WRTIE(*,*)나 PRINT *, 문등을 이용한 화면출력문이 먹히질 않았다. 다른 채널을 통해 값을 외부파일에 보내는 것은 되는데 화면출력이 안되서 며칠 의구심 속에서 보낸 적이 있었다.
화면으로 보내는 채널을 다른 파일로 꽉 막아놓고는 왜 화면출력이 안되는지 투덜거리고 있었던 셈이었다. 고로 OPEN 사용시 6은 금기의 숫자임을 알아두자 !!
단순히 계산 값을 외부파일로 보내는 것 외에 외부값을 프로그램으로 불러오는 기술은 프로그래밍에서 고급기술이다.
완벽히 짜여진 프로그램은 더 이상 손볼 일이 없는 프로그램이다. 파라미터로 변화를 주고 싶은 내용은 포트란 프로그램과 연결된 외부파일로 제어할 수 있어야 한다.
비슷한 맥락에서 그때그때 바뀌는 입자의 질량등의 값들도 외부파일로 모아 관리하면 편하다. 어떤 함수를 쓸 것인가에 대한 옵션이나 출력옵션 등의 정보도 외부파일에서 관리하고 메인 프로그램 들은 손대지 않는 방향으로 프로그램을 설계해나갈 것을 권한다.
2012년 10월 29일 월요일
'과학 연구용 도구 > Fortran' 카테고리의 다른 글
수치적분법 : Gaussian Qudrature (0) | 2012.11.27 |
---|---|
수치적분에서 선형적인 적분변수를 선택하라 (0) | 2012.11.09 |
[F95]고급 프로그래밍으로 가기 위해 필수적인 외부파일 제어 (1) | 2012.10.31 |
포트란: 계산 끝을 알리는 소리알람 명령줄 (0) | 2012.10.28 |
포트란: 계산시간 확인하기 : cpu_time (1) | 2012.10.27 |