Skip to content

Commit 0520182

Browse files
authored
Merge pull request #231 from OpenWaterAnalytics/dev
Dev
2 parents fa8a2b1 + e004429 commit 0520182

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

Diff for: epanet_matlab_toolkit/epanet.m

+16-13
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
classdef epanet <handle
2-
%EPANET-Matlab Toolkit version EMT v2.2.2: A Matlab Class for EPANET and EPANET-MSX
2+
%EPANET-Matlab Toolkit version EMT v2.2.6: A Matlab Class for EPANET and EPANET-MSX
33
%libraries
44
%
55
%
@@ -390,7 +390,7 @@
390390

391391
end
392392
properties (Constant = true)
393-
classversion='v2.2.5 - Last Update: 10/05/2023';
393+
classversion='v2.2.6 - Last Update: 26/05/2023';
394394

395395
LOGOP={'IF', 'AND', 'OR'} % Constants for rule-based controls: 'IF', 'AND', 'OR' % EPANET Version 2.2
396396
RULEOBJECT={'NODE', 'LINK', 'SYSTEM'}; % Constants for rule-based controls: 'NODE', 'LINK', 'SYSTEM' % EPANET Version 2.2
@@ -4164,7 +4164,7 @@ function apiMSXMatlabCleanup(obj)
41644164
if strcmpi(varargin{2}, 'BIN')
41654165
obj.LibEPANET = 'epanet2';
41664166
obj.BinTempfile=[obj.InputFile(1:end-4), '_temp.inp'];
4167-
copyfile(obj.InputFile, obj.BinTempfile);
4167+
copyfile(obj.InputFile, obj.BinTempfile, 'f');
41684168
obj.InputFile=obj.BinTempfile;
41694169
obj.Bin=0;
41704170
if nargin==3, if strcmpi(varargin{3}, 'LOADFILE'); return; end; end
@@ -4261,7 +4261,7 @@ function apiMSXMatlabCleanup(obj)
42614261
%Save the temporary input file
42624262
obj.BinTempfile=[obj.InputFile(1:end-4), '_temp.inp'];
42634263

4264-
copyfile(obj.InputFile, obj.BinTempfile);
4264+
copyfile(obj.InputFile, obj.BinTempfile, 'f');
42654265
%obj.saveInputFile(obj.BinTempfile); % create a new INP file (Working Copy) using the SAVE command of EPANET
42664266

42674267
obj.closeNetwork; %apiENclose; %Close input file
@@ -4537,14 +4537,16 @@ function apiMSXMatlabCleanup(obj)
45374537
end
45384538
else
45394539
obj.MSXTempFile=[obj.MSXFile(1:end-4), '_temp.msx'];
4540-
copyfile(obj.MSXFile, obj.MSXTempFile);
4540+
copyfile(obj.MSXFile, obj.MSXTempFile, 'f');
45414541
end
45424542

45434543
%Open the file
45444544
[obj.Errcode] = obj.apiMSXopen(obj);
45454545
if obj.Errcode, warning(obj.getMSXError(obj.Errcode)); end
4546-
if any(strcmpi(varargin{1}, loadfile_options))
4547-
return
4546+
if ~isempty(varargin)
4547+
if any(strcmpi(varargin{1}, loadfile_options))
4548+
return
4549+
end
45484550
end
45494551
obj.MSXEquationsTerms = obj.getMSXEquationsTerms;
45504552
obj.MSXEquationsPipes = obj.getMSXEquationsPipes;
@@ -9527,7 +9529,7 @@ function setCurveValue(obj, index, curvePnt, value)
95279529
obj.closeQualityAnalysis;
95289530
end
95299531
function value = getComputedTimeSeries(obj)
9530-
obj.saveInputFile(obj.TempInpFile);
9532+
obj.saveInputFile();
95319533
[fid, binfile, ~] = runEPANETexe(obj);
95329534
if fid < 0
95339535
value = obj.getComputedTimeSeries_ENepanet();
@@ -9543,7 +9545,8 @@ function setCurveValue(obj, index, curvePnt, value)
95439545
end
95449546
end
95459547
function value = getComputedTimeSeries_ENepanet(obj)
9546-
obj.saveInputFile(obj.TempInpFile);
9548+
obj.saveInputFile();
9549+
obj.closeNetwork();
95479550
uuID = char(java.util.UUID.randomUUID);
95489551
rptfile=[obj.TempInpFile(1:end-4), '.txt'];
95499552
binfile=['@#', uuID, '.bin'];
@@ -13537,10 +13540,10 @@ function saveHydraulicsOutputReportingFile(obj)
1353713540
if nargin == 1
1353813541
inpname = obj.TempInpFile;
1353913542
end
13540-
[Errcode] = obj.apiENsaveinpfile('@#', obj.LibEPANET, obj.ph);
13543+
[Errcode] = obj.apiENsaveinpfile(inpname, obj.LibEPANET, obj.ph);
1354113544
obj.apiENgeterror(obj.Errcode, obj.LibEPANET, obj.ph);
13542-
copyfile('@#', inpname);% temporary
13543-
delete('@#');
13545+
% copyfile('@#', inpname);% temporary
13546+
% delete('@#');
1354413547
end
1354513548
function writeLineInReportFile(obj, line)
1354613549
% Writes a line of text to the EPANET report file.
@@ -16749,7 +16752,7 @@ function BinClose(obj)
1674916752
end
1675016753
function saveBinInpFile(obj, varargin)
1675116754
if ~isempty(varargin)
16752-
copyfile(obj.BinTempfile, varargin{1}); return;
16755+
copyfile(obj.BinTempfile, varargin{1}, 'f'); return;
1675316756
end
1675416757
[tlines]=regexp( fileread([obj.BinTempfile]), '\n', 'split');
1675516758
f = writenewTemp(obj.BinTempfile);

0 commit comments

Comments
 (0)