科学网

 找回密码
  注册

tag 标签: amsr2

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

AMSR2土壤水分产品的下载与Matlab读取
yczhu171018 2018-12-27 11:19
本文介绍了: AMSR2卫星的背景; 如何在AMSR2官网下载AMSR2数据; 如何在Matlab中读取AMSR2的L3土壤湿度数据。 AMSR2卫星简介-机翻(参见: Global Change Observation Mission ) AMSR2(高级微波扫描辐射计2)是ADEOS II上的AMSR(孔径2.0米)和NASA Aqua卫星上的AMSR-E(孔径1.6米)的改进版本。通过在1.5秒的时间内旋转圆盘天线(直径2.0米),它沿着1450千米长的弧线扫描地球表面。可靠性优于AMSR和AMSR-E。计划寿命从3年延长至5年。虽然技术创新很少,但由于校准的改进,准确性更好。 新增了微波频段,即7.3 GHz频段和89.0 GHz频段。 7.3 GHz频段用于6.925 GHz频段的复制和校准。 89.0 GHz频段用于降水和海冰密度。另一方面,消除了50.3 GHz频段和52.8 GHz频段。它们已被用于空气温度监测。在AMSR-E上安装了89.0 GHz频段,但由于故障导致精度下降。 AMSR2主要的产品以及相关的观测频段 哪里可以下载AMSR2的土壤湿度数据? 日本宇航局(JAXA)负责分发AMSR2数据,他们提供从2012年7月至今的AMSR2标准产品,具体参见: Definition of Processing Levels 数据下载网址: G-PortalTop 在网站注册用户后,便可免费下载所有的产品数据。在Spacecraft端口中(见下图),可以根据你的需求搜索需要的数据,提供的搜索条件包括产品、时间和区域;也可以在提供的ftp端口中,直接下载你需要的数据(推荐这种方式,他们提供了下载的ftp软件,可以很容易批处理下载)。点击Direct download,系统会推给你一个用户手册,里面详细介绍了在网站上如何搜索、下载数据(包括如何利用ftp批量下载)。 数据下载端口 我下载了2016年的全球的AMSR2的L3土壤水分数据;每天的数据分为升轨和降轨分别存储的,每个数据4M左右,一年的数据2.85G左右,基本半天可以搞定。 下载的AMSR2土壤水分数据 如何利用Matlab读取AMSR2数据? 我的数据在Matlab中处理的,这里我以我下载的数据为例说明;处理的脚码中,使用了两个自定义函数:h5dataread_amsr2和image_combine_amsr2。h5dataread_amsr2实现单个文件的读取,image_combine_amsr2会将同一天观测的升轨和降轨数据合并为一个数据集,参见后续代码。 %指定你的数据所存放的路径 filedir='H:\\workfile_Papaer201709\\comparison_zidongzhan_VS_fy3_171205\\amsr2_2016'; %获取所有的子文件夹filename=dir(filedir); %你数据的顺序(一年中的第多少个) dateOrder=0; %存放读取后的土壤水分数据(供后续分析使用) sm_amsr2_2016=cell(1,365); %存放读取后的土壤水分数据的观测时间(供后续分析使用) date_amsr2_2016=NaT(1,365); forimonth=1:12 disp(imonth) %当月中的所有土壤湿度文件 filedir_thisM= ; %当月的所有数据文件 filenamesA_thisM=dir( ); filenamesD_thisM=dir( ); fileLength=length(filenamesA_thisM); ifimonth1 dateOrder=dateOrder+eomday(2016,imonth-1); end forifile=1:fileLength disp(ifile) FILENAME_A=filenamesA_thisM(ifile).name; FILENAME_D=filenamesD_thisM(ifile).name; dataA=h5dataread_amsr2(FILENAME_A); dataD=h5dataread_amsr2(FILENAME_D); datas=image_combine_amsr2(dataA,dataD); dateOrder2=dateOrder+ifile; sm_amsr2_2016{dateOrder2}=datas; %获取卫星数据的日期 Idate=strfind(FILENAME_A,'GW1AM2_'); date=FILENAME_A(Idate+7:Idate+14); date_amsr2_2016(dateOrder2)=datetime(date,'InputFormat','yyyyMMdd'); end end savesm_amsr2_2016 savedate_amsr2_2016 h5dataread_amsr2函数的代码: function =h5dataread_amsr2(FILE_NAME) %H5DATAREAD_FY3函数读取hdf格式数据,返回读取结果 %此处显示详细说明 file_id=H5F.open(FILE_NAME,'H5F_ACC_RDONLY','H5P_DEFAULT'); DATAFIELD_NAME='GeophysicalData'; data_id1=H5D.open(file_id,DATAFIELD_NAME); %%Readthedataset. datas=H5D.read(data_id1,'H5T_NATIVE_DOUBLE','H5S_ALL','H5S_ALL','H5P_DEFAULT'); %Closeandreleaseresources.关闭文件指针 H5D.close(data_id1); H5F.close(file_id); %%ReplacethefillvaluewithNaN. datas(datas-10000)=NaN; datas=reshape(datas,1440,720); end image_combine_amsr2函数的代码: function =image_combine_amsr2(varargin) %IMAGE_COMBINE此处显示有关此函数的摘要 %此处显示详细说明 %获取输入变量的大小 dim=size(varargin{1}); %用于放数据 vsm_combine=zeros(dim(1),dim(2)); %用于计算个数(空值为非覆盖区) I_combine=zeros(dim(1),dim(2)); %用于结果数据 out_combine=nan(dim(1),dim(2)); fori=1:nargin%输入变量的个数 %转换为double类型 varargin{i}=double(varargin{i}); varargin{i}(varargin{i}-999)=nan; %湿度数据 varargin{i}=varargin{i}/1000; %当前矩阵中的非空值 I1=~isnan(varargin{i}); %把其中不是空值的部分给矩阵 vsm_combine(I1)=vsm_combine(I1)+varargin{i}(I1); %非空格子计数加一 I_combine(I1)=I_combine(I1)+1; end %输出矩阵 out_combine(~isnan(I_combine))=vsm_combine(~isnan(I_combine))./... I_combine(~isnan(I_combine)); out_combine=out_combine'; end
个人分类: 遥感数据处理|10037 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-3 10:21

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部