爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 12560|回复: 32

[分享资料] 关于全球格点数据对不规则形状区域提取处理的一个方法

[复制链接]

新浪微博达人勋

发表于 2013-1-15 15:40:43 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 ouc129 于 2013-1-15 15:59 编辑

自从接触气象家园以来,学习到了很多很有用的东西,所以也想来分享一下自己所想到的一些简答的东西。虽然不一定是达到目的的最简单的途径,但应该是可行的方法之一。希望能帮助需要的人。

读过   “传说中的谁”以及 “clare" 的帖子后, http://bbs.06climate.com/forum.php?mod=viewthread&tid=7276
http://bbs.06climate.com/forum.php?mod=viewthread&tid=893&extra=page%3D1  
关于画图时控制在特定区域的解决很是实用,如果想进一步对该区域进行处理,比如用fortran进行一些grads不能进行的分析时,就有些局限性。或者说对于gs不是特别熟悉的人来说,可能更习惯使用fortran最数组进行操作。所以想到一个方法可以解决此问题。

这里也需要实用meteoinfo软件来获取地图分布数据。
这里以中国区域为例,再分析资料一般以全球格点数据为主,比如ERA-interim的全球0.75的格点资料。我们假如只想分析中国区域的数据,想做一个中国区域的区域EOF,但是该区域是一个不规则的形状。那么就不能直接分析。就需要从全球数据中提取出改区域的数据,这时需要先取得中国区域边界缺省值的分布数据,然后对应到要分析格点数据上。
方法如下:利用MeteoInfo软件(语言可以选择中文),添加图层,选择  china.shp图层。点击add layer.  中国区域就加载进去了(图中黄色)。

02.jpg
选择工具栏里的identifer, 然后点击选择黄色的中国区域。选择后变为红色,同时弹出一个属性框,index值为0,代表你所选择的该区域代号为0.
   03.jpg

接着选择tools里的Output Map Data,勾选上0,输出格式选择GrADS maskout file. 点击OK。然后命名,这里命名为China。接着会弹出一个格点分辨率的选项,设置为你要处理的数据对应的分辨率即可,这里以ERA-interim最细分辨率0.75*0.75为例。然后OK
05.jpg

就会生成一个China.dat和对应的China.ctl 这个数据是比中国区域稍大的一个矩形区域。数据里中国区域内的值全部为1.0,之外的全部为-1.0Meteoinfo软件定义的)。然后你要分析的假设是北半球的数据,那么用fortran读进去China.dat和北半球hgt.dat之后。将China.dat中的1.0值区域对应为hgt.dat中的中国,其他的全部附缺省值,就可以得到一个北半球格点,但是只有中国区域有数据的dat了。这样就可以在fortran里为所欲为的进行处理,比如EOF,区域加权平均,相关,聚类,合成,距平等等等………..
附上f90及地图数据和ctl。
China.dat (16.08 KB, 下载次数: 48)

01

01
04.jpg

评分

参与人数 2威望 +2 金钱 +28 贡献 +6 收起 理由
开始起飞1 + 2 赞一个!
善人/jw + 2 + 26 + 6 赞一个!

查看全部评分

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

新浪微博达人勋

发表于 2017-3-14 20:09:38 | 显示全部楼层
wn8891 发表于 2016-5-6 08:56
楼主,按你的方法,这是什么情况啊?

用JAVA的版本
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-3-10 14:50:06 | 显示全部楼层
China.dat下载下来乱码了》。。。。。。。。。。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-7-5 16:44:12 | 显示全部楼层
很不错啊。。。。。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2016-5-6 08:56:56 | 显示全部楼层
楼主,按你的方法,这是什么情况啊?
{8`]BS{WPCM~9NB)ZB6TN%D.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-1-19 14:15:31 | 显示全部楼层
方法讲的太赞了,很好啊。试试看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-11-4 22:09:22 | 显示全部楼层
皮特 发表于 2015-9-7 17:08
楼主,为什么数组赋值会错误啊!

去看一下fortran的规则,估计你可能不熟悉fortran语言。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-11-4 22:07:47 | 显示全部楼层
皮特 发表于 2015-9-7 17:08
楼主,为什么数组赋值会错误啊!

你这几行是fortran的code?  fortran里允许数组的维数是小数?你要自己把经纬度先转化为数组的维数啊。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-9-7 17:08:35 | 显示全部楼层
楼主,为什么数组赋值会错误啊!
QQ截图20150907171500.jpg
QQ截图20150907171507.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-8-15 19:59:36 | 显示全部楼层
方法讲的太赞了,很好啊。试试看
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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