爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7518|回复: 14

[脚本编辑] nc转grd,经过画图验证与nc直接画图相差很大,求解

[复制链接]

新浪微博达人勋

发表于 2015-4-30 12:14:30 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 紫儿 于 2015-4-30 14:48 编辑

我想把nc的文件转为grd,下列是我对应的gs文件,以及用来画图验证我的grd文件是否正确的ctl文件,但是验证结果和直接用nc资料话的相差很大,该检查的地方我都检查了没发现问题,请各位帮忙看下问题在哪里,谢谢
以下为nc自带的ctl文件
QQ图片20150430143202.png
以下是转换grd的gs文件
'reinit'
'sdfopen d:\reason\q.nc'
'set fwrite d:\result\q.grd'
'set gxout fwrite'
'set lev 800'
num=1
while(num<=420)
'set t 'num
'set x 101 113'
'set y 32 44'
'd q'
num=num+1
endwhile
'disable fwrite'(其中经纬,高度都是我选取的需要的范围)
;
以下是画图用的ctl文件
dset d:\result\q.grd
title humidity
undef -9.99e+33
xdef 13 linear 100 1
ydef 13 linear 31 1
zdef 1 levels 800
tdef 420 linear 00Z01JAN1979 1mo
vars 1
q=>q 1 t,z,y,x  specific humidity
endvars
以下是用nc画图的gs文件
'reinit'
'sdfopen d:\reason\q.nc'
'set lon 100 112'
'set lat 31 43'
'set lev 800'
'define qn=ave(q,t=1,t=420)'
*'set mpdset cnworld'
'd qn'
;

ctl画的图

ctl画的图

nc画的图

nc画的图
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-4-30 12:31:03 | 显示全部楼层
'set lev 800'
num=1
while(num<=420)
'set t 'num
'set x 101 113'
'set y 32 44'
'd q'
改为
'set x 101 113'
'set y 32 44'
'set lev 800'
num=1
while(num<=420)
'set t 'num
'd q'
试试看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-4-30 12:34:04 | 显示全部楼层
图呢,原图和你自己的都贴上来。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2015-4-30 12:51:45 | 显示全部楼层
图以及绘对比图的gs
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-4-30 13:00:20 | 显示全部楼层
river 发表于 2015-4-30 12:34
图呢,原图和你自己的都贴上来。

用ctl画出的图

用ctl画出的图

用nc画出的图

用nc画出的图

左边是ctl画出的图,右边是nc画出的图,都是求420个时次的平均
以下是用nc画图的gs文件
'reinit'
'sdfopen d:\reason\q.nc'
'set lon 100 112'
'set lat 31 43'
'set lev 800'
'define qn=ave(q,t=1,t=420)'
*'set mpdset cnworld'
'd qn'
;
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-4-30 13:01:47 | 显示全部楼层
麦田_smile 发表于 2015-4-30 12:31
'set lev 800'
num=1
while(num

试过了,还是不行
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-4-30 13:50:24 | 显示全部楼层
紫儿 发表于 2015-4-30 13:01
试过了,还是不行

输出的时候为什么是xy而不是lonlat?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-4-30 13:57:40 | 显示全部楼层
lqouc 发表于 2015-4-30 13:50
输出的时候为什么是xy而不是lonlat?

lon lat是用nc画图时设置用的,用我自编的ctl文件,因为ctl都已设置好了维度信息,直接就open ctl 然后d ave(q,t=1,t=420)画图了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-4-30 14:12:36 | 显示全部楼层
紫儿 发表于 2015-4-30 13:57
lon lat是用nc画图时设置用的,用我自编的ctl文件,因为ctl都已设置好了维度信息,直接就open ctl 然后d  ...

拜托好好看下我说的话啦,我是指你第一段gs。输出成grd是你用的是x和y,整个帖子你一直都没给出nc文件的ctlinfo,谁知道你设置的'set x 101 113' 'set y 32 44'是不是就能代表,lon 101 113和lat 32 44.
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-4-30 14:34:32 | 显示全部楼层
lqouc 发表于 2015-4-30 14:12
拜托好好看下我说的话啦,我是指你第一段gs。输出成grd是你用的是x和y,整个帖子你一直都没给出nc文件的c ...

不好意思,我理解错了,图片为nc的ctl文件,分辨率是1
我是想取北纬31-43,东经100-112,经过计算设置的'set x 101 113'
'set y 32 44'

nc的ctl文件描述

nc的ctl文件描述
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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