- 积分
- 1460
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-2-26
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 hello-lyn 于 2014-11-13 21:33 编辑
想用grads计算单个站点的水汽含量,先用fortran把站点资料写成grd,再编gs计算水汽含量。但最后不能出图,感觉不对,又不知问题在哪里。。还请各位指教!!!fortran程序如下:
program stn2grd
parameter(lev=6,mo=12)
real lat,lon,alt,year,mon,tt(2),p(lev),h(mo,2,lev),t(mo,2,lev),d(mo,2,lev),u(mo,2,lev)
integer i,j,k
open(3,file='d:\1007\55299stn2010.txt')
do j=1,mo
do i=1,2 !读站点数据
do k=1,lev
read(3,*) stid,lat,lon,alt,year,mon,tt(i),p(k),h(j,i,k),t(j,i,k),d(j,i,k),u(j,i,k)
enddo;enddo;enddo
close(3)
open(11,file='d:\1007\55299201000.grd',form='binary')
open(12,file='d:\1007\55299201012.grd',form='binary')
open(14,file='d:\1007\55299201000.txt')
do j=1,mo
write(11) h(j,1,1),t(j,1,1),d(j,1,1)
write(14,200) h(j,1,1),t(j,1,1),d(j,1,1) !地面变量
write(12) h(j,2,1),t(j,2,1),d(j,2,1)
do k=2,lev
write(11) t(j,1,k),d(j,1,k)
write(14,200) t(j,1,k),d(j,1,k) !高空变量
write(12) t(j,2,k),d(j,2,k)
enddo;enddo
close(11)
close(12)
close(14)
200 format(3f10.4)
end
ctl:
dset d:\1007\55299201000.grd
title station data
undef 99999
xdef 1 linear 91.0 1.0
ydef 1 linear 30.0 1.0
zdef 5 levels 500 400 300 250 200
tdef 12 linear jan2010 1mo
vars 6
ps 0 99 surface pressure
ts 0 99 surface temp
ds 0 99 surface dtemp
p 5 99 pressure
t 5 99 temp
d 5 99 dtemp
endvars
gs:
'reinit'
'open d:\1007\55299201000.ctl'
'open d:\1007\55299201012.ctl'
*计算露点温度、饱和水汽压、比湿、水汽含量
'td1=(t-d)*0.1'
'td2=(t.2-d.2)*0.1'
'e1=6.112*exp((17.67*td1)/(td1+243.5))'
'e2=6.112*exp((17.67*td2)/(td2+243.5))'
'q1=0.622*e1/(p.1-0.378*e1)'
'q2=0.622*e2/(p.2-0.378*e2)'
'W1=vint(ps,q1,200)'
'w2=vint(ps.2,q2,200)'
'w=(w1+w2'
'set z 1 6 '
'set t 1 12'
'd w'
;
|
|