program main
implicit none
real G, lat
real a,b
integer n
real,parameter::pi=3.1415926
real::ws(365),dr(365),angle(365),rizhao(365),q(365),qq(365),tianwen(365)
a=0.18
b=0.55
G=0.0820*24.0*60.0
lat=42.53*(pi/180.0)
open(10,file="D:\1998PAR.txt")
open(11,file="D:\1998.txt")
do n=1,365
read(10,*)q(n)
read(11,*)tianwen(n)
q(n)=q(n)/0.5*0.0864
angle(n)=0.409*sin((2*pi/365.0)*n-1.39)
dr(n)=1+0.033*cos((2*pi/365.0)*n)
ws(n)=acos(-tan(lat)*tan(dr(n)))
qq(n)=24.0*(60.0/pi)*G*dr(n)*(ws(n)*sin(lat)*sin(dr(n))+cos(lat)*cos(dr(n))*sin(ws(n)))
rizhao(n)=(q(n)/qq(n)-a)/b*tianwen(n)
end do
write(*,"(f8.2)")rizhao
stop
end
22.png (255.23 KB, 下载次数: 365)
33.png (24.23 KB, 下载次数: 368)
44.png (58.48 KB, 下载次数: 389)
3.56 KB, 下载次数: 3
2.77 KB, 下载次数: 1
fcode 发表于 2018-5-18 07:48
ws(n)=acos(-tan(lat)*tan(dr(n)))
也就是
-tan(lat)*tan(dr(n)) 不在 [-1,1] 范围内
fcode 发表于 2018-5-18 07:48
ws(n)=acos(-tan(lat)*tan(dr(n)))
也就是
-tan(lat)*tan(dr(n)) 不在 [-1,1] 范围内
欢迎光临 Fortran Coder (http://bbs.fcode.cn/) | Powered by Discuz! X3.2 |