- 积分
- 7
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-4-30
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 sinting 于 2014-4-30 14:56 编辑
我的毕业论文有个部分是MJO每个位相的台风强度和数量分析。自己去下了大西洋1974年到2013年的台风强度资料。资料里强度是分一天几个时次的,然后我想先处理成日平均强度,然后在把for每个位相进行处理。但是资料里不是每天都是四个时次,有的只有1个有的有两个,或者三个,而且也不是每天都有,这些缺测值该怎么办?我自己写了一个根据日期判定是不是一天的时次的for,但是编译没有问题,运行不出来,求指教!贴上我的程序:program main integer,parameter::n=16763
integer y(n),m(n),day(n),hour(n),a(n),st(n),st1(n)
real lat(n),lon(n)
open(11,file='h:\data1.txt')
open(12,file='h:\result1.txt')
do i=1,n
read(11,*) y(i),m(i),day(i),hour(i),a(i),lat(i),lon(i),st(i)
enddo
do i=1,n
if(day(i)/=day(i+1))then
st1(i)=st(i)
elseif(day(i)==day(i+1).and.day(i)/=day(i+2))then
st1(i)=(st(i)+st(i+1))/2
elseif(day(i)==day(i+1).and.day(i)==day(i+2).and.day(i)/=day(i+3))then
st1(i)=(st(i)+st(i+1)+st(i+2))/3
elseif(day(i)==day(i+1).and.day(i)==day(i+2).and.day(i)==day(i+3))then
st1(i)=(st(i+1)+st(i+2)+st(i+3)+st(i+4))/4
endif
enddo
do i=1,n
write(12,*) y(i),m(i),day(i),hour(i),a(i),lat(i),lon(i),st(i)
enddo
end
|
|