请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7621|回复: 10

TRMM数据处理

[复制链接]

新浪微博达人勋

发表于 2016-8-23 16:47:14 | 显示全部楼层 |阅读模式

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

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

x
求matlab读取TRMM 3B42(3 hour)数据的程序
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-9-10 09:01:34 | 显示全部楼层
已解决,谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-25 10:46:10 | 显示全部楼层

请问楼主怎么处理的呀?我之前用matlab提取过,可是分析数据时才发现自己出错了。。因为我提取出西藏旁多站12月某天的降雨能达到五十几mm。。。求指教
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-9-27 08:48:13 | 显示全部楼层
我没有处理数据,也只是提取数据啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-15 18:49:45 | 显示全部楼层
能发我一份吗,我也在学这个
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-1-4 21:43:56 | 显示全部楼层
楼主的程序脚本能不能发我一份参考一下,我的程序一直有错误,谢谢!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-11-7 17:49:03 | 显示全部楼层
楼主怎么解决的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-18 15:58:44 | 显示全部楼层
贴上MATLAB读取TRMM 3B42代码:

clear

% Opening the HDF4 File
  file_name='3B42.100331.21.7A.HDF';
  SD_id = hdfsd('start',file_name, 'rdonly');

% Reading Data from a Data Field
  datafield_name='precipitation';

  sds_index = hdfsd('nametoindex', SD_id, datafield_name);

  sds_id = hdfsd('select',SD_id, sds_index);

  [name, rank, dimsizes,data_type,nattrs, status] = hdfsd('getinfo', sds_id);

  [m, n] = size(dimsizes);

  [data1, status] = hdfsd('readdata', sds_id, zeros(1,n), ones(1,n), dimsizes);

% Convert M-D data to 2-D data
  data=data1;

% Terminate access to the corresponding data set
  hdfsd('endaccess', sds_id);

% Closing the File
  hdfsd('end', SD_id);

% The lat and lon should be calculated manually.
% More information can be found at:
% http://disc.sci.gsfc.nasa.gov/additional/faq/precipitation_faq.shtml#lat_lon

  lat = -49.875 : 0.25 : 49.875;
  lon = -179.875 : 0.25 : 179.875;

% Convert the data to double type for plot
  data=double(data);
  lon=double(lon);
  lat=double(lat);

% Replacing the filled value 0 with NaN
  data(data == 0) = NaN;

% Plot the data using contourfm and axesm
  latlim=[floor(min(min(lat))),ceil(max(max(lat)))];
  lonlim=[floor(min(min(lon))),ceil(max(max(lon)))];
  min_data=floor(min(min(data)));
  max_data=ceil(max(max(data)));

  f=figure('Name','3B42.100331.21.6A_precipitation_scale0','visible','off')

  axesm('MapProjection','eqdcylin','Frame','on','Grid','on',  ...
    'MeridianLabel','on','ParallelLabel','on')
  coast = load('coast.mat');

  surfacem(lat,lon,data);
  colormap('Jet');
  caxis([min_data max_data]);
  h=colorbar('YTick', min_data:5:max_data);

  plotm(coast.lat,coast.long,'k')

  units = 'mm/hr';

  title({file_name; [datafield_name ' at scan=0']}, 'Interpreter', 'None', 'FontSize',16,'FontWeight','bold');

  set (get(h, 'title'), 'string', units, 'FontSize',16,'FontWeight','bold');

  scrsz = get(0,'ScreenSize');
  set(f,'position',scrsz,'PaperPositionMode','auto');

  saveas(f,'3B42.100331.21.6A_precipitation_scale0.m.jpg');
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-18 21:27:26 | 显示全部楼层
楼主这是一个个数据处理的呀,我写了一个可以年循环的程序,但是我做的是月数据。有一起学习的同学可以联系我
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-12-22 19:22:39 | 显示全部楼层
你处理好了TRMM数据了吗?坐标投影之类的吗?怎么让它和矢量数据对上呢
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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