- 积分
- 493
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2017-12-16
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 Dannyqiu 于 2018-2-10 13:26 编辑
在家园论坛里面找见了去线性趋势的Fortran程序,把现有的grd海温距平资料进行去线性趋势,然后写了相应的ctl和gs文件,但是陆地范围为什么会出现异常,不知错在哪里了,望大家指教,在写毕业论文~
Fortran:
!x=bt+a
program station
parameter (nx=180,ny=89,mt=636)
real tmsu(nx,ny,mt),yr(mt),y(nx,ny,mt)
real s1(nx,ny),s2(nx,ny),s3(nx,ny),s4(nx,ny),b(nx,ny),a(nx,ny)
integer i,j,it,k
open(1,file='d:\AENSO\sst.mnmean.ssta.grd',form='binary')
do it=1,mt
read(1) ((tmsu(i,j,it),i=1,nx),j=1,ny)
end do
do it=1,mt
yr(it)=it
end do
do i=1,nx
do j=1,ny
do it=1,mt
s1(i,j)=s1(i,j)+tmsu(i,j,it)*yr(it)
s2(i,j)=s2(i,j)+yr(it)
s3(i,j)=s3(i,j)+tmsu(i,j,it)
s4(i,j)=s4(i,j)+yr(it)*yr(it)
enddo
b(i,j)=(s1(i,j)*636-s2(i,j)*s3(i,j))/(s4(i,j)*636-s2(i,j)**2)
a(i,j)=(s3(i,j)-b(i,j)*s2(i,j))/636.0
do it=1,mt
y(i,j,it)=tmsu(i,j,it)-it*b(i,j)-a(i,j)
enddo
enddo
enddo
open(2,file='D:\AENSO\sst.mnmeanqvshi.grd',form='binary')
write(2)(((y(i,j,it),i=1,nx),j=1,ny),it=1,mt)
END
|
|