- 积分
- 3289
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-12-1
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 liuzh3316 于 2014-11-7 14:15 编辑
parameter(ix=41,iy=41)
real u(ix,iy,17),v(ix,iy,17),se(ix,iy,17),fs1(ix,iy,17)
open(1,file="fs.urd",form="binary")
open(2,file="fs.grd",form="binary")
open(3,file="out.txt")
do 10 i1=1,20
read(1)(((se(i,j,k),i=1,ix),j=1,iy),k=1,17)
read(1)(((u(i,j,k),i=1,ix),j=1,iy),k=1,17)
read(1)(((v(i,j,k),i=1,ix),j=1,iy),k=1,17)
call fs2(u,v,se,fs1)
write(2) (((fs1(i,j,k),i=1,ix),j=1,iy),k=1,17)
if(i1.eq.6) then
write(3,100) ((fs1(i,j,4),i=1,ix),j=1,iy)
write(3,100) ((u(i,j,4),i=1,ix),j=1,iy)
write(3,*) "sdfd"
write(3,100) ((v(i,j,4),i=1,ix),j=1,iy)
write(3,*) "sdfd"
write(3,100) ((se(i,j,4),i=1,ix),j=1,iy)
endif
100 format(41(f8.3,1x))
10 continue
close(1)
close(2)
close(3)
end
subroutine fs2(u,v,se,fs1)
parameter (ix=41,iy=41)
real u(ix,iy,17),v(ix,iy,17),se(ix,iy,17),fs1(ix,iy,17)
real dx(iy),dy,lon,f2,f3,dux,duy,dvx,dvy
lon=19.0
r=637
pi=3.1416
dy=r*pi/180.
do 10 i=1,iy
dx(i)=dy*cos((lon+i)/180.0*pi)
10 continue
do 20 k=1,17
do 20 i=2,ix-1
do 20 j=2,iy-1
dsex=0.5*(se(i+1,j,k)-se(i-1,j,k))/dx(j)
dsey=0.5*(se(i,j+1,k)-se(i,j-1,k))/dy
dsez=(dsex*dsex)+(dsey*dsey)
dse=sqrt(dsez)
dux=0.5*(u(i+1,j,k)-u(i-1,j,k))/dx(j)
dvx=0.5*(v(i+1,j,k)-v(i-1,j,k))/dx(j)
duy=0.5*(u(i,j+1,k)-u(i,j-1,k))/dy
dvy=0.5*(v(i,j+1,k)-v(i,j-1,k))/dy
f2=-0.5*dsez*(dux+dvy)
s1=((dsex*dsex)-(dsey*dsey))*(dux-dvy)*0.5
s2=dsex*dsey*(dvx+duy)
f3=-(s1+s2)/dse
fs1(i,j,k)=((f2+f3))*100
20 continue
end
|
-
-
fs.for
1.68 KB, 下载次数: 24, 下载积分: 金钱 -5
-
-
1.wmf
219.62 KB, 下载次数: 25, 下载积分: 金钱 -5
|