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