MATLAB 修改netCDF文件內變量的數值


ncinfo

返回有關NetCDF數據源的信息
finfo = ncinfo(source)           % 將 source 指所指定的整個 NetCDF 數據源的相關信息返回到結構體 finfo 中,其中 source 可以是 NetCDF 文件名/文件路徑

ncwrite

將數據寫入NetCDF文件
ncwrite(filename,varname,vardata) %將 vardata 中的文本或數值數據寫入 NetCDF 文件 filename 中的現有變量 varname。


案例說明:讀取某個ACONC文件,利用ncinfo獲取所有變量的名稱及規模,並據此將所有變量的值置為零

clear,clc
%%%%%%%%%%%%%%%%   CAMx置零情景 ACONC文件制作   %%%%%%%%%%%%%%%%%%
% lijinying 2020-09-08
filename='E:\文檔\MATLAB\CMAQ清單調整\CAMx置零情景\ACONC.01';
%%%%%%%   將ACONC文件中的變量置零   %%%%%%%
finfo = ncinfo(filename);
[~,variablesNum]=size(finfo.Variables);
for i=1:variablesNum
    vardata=zeros(finfo.Variables(1,i).Size);
    ncwrite(filename,finfo.Variables(1,i).Name,vardata)
end
%%%%%%%   檢驗效果   %%%%%%%
ncid = netcdf.open(filename); % 打開nc文件
for i=1:variablesNum
varid=netcdf.inqVarID(ncid,finfo.Variables(1,i).Name);  %返回與變量名相關聯的 ID
ACONCDATA= netcdf.getVar(ncid,varid);   %讀取 NetCDF 變量中的數據
figure
az=90;  %方向判定
el=-90;
surf(ACONCDATA);
colormap('jet');
colorbar;
%caxis([30,60]);
view(az,el);
end
netcdf.close(ncid);

  

 

參考文獻:

https://ww2.mathworks.cn/help/matlab/network-common-data-form.html?s_tid=srchtitle

https://ww2.mathworks.cn/help/matlab/ref/ncinfo.html

https://ww2.mathworks.cn/help/matlab/ref/ncwrite.html

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM