이번에는 저희 대기복사 교재에 있는 시간방정식을 계산해보겠습니다
개념 자체는 조금 어려울 수 있습니다
![](https://blog.kakaocdn.net/dn/b4hhZu/btrPyteTJz6/cVEPuAmhgHah6jjn3R7u8k/img.png)
시간방정식의 의미)
균시차라고 부르기도 합니다
쉽게 말해서 해시계로 읽은 시간과 기계적으로 읽은 시간의 차이를 말합니다
흔히 저희가 사용하는 시계는 24시간이지만 실제 태양시는 24시간이 아닙니다
하루하루 차이는 작을 수 있지만 1년 동안 누적되면 생각보다 커집니다
이 차이가 생기는 이유는 지구의 자전축의 경사와 공전 궤도의 이심률 때문입니다
지구의 공전궤도가 타원이기 때문에 태양에 가까워 질수록 공전속도가 빨라지고 멀어질수록 느려지게 됩니다
이를 근일점과 원일점이라고 합니다
자전축이 기울어진 채 공전궤도 위를 지나기 때문에 태양이 지나가는 길, 즉 황도가 일정할 수 없습니다
이 두 가지 이유로 인해 차이가 나게 되는 것이죠
시간 방정식)
![](https://blog.kakaocdn.net/dn/LwofM/btrPxIcs25I/9S1rjAJtHV1Q0yPaLnSfh0/img.png)
시간 방정식의 공식은 이렇게 생겼습니다
![](https://blog.kakaocdn.net/dn/3vF2w/btrPzjP5L7o/1WaeWdAkBWHW1XkEaCIwKk/img.png)
사진 설명을 입력하세요.
대문자 감마는 여전히 day number로 계산한 값을 사용합니다
1월 1일부터 12월 31일까지 얼마나 차이가 나는지 보는 방정식이니까요
시간방정식 코드)
REAL :: r
REAL, parameter :: pi = 4. * atan(1.)
open(1, file = 'et.csv')
write(1, *)'dn',',','et'
do i = 1, 365
r = (2 * pi * (i - 1))/365.
et1 = 0.000075 + 0.001868 * cos(r) - 0.032077 * sin(r) -0.014615* cos(2 * r) - 0.04089 * sin(2 * r)
et = et1 * 229.18
write(1, 10) i,',',et
10 format(i3, a, f10.2, a)
end do
end
아직까지는 단순한 공식 계산을 하고 있기 때문에 코드들이 대부분 비슷합니다
공식 표현을 하기 위해 변수들을 잘 만드냐의 문제일 뿐이죠
반복문을 사용해서 day number가 1부터 365까지 계산한 것이기 때문에
write문도 반복문 안에 있어야 1부터 365까지 계산된 값을 모두 출력하는 것만 알아두시면 될 것 같습니다
다음 포스팅은 평균 풍향 풍속을 계산해보겠습니다
감사합니다!
'Fortran' 카테고리의 다른 글
작업6 : Fortran으로 합성 풍속 풍향 구하기2 (0) | 2022.10.26 |
---|---|
작업5 : Fortran으로 합성 풍향 풍속 구하기1 (0) | 2022.10.26 |
작업3: Fortran으로 태양의 적위 계산하기 (0) | 2022.10.26 |
작업2 : 이심률 구하기 (3) | 2022.10.18 |
작업1 : 태양의 유효복사온도 계산 (0) | 2022.10.18 |