爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 23179|回复: 55

[经验总结] 提取中国范围内的格点数据

  [复制链接]

新浪微博达人勋

发表于 2014-9-11 21:42:18 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 言深深 于 2014-9-12 10:47 编辑

众所周知,清风大侠各种编程,软件设计能力都很出色,为气象家园的建设发展做出了不可磨灭的贡献。每一次看清风的帖子,我都能学到不少东西。再次,真诚致谢!!!

因为项目研究需要,必须将中国范围以外的数据设置成undef,然后才能进行下一步工作。于是乎,本人遍历了家园中fortran和grads下的大部分帖子,找到了清风的帖子:fortran提取任意区域内的点,可用来生成GrADS的mask文件。http://bbs.06climate.com/forum.p ... 18693&fromuid=21651


清风的程序中用到了一个子程序,很牛的,用来判断某个站点是否属于多边形区域内。看到这里,我觉得需要有更简单的方法作为替代。由于地形数据需要用MeteInfo生成,然后就拜读了传说中的谁的帖子:maskout方法的使用以及maskout文件制作
http://bbs.06climate.com/forum.php?mod=viewthread&tid=893&fromuid=21651
(出处: 气象家园),学会了生成地形文件。传说中的谁一样,我将地形文件保存成为二进制格式。这样,保存的二进制文件中的所有为1的元素表示中国范围内,为-1的元素为中国范围外的。

接下来,我用fortran读入该地形文件以及所研究的数据,分别存放在数组china和array中。然后仅用一条语句就把中国范围以外的数据给屏蔽掉了:
WHERE ( china .EQ. -1 )
            array = undef
ENDWHERE
看看俺的图吧


很简单吧!!!如果您也按照我的方法试成功了,请您点个赞PS :: 我的mask文件china.dat的数据范围是从70-136,15-55°,分辨率为0.25°。如果您的数据分辨率为0.25°的整数倍,不想学习MeteInfo生成地形文件也可以。只要在fortran中度取数据后,每个几个数进行设置为undef就可以了。下面上传我的地形文件。



pcp

pcp

china.dat

166.66 KB, 下载次数: 52, 下载积分: 金钱 -5

mask

评分

参与人数 5金钱 +72 贡献 +12 体力 +40 收起 理由
水静流深 + 2
mofangbao + 15 + 5
言深深 + 15 + 5 + 40
黑马骑士 + 20 + 1 很给力!
topmad + 20 + 1 赞一个!

查看全部评分

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

新浪微博达人勋

发表于 2014-9-11 22:01:29 | 显示全部楼层
感谢分享,好方法
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-9-11 22:39:11 | 显示全部楼层
给力,赞!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2014-9-12 07:51:49 | 显示全部楼层
这样的流程介绍的帖子很好 一步一步来
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-9-12 08:04:36 | 显示全部楼层
topmad 发表于 2014-9-12 07:51
这样的流程介绍的帖子很好 一步一步来

感谢您的鼓励!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-9-12 08:07:10 | 显示全部楼层
好贴
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2014-9-12 08:27:26 | 显示全部楼层
有点空闲就发帖。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2014-9-12 09:34:52 | 显示全部楼层
很不错的一份工作!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2014-9-12 09:46:46 | 显示全部楼层
不错的思路~我之前写的那个Fortran其实只能应对简单的多边形,复杂的就不行了,MeteoInfo应该实现的比较完善了~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-9-12 09:57:36 | 显示全部楼层
mofangbao 发表于 2014-9-12 09:46
不错的思路~我之前写的那个Fortran其实只能应对简单的多边形,复杂的就不行了,MeteoInfo应该实现的比较完 ...

不过你的子程序太牛了!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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