- 积分
- 47558
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-11-14
- 最后登录
- 1970-1-1
|
发表于 2016-7-29 11:39:25
|
显示全部楼层
本帖最后由 lqouc 于 2016-7-29 11:41 编辑
我大概看了下,是子程序写的有点问题,计算过程没错。具体程序的问题出在哪里我就不解释了,告诉你解决办法好了。
在主程序里面找到下面这个call,然后再上下分别加入我给的这两句计算,再运行就好了。
- oldVal=oldVal+100
- !!调用插值程序,这里只有一个时次,因此没有循环
- call getNewVal(oldVal,newVal,oldLon_start,oldLat_start,oldInterpx,oldInterpy,newPoint,isFirst)
- newVal=newVal-100
复制代码 程序出错的原因在于你的网格数据存在负值,清风的这个程序只能对正值进行差值,负值会被认为是缺省(我理解的他的程序是这样)。所以以后用到这个程序的时候就先在原来数值的基础上加一个足够大的数,让你的数据全部变成正值,插值之后再减去还原为原来的数值进行输出。
ps:在Fortran板块我下载东西是不需要金钱的,如果以后要让其他会员下载你的程序帮忙修改,直接给人家评分补偿就好了。当然也可以去免积分提问板块,那里下载附件貌似不需要金钱。
|
|