爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 36114|回复: 35

[源程序] MATLAB读取grads数据的函数

[复制链接]

新浪微博达人勋

发表于 2017-7-24 10:22:40 | 显示全部楼层 |阅读模式

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

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

x
之前因为老师布置的任务,自己编了一个读取grads使用的dat数据到matlab中的程序
比较初步,希望大家能给一些建议
  1. function data = gradsread( dat_filename,ctl_filename,var )
  2. %GradsRead --> Read grads data file which is written in binary.
  3. %   data = gradsread( dat_filename,ctl_filename,varname )
  4. %   Read ctl file to get actual varname to read.
  5. %   Default is Big-endian, UTF-8 codeing.
  6. %   If you want to change, just modify fopen function in this script.
复制代码
简单说明:给出dat和ctl文件的路径,自定义想要获取的varname,就可以读出想要的变量数据这里的varname必须是ctl内已有的变量,且只能是一个
所有的输入参数是字符串形式

函数思路:
读取ctl文件,根据ctl文件定义,获得dat文件中数据的定义
根据变量排列顺序,算出变量数据位置
fread读出变量数值即可
默认打开是Big-endian格式,utf-8编码
如果不符,在函数里改变fopen代码即可

测试:
已经试验过使用WRF数据转出的grads数据文件,结果无问题

------PS差不多是第一次发帖,轻喷谢谢。。。


gradsread.m

2.1 KB, 下载次数: 274, 下载积分: 金钱 -5

评分

参与人数 3金钱 +40 贡献 +13 收起 理由
斥鷃 + 20 + 2 程序做的很棒!
kongfeng0824 + 10 + 6 很给力!
二爷名声在外 + 10 + 5 赞一个!

查看全部评分

本帖被以下淘专辑推荐:

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

新浪微博达人勋

发表于 2017-7-24 11:41:01 | 显示全部楼层
谢谢分享~~


之前拿到GrADS的数据都是直接二进制读的,因为拿到的本身也没多少变量(自己不用GrADS),就没想过自己封装个函数出来
给lz点个赞~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-7-24 15:51:06 | 显示全部楼层
谢谢分享   
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-7-25 10:37:28 | 显示全部楼层
感谢分享!!!!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-9-9 21:55:22 | 显示全部楼层
感谢分享,尽管感觉并没什么多大作用
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-9-10 10:31:30 | 显示全部楼层
直接转换吗
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-10-30 20:16:51 | 显示全部楼层
感谢分享,抱回去试一下!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-10-31 12:56:48 来自手机 | 显示全部楼层
matlab珍藏,一定要看看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-10-31 21:24:39 | 显示全部楼层
感谢分享,抱回去试一下!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-6 11:20:28 | 显示全部楼层
请问,我的grd文件是little_endian,fopen应该怎样修改呢
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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