55 integer :: jjjj,mm,id,iu,minute,yyyymmdd,hhmmss
57 real :: sinsol,solelev,ylat,xlon
58 real :: rnum,rylat,ttime,dekl,rdekl,eq
59 real,
parameter :: pi=3.1415927
62 call
caldate(jul,yyyymmdd,hhmmss)
64 mm=yyyymmdd/100-jjjj*100
65 id=yyyymmdd-jjjj*10000-mm*100
67 minute=hhmmss/100-100*iu
70 if(mm.gt.2) ndaynum=ndaynum-int(0.4*mm+2.3)
71 if((mm.gt.2).and.(jjjj/4*4.eq.jjjj)) ndaynum=ndaynum+1
73 rnum=2.*pi*ndaynum/365.
75 ttime=
real(iu)+
real(minute)/60.
77 dekl=0.396+3.631*sin(rnum)+0.038*sin(2.*rnum)+0.077*sin(3.*rnum)- &
78 22.97*cos(rnum)-0.389*cos(2.*rnum)-0.158*cos(3.*rnum)
81 eq=(0.003-7.343*sin(rnum)-9.47*sin(2.*rnum)- &
82 0.329*sin(3.*rnum)-0.196*sin(4.*rnum)+ &
83 0.552*cos(rnum)-3.020*cos(2.*rnum)- &
84 0.076*cos(3.*rnum)-0.125*cos(4.*rnum))/60.
86 sinsol=sin(rylat)*sin(rdekl)+cos(rylat)*cos(rdekl)* &
87 cos((ttime-12.+xlon/15.+eq)*pi/12.)
91 solelev=asin(sinsol)*180./pi
subroutine caldate(juldate, yyyymmdd, hhmiss)
real function zenithangle(ylat, xlon, jul)