登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 微笑的橙子 于 2017-3-30 07:51 编辑
刚学GrADS不久的小白一枚。。用的方法比较蠢。。先用fortran把数据算出来了然后再写ctl文件进GrADS里面跑,但是不知道为什么出不来图
求各位大神帮看!!!!要求是在300个时间步长的时间段内在每个时间点上,闭合圈上360个格点的速度。。
fortran程序:
program main
implicit none real u(360,301) real c,dx,dt,pi integer i,j,l l=1 pi=3.1415927
write(*,*) "x steps:" read(*,*) dx write(*,*) "t steps:" read(*,*) dt write(*,*) "c:" read(*,*) c
do i=1,360 u(i,1)=20.0*cos((3.0*(i-1))*pi/180) end do
do j=2,360 u(j,2)=u(j,1)+c*dt*(u(j-1,1)-u(j+1,1))/(2*dx) end do
u(1,2)=c*dt*(u(360,1)-u(2,1))/(2*dx)+u(360,1) u(360,2)=c*dt*(u(359,1)-u(1,1))/(2*dx)+u(1,1)
do j=3,301 do i=2,359 u(i,j)=c*dt*(u(i-1,j-1)-u(i+1,j-1))/dx+u(i,j-2) end do u(1,j)=2*c*dt*(u(360,j-1)-u(2,j-1))/(2*dx)+u(1,j-2) u(360,j)=2*c*dt*(u(359,j-1)-u(1,j-1))/(2*dx)+u(360,j-2) end do
open(unit=10,file='desktop/result.grd',form='unformatted',status='new',access='direct',recl=360*4) do j=1,301 write(10,rec=l) (u(i,j),i=1,360) l=l+1 end do close(10)
stop end
ctl文件: dset desktop/result.grd title homework3 undef -9999.0 xdef 360 linear 1. 1. ydef 1 linear 0. 2.5 zdef 301 linear 1. 1. tdef 1 linear jan1981 5mn vars 1 u 1 99 windspeed endvars
d了u后除了坐标轴什么都没有 求帮助求帮助!!
|