MIKE + MATLAB - 使用DHI工具包时如何确定变量eumUnit

本文详细介绍了如何在MIKE软件中使用DHItoolbox从DFS文件(如1.dfs0)中读取数据,获取item的单位信息(eumUNIT),并将这个过程转换为函数read_dfs0,以便于重复利用和简化操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DHI toolbox确定变量eumUNIT

步骤

  1. 在MIKE中建立一个新的 [ *.dfs0 ]文件
  2. Blank Time Series → Item Information → 选择想要的 Type 和 Unit (其他选项可以不做选择)→ 点OK后保存该文件(例 1.dfs0)
  3. 用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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值