爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3745|回复: 9

[源代码] 大家帮忙看看这个程序哪里出错了

[复制链接]

新浪微博达人勋

发表于 2014-5-5 20:45:36 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
program ldwd
!此程序求露点温度
implicit none
!rh为相对湿度,t为绝对温度,td为露点绝对温度,p为气压值。
real,parameter::a=17.2693882,b=35.86
integer i,j,irec
integer,parameter::nx=4,ny=3
real rh(nx,ny),t(nx,ny),es(nx,ny),e(nx,ny),td(nx,ny)
open (1,file='e:/rh.grd',form='binary')
open (2,file='e:/tmp.grd',form='binary')
print*,'ok1'
do i=1,nx
do j=1,ny
read(1,rec=irec)(rh(i,j))
       irec=irec+1     
           continue

read(2,rec=irec)(td(i,j))
       irec=irec+1     
           continue
es(i,j)=6.1078*exp(a*(t(i,j)-273.16)/(t(i,j)-b))
e(i,j)=es(i,j)*rh(i,j)/100
do while(e(i,j)<es(i,j))
t(i,j)=t(i,j)-0.05
es(i,j)=6.1078*exp(a*(t(i,j)-273.16)/(t(i,j)-b))
end do
if(e(i,j)>=es(i,j))then
td(i,j)=t(i,j)
end if
end do
end do

do j=1,ny
do i=1,nx
print*,"Td=",td(i,j)
end do
end do
open (3,file='e:/td.grd',form='binary')
do j=1,ny
do i=1,nx
write(3) td(i,j)
end do
end do
end


我是通过相对湿度和温度的grd文件来求取露点温度,grd文件资料时间和空间只有一层,
运行没错,但最后显示的是
QQ截图20140505204206.png

请大家帮我看看哪里出错了,谢谢


密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2014-5-5 21:05:45 | 显示全部楼层
irec没有赋初值,默认为0,溢出了···
在程序前面添加irec=1看看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-5-5 21:12:13 | 显示全部楼层
言深深 发表于 2014-5-5 21:05
irec没有赋初值,默认为0,溢出了···
在程序前面添加irec=1看看

最后做出来所有td都是0……
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2014-5-5 21:45:26 | 显示全部楼层
╯①路霺笑 发表于 2014-5-5 21:12
最后做出来所有td都是0……

这就没法保证了···自己逐步检查吧···
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-5-5 22:00:04 | 显示全部楼层
言深深 发表于 2014-5-5 21:45
这就没法保证了···自己逐步检查吧···

恩,谢谢,我已经弄出来了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-9-19 00:41:56 | 显示全部楼层
请问下LZ中间的do while 语句里-0.05的判断依据是什么啊,还有这样露点温度算出来是对的么?谢谢啦
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-10-21 14:54:34 | 显示全部楼层
quentin011099 发表于 2014-9-19 00:41
请问下LZ中间的do while 语句里-0.05的判断依据是什么啊,还有这样露点温度算出来是对的么?谢谢啦

应该是逐步逼近的思路,t以0.05度为间隔减少,直到水汽压e达到饱和水汽压es
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-11-1 19:57:20 | 显示全部楼层
xmc21 发表于 2014-10-21 14:54
应该是逐步逼近的思路,t以0.05度为间隔减少,直到水汽压e达到饱和水汽压es

嗯嗯,后面理解这个程序意思了。谢谢啦
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-11-1 22:57:18 | 显示全部楼层
十分感谢
十分感谢
十分感谢
十分感谢
十分感谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-8-12 16:00:01 | 显示全部楼层
请问下,在GRIB2数据中,如何计算露点温度呢
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表