- 积分
- 872
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2020-2-3
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
下面是我求资料月平均的程序,但现在需要处理多个站点的,请问有没有简单一点的算法或者函数直接可以求出月平均?
begin
fn="E:/cygwin/shuju/58238.txt"
ncols=numAsciiCol(fn)
nrows=numAsciiRow(fn)
data=asciiread(fn,(/nrows,ncols/),"double")
year=ispan(1951,2010,1)
month=fspan(1,12,12)
season=ispan(1,4,1)
A=new(dimsizes(year),double,"No_FillValue")
B=new(dimsizes(year),double,"No_FillValue")
C=new(dimsizes(year),double,"No_FillValue")
D=new(dimsizes(year),double,"No_FillValue")
E=new(dimsizes(year),double,"No_FillValue")
F=new(dimsizes(year),double,"No_FillValue")
G=new(dimsizes(year),double,"No_FillValue")
H=new(dimsizes(year),double,"No_FillValue")
I=new(dimsizes(year),double,"No_FillValue")
J=new(dimsizes(year),double,"No_FillValue")
K=new(dimsizes(year),double,"No_FillValue")
L=new(dimsizes(year),double,"No_FillValue")
M=new(12,double,"No_FillValue")
n=0
do i=0,dimsizes(year)-1
if (year(i)%4 .eq. 0) then
A(i)=sum(data(n:n+30,5))
n=n+31
B(i)=sum(data(n:n+28,5))
n=n+29
C(i)=sum(data(n:n+30,5))
n=n+31
D(i)=sum(data(n:n+29,5))
n=n+30
E(i)=sum(data(n:n+30,5))
n=n+31
F(i)=sum(data(n:n+29,5))
n=n+30
G(i)=sum(data(n:n+30,5))
n=n+31
H(i)=sum(data(n:n+30,5))
n=n+31
I(i)=sum(data(n:n+29,5))
n=n+30
J(i)=sum(data(n:n+30,5))
n=n+31
K(i)=sum(data(n:n+29,5))
n=n+30
L(i)=sum(data(n:n+30,5))
n=n+31
else
A(i)=sum(data(n:n+30,5))
n=n+31
B(i)=sum(data(n:n+27,5))
n=n+28
C(i)=sum(data(n:n+30,5))
n=n+31
D(i)=sum(data(n:n+29,5))
n=n+30
E(i)=sum(data(n:n+30,5))
n=n+31
F(i)=sum(data(n:n+29,5))
n=n+30
G(i)=sum(data(n:n+30,5))
n=n+31
H(i)=sum(data(n:n+30,5))
n=n+31
I(i)=sum(data(n:n+29,5))
n=n+30
J(i)=sum(data(n:n+30,5))
n=n+31
K(i)=sum(data(n:n+29,5))
n=n+30
L(i)=sum(data(n:n+30,5))
n=n+31
end if
end do
M(0)=avg(A)
M(1)=avg(B)
M(2)=avg(C)
M(3)=avg(D)
M(4)=avg(E)
M(5)=avg(F)
M(6)=avg(G)
M(7)=avg(H)
M(8)=avg(I)
M(9)=avg(J)
M(10)=avg(K)
M(11)=avg(L)
M=M/10
end
|
|