리눅스

[Fortran] 년,월,일 날짜 데이터 만들기

쵸비 2023. 6. 30. 14:15
728x90

Fortran은 대기환경과학과를 나온 사람이라면 한번 쯤 다뤄본 언어이다.

연산이 빠른게 큰 장점이랄까 ㅎㅎ 아무튼 아무것도 없는 맨 바닥에서 윤달까지 계산해본 날짜 데이터를 만들어 보자!

 

Fortran은 무조건 앞에 7칸은 비워두고 작성해야 한다. (첫 줄은 파일명이 들어가기에 상관없음)

그리고 여기서 주석 처리는 (!)가 되니 필요할 때 잘 써먹자

 

vi test.f90으로 들어가 주고 아래 코드를 입력해준다.

      integer,dimension(20) :: yyyy
      integer,dimension(12) :: mon
      integer,dimension(31) :: day

      open(1,file='date.dat')

      do i=2018,2021
      yyyy(i)=i
        do j=1,12
          mon(j)=j
            if(j==1.or.j==3.or.j==5.or.j==7.or.j==8.or.j==10.or.j==12) then
              do k=1,31
                  day(k)=k
                  write(1,'(3i5)') yyyy(i),mon(j),day(k)
              enddo
            elseif(mod(yyyy(i),4)==0.and.j==2) then
              do k=1,29
                  day(k)=k
                  write(1,'(3i5)') yyyy(i),mon(j),day(k)
              enddo
            elseif(mod(yyyy(i),4)/=0.and.j==2) then
              do k=1,28
                  day(k)=k
                  write(1,'(3i5)') yyyy(i),mon(j),day(k)
              enddo
            else
              do k=1,30
                  day(k)=k
                  write(1,'(3i5)') yyyy(i),mon(j),day(k)
              enddo
            endif
          day=0
        enddo
      enddo
      end

 작성이 완료가 되면 :wq를 입력해 저장하고 나온다.

 

teset.f90 파일이 생성된 것을 볼 수 있다.

 

이제 실행파일을 만들어 보자 commend창에 gfortran -o makedate test.f90을 입력하게 되면 초록색으로 makedate 실행파일이 생성된다. 그리고 ./makedate를 입력하면.. 짜란~ date.dat 파일이 생기게 된다.

잘 만들어진 것을 확인 할 수 있다. 그리고 이 파일의 길이를 구하고 싶으면 wc -l date.dat에 입력해주자.

1461개의 row수를 확인 할 수 있다. 음 ~ 20년의 날짜가 잘 나왔군

 

728x90