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

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

x

本帖最后由 东风急流 于 2016-1-28 10:54 编辑

在数值模拟结束后,常会用模拟结果与实况做对比,有时候两张图比较相似,难以直观的体现出区别。这时候可以通过模拟结果与实况做差值的方法画图分析,这样可以更加具体的分析出模拟的差异(哪里大哪里小),但是fnl资料和模式输出结果在投影方式、范围上均存在一定差异,需要插值到同一分辨率网格上才能进行差值分析,现在提供一种仅仅利用grads中pdef的简单方法给大家参考下,不完善的地方还请大家帮着改进。

1、首先要理解描述文件中pdef的含义

这是我们模式结束后利用ARWpost生成的kz3.ctl中一段:

pdef  300 300 lcc  34.500  100.500  150.500  150.500  60.00000  30.00000  100.50000  18000.000  18000.000

xdef 1080 linear   56.71197   0.08108108

ydef  646 linear    7.71816   0.08108108

因为wrf中投影通常是lambert,而grads需要的是等经纬网格的数据,所以要进行投影转换,pedf告诉的原始数据的排列方式,各项含义如下

300 300 :300×300格点

lcc:             Lambert投影

34.5,100.5 :模式的参考点位置;

150.500 150.500 :该点对应的网格点坐标为x方向第150.5个格点,y方向第150.5个格点;

30 60: Lambert投影中的标准纬度,

110.5:标准经度;

180000 网格距 18KM

而xdef 1080 linear 56.71197 0.08108108

ydef 646 linear 7.71816 0.08108108

则告诉我们要插值到的等经纬网格的信息,

现在比如我们要将模拟数据在10~55N,60~140E范围内与1度*1度的fnl资料做差值,在可以将上两段改为:

ydef 46 linear 10 1

xdef 81 linear 60 1

2、提取数据,将数据插值到需要的格点上

利用fwrite来提取模拟结果中的某个变量,脚本很简单,假设提取500hp高度场

'reinit'

'open E:\sk\fnl4\kz3.ctl'

'set gxout fwrite'

'set fwrite E:\sk\fnl4\wrfHGT500.dat'

'set z 11'

'set t 5'

'define a=(PH+PHB)/9.8'

'd a'

'disable fwrite'

;

这里要注意的是,我们写的数据是81*46个,非300*300个,这也是这个方法的核心,否则后面的ctl会写错!

3、写新数据的ctl文件

wrfHGT500.ctl:

dset E:\sk\fnl4\wrfHGT500.dat

title my data

undef -999000000

ydef 46 linear 10 1

xdef 81 linear 60 1

zdef 1 levels 500

tdef 1 linear 00Z08aug2015 6hr

vars 1

HGT500 1 99

endvars

4、最后是同fnl资料做差值

从fnl资料中提取出相同范围的500hp高度场方法同上,不赘述,但注意两个ctl文件要高度保持一致,否则还会出错

其描述文件为:

sk500HGT.ctl

dset e:/sk/fnl4/skHGT500.dat

undef 9.999E+20

title e:/sk/fnl4/fnl_20150809_00_00.grib2

ydef 46 linear 10 1

xdef 81 linear 60 1

tdef 1 linear 00Z08aug2015 6hr

zdef 1 levels 500

vars 1

HGT500   1 99

ENDVARS

插值脚本主要语句为:

'open e:/sk/fnl4/sk500HGT.ctl ’

'opene:/sk/fnl4/wrf500HGT.ctl’

'set gxout shaded’

'd HGT500.2-HGT500'

'cbarn'

贴一个我画的图,优点丑,哈哈~~

500.png (25.22 KB, 下载次数: 0)

2016-1-27 16:26 上传

根据兰溪大神的提示,确实是我的方法太繁琐啦,抱歉给大家一些误导,简单方法总结如下:1、修改模式结果的描述文件kz3.ctl,写成同fnl资料相同的分辨率

xdef 1080 linear 56.71197 0.08108108

ydef 646 linear 7.71816 0.08108108

现在比如我们要将模拟数据在10~55N,60~140E范围内与1度*1度的fnl资料做差值,在可以将上两段改为:

ydef 46 linear 10 1

xdef 81 linear 60 1

2、第二步是跳过提取数据步骤,直接画图,在grads中选定做差值的变量

脚本如下:

'open e:\sk\fnl4\kz3.ctl'

'open e:\sk\fnl4\fnl_20150809_00_00.ctl'

'c'

'set map 1 1 4'

'set mpdset cnworld'

'set lat 10 55'

'set lon 60 140'

'set t 5'

'set z 13'

'set xlint 10'

'set ylint 10'

'set xlopts 1 8 0.2'

'set ylopts 1 8 0.2'

'set cterp on'

'set csmooth on'

'set grads off'

'set grid off'

'set gxout shaded'

'd (PH+PHB)/9.8-HGTprs.2'

'cbarn'

'printim E:\sk\fnl4\500.png white'

;

grads插值_利用grads描述文件中的pdef做插值的实用方法,转模式的同学看过来~~...相关推荐

  1. python把汉字变成拼音英文_利用python将表格中的汉字转化为拼音

    GB18030的字符集标准 http://zbgb5.com/2/StandardDetail479488.htm 缺少包时用pip install 进行安装,例如: pip install xlsx ...

  2. 服务器安装信任描述文件,OS X Server:在使用 TLS、TTLS 或 PEAP 时如何在“配置描述文件”中配置 RADIUS 服务器信任...

    在 OS X 中,可使用配置描述文件来配置客户端,使其加入受 802.1x 保护的网络.如果配置描述文件没有针对 EAP 类型正确配置用于建立安全隧道(TLS.TTLS.PEAP)的 RADIUS 服 ...

  3. 从TS文件中提取DVB Subtitle字幕的有效方法

     从TS文件中提取DVB Subtitle字幕的有效方法 深圳市同洲电子股份有限公司韦斌 (本文发表于<卫星电视与宽带多媒体>2013年16期) 摘要:DVB Subtitling标准 ...

  4. python读取数据文件、并把里面的数据变成x的二维坐标_python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法...

    python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法 1. test.txt文件,数据以逗号分割,第一个数据为x坐标,第二个为y坐标,数据如下:1.1,2 2.1,2 3.1 ...

  5. Myeclipse开发环境下文件中出现的提示错误与解决方法:The import javax.servlet cannot be resolved?

    Myeclipse开发环境下文件中出现的提示错误与解决方法:The import javax.servlet cannot be resolved? 参考文章: (1)Myeclipse开发环境下文件 ...

  6. 用户名不在sudoers文件中此事将被报告的解决方法

    用户名不在sudoers文件中此事将被报告的解决方法 参考文章: (1)用户名不在sudoers文件中此事将被报告的解决方法 (2)https://www.cnblogs.com/yongfengni ...

  7. 怎么将file转换为html,怎么将PDF文件转换为HTML?分享四种实用方法!

    原标题:怎么将PDF文件转换为HTML?分享四种实用方法! 在我们日常学习和日常工作中,如果想要将PDF文件转换为HTML文件要怎么办呢?随着需求的增加,我们需要会的技能也要增加了.不止要将PDF文件 ...

  8. 微信小程序合成海报_利用微信小程序中Canvas API来合成海报生成组件封装

    每个小程序成型后,一般都会选择生成带菊花码的海报分享出去来吸引更多的流量.下面来介绍下其他的一种实现方式吧 原理:主要利用微信小程序强大的Canvas API来合成,生成后可用wx.canvasToT ...

  9. python 物理学中的应用_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

  10. python 表格格式输出_利用python对excel中一列的时间数据更改格式操作

    问题场景:需要将下列的交期一列的数据格式更改成2019/05/10 存货编码 尺寸 数量 交期 0 K10Y0190000X B140 200 2019-05-10 00:00:00 1 K10Y01 ...

最新文章

  1. 关于使用REST API
  2. django 灵活的后台查询
  3. 浏览器 刷新页面后回到顶部_JavaScript仿知乎回到顶部功能
  4. html页面滚动导致阴影出现,三种处理滚动穿透问题方案的对比
  5. 面试宝典-常见面试问题回答技巧
  6. 【第一组】第十六次冲刺例会纪要
  7. 《黑客帝国 THE MATRIX》——当你生活在代码的虚拟世界中
  8. c++获取系统时间实例2
  9. 被领导嘉奖了,该不该请同事吃饭?
  10. 联想小新增加固态硬盘后安装不了系统_固态硬盘装双系统不成功,装第二个系统时提示 windows没法完成安装,安装将在重启计算机后继续。...
  11. 解决docker报错:listing workers for Build: failed to list workers: Unavailable: connection error: desc =
  12. python工程师必备工具
  13. tomcat监控脚本(监控进程,测试接口,告警动作为发送邮件)
  14. 如何包装你的实验结果
  15. 第一次作业(个人作业):阅读教材,提五个问题
  16. 力扣(leetcode)[118. 杨辉三角] 简单
  17. 理解数字信号处理的三把钥匙
  18. 马斯克究竟从特斯拉赚了多少钱?道翰天琼认知智能机器人平台API接口大脑为您揭秘-1。
  19. 2014年12月31日这一天,我想说明天会更好!
  20. dockerfile编写之恋爱初体验~~~

热门文章

  1. 云队友丨巴菲特是怎样炼成的?两万字长文深度起底股神的传奇人生
  2. Textbox的用法
  3. 老毛子固件二级路由实现ipv6上网
  4. UNITY单击和双击实现
  5. 网络编程在线英英词典之服务器代码框架搭建(二)
  6. EDA365 Skill找不到Cadence安装路径的原因与解决办法
  7. exe打包工具,封装exe安装程序--Inno Setup
  8. 路由交换技术-实验3: SSH远程登陆
  9. 中国省份-市级城市数组
  10. js字符串分割处理的几种方法