爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 14222|回复: 16

[源程序] 绘制微波辐射计的水汽时间剖面图

[复制链接]

新浪微博达人勋

发表于 2017-3-2 17:18:11 | 显示全部楼层 |阅读模式

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

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

x
function MW_dataTransfer(  )
%MW_DATATRANSFER 批量将微波辐射计的数据导入,并画图,画四张图,Temp(k)        VaporDensity        Liquid        RH%
%   Detailed explanation goes here
%数据的格式为三维数组M[1:58,1:6,1:t},为m*n*t=58*5*t维,其中M为行数代表着不同高度共58层,
%n代表不同的要素
%分别为1为高度Height(m)        Temp(k)        VaporDensity        Liquid        RH%
filename='MW1601192000.txt';
%saveFileName='b';
%M=dlmread(filename,'\t',1,3);
MW_m=58; %58个高度层
MW_n=6;    %6个要素
MW_t=240;    %48个时次
%从第一行第四列开始读入数据,M_m代表行数,M_n代表列数
frist_time=datetime('1601192000','InputFormat','yyMMddHHmm');
time_arrary=frist_time+hours(0:0.5:(MW_t-1)*0.5);
% 第一个文件名对应的时间为frist_time,所有的文件对应的时间入在数组time_arrary
MW_data(MW_m,MW_n,MW_t)=1;
%数据存在在一个三维矩阵中


%设置横坐标为时间,将时间写入到一个cell的字符串数组中,然后在设置
% set (gca,'XTick',x_ticks);ax.XTickLabel = datastr_tick_label
x_tick_interval=24;
% xtick_interval表示下标隔离多少标一次,间隔,注意单位可能是半小时
x_ticks=1:x_tick_interval:MW_t;
datastr_tick_label={};
j=1;
for t=1:x_tick_interval:MW_t
   datastr_tick_label(j)=  {datestr(time_arrary(t),'dd日HH时')};
     j=j+1;
end

%将数据读入数组 MW_data中
for t=1:MW_t
     datastring=datestr(time_arrary(t),'yymmddHHMM');
     filename=['MW' datastring '.txt'];
     %数据存放的文件名为filename
     try
      M=dlmread(filename,'\t',1,3);
     catch
      disp(['error occur while read the ',filename]);   
     end   
     M_m=size(M,1);
     M_n=size(M,2);
     %读入到M中的数据进行维度判断,合适加入三维矩阵中
     if (MW_m==M_m)&(MW_n==M_n)
        MW_data(:,:,t)=M;   
    end      
end
  
     H_data=reshape(( MW_data(:,1,1)),MW_m,1);
     %高度,其实是y轴对应的数据,
      x_data =1:MW_t;
      %时间的次数,为x轴应对的数据
    T_data=reshape(( MW_data(:,2,:)-273.15),MW_m,MW_t);
    %为温度的数据,并进行重新排列为m*t维
    %  VaporDensity        Liquid        RH%
     VaporDensity_data=reshape(( MW_data(:,3,:)),MW_m,MW_t);
     Liquid_data=reshape(( MW_data(:,4,:)),MW_m,MW_t);
     RH_data=reshape(( MW_data(:,5,:)),MW_m,MW_t);
%开始绘图%
draw_pcolor( x_data,H_data,T_data,'T','T',x_ticks,datastr_tick_label);
draw_pcolor( x_data,H_data,VaporDensity_data,'VaporDensity','VaporDensity',x_ticks,datastr_tick_label);
draw_pcolor( x_data,H_data,Liquid_data,'Liquid','Liquid',x_ticks,datastr_tick_label);
draw_pcolor( x_data,H_data,RH_data,'RH','RH',x_ticks,datastr_tick_label);
%
    function draw_pcolor(x,y,data,titleName,saveFileName,xtick,xticklabel)
   
  h_fig=figure('Name','picture','position',[200 150 1200 800]);
   
pcolor(x,y,data);
colormap jet
shading interp
title(titleName);
xlabel('time');
ylabel('h单位m ');
ax = gca;
ax.TickDir = 'out';
ax.TickLength = [0.01 0];
ax.XTick=xtick;
ax.XTickLabel = xticklabel;
colorbar('southoutside');
saveas(gcf,saveFileName,'jpeg');
    end
end
Liquid.jpg
T.jpg

评分

参与人数 1金钱 +20 贡献 +5 收起 理由
mofangbao + 20 + 5

查看全部评分

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

新浪微博达人勋

 楼主| 发表于 2017-3-2 17:20:10 | 显示全部楼层
还有两张图
VaporDensity.jpg
RH.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-3-2 17:38:18 | 显示全部楼层
赞一个!!!!!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-3-2 18:55:13 | 显示全部楼层
{:eb502:}{:eb502:}{:eb502:}{:eb502:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-3-3 09:20:02 | 显示全部楼层
这种无私奉献的共享精神要大赞,对了,快3月5号了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-5-5 23:08:01 | 显示全部楼层
有原始数据可以分享吗
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-6-2 17:44:18 | 显示全部楼层
谢谢分享,同问哪里可以获取温度、湿度的日变化廓线数据
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-8-24 16:12:51 | 显示全部楼层
楼主,可以看看您的数据结构吗?我这里的数据结构是这样的。我正在处理这个微波数据,拿来好好学习一下。估计后面还有问题请教您。
数据结构样子.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-8-30 14:57:19 | 显示全部楼层
非常感谢楼主
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-8-31 08:18:28 | 显示全部楼层
楼主无私,感谢分享!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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