爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 8101|回复: 11

[秀图] Grads菜鸟,想画个简单的彩带出错,求高手指点(fortran程序和grads脚本如下)

[复制链接]

新浪微博达人勋

发表于 2012-9-23 21:19:10 | 显示全部楼层 |阅读模式

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

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

x
program main
implicit none
integer i,j,d(181,360)
do j=1,360
do i=1,45
d(i,j)=0
enddo
do i=46,135
d(i,j)=500
enddo
do i=136,181
d(i,j)=1000
enddo
enddo
open(8,file='c:/caidai.grd',form='binary')
write(8)((d(i,j),j=1,360),i=1,181)
close(8)
end program

  dset c:/caidai.grd
  undef 9E100
  xdef 360 linear -180 1
  ydef 181 linear -90 1
  zdef 1  levels 500
  tdef 1  linear 08Z29apr2012 1dy
  vars 1
  z 0 99 height
  endvars
程序如上,想画个简单的彩带,结果出来的是个常数场,grads提示数据全是0,请各位高手指导
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-9-24 10:19:31 | 显示全部楼层
输出数据时print一下,看看数据值是否正确
对比一下原始数据的缺测值和ctl中的是否一致
认真学学GrADS,不要连基本的绘图术语都不清楚就下手
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-9-24 10:35:07 | 显示全部楼层
应该是循环套错了吧,我FORTRAN不好,以前用的时候就是循环总出错,我觉得你的循环不是很规范,楼主自己试试改下循环吧。而且你写数据的时候好像也有些问题,d(181,360),楼主的意思是 i 是内循环对应1-181,j是外循环对应1-360吧,但是write(8)((d(i,j),j=1,360),i=1,181)这句我感觉应该写成write(8)((d(i,j),i=1,181),j=1,360),因为用这种格式读写时FORTRAN的默认格式应该是内层括号里的变量对应内层循环,外层括号里的变量对应外层循环,楼主貌似弄反了……
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-9-24 12:36:10 | 显示全部楼层

我print过了,数据是没问题的,而且每个格点都有资料,不存在缺测值啊~拜托清风大哥指点下啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-9-24 12:40:20 | 显示全部楼层
南宫朱雀 发表于 2012-9-24 10:35
应该是循环套错了吧,我FORTRAN不好,以前用的时候就是循环总出错,我觉得你的循环不是很规范,楼主自己试试 ...

不是的,grads数据要求是先经度后纬度的啊,所以写数据的时候是内循环是j,外循环是i~循环应该也没错的,print之后数据是正确的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-9-24 13:39:43 | 显示全部楼层
如果不保密的话,数据传上来
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-9-24 13:59:39 | 显示全部楼层
mofangbao 发表于 2012-9-24 13:39
如果不保密的话,数据传上来

数据就是上面的fortran程序产生的啊~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-9-24 14:14:48 | 显示全部楼层
微风细雨 发表于 2012-9-24 13:59
数据就是上面的fortran程序产生的啊~


提问直接贴一大段没经过选择的代码一般都很不想看。
你把integer改成real
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-9-24 15:27:27 | 显示全部楼层
mofangbao 发表于 2012-9-24 13:39
如果不保密的话,数据传上来

清风,我以前造数据都是用实型的,没注意这个问题,依它这个例子,grads是不识别整型数吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-9-24 17:11:23 | 显示全部楼层
做个霸气的木头 发表于 2012-9-24 15:27
清风,我以前造数据都是用实型的,没注意这个问题,依它这个例子,grads是不识别整型数吗?

GrADS里面的数据都是按照实型来看的
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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