爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 8576|回复: 6

[讨论] ERA-Interim资料,time格式转换问题

[复制链接]

新浪微博达人勋

发表于 2019-3-26 08:05:29 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 懒豆豆yo 于 2019-3-26 08:08 编辑

因为要用ERA的nc格式资料,然后就下了一个月的,结果time变量却是“hours since 1900-01-01 00:00:00.0”的,
大概长这样:
1002972
1002978
1002984
1002990
这个问题放在ncl上面应该是很好解决的,但是我不会用ncl,最近一直死磕的是MATLAB,所以想用MATLAB将以上变量转换为常用的公元历表示。
以下是转换程序,简单得很,试了下,没什么问题。

time1=ncread([path,'150-1000.nc'],'time'); %path是提前设置的路径字符串,'150-1000.nc'是自定义的文件名字符串,此时是“hours since 1900-01-011 00:00:00.0”
time2=double(time1);%资料里面是int32的数据格式,因为后面的datestr()命令需要double格式的数据,所以转换了下
time3=time2./24;%变量是小时的,用datenum()计算时就换算成天数的了,能不能用小时的,回头试试,此时是“days since 1900-01-01”
time4=datenum(time3)+datenum(1900,01,01);%这里面,主要是datenum()命令,表示的是从公元0年到给定日期之间所经历的天数,是数字,其中,datenum(1900,01,01) 就是公元0年1月1日到1900年01月01日的天数,而1900年01月01日到数据里面的天数恰恰是我们刚刚通过time变量算出来的变量time3,两者加起来就是datenum()函数可以正确表示的天数了,即从公元0年到数据日期之间所经历的天数
time = datestr(time4);%前面为什么一定需要datenum()可以按照MATLAB里面的定义正确表达呢,就是因为这里要用datestr()命令,将刚刚得到的天数,转化为我们方便识别的公元历表示法


time3 大概长这样
41789
41789.2500000000
41789.5000000000
41789.7500000000  

time 长这样,就是我下的资料里看得懂的时间啦
    '01-Jun-2014 00:00:00'
    '01-Jun-2014 06:00:00'
    '01-Jun-2014 12:00:00'
    '01-Jun-2014 18:00:00'

原理简单得很,mark一下,就当是苦逼底层科研狗,贴了一晚上发 票后的灵光一现吧
有理解错的地方,欢迎指正,我们一起交流哇

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

新浪微博达人勋

发表于 2019-3-26 21:42:15 | 显示全部楼层
6666666666
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-12-23 15:27:33 | 显示全部楼层
正好需要,拿走了,666
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-12-31 16:25:17 | 显示全部楼层
66666,正好需要
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-2-12 23:17:50 | 显示全部楼层
谢谢啦,正好需要
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-13 22:23:42 | 显示全部楼层
谢谢,正好需要
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-14 14:37:48 | 显示全部楼层
楼主非常棒!!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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