MATLAB处理 气候资料日值数据集

该篇文章介绍了如何使用MATLAB脚本读取和处理中国气象站点的数据,包括从Excel中提取站名区号,筛选数据文件,进行降水数据特征值转换(如将特定降水量范围标准化),并最终将处理后的数据写入新的Excel文件中。
摘要由CSDN通过智能技术生成

数据格式 

3eeb82aa8bf84540aaad10eb8cfb306a.png

4f93a18b24a745e6b5161ffccf8f151a.png

结果查看

每个站点输出一个excel;

在excel中插入数据透视表查看

980b920e1d4f4a1194bfd431c0e073dd.png

数据文件命名由数据集代码(SURF_CLI_CHN_MUL_DAY)、要素代码(XXX)、项目代码(XXXXX)、年份标识(YYYY)和月份标识(MM)组成。其中,SURF表示地面气象资料,CLI表示地面气候资料,CHN表示中国,MUL表示多要素,DAY表示日值数据

MATLAB处理 本文以降水数据为例

”station.xlsx“ 为需要提取的站的区站号,按列排序

特征值处理:

                 32766 根据需要处理;

    降水量  32700   表示降水"微量"          改为  1

                32XXX   XXX为纯雾露霜        取后三位

                31XXX   XXX为雨和雪的总量  取后三位

                30XXX   XXX为雪量(仅包括雨夹雪,雪暴) 取后三位

代码

clear;
clc;
tic
station=xlsread('station.xlsx','sheet1')      %  输入站名的区站号   
flies = dir('SURF_CLI_CHN_MUL_DAY-PRE*.txt'); % 筛选出所有数据文件,以“SURF_CLI_CHN_MUL_DAY-PRE”为搜索关键词   假设数据文件是txt格式
lieming={'区站号','纬度','经度','观测场拔海高度','年','月','日','20-8时降水量','8-20时降水量','20-20时累计降水量','20-8时降水量质量控制码','8-20时累计降水量质量控制码','20-20时降水量质量控制码'}
for i=1:length(station)
    for i=station(i,1)
    clear a
    for j=1:length(flies)
    % 读取数据
    filename = flies(j).name;
    data=readtable(filename);
    data=table2array(data);
        if j<2
            a=data(data(:,1)==i,:);
        else
           a=[a;data(data(:,1)==i,:)];
        end
    end
     %%%%对特征值处理            
     a(a(:,10)==32700,10) =1;
     idx=(a(:,10) > 31999)&(a(:,10) < 33000);
     a(idx,10) = a(idx,10)-32000;
     idx=(a(:,10) > 30999)&(a(:,10) < 32000);
     a(idx,10) = a(idx,10)-31000;
     idx=(a(:,10) > 29999)&(a(:, 10) < 31000);
     a(idx,10)=a(idx,10)-30000;
     a(:,10) = a(:,10) * 0.1;
     filename=sprintf('%d.xlsx',i);
     xlswrite(filename,lieming)
     xlswrite(filename,a,'sheet1','A2');
    end
end
toc

 

 

 

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值