爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5153|回复: 12

[分享资料] 请教一个关于 fwrite 的问题

[复制链接]

新浪微博达人勋

发表于 2013-7-28 00:12:32 | 显示全部楼层 |阅读模式

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

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

x
初始数据是grib1格式,ctl描述文件:options yrev
ydef 91 linear 0.000000 1
xdef 181 linear 0.000000 1.000000
初始数据是y轴反向
现用fwrite语句将数据提取出来:
'set gxout fwrite'
   zz=1
while(zz<=9)
  'set x 1 181'
  'set y 1 91'
  'set z 'zz''
  'd hgtprs'
  zz=zz+1
endwhile

对于提取出来的数据而言,重新写的ctl文件里面不需要 options yrev 这一句
这是不是说明提取出来的数据,y维变成从南到北排列
如果用fortran处理的话,第一个格点表示最南,最西的那个点?




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

新浪微博达人勋

发表于 2016-10-26 17:52:13 | 显示全部楼层
river 发表于 2016-10-9 18:07
无论哪个grads可用的资料,只要经过它自己的命令fwrite或者sdfwrite重新输出,那资料格式必定是按照grads ...

抱歉这么晚才顾得上回复您,我专门试验了下z层次排放顺序,如果x,y,z,t多维输出的话xyz其中必须至少固定其中1维才能一次输出,否则需要加循环,所以我固定了x,我的数据是从上到下即100hPa到1000hPa这样子排列,在ctl中也是如此说明的,输出前设z=1到17然后gs一次输出那么它的顺序也是按照我写的从100hPa到1000hPa,而不会翻转成1000hPa到100hPa。所以我想楼主的问题可能仅仅存在于x,y轴反向,z轴都会按照自己设定的排列。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2013-7-28 08:12:25 | 显示全部楼层
原始ctl里面已经告诉grads这个资料是南北反向排列的,当你使用这个ctl画图或者提取资料的时候,grads就会自动把它反过来的,所以最终提取出来的资料都是按照grads的规则排列的,也就是由西向东,由南到北,由底层到高层的。所以你的理解是正确的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-7-28 08:28:25 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-11-26 13:56:21 | 显示全部楼层
最近也在考虑相关问题
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-11-26 14:05:13 | 显示全部楼层
第一个格点就是最南,最西的那个点
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-10-9 15:43:26 | 显示全部楼层
river 发表于 2013-7-28 08:12
原始ctl里面已经告诉grads这个资料是南北反向排列的,当你使用这个ctl画图或者提取资料的时候,grads就会自 ...

您好,请问那如果ctl编写时候我直接ydef 73 linear 90 -2.5 的话,那么输出时候也会自动翻转成grads自己的排列方式吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-10-9 15:59:43 | 显示全部楼层
本帖最后由 river 于 2016-10-9 18:05 编辑
wangyanshuo 发表于 2016-10-9 15:43
您好,请问那如果ctl编写时候我直接ydef 73 linear 90 -2.5 的话,那么输出时候也会自动翻转成grads自己 ...

你的想法是美好的,但是那么写可以吗。你自己是不是先要验证这样写对不对,能不能出图,才有后面的问题吧。如果这么些都是错的,那后面的问题没有任何意义
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-10-9 17:14:29 | 显示全部楼层
river 发表于 2016-10-9 15:59
你的想法是美好的,但是那么些可以吗。你自己是不是先要验证这样写对不对,能不能出图,才有后面的问题吧 ...


哦哦我还真没试过.......一般在matlab中就给翻转过来了,倒是等压面层次可以随意来....似乎等压面会按照自己写的顺序输出吗?...谢谢提醒!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-10-9 18:07:16 | 显示全部楼层
wangyanshuo 发表于 2016-10-9 17:14
哦哦我还真没试过.......一般在matlab中就给翻转过来了,倒是等压面层次可以随意来....似乎等压面会按 ...

无论哪个grads可用的资料,只要经过它自己的命令fwrite或者sdfwrite重新输出,那资料格式必定是按照grads的规定来的
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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