利用matlab处理netcdf文件中time变量的格式转换问题

我们通常读取的科研数据具有时间维度,因而通常用于数据运算的时候,最常使用的是(2003.567)等双精度格式的年份。本专栏提供了一个将nc文件中提供的时间变量的年-月-日转成-年。但是nc文件提供的time变量通常是以下两种格式:

units         = 'hours since 1800-01-01 00:00:0.0'
 
units         = 'days since 1800-1-1 00:00:00'

因此对应第一类的处理方法是:

time = ncread(file,'time');
dt1 = datetime(1800,1,1) + hours(time);

tin = ymd(dt1)

而第二类处理方法:

time = ncread(file,'time');
dt2 = datetime((time)*24*3600, 'ConvertFrom', 'epochtime', 'Epoch', '1800-01-01');

tin = ymd(dt2)

然后可以得到[年-月-日]的tin变量,接着按以下的提供的matlab函数计算即可:

function tout=nc_time_transfer(tin)

% inout:[year,month,day]

% output:year.xxx

month_daylist = [31,28,31,30,31,30,31,31,30,31,30,31];

month_daylist_leap = [31,29,31,30,31,30,31,31,30,31,30,31];

year = tin(1);

month = tin(2);

day = tin(3);

if leapyear(year) == 1

    dayinyear = sum( month_daylist_leap(1:month-1) ) + day;

    tout = year + dayinyear/366;

else

    dayinyear = sum( month_daylist(1:month-1) ) + day;

    tout = year + dayinyear/365;

end

% tout

function iyn = leapyear( year )

if ( mod(year,4) == 0 && mod(year,100) ~= 0 ) || mod(year,400) == 0

    iyn = 1;

else

    iyn = 0;

end

end

end

相关推荐

  1. 利用matlab处理netcdf文件time变量格式转换问题

    2024-03-17 04:04:02       22 阅读
  2. MATLAB读取NetCDF(.nc)文件group数据

    2024-03-17 04:04:02       13 阅读
  3. [ffmpeg]利用ffmepg转换mp3格式文件

    2024-03-17 04:04:02       29 阅读
  4. Matlab修改.mat文件某个变量

    2024-03-17 04:04:02       21 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-17 04:04:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-17 04:04:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-17 04:04:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-17 04:04:02       18 阅读

热门阅读

  1. python-0009-django对数据的增删改

    2024-03-17 04:04:02       19 阅读
  2. 突破编程_C++_查找算法(插值查找)

    2024-03-17 04:04:02       25 阅读
  3. 稳定币套利案例解析一 两个疑点

    2024-03-17 04:04:02       20 阅读
  4. 【Python学习笔记】Python近期总结

    2024-03-17 04:04:02       20 阅读
  5. 24计算机考研调剂 | 哈尔滨理工大学

    2024-03-17 04:04:02       22 阅读
  6. CentOS7下使用Dockers安装MinIO

    2024-03-17 04:04:02       16 阅读
  7. 【面经&八股】搜广推方向:面试记录(八)

    2024-03-17 04:04:02       19 阅读
  8. 程序员如何选择职业赛道

    2024-03-17 04:04:02       16 阅读
  9. LeetCode -- 76. 最小覆盖子串

    2024-03-17 04:04:02       18 阅读
  10. 前端如何识别上传的二维码---jsQR

    2024-03-17 04:04:02       18 阅读