气象家园
标题: maskout方法的使用以及maskout文件制作 [打印本页]
作者: 传说中的谁 时间: 2011-7-9 20:53
标题: maskout方法的使用以及maskout文件制作
用GrADS作图时,常会遇到要把图形控制字在一定地理边界内的情况(例如,某个省或某个区域);用站点资料绘制等值线或填色图时,也通常会把地理边界以外的信息屏蔽掉。我在另一个帖子《GrADS中Basemap方法的应用》中提到了用basemap方法来解决这个问题,但basemap有其缺陷,就是你用basemap屏蔽掉边界以外的信息以后,再画下一个变量的时候边界以外的区域同样不能显示。现在介绍另一种方法:maskout。maskout是将一个变量在边界内的部分保留原来的值,而在边界外则一概赋给一概新的值:0,因此最后的结果就是只在边界内有值,从而达到边界控制的效果。下面详细介绍maskout方法的使用。
首先,要使用maskout就得有maskout文件,这里介绍的使用MeteoInfo来制作maskout文件。下载MeteoInfo,安装后启动MeteoInfo。
第一步,添加图层,在弹出对话框中选择“bou2_4p.shp”→“打地图文件”,将地图文件加载到程序界面中。可以通过缩放来调节地图到你想要的大小。
第二步,获取底图ID。在工具栏中选择“图元属性”,这时候鼠标指针会变成一个“ i ”的形状。单击你要选择的区域,比如广东省,会弹出一个图元属性的窗口,index后面的数字就是你所选择区域的图元ID,如下图右中的“897”。
第三步,制作maskout文件。选择菜单栏中的“工具”→“输出地图数据”,弹出输出数据的对话框。选择你要的图元,设置输出格式为GrADS Maskout File,然后点“输出”。
第四步 ,输出maskout文件。步骤三点“输出”后,会弹出一个“另存为”的对话框,设置好路径、文件名后(这里假设是XX),“保存”。这是时会弹出一个“Grid Set”对话框,可以设置起始经纬度和分辨率,其中分辨率和格点数只需要设置一项就行,另一项会跟着调整。设置好之后“OK”。如果设置的格点很细(例如0.01),则需要较长的时间来生成maskout文件。
然后到你保存文件的目录下看是否成功生成了两个文件xx.dat、xx.ctl。如果有,则要修改ctl文件。“TDEF 1 LINEAR xxxxxxxxxx”这一行中,改成与数据文件的ctl中TDEF相同,建议用笨办法,即把数据文件的描述文件中的这一行复制过来,避免出错。如果两个时间设置不一致,就会出错。
第五步,画图。前面的四个步骤都是准备maskout文件,准备好之后就可以画图了。Maskout的语法起始很简单,就是maskout(VAR,MASK),其中VAR是数据文件中的变量,MASK是maskout文件的变量。
最后附上一段脚本和图。
'reinit'
'open f:/522/ncep/522.ctl'
'open f:/2/M2011052206.ctl'
'open f:/2/2011052206.ctl'
'set lon 108 118'
'set lat 20 26'
'set xlint 1'
'set ylint 1'
'set t 8'
'set mpdset guangdong'
'define a=oacres(mask.2,r.3,50,25,10)'
'set rbrange -20 100'
'set gxout shaded'
'set rbrange -10 100'
'set cmin 10'
'd smth9(maskout(a,mask.2))'
'set gxout contour'
'set cthick 5'
'set ccolor rainbow'
'set csmooth on'
'set cint 5'
'set lon 107 119'
'set lat 19 27'
'set lev 925'
'define div= hdivg(ugrdprs,vgrdprs)*1e6'
'set lon 108 118'
'set lat 20 26'
'd div'
'set mpdset guangdong_q'
'draw map'
'writehz 1.5 7.8 925hPa散度与未来6小时雨量'
'set strsiz 0.15'
'draw string 8 8 2011-05-22 06:00'
'cbarn 0.75 1 10.5'
' printim f:/2011052206.JPG white y600 x800'
新版本的MeteoInfo相关用法http://bbs.06climate.com/forum.p ... &extra=page%3D1
作者: mofangbao 时间: 2011-7-9 22:23
版主好像蛮久没来了....
力顶原创文章啊!
作者: 传说中的谁 时间: 2011-7-9 22:43
mofangbao 发表于 2011-7-9 22:23
版主好像蛮久没来了....
力顶原创文章啊!
谢谢支持!这些对于会用的人来讲可能是小儿科的东西,但我想咱们这个行业总会有新手,如果这样的教程对于新手来讲能提供哪怕一点点的帮助,我也会很开心。
作者: 269984288 时间: 2011-7-16 14:15
哇~~顶~~~找了好久了~~~~终于知道怎么画了
作者: 流云飞袖 时间: 2011-7-16 21:09
你这是制作行政区划图可以,但是我要个青藏高原这种不规则的,该怎么制作?
作者: 传说中的谁 时间: 2011-7-16 23:40
本帖最后由 传说中的谁 于 2011-7-16 23:43 编辑
流云飞袖 发表于 2011-7-16 21:09
你这是制作行政区划图可以,但是我要个青藏高原这种不规则的,该怎么制作?
这个我没有做过,但我在动力论坛看到有人分享过maskout掉青藏高原的方法。http://bbs.lasg.ac.cn/bbs/viewth ... p%3Bfilter%3Ddigest。
申明:我不知道这样贴链接有没有侵犯原创的版权,如果有,我对此表示歉意并马上删除。
作者: mofangbao 时间: 2011-7-17 10:11
传说中的谁 发表于 2011-7-16 23:40
这个我没有做过,但我在动力论坛看到有人分享过maskout掉青藏高原的方法。http://bbs.lasg.ac.cn/bbs/vie ...
转载是很正常的啦,:lol
作者: MeteoInfo 时间: 2011-7-17 11:10
青藏高原maskout文件的制做见MeteoInfo板块的帖子:http://bbs.06climate.com/forum.p ... &extra=#pid2798
作者: 流云飞袖 时间: 2011-7-17 16:24
数据文件和mask的描述性文件的xdef和ydef不一样可以吗?
作者: 传说中的谁 时间: 2011-7-17 16:31
可以吧,如果是站点数据就不需要X,Y方向的描述了。
作者: zdhai 时间: 2011-7-29 17:20
好东西啊,感谢
作者: zsmnantong 时间: 2011-8-2 10:23
谢谢楼主,对我这种新手帮助很大啊!有例子参考,学起来就轻松多了
作者: 122373806 时间: 2011-8-14 23:50
QUESTION !!! 看了版主“maskout方法的使用以及maskout文件制作”的帖子之后,我也根据自己的需要做了一个,但是画图的时候出现问题。
具体过程是这样的:我手头上有WRF模式输出的模拟资料,想把海上降水屏蔽掉,只把陆地上的模拟降水与实况作对比。模拟资料是别人的,我还不会转模式。就按照模式资料的ctl里面的起止经纬度和网格距做了一个maskout文件。由于模拟资料的ctl里面有pdef,是用的lambert投影,网格距是6000m,近似为0.02702703°。制作maskout的时候,我就按照网格距=0.02702703生成的,然后对应的ctl里面加入了pdef一行。然后画图的时候显示所有网格点都是undef。不解。于是想问问版主这个问题出在哪里。
作者: MeteoInfo 时间: 2011-8-15 09:15
本帖最后由 MeteoInfo 于 2011-8-15 09:16 编辑
对于有投影的数据(ctl文件中有pdef),GrADS并不是用原始数据来分析、绘图,而是根据xdef和ydef定义的经纬度格点先将原始格点数据插值到等经纬度格点,然后再用等经纬度格点数据来进行后续的分析、绘图。插值方法是双线性。MeteoInfo是直接使用原始数据进行分析、绘图的,然后再对图形进行投影,也就避免了插值过程带来的误差。
尽管我在MeteoInfo中提供了制作GrADS的maskout文件的功能,对于这种有投影数据如何在GrADS中maskout并没有做过(在MeteoInfo中做maskout是很简单的)。我估计maskout的格点设置需要和数据ctl文件中的xdef和ydef设置保持一致。maskout数据是等经纬度格点就可以了,因此其ctl文件也无需加pdef。你可以根据这个思路再试试。
作者: 122373806 时间: 2011-8-15 10:45
MeteoInfo 发表于 2011-8-15 09:15
对于有投影的数据(ctl文件中有pdef),GrADS并不是用原始数据来分析、绘图,而是根据xdef和ydef定义的经纬 ...
DONE !!! 多谢高手!按你的说法,去掉了pdef,并且改了一下gs里头另外一个小错误,就画出来了!声泪俱下!!!
作者: 传说中的谁 时间: 2011-8-15 10:51
122373806 发表于 2011-8-15 10:45
DONE !!! 多谢高手!按你的说法,去掉了pdef,并且改了一下gs里头另外一个小错误,就画出来了!声泪俱下 ...
叫你不听话!特别提醒了时间设置要一致的
作者: 122373806 时间: 2011-8-15 12:15
传说中的谁 发表于 2011-8-15 10:51
叫你不听话!特别提醒了时间设置要一致的
。。。昨晚困糊涂了…………
作者: MeteoInfo 时间: 2011-8-17 16:24
回答122373806的一个问题:”请教一个问题。就是之前用分辨率较高的模式资料画出来的降水有很多小圈圈(已经用了smth9),于是想用d skip(rain,num)这个命令把格点稀疏化。试了很多次,失败。因为前面您回答我的那个maskout的问题的时候说,有pdef说明的数据,grads是先插值后画图,应该是在display这一步同时实现的吧。是不是skip那条命令出问题是这个原因?“ 问题是在消息中问的,不过我想在这里回答更好些。
skip通常是用在风场Vector或Barb图时用的,skip功能是将被skip的格点值赋为缺测值,绘制风场时只要U或V分量为缺测值,该格点就不会绘制Vector或Barb。这种skip机制决定了它不能被用到Contour或Shaded图绘制中,因为被skip后有效数据格点都是孤立的(被缺测值格点所包围),无法追踪等值线,即使能追踪出来也是错的。
作者: 122373806 时间: 2011-8-17 16:37
MeteoInfo 发表于 2011-8-17 16:24
回答122373806的一个问题:”请教一个问题。就是之前用分辨率较高的模式资料画出来的降水有很多小圈圈(已经 ...
果然是高手!确实如你所说,因为之前我画过矢量图,用了这个命令,刚才画等值线图就不能用,我也在想是不是这个命令不适用于contour。听你解释,我才知道原来被skip的点都成了缺测值,恍然大悟啊~~~
作者: NoBodY 时间: 2011-8-17 16:39
{:soso_e200:}
作者: vera 时间: 2011-8-17 20:32
我想画夏天850的平均风场和位势高度场,用楼上的方法生成了xx.dat、xx.ctl文件,gs文件如下:
'reinit'
'sdfopen e:\uwnd.mon.mean.nc'
'sdfopen e:\vwnd.mon.mean.nc'
'sdfopen e:\hgt.mon.mean.nc'
'open D:\grads\tibetmaskout.ctl'
'enable print e:\1999summer850.gmf'
'set mpdset cnworld cnriver'
'set map 15 2 5'
'set lat 20 50'
'set lon 90 130'
'set xlint 5'
'set ylint 5'
'set xlopts 1 2 0.2'
'set ylopts 1 2 0.2'
'set gxout shaded'
'set clevs 1500'
'set ccols 0 5 0'
'set grads off'
'define hgtave=ave(hgt.3,t=618,t=620)'
'd maskout(hgtave,mask.4)'
'set z 3'
'set gxout vector'
'set arrowhead 0.15'
'set ccolor 1'
'set arrscl 0.3'
'define uwndave=ave(uwnd.1,t=618,t=620)'
'define vwndave=ave(vwnd.2,t=618,t=620)'
'd maskout(uwndave,mask.4);maskout(vwndave,mask.4)'
'set font 2 '
'set string 2 c 6 0'
'set strsiz 0.3 0.2'
'draw string 4.46 2.77 D'
'draw string 3.73 5.79 D'
*'draw string 4.25 2.35 D'
'set string 4 c 6 0'
'draw string 6.7 4.8 G'
'set font 0 '
'set string 1 c 2 0'
'set strsiz 0.2 0.3'
'draw string 5.5 8.0 1999 summer 850hPa Heights and Wind'
'print'
'disable print'
提示的错误信息是Operation error: Incompatable grids
Dimension ranges aren't equivalent
Operation Error: Error from maskout function
Error ocurred at column 1
DISPLAY error: Invalid expression
Expression = maskout(hgtave,mask.4)
可否请楼主指点一下?
作者: mofangbao 时间: 2011-8-17 21:52
vera 发表于 2011-8-17 20:32
我想画夏天850的平均风场和位势高度场,用楼上的方法生成了xx.dat、xx.ctl文件,gs文件如下:
'reinit'
' ...
说出你的问题吧,直接贴个gs都不知道你的问题在哪里啊,如果是自己没有思考过这个gs还是要先思考的啦,自己先努力哦
作者: MeteoInfo 时间: 2011-8-17 23:19
错误提示里已经写得很清楚了,maskout和数据网格不吻合
作者: 笨笨不笨 时间: 2011-8-17 23:37
MeteoInfo 发表于 2011-8-17 23:19
错误提示里已经写得很清楚了,maskout和数据网格不吻合
借个地方,表达一下长期以来对您的膜拜
作者: enso816 时间: 2011-8-24 10:37
学会啦,谢谢!
作者: luoziwuhui 时间: 2011-9-5 21:38
学习一下啊!
作者: 以父之名 时间: 2011-9-7 21:49
好高兴啊,来到这个网站,像掉进宝藏里一样,到处都是财富。非常支持版主,以后我也要多跟大家共享
作者: 张世轩 时间: 2011-9-27 16:39
好厉害,楼主很强大
作者: 冬日情愫+ 时间: 2011-11-16 21:21
新手进来学习学习!!
作者: Forcast 时间: 2011-11-29 11:33
这个论坛很强大,多谢版主
作者: vera 时间: 2012-1-11 20:10
谢谢,好久没来,多谢楼主。
作者: vera 时间: 2012-1-11 20:35
不过到这来就是因为不懂,如果都懂了就不需要来这里了,你说是吗?
作者: abd 时间: 2012-1-29 01:21
我正需要这种东西呢,呵呵,谢谢楼主!
作者: abd 时间: 2012-1-30 12:25
本帖最后由 abd 于 2012-1-31 22:26 编辑
恩,画出来了但是有些问题,
作者: abd 时间: 2012-1-31 22:23
我跟着楼主的步骤做到后面发现,先应该要准备好GrADS能读那种降水站点数据(具有map文件的那种),还好前几天刚学到把MICAPS站点数据转换成GrADS能读的数据,总算画出图来了,但是 oacres(mask.2,r.3,50,25,10) 这一句命令我这里为什么会画出这样诡异的图啊?那些圆点就是那个站点对应的位置上的降水量,为什么没有画出像楼主那么好看,颜色梯度缓和而漂亮啊? 我下面贴一下我的 gs 文件吧:
*p.ctl为降水数据,变量名为pr
'reinit'
'open c:/2/guangdong.ctl'
'open c:/2/p.ctl'
'set lon 108 118'
'set lat 20 26'
'set xlint 1'
'set ylint 1'
'set t 1'
'set mpdset guangd'
'draw map'
'set mpdset guangdong_q'
'draw map'
'define a=oacres(mask,pr.2,50,25,10)'
*'set rbrange -20 100'
'set gxout shaded'
'set rbrange -10 100'
'set cmin 0'
'd smth9(maskout(a,mask))'
'set mpdset guangd'
'draw map'
'writehz 1.5 7.8 24小时雨量'
'set strsiz 0.15'
'draw string 8 8 2009-06-04 08:00'
'cbarn 0.75 1 10.5'
[attach]4296[/attach]
作者: abd 时间: 2012-2-1 10:14
但是把把 oacres命令设成 oacres(mask,pr.2,50,25)' 时显示的图为如下,但是还是没有像楼主画的那么颜色梯度光滑,而且大部分地方可以看到扫描半径以内的那个扫描圆圈的值区,为什么呀?
[attach]4301[/attach]
作者: MeteoInfo 时间: 2012-2-1 12:34
abd 发表于 2012-2-1 10:14
但是把把 oacres命令设成 oacres(mask,pr.2,50,25)' 时显示的图为如下,但是还是没有像楼主画的那么颜色梯度 ...
多调调参数,和站点数据对比,找到一个适合你的数据的参数设置就可以了。
作者: 传说中的谁 时间: 2012-2-2 15:03
abd 发表于 2012-2-1 10:14
但是把把 oacres命令设成 oacres(mask,pr.2,50,25)' 时显示的图为如下,但是还是没有像楼主画的那么颜色梯度 ...
嗯嗯,楼上的大大说的很对,多调调插值半径,就可以找到一个合适的。
作者: abd 时间: 2012-2-2 19:33
传说中的谁 发表于 2012-2-2 15:03
嗯嗯,楼上的大大说的很对,多调调插值半径,就可以找到一个合适的。
谢谢你的回复解答,但是我为什半径不能调到50以上啊?超过了50就出现错误信息如下:
[attach]4319[/attach]
扫描半径后面那个参数的意义我不太明白是不是平滑程度的参数啊?调来调去,我都没有得到满意的图,都有以下那么不连贯或不平滑的颜色区域,我用红色圈圈标出来了一看就是个扫描半径的圆圈的样子,而不是实际降水情况,图如下:
[attach]4320[/attach]
我这个情况怎么办啊?半径最大值只有50,但是这个半径是不是不够的原因导致这种情况啊?谢谢!
作者: abd 时间: 2012-2-2 19:36
MeteoInfo 发表于 2012-2-1 12:34
多调调参数,和站点数据对比,找到一个适合你的数据的参数设置就可以了。
谢谢你的回复解答,但是我还是没能够解决问题,具体内容在上一层给楼主回的那样。谢谢!
作者: MeteoInfo 时间: 2012-2-2 21:00
abd 发表于 2012-2-2 19:36
谢谢你的回复解答,但是我还是没能够解决问题,具体内容在上一层给楼主回的那样。谢谢!
Cressman插值方法中的影响半径可以取多个,缺省是10、7、4、2、1,你的例子中是50、25。影响半径必须是逐渐减小的,也就是后一个影响半径要小于前一个。Cressman方法中如果格点的密度远大于站点密度,会影响插值效果。Cressman方法应该是较早的客观分析方法了,在GrADS中将此命名为oacres,其中oa应该是objective analysis的缩写,cres当然是Cressman的缩写了。
作者: iloveplmmok 时间: 2012-2-13 09:09
技术贴啊,学习了
感谢分享
作者: 花楹 时间: 2012-2-22 13:50
传说中的谁 发表于 2011-7-17 16:31
可以吧,如果是站点数据就不需要X,Y方向的描述了。
但为什么我会出现invalid grid coordinate的错误啊
作者: 花楹 时间: 2012-2-22 13:50
但为什么我会出现invalid grid coordinate的错误啊 你们谁知道啊
作者: 花楹 时间: 2012-2-22 13:51
但为什么我会出现invalid grid coordinate的错误啊 你们谁知道啊
作者: 嘀嘀嘀哒哒哒 时间: 2012-2-24 16:25
终于下载下来啦,但愿有用!
作者: pandaxgj 时间: 2012-3-5 09:49
MeteoInfo 发表于 2011-8-17 23:19
错误提示里已经写得很清楚了,maskout和数据网格不吻合
请问像此问题,数据网格不吻合,该如何调整呢?
作者: MeteoInfo 时间: 2012-3-5 10:22
pandaxgj 发表于 2012-3-5 09:49
请问像此问题,数据网格不吻合,该如何调整呢?
调整得和要进行maskout的GrADS数据网格一致就可以了。
作者: studymore 时间: 2012-3-21 08:12
好东西,转了,呵呵
作者: fermidq 时间: 2012-3-21 11:06
此等好帖,顶之。
作者: =。。= 时间: 2012-3-23 10:27
确实很好,不过我试basemap的时候,是在家园上打包的gdrds的例子做的,第二次显示降水的时候还是显示了其他区域,所以我用了两次basemap。
作者: Cheen 时间: 2012-3-26 15:22
非常好,对大侠来说这也许没有什么,但对我本人来说,着个非常有用
作者: dididada 时间: 2012-3-28 17:38
我这个真的找了好久了!!
这里讲的好清楚!
作者: QQtangxian 时间: 2012-4-23 18:17
谢谢啦,我要好好学习
作者: 气候-谭志强 时间: 2012-4-24 08:09
果然是精华啊,学习了
作者: clare 时间: 2012-5-4 16:03
想请教一下,如果希望在长江中下游地区(包括6省1市)区域上,插值画出等值线,相应的mask out,输出地图数据时,我用了多选,这样正确吗?另外,相应的gs文件中的'set mpdset guangdong'应该如何编写呢?因为我的区域有湖南、湖北,江苏,浙江等很多省区。而且,例图上的等值线图并非只在所需地图区域上画线?
谢谢啦~
作者: 传说中的谁 时间: 2012-5-4 17:06
clare 发表于 2012-5-4 16:03
想请教一下,如果希望在长江中下游地区(包括6省1市)区域上,插值画出等值线,相应的mask out,输出地图数 ...
多选之后输出为一个文件,mpdset+你输出的文件名,实际上笨笨也木有做过多省的,还望你做出来之后跟大家分享,笨笨也向你学习
作者: clare 时间: 2012-5-4 22:47
传说中的谁 发表于 2012-5-4 17:06
多选之后输出为一个文件,mpdset+你输出的文件名,实际上笨笨也木有做过多省的,还望你做出来之后跟大家分 ...
前辈,我尝试这样做了,http://bbs.06climate.com/forum.p ... tid=7276&extra=
不知道怎么在这儿回复贴电脑上的图片,所以重新开了一贴;正确性未知~请指教。
作者: YoYo 时间: 2012-5-8 15:19
求助
maskout做的那个文件只有一个时间的么?
我set t 1可以画图
怎么画其他时次的呀
作者: nuistzhou 时间: 2012-5-11 20:18
很漂亮,赞一个
作者: sth.special. 时间: 2012-5-14 20:43
太好了,正愁怎么画华南地区呢,楼主很强大啊
作者: wode_q_x 时间: 2012-6-25 09:06
感谢楼主分享!
作者: 小屋 时间: 2012-7-1 13:17
请教一下,这是我的降水gs文件。
'reinit'
'open E:\10\620.ctl'*已经插值的降水资料,降水变量名为anal*
'open E:\10\lj.ctl'*制作的maskout文件*
'enable print E:\10\rain.gmf'
'set grads off'
'set grid off'
'set xlopts 1 4 0.16'
'set ylopts 1 4 0.16'
'set mpdset hunancity'
'set t 1'
'set lat 24 31'
'set lon 108 115'
'set lev 1'
'define a1=maskout(anal,mask.2)'
'set gxout shaded'
'd a1'
'print'
'c'
'disable print'
;
运行之后,出现如下错误。
[attach]7295[/attach]
请赐教,感激不尽啊!
作者: qhmemory 时间: 2012-7-15 22:06
MetoInfo 太强大了,欢呼!
作者: 传说中的谁 时间: 2012-7-16 08:46
小屋 发表于 2012-7-1 13:17
请教一下,这是我的降水gs文件。
'reinit'
'open E:\10\620.ctl'*已经插值的降水资料,降水变量名为anal* ...
应该是降水资料的格距跟maskout文件的格距不一样吧
作者: shuiyunjian 时间: 2012-8-14 13:20
我下载了软件,添加图层第一步就出错,不知怎么回事
作者: 柳絮 时间: 2012-9-4 20:35
太好了~赶紧学习学习
作者: 柳絮 时间: 2012-9-18 09:50
请教各位高手,为什么我用maskout方法制作出来长三角地区的地图,画的是站点图,一共34个站点,导出来的地图是0.1*0.1的,画出来的图怎么是这样的,不好看,边界也不怎么光滑,是影响半径设置的问题吗?
作者: jeydragon 时间: 2012-9-19 10:53
楼主,我知道某个边界,是否可以将这个区域内的经纬度值,给提取出来?
作者: Rita 时间: 2012-9-28 15:07
我下载的MeteoInfo中就没有“bou2_4p.shp”,这是什么情况啊?
作者: 斥鷃 时间: 2012-10-1 20:31
新手上路,膜拜学习,谢谢大神们的悉心指导!!!
作者: haobang008 时间: 2012-10-1 22:04
为什么我采用了楼主的方法在输出的 dat文件中都是乱码。截图在下面呢
作者: morrocco 时间: 2012-10-4 15:04
学习学习了
作者: y9kwmgm 时间: 2012-10-7 21:09
[attach]9017[/attach]
作者: y9kwmgm 时间: 2012-10-7 21:15
楼主我按你说的方法弄咋不行呢?
我的数据文件CTL文件如下:
DSET 3B42.%y4%m2%d2.%h2.7.HDF
options template
DTYPE hdfsds
TITLE This is for 3B42 V7
UNDEF -9999.90
XDEF 1440 LINEAR -179.87500000 0.25000000
YDEF 400 linear -49.87500000 0.25000000
ZDEF 1 LEVELS 1 1
TDEF 100000 LINEAR 18:00Z17sep2011 3hr
VARS 6
precipitation=>pcp 0 x,y Precipitation
relativeError=>err 0 x,y Error
satPrecipitationSource=>source 0 x,y source
HQprecipitation=>hqp 0 x,y High quailty precip
IRprecipitation=>irp 0 x,y IR precip
satObservationTime=>time 0 x,y Time
ENDVARS
我的maskout文件的ctl文件如下:
DSET D:\Grads_study\model.dat
TITLE Mask data
UNDEF -9999
XDEF 249 LINEAR 73 0.25
YDEF 145 LINEAR 18 0.25
ZDEF 1 LINEAR 1 1
TDEF 100000 LINEAR 18:00Z17sep2011 3hr
VARS 1
mask 0 99 background mask data
ENDVARS
总是不能成功啊,这时为什么?
作者: 24yue 时间: 2012-10-10 13:17
Rita 发表于 2012-9-28 15:07
我下载的MeteoInfo中就没有“bou2_4p.shp”,这是什么情况啊?
同学,你要点一下前面那个蓝色的加号"Add layer",或者你先把软件改成中文语言的,就是显示是"添加图层"的。
作者: 24yue 时间: 2012-10-10 13:20
haobang008 发表于 2012-10-1 22:04
为什么我采用了楼主的方法在输出的 dat文件中都是乱码。截图在下面呢
生成的.dat文件里面是没有数据的,你先看一下能不能用啊,如果不能使用再检查哪里有错。{:3_41:}
作者: 郭衡 时间: 2012-10-10 15:53
这个方法确实很好,最近用到了,在此感谢!
作者: haobang008 时间: 2012-10-12 21:09
知道了啊啊
作者: 槊无殇 时间: 2012-10-13 14:43
楼主 我有点看不懂最后的.gs文件 打开的三个文件分别是什么文件 能说一下吗 谢谢
作者: 传说中的谁 时间: 2012-10-13 16:12
槊无殇 发表于 2012-10-13 14:43
楼主 我有点看不懂最后的.gs文件 打开的三个文件分别是什么文件 能说一下吗 谢谢
分别是ncep数据,maskout文件,站点雨量数据
作者: 槊无殇 时间: 2012-10-13 17:27
传说中的谁 发表于 2012-10-13 16:12
分别是ncep数据,maskout文件,站点雨量数据
谢谢啊 我就是画个站点图 插值后边界就超出国界了 现在想去边界以外的 是不是cnbasemap还有maskout两种方法都可以啊
作者: Rita 时间: 2012-10-15 09:05
24yue 发表于 2012-10-10 13:17
同学,你要点一下前面那个蓝色的加号"Add layer",或者你先把软件改成中文语言的,就是显示是"添加图层"的 ...
嗯嗯,后来找到了。谢谢你啊
作者: 24yue 时间: 2012-10-15 16:24
Rita 发表于 2012-10-15 09:05
嗯嗯,后来找到了。谢谢你啊
不客气,这里就是大家互相帮助嘛~
作者: Forcast 时间: 2012-11-14 22:26
值得好好学习一下!
作者: 三江魂 时间: 2012-11-15 10:43
学习!!!!!
作者: 晚晴山 时间: 2012-11-25 18:44
大神的教程却是及时雨,但是对于新手来说这样的教程还是缺乏点可重复性。例如在您的gs里有三个ctl文件,一个是数据文件的ctl,一个是地图数据的ctl。那么另外一个是什么啊?再例如oracs函数是个什么意思啊?唉,如果楼主能把gs里的关键行来个注释那该有多好啊!!
作者: 传说中的谁 时间: 2012-11-25 19:26
晚晴山 发表于 2012-11-25 18:44
大神的教程却是及时雨,但是对于新手来说这样的教程还是缺乏点可重复性。例如在您的gs里有三个ctl文件,一个 ...
分别是ncep数据,maskout文件,站点雨量数据
oacres是grads内置的克里斯曼差值函数
作者: 沸水咖啡 时间: 2012-11-26 16:16
maskout制作的底图,第一次是3.8格距还能出图,但是网格太明显了,后来换了0.01,不知道怎么出不出图了,再试试吧,谢谢lz 分享
作者: 小草 时间: 2012-12-5 10:31
我用此方法做出了maskout文件,分省的,分辨率为0.01度,做出来的图很漂亮。
作者: 勇敢的悲伤 时间: 2012-12-15 12:53
据说很强大,试一试啊~~
作者: 勇敢的悲伤 时间: 2012-12-16 09:54
shuiyunjian 发表于 2012-8-14 13:20
我下载了软件,添加图层第一步就出错,不知怎么回事
我的也是耶,就是添加不进去。。。你的解决了吗??
作者: maomaozhang06 时间: 2012-12-29 17:29
非常好,感谢楼主,解了燃眉之急!制作一个maskout文件先!
作者: hsong1984 时间: 2013-1-21 17:12
顶一下,好东西~~~~~~~~~~~~~~~~~~~~~~~~
作者: Luo丹王道 时间: 2013-1-21 22:50
急问:如果我要整个中国的,要把中国以外的去掉该怎么办?要选哪个图层呢?!!!O(∩_∩)O谢谢啦~
作者: 传说中的谁 时间: 2013-1-22 15:05
Luo丹王道 发表于 2013-1-21 22:50
急问:如果我要整个中国的,要把中国以外的去掉该怎么办?要选哪个图层呢?!!!O(∩_∩)O谢谢啦~
如果是整个中国的你还不如用basemap方法,有现成的,我记得我在另外的帖子有说的
作者: Luo丹王道 时间: 2013-1-23 22:24
传说中的谁 发表于 2013-1-22 15:05
如果是整个中国的你还不如用basemap方法,有现成的,我记得我在另外的帖子有说的
又得麻烦您了。。。basemap不能输出海南,所以我又转战maskout啦。。
可是我写maskout的gs文件我老出问题,我觉得问题主要在oacres,maskout,smth9这几个函数上,能不能请LZ给我解释下这几个函数后面的括号里面的参数是啥意思呢?该如何写呢?灰常感谢呀~
作者: 传说中的谁 时间: 2013-1-24 09:01
Luo丹王道 发表于 2013-1-23 22:24
又得麻烦您了。。。basemap不能输出海南,所以我又转战maskout啦。。
可是我写maskout的gs文件我老出问题 ...
oacres(grid, stn, pass1, pass2, pass3……)为 cressman 分析函数(站点插值到格点),缺省的 pass 半径序列为 10,7,4,2,1。第一个参数grid即是用来插值的背景格点数据,这里就是你制作的maskout文件的变量名;stn即是站点数据的变量名,后面都是插值的影响半径,可以调,也可以采用默认的。 maskout (expr1, expr2)
是标记函数。当 expr2 所在的网格点值取为负值时,对应格点上的 expr1 的值设为缺值值,这是官方解释,具体这么说吧,第一个是绘图用的数据,第二个是maskout文件数据。smth9为9点平滑函数。
作者: Luo丹王道 时间: 2013-1-26 10:21
传说中的谁 发表于 2013-1-24 09:01
oacres(grid, stn, pass1, pass2, pass3……)为 cressman 分析函数(站点插值到格点),缺省的 pass 半 ...
非常感谢哦。。。我的数据本来就是格点数据,应该直接只用d maskout(expr1,expr2)就行了吧,可是说我的表达句是错误的。。可是还是失败了,错误提示是坐标不符,可是我坐标设的是一样的呀。。。做个中国图怎么这么难呀。。~~~~(>_<)~~~~
作者: 传说中的谁 时间: 2013-1-27 10:43
Luo丹王道 发表于 2013-1-26 10:21
非常感谢哦。。。我的数据本来就是格点数据,应该直接只用d maskout(expr1,expr2)就行了吧,可是说我的表 ...
数据文件的时间跟maskout文件的时间是不是一样?这个很重要
欢迎光临 气象家园 (http://bbs.06climate.com/) |
Powered by Discuz! X3.4 |