matlab 处理OMHCH2Od_V3数据
2020-10-14 15:44 omeqi 阅读(210) 评论(0) 收藏 举报
对下载一天某时刻的nc文件进行简单处理:
0 eathdata网站下载
外网下载,白天比较慢,建议挂脚本下载
1 matlab处理程序
1 获取存放路径
dir
2 查看nc里面的结构信息
ncinfo函数
或者HDFViewer工具都可
3 读取nc文件
ncread函数
读取时,注意经纬度直接在values里面,但所对应的值在Groups里面
clc;
clear;
Path = 'C:\Users\16965\Desktop\ncde\'; % 设置路径,记得加上最后的反斜杠
File = dir(fullfile(Path,'*.nc')); %%%dir 函数读取.nc格式的文件名 'name' ,路径‘folder’ 等信息
Len = length(File); % 读取文件数量
% ncdisp('OMI-Aura_L3-OMHCHOd_2020m0901_v003-2020m0902t085552.nc')
% ncdisp(full_path)
for i = 1:Len
full_path = strcat(Path,File(i).name); % 拼接路径和文件名,并显示
info = ncinfo(full_path); % 读取nc文件信息,但不能从通过此方法得到具体数据
longitude = ncread(full_path,'longitude'); % 提取nc文件中变量‘longitude’,当此变量在Variables里面时
latitude = ncread(full_path,'latitude'); % 提取nc文件中变量‘latitude’,当此变量在Variables里面时
data = ncread(full_path,'/key_science_data/column_amount'); %此变量在Groups里面时
ind_lon=find((longitude>=104)&(longitude<=114));
ind_lat=find((latitude>=20)&(latitude<=27));
longitude1=longitude(ind_lon);
latitude1=latitude(ind_lat);
data1=data(ind_lon,ind_lat)./10^15; %%%%%%%%units =10^15× molecules/cm^2 %%%%%%%%
ind_dat=find(data1<=0);
data1(ind_dat)=0;
[x,y]=meshgrid(longitude1,latitude1);
x=x';
y=y';
%%%%%%%%%%%%%%%%%%%%%%%%%输出%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
data_out(:,1)=x(:);
data_out(:,2)=y(:);
data_out(:,3)=data1(:);
num=num2str(i);
dlmwrite(['ncde',num,'.txt'], data_out);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
end
浙公网安备 33010602011771号