- 积分
- 546
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-5-8
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 好名字 于 2022-11-9 22:10 编辑
求助各位老师,在求扰动场的时候,一共20个时次,从第11个时次开始,后面几个时次图片直接没有数据,如图1。我是先求u、v分量的扰动,然后将两个数据写进一个文件里面进行画图。如图2:uss500.grd、vss500.grd、suv.grd为平滑场数据,u500.grd、v500.grd为原始场数据,平滑场画图是正常的,su、sv、uvs是扰动场数据。Fortran算扰动场的程序为:
parameter(m=181,n=91,t=20)
dimension s1(m,n,t),s2(m,n,t),s(m,n,t),h1(m,n,t),h2(m,n,t),h(m,n,t)
integer i,j,k,l
open (11,file='e:\1017\output\uss500.grd',form='unformatted')
do k=1,t
do j=1,n
do i=1,m
read(11) s1(i,j,k)
enddo
enddo
enddo
open (21,file='e:\1017\input\u500.grd',status='old',Access = 'Direct',Form = 'Unformatted',Recl=1)
l=0
do k=1,t
do j=1,n
do i=1,m
l=l+1
read(21,rec=l) s2(i,j,k)
enddo
enddo
enddo
close(11)
close(21)
do k=1,t
do j=1,n
do i=1,m
s(i,j,k)=s2(i,j,k)-s1(i,j,k)
enddo
enddo
enddo
open (31,file='e:\1017\output\su500.grd',status='REPLACE',Form = 'Unformatted',Recl=1)
l=0
do k=1,t
do j=1,n
do i=1,m
l=l+1
write(31,rec=l) s(i,j,k)
enddo
enddo
enddo
close(31)
open (12,file='e:\1017\output\vss500.grd',form='unformatted')
!l=0
do k=1,t
do j=1,n
do i=1,m
! l=l+1
!read(12,rec=l) h1(i,j,k)
read(12) h1(i,j,k)
enddo
enddo
enddo
open (22,file='e:\1017\input\v500.grd',status='old',Access = 'Direct',Form = 'Unformatted',Recl=1)
l=0
do k=1,t
do j=1,n
do i=1,m
l=l+1
read(22,rec=l) h2(i,j,k)
enddo
enddo
enddo
close(12)
close(22)
do k=1,t
do j=1,n
do i=1,m
h(i,j,k)=h2(i,j,k)-h1(i,j,k)
enddo
enddo
enddo
open (32,file='e:\1017\output\sv500.grd',status='REPLACE',Form = 'Unformatted',Recl=1)
l=0
do k=1,t
do j=1,n
do i=1,m
l=l+1
write(32,rec=l) h(i,j,k)
enddo
enddo
enddo
close(32)
end
原始场数据的gs:
'reinit'
'open E:\data\20170623\fnl2.ctl'
'set fwrite E:\1017\input\u500.grd'
'set gxout fwrite'
tt=1
while(tt<=20)
'set t 'tt
'set lon 0 180'
'set lat 0 90'
'set lev 500'
'd ugrdprs'
tt=tt+1
endwhile
'disable fwrite'
;
各数据
|
|