从NetCDF文件绘制CMAQ模型输出数据

时间:2019-02-04 16:10:12

标签: matlab plot mapping netcdf

这是我第一次使用NetCDF文件格式,因此,如果我问的不好,请原谅我的无知。

我目前正在使用NetCDF数据在MATLAB中工作。以下是我查看它的代码:

clear all;
close all;
folder_name = uigetdir;

% Display the file contents
filename = 'CCTM_US1k.CONC.1km_HGB.2013244';
ncdisp(filename)
pathname2 = uigetdir('/projectnb/atmchem/ahsouri/MCIP')
filename2 = fullfile(pathname2, 'GRIDBDY2D_1km_HGB_2013242')
%% Read the Info
info = ncinfo(filename);
info2 = ncinfo(filename2);

%% Display the variables names
nVar = size(info.Variables, 2);
disp('Variable names are:')
for ii = 1:nVar
    disp(info.Variables(ii).Name);
end

nVar2 = size(info2.Variables, 2);
disp('Variable names are:')
for ii = 1:nVar2
    disp(info2.Variables(ii).Name);
end

%% Read Variables
Data = ncread(filename2,'LAT');
Data2 = ncread(filename2, 'LON');
Data3 = ncread(filename, 'NO2');

%% Mapping Texas
figure 
usamap('Texas')
Texashi = shaperead('usastatehi','UseGeoCoords', true, ...
    'Selector', {@(name) strcmpi(name,'Texas'), 'Name'});
geoshow(Texashi, 'FaceColor', [0.3 1.0, 0.675])

textm(Texashi.LabelLat, Texashi.LabelLon, Texashi.Name, ...
    'HorizontalAlignment', 'center')
geoshow(Data,Data2)

我正在查看的数据具有以下属性: 他们在文件中的名字是:

Data = LAT (Obviously a latitude)
Data2 = LON (Longitude)
Data3 = NO2 (Obviously data regarding nitrogen dioxide)

NO2来自此文件:

CCTM_US1k.CONC.1km_HGB.2013244

LAT和LON来自此文件:

GRIDBDY2D_1km_HGB_2013242

以下是我用来分析模型输出的代码

size(Data)
ans = 
        1204

whos Data
Name      Size      Bytes    Class    Attributes
Data    1204x1       4816    Single

size(Data2)
ans = 
        1204
whos(Data2)
Name    Size     Bytes     Class     Attributes
Data2    1204x1   4816     single

size(Data3)
ans =
    336 264 27 25
whos(Data3)
Name     Size    Bytes    Class    Attributes
Data3    4-D   239500800  single

我只是想寻找关于如何使用MATLAB的映射工具箱将网格化的NO2数据正确绘制到我创建的德克萨斯州地图上的任何见解。目前,我可以在“纬度和经度”框中绘制图形,我只是不知道如何处理NO2数据。

感谢您的帮助,对于无知我深表歉意,我已尽力提供所有可利用的信息。

我也很乐意在替代编程语言中看到您对类似问题的解决方案!

最好, 泰勒

0 个答案:

没有答案