- 积分
- 7263
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-12-20
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2012-6-22 12:15:34
|
显示全部楼层
言深深 发表于 2012-6-22 10:28
你就是对每个格点逐一滤波吧?这样是可以的,但是程序上面有一些漏洞!
1、二进制的数据在读取方式上面是有 ...
program lvbo
implicit none
integer,parameter::nd=121
integer i,nx,ny,nz
real perl,perc
real w0,w1
real uwnd(144,29,17,nd),y(nd),x(nd),uu(144,29,17,nd)
perl=30.0
perc=sqrt(1800.0)
open(11,file='E:\uwndfield\readuwnd\uwnd1.grd',form='binary')
do nx=1,144
do ny=1,29
do nz=1,17
do i=1,nd
read(11) uwnd(nx,ny,nz,i)
x(i)=uwnd(nx,ny,nz,i)
end do
end do
end do
end do
call FILTER(x,ND,PERC,PERL,W0,W1,y)
open(21,file='E:\uwndfield\uwnd30-60filter\30-60filter\uwnd
&30-60-1.grd',form='binary')
do nx=1,144
do ny=1,29
do nz=1,17
do i=1,nd
uu(nx,ny,nz,i)=y(i)
write(21) uu(nx,ny,nz,i)
end do
end do
end do
end do
end do
改成这样和以前的那样都能输出结果 ,主要是对结果生成的文件进行的开始 ,是打不开的 fortran运行的黑框 闪一下就没了 也没有结果 |
|