步骤
- 在MIKE中建立一个新的 [ *.dfs0 ]文件
- Blank Time Series → Item Information → 选择想要的 Type 和 Unit (其他选项可以不做选择)→ 点OK后保存该文件(例 1.dfs0)
- 用MATLAB读取【1.dfs0】文件,得到单位在MIKE中的全称,用于写输入文件
代码
NETaddAssembly('DHI.Generic.MikeZero.DFS.dll');
import DHI.Generic.MikeZero.DFS.*;
import DHI.Generic.MikeZero.DFS.dfs0.*;
infile = '1.dfs0';
dfs0File = DfsFileFactory.DfsGenericOpen(infile);
%% Read times and data for all items
% Use the Dfs0Util for bulk-reading all data and timesteps
dd = double(Dfs0Util.ReadDfs0DataDouble(dfs0File));
t = dd(:,1);
data = dd(:,2:end);
%% Read some item information
items = {};
items = {};
for i = 0:dfs0File.ItemInfo.Count-1
item = dfs0File.ItemInfo.Item(i);
items{i+1,1} = char(item.Name);
items{i+1,2} = char(item.Quantity.Unit); %单位 全称 eumUnit
items{i+1,3} = char(item.Quantity.UnitAbbreviation); %单位 缩写
items{i+1,4} = char(item.Quantity.Item); % eumItem
end
items
dfs0File.Close();
可以做成函数
items = read_dfs0(infile)