爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 11303|回复: 12

[分享资料] 解决!grads画图,总是提示constant field.value=1.72228e-45

[复制链接]

新浪微博达人勋

发表于 2014-3-4 20:36:04 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 微微一笑 于 2014-3-5 09:23 编辑

站点插值成格点画填色图、等值线图,所有程序都没有问题,在同学的电脑里也可以画出来。我的电脑里就画不出…画出的填色图全都是红色的。grads程序里提示:constant field.value=1.72228e-45
是我的opengrads里少些文件吗?是因为我的win7系统吗?什么原因呢?我把我的程序都贴出来。我好像找到原因了…是因为我 integer t(161),当我改成 real t(161)  就可以了!
因为我的变量是整数,可能grads只识别实数的变量…大家插值的时候要注意哦!!
第一步:把站点资料变成grd格式
program main
implicit none
character*8 stid(161)
real lat(161),lon(161),tim
integer t(161),nlev,nflag
integer i,j
open(1,file='D:\all\station.txt',status='old')
do i=1,161
read(1,*)lat(i),lon(i)
end do
close(1)
open(2,file='D:\all\time.txt')
do i=1,161
read(2,*)t(i)
end do
close(2)
do 30 j=1,161
30 stid(j)=char(j)
open(3,file='D:\all\161maxt.grd',status='replace',form='binary')
tim=0.0
nlev=1
nflag=1
do 40 i=1,161
write(3)stid(i),lat(i),lon(i),tim,nlev,nflag,t(i)
40 continue
nlev=0
write(3)stid(i-1),lat(i-1),lon(i-1),tim,nlev,nflag
close(3)
end


第二步:grid格点
program main
integer i,j
parameter(nx=101,ny=15)
real lat(ny),lon(nx)
real s(nx,ny)
open(1,file='D:\all\grid.grd',form='binary')
lon(1)=70.0
lat(1)=26.0
do i=1,nx-1
lon(i+1)=lon(i)+0.5
end do
do j=1,ny-1
lat(j+1)=lat(j)+0.5
end do
do i=1,nx
do j=1,ny
s(i,j)=1
end do
end do
write(1)s
end


第三步:对应的两个ctl文件
dset D:\all\grid.grd
title grid
undef 99999.9
xdef 101 linear 75 0.5
ydef 15 linear 26 0.5
zdef 1  linear 1000 1  
tdef 1 linear jun1969 1mo
vars 1
g 0 99 grid data
endvars


dset D:\all\161maxt.grd
dtype station
stnmap D:\all\maxt.map
undef -999.0
title maxt
xdef 101 linear 75 0.5
ydef 15 linear 26 0.5
zdef 1  linear 1000 1
tdef 1 linear jun1969 1mo
vars 1
p 0 99 maxt
endvars


最后是我的gs文件
'reinit'
'open D:\all\grid.ctl'
'open D:\all\maxt.ctl'
'set grads off'
'set grid off'
*'enable print d:\all\maxt.gmf'
'set lon 75 125'
'set lat 26 33'
'set mpdset hires cnscs'
'define a=oacres(g,p.2,1.5)'
'define a1=maskout(a,g-0.5)'
'define aa=smth9(a1)'
'set gxout shaded'
'cnbasemap aa'
'set gxout contour'
'set clab forced'
'set cint 0.1'
'cnbasemap aa'
*'print'
*'disable print'
'cbarn'
'printim D:\all\maxt.png white'
;
我画出来是全红色的,在同学电脑上可以画出图,但是看色标,明显不对…求助!!!

maxt.png maxt1.png

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

新浪微博达人勋

发表于 2014-3-4 20:56:03 | 显示全部楼层

回帖奖励 +2 金钱

建议贴出GS文件内容,错误提示看不出什么东东
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-3-4 21:00:07 | 显示全部楼层

'reinit'
'open D:\all\grid.ctl'
'open D:\all\maxt.ctl'
'set grads off'
*'enable print d:\nature\new-ptime\time-distribution\maxt.gmf'
'set lon 75 125'
'set lat 26 33'
'set mpdset hires cnscs'
'define a=oacres(g,p.2,1.5)'
'define a1=maskout(a,g-0.5)'
'define aa=smth9(a1)'
'set gxout shaded'
'cnbasemap aa'
'set grid off'
'set gxout contour'
'set clab forced'
'set cint 0.1'
'cnbasemap aa'
*'print'
*'disable print'
'printim D:\all\maxt.png white'
;
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-3-4 21:31:01 | 显示全部楼层
建议把你的制作过程用得到的程序什么的都贴出来吧,站点绘图无论哪个环节出问题都不行
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-3-4 22:13:20 | 显示全部楼层
顶起
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-3-4 22:22:33 | 显示全部楼层
river 发表于 2014-3-4 21:31
建议把你的制作过程用得到的程序什么的都贴出来吧,站点绘图无论哪个环节出问题都不行

我把所有的都贴出来了…求助!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-3-5 10:33:49 | 显示全部楼层
~~~~~~~~~~~~~~~~~~~~~~~~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-3-5 10:35:23 | 显示全部楼层
微微一笑 发表于 2014-3-4 22:22
我把所有的都贴出来了…求助!

程序看着没什么问题啊,不过看是数值有问题,你把写成二进制的文件多输出一份txt的看一下,写进去的数据是原始的数据不?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-3-5 11:21:19 | 显示全部楼层
river 发表于 2014-3-5 10:35
程序看着没什么问题啊,不过看是数值有问题,你把写成二进制的文件多输出一份txt的看一下,写进去的数据是 ...

是原始的数据~没有问题的…我后来修改了输入的变量格式,虽然我的数据是整数,但是要定义成实数型才对吧!可以画出图了!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-3-5 15:12:08 | 显示全部楼层
微微一笑 发表于 2014-3-5 11:21
是原始的数据~没有问题的…我后来修改了输入的变量格式,虽然我的数据是整数,但是要定义成实数型才对吧! ...

晕死,这种错误是不应该的,也不好一下看出来。这个并不是说grads不能识别整数,而是画站点图时grads对数据格式有一定的要求
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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