matlab 处理OMHCH2Od_V3数据
2020-10-14 15:44 omeqi 阅读(200) 评论(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