下载OMI数据(以对流层NO2为例):
OMI-NO2下载地址
选择想要的时间范围,筛选,download all
然后大概是这个界面
存为txt,上传至超算。
wget --user=***** --password=******* -i NO2-download.txt
处理成月均数据:
clc;
clear;
datadir='/scratch/zppei/OMI/NO2/'; %指定批量数据所在的文件夹
month = string(zeros(12,1));
for j = 2015:2016
year = int2str(j);
for i = 1 : 12
if (i < 10)
month(i)=strcat(int2str(0),int2str(i));
else
month(i)=int2str(i);
end
filelist=dir([datadir,'OMI-Aura_L3-OMI_MINDS_NO2d_',year,'m',char(month(i)),'*.nc']); %指定批量数据的类型
n=length(filelist);
monthly_Trop_NO2 = [];
%天数
for s = 1 : n
filepath=[datadir,filelist(s).name];
Trop_NO2=ncread(filepath,'ColumnAmountNO2TropCloudScreened');
Trop_NO2 = Trop_NO2';
lat = ncread(filepath,'Latitude');%纬度
lon = ncread(filepath,'Longitude');%经度
%两个要同时进行
lat = flipud(lat); %上下颠倒
Trop_NO2 = flipud(Trop_NO2);
%
[x,y] = size(Trop_NO2);
Trop_NO2 = reshape(Trop_NO2,x*y,1);
monthly_Trop_NO2(:,s) = Trop_NO2;
end
monthly_Trop_NO2 = nanmean(monthly_Trop_NO2,2);
monthly_Trop_NO2 = reshape(monthly_Trop_NO2,x,y);
output_name = ['/scratch/zppei/OMI/NO2_result/Trop_NO2_',year,'_',char(month(i)),'.mat'];
save(output_name,'monthly_Trop_NO2');
end
end
至于什么要上下颠倒,自己试一试就知道了hhhh
绘图:
load('lon.mat')
load('lat.mat')
load('Trop_NO2_2015_01.mat')
[Plg,Plt]=meshgrid(lon,lat);
H = figure(2)
m_proj('miller','lat',82);
m_pcolor(Plg,Plt,monthly_Trop_NO2);
hold on;
%m_mapshow('/Users/peisipand/Desktop/pzp/data/shp/cnhimap.shp')
m_coast('color',[0 0 0], 'linewidth', 1.2);
m_grid('box','on','linewi',2 , 'tickdir', 'out');
colormap(m_colmap('jet','step',10));
colorbar