Revert "Merge branch 'dev' of https://github.com/OpenWaterAnalytics/EPANET into dev"
This reverts commit8fca63294d, reversing changes made tob85aff9fc9.
This commit is contained in:
@@ -4,7 +4,7 @@ env:
|
|||||||
global:
|
global:
|
||||||
- EPANET_HOME=`pwd`
|
- EPANET_HOME=`pwd`
|
||||||
- BUILD_HOME=buildprod
|
- BUILD_HOME=buildprod
|
||||||
- TEST_HOME=nrtestsuite
|
- TEST_HOME=tests/epanet-nrtestsuite
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
- sudo apt-get -qq update
|
- sudo apt-get -qq update
|
||||||
@@ -26,5 +26,5 @@ script:
|
|||||||
# run regression tests
|
# run regression tests
|
||||||
- cd $EPANET_HOME
|
- cd $EPANET_HOME
|
||||||
- pip install -r tools/requirements.txt
|
- pip install -r tools/requirements.txt
|
||||||
- tools/before-test.sh $TEST_HOME $EPANET_HOME/$BUILD_HOME/bin $TRAVIS_COMMIT
|
- tools/gen-config.sh $EPANET_HOME/$BUILD_HOME/bin > $TEST_HOME/apps/epanet-$TRAVIS_COMMIT.json
|
||||||
- tools/run-nrtest.sh $TEST_HOME $TRAVIS_COMMIT
|
- tools/run-nrtest.sh $TEST_HOME $TRAVIS_COMMIT
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ image:
|
|||||||
init:
|
init:
|
||||||
- set EPANET_HOME=%APPVEYOR_BUILD_FOLDER%
|
- set EPANET_HOME=%APPVEYOR_BUILD_FOLDER%
|
||||||
- set BUILD_HOME=buildprod
|
- set BUILD_HOME=buildprod
|
||||||
- set TEST_HOME=nrtestsuite
|
- set TEST_HOME=tests\epanet-nrtestsuite
|
||||||
- set NRTEST_SCRIPT=C:\Python27\Scripts
|
- set NRTEST_SCRIPT=C:\Python27\Scripts
|
||||||
- set GENERATOR="Visual Studio 10 2010"
|
- set GENERATOR="Visual Studio 10 2010"
|
||||||
- set BOOST_ROOT="C:\\Libraries\\boost"
|
- set BOOST_ROOT="C:\\Libraries\\boost"
|
||||||
@@ -41,7 +41,7 @@ build_script:
|
|||||||
|
|
||||||
before_test:
|
before_test:
|
||||||
- cd %EPANET_HOME%
|
- cd %EPANET_HOME%
|
||||||
- tools\before-test.cmd %TEST_HOME% %EPANET_HOME%\%BUILD_HOME%\bin\Release %APPVEYOR_REPO_COMMIT%
|
- tools\gen-config.cmd %EPANET_HOME%\%BUILD_HOME%\bin\Release > %TEST_HOME%\apps\epanet-%APPVEYOR_REPO_COMMIT%.json
|
||||||
|
|
||||||
# run custom test script
|
# run custom test script
|
||||||
test_script:
|
test_script:
|
||||||
|
|||||||
9
tests/.gitignore
vendored
Normal file
9
tests/.gitignore
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Ignore app description files generated for nrtest
|
||||||
|
apps/
|
||||||
|
|
||||||
|
# Ignore results generated during nrtest execution
|
||||||
|
benchmark/
|
||||||
|
|
||||||
|
# Except changes to reference benchmark
|
||||||
|
!benchmark/epanet-2012 # Results for EPANET 2.0.12 MSVC 2010 32-bit
|
||||||
|
|
||||||
7
tests/epanet-nrtestsuite/apps/epanet-2011a.json
Normal file
7
tests/epanet-nrtestsuite/apps/epanet-2011a.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name" : "epanet",
|
||||||
|
"version" : "2.0.11a",
|
||||||
|
"description" : "Windows, MS VC2005 or older, 32 Bit",
|
||||||
|
"setup_script" : "",
|
||||||
|
"exe" : "epanet2011a.exe"
|
||||||
|
}
|
||||||
7
tests/epanet-nrtestsuite/apps/epanet-2012.json
Normal file
7
tests/epanet-nrtestsuite/apps/epanet-2012.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"name" : "epanet",
|
||||||
|
"version" : "2.0.12",
|
||||||
|
"description" : "Windows, MS VC 2010, 32 Bit",
|
||||||
|
"setup_script" : "",
|
||||||
|
"exe" : "./epanet2012.exe"
|
||||||
|
}
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"duration": 0.87,
|
||||||
|
"max_memory_MB": 0.0
|
||||||
|
}
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"duration": 1.045,
|
||||||
|
"max_memory_MB": 0.0
|
||||||
|
}
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"duration": 0.246,
|
||||||
|
"max_memory_MB": 0.0
|
||||||
|
}
|
||||||
42
tests/epanet-nrtestsuite/benchmark/epanet-2012/manifest.json
Normal file
42
tests/epanet-nrtestsuite/benchmark/epanet-2012/manifest.json
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
"Application": {
|
||||||
|
"description": "Windows, MS VC 2010, 32 Bit",
|
||||||
|
"name": "epanet",
|
||||||
|
"version": "2.0.12"
|
||||||
|
},
|
||||||
|
"Tests": [
|
||||||
|
{
|
||||||
|
"description": "A simple example of modeling chlorine decay",
|
||||||
|
"error_msg": null,
|
||||||
|
"name": "Example 1",
|
||||||
|
"output_files": {
|
||||||
|
"example1.out": "epanet allclose",
|
||||||
|
"example1.rpt": "epanet report"
|
||||||
|
},
|
||||||
|
"passed": true,
|
||||||
|
"version": "1.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Example of modeling a 55-hour fluoride tracer study.",
|
||||||
|
"error_msg": null,
|
||||||
|
"name": "Example 2",
|
||||||
|
"output_files": {
|
||||||
|
"example2.out": "epanet allclose",
|
||||||
|
"example2.rpt": "epanet report"
|
||||||
|
},
|
||||||
|
"passed": true,
|
||||||
|
"version": "1.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Dual-source system example",
|
||||||
|
"error_msg": null,
|
||||||
|
"name": "Example 3",
|
||||||
|
"output_files": {
|
||||||
|
"example3.out": "epanet allclose",
|
||||||
|
"example3.rpt": "epanet report"
|
||||||
|
},
|
||||||
|
"passed": true,
|
||||||
|
"version": "1.0"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
180
tests/epanet-nrtestsuite/tests/examples/example1.inp
Normal file
180
tests/epanet-nrtestsuite/tests/examples/example1.inp
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
[TITLE]
|
||||||
|
EPANET Example Network 1
|
||||||
|
A simple example of modeling chlorine decay. Both bulk and
|
||||||
|
wall reactions are included.
|
||||||
|
|
||||||
|
[JUNCTIONS]
|
||||||
|
;ID Elev Demand Pattern
|
||||||
|
10 710 0 ;
|
||||||
|
11 710 150 ;
|
||||||
|
12 700 150 ;
|
||||||
|
13 695 100 ;
|
||||||
|
21 700 150 ;
|
||||||
|
22 695 200 ;
|
||||||
|
23 690 150 ;
|
||||||
|
31 700 100 ;
|
||||||
|
32 710 100 ;
|
||||||
|
|
||||||
|
[RESERVOIRS]
|
||||||
|
;ID Head Pattern
|
||||||
|
9 800 ;
|
||||||
|
|
||||||
|
[TANKS]
|
||||||
|
;ID Elevation InitLevel MinLevel MaxLevel Diameter MinVol VolCurve
|
||||||
|
2 850 120 100 150 50.5 0 ;
|
||||||
|
|
||||||
|
[PIPES]
|
||||||
|
;ID Node1 Node2 Length Diameter Roughness MinorLoss Status
|
||||||
|
10 10 11 10530 18 100 0 Open ;
|
||||||
|
11 11 12 5280 14 100 0 Open ;
|
||||||
|
12 12 13 5280 10 100 0 Open ;
|
||||||
|
21 21 22 5280 10 100 0 Open ;
|
||||||
|
22 22 23 5280 12 100 0 Open ;
|
||||||
|
31 31 32 5280 6 100 0 Open ;
|
||||||
|
110 2 12 200 18 100 0 Open ;
|
||||||
|
111 11 21 5280 10 100 0 Open ;
|
||||||
|
112 12 22 5280 12 100 0 Open ;
|
||||||
|
113 13 23 5280 8 100 0 Open ;
|
||||||
|
121 21 31 5280 8 100 0 Open ;
|
||||||
|
122 22 32 5280 6 100 0 Open ;
|
||||||
|
|
||||||
|
[PUMPS]
|
||||||
|
;ID Node1 Node2 Parameters
|
||||||
|
9 9 10 HEAD 1 ;
|
||||||
|
|
||||||
|
[VALVES]
|
||||||
|
;ID Node1 Node2 Diameter Type Setting MinorLoss
|
||||||
|
|
||||||
|
[TAGS]
|
||||||
|
|
||||||
|
[DEMANDS]
|
||||||
|
;Junction Demand Pattern Category
|
||||||
|
|
||||||
|
[STATUS]
|
||||||
|
;ID Status/Setting
|
||||||
|
|
||||||
|
[PATTERNS]
|
||||||
|
;ID Multipliers
|
||||||
|
;Demand Pattern
|
||||||
|
1 1.0 1.2 1.4 1.6 1.4 1.2
|
||||||
|
1 1.0 0.8 0.6 0.4 0.6 0.8
|
||||||
|
|
||||||
|
[CURVES]
|
||||||
|
;ID X-Value Y-Value
|
||||||
|
;PUMP: Pump Curve for Pump 9
|
||||||
|
1 1500 250
|
||||||
|
|
||||||
|
[CONTROLS]
|
||||||
|
LINK 9 OPEN IF NODE 2 BELOW 110
|
||||||
|
LINK 9 CLOSED IF NODE 2 ABOVE 140
|
||||||
|
|
||||||
|
|
||||||
|
[RULES]
|
||||||
|
|
||||||
|
[ENERGY]
|
||||||
|
Global Efficiency 75
|
||||||
|
Global Price 0.0
|
||||||
|
Demand Charge 0.0
|
||||||
|
|
||||||
|
[EMITTERS]
|
||||||
|
;Junction Coefficient
|
||||||
|
|
||||||
|
[QUALITY]
|
||||||
|
;Node InitQual
|
||||||
|
10 0.5
|
||||||
|
11 0.5
|
||||||
|
12 0.5
|
||||||
|
13 0.5
|
||||||
|
21 0.5
|
||||||
|
22 0.5
|
||||||
|
23 0.5
|
||||||
|
31 0.5
|
||||||
|
32 0.5
|
||||||
|
9 1.0
|
||||||
|
2 1.0
|
||||||
|
|
||||||
|
[SOURCES]
|
||||||
|
;Node Type Quality Pattern
|
||||||
|
|
||||||
|
[REACTIONS]
|
||||||
|
;Type Pipe/Tank Coefficient
|
||||||
|
|
||||||
|
|
||||||
|
[REACTIONS]
|
||||||
|
Order Bulk 1
|
||||||
|
Order Tank 1
|
||||||
|
Order Wall 1
|
||||||
|
Global Bulk -.5
|
||||||
|
Global Wall -1
|
||||||
|
Limiting Potential 0.0
|
||||||
|
Roughness Correlation 0.0
|
||||||
|
|
||||||
|
[MIXING]
|
||||||
|
;Tank Model
|
||||||
|
|
||||||
|
[TIMES]
|
||||||
|
Duration 24:00
|
||||||
|
Hydraulic Timestep 1:00
|
||||||
|
Quality Timestep 0:05
|
||||||
|
Pattern Timestep 2:00
|
||||||
|
Pattern Start 0:00
|
||||||
|
Report Timestep 1:00
|
||||||
|
Report Start 0:00
|
||||||
|
Start ClockTime 12 am
|
||||||
|
Statistic None
|
||||||
|
|
||||||
|
[REPORT]
|
||||||
|
Status Yes
|
||||||
|
Summary No
|
||||||
|
Nodes All
|
||||||
|
Links All
|
||||||
|
|
||||||
|
|
||||||
|
[OPTIONS]
|
||||||
|
Units GPM
|
||||||
|
Headloss H-W
|
||||||
|
Specific Gravity 1.0
|
||||||
|
Viscosity 1.0
|
||||||
|
Trials 40
|
||||||
|
Accuracy 0.001
|
||||||
|
CHECKFREQ 2
|
||||||
|
MAXCHECK 10
|
||||||
|
;DAMPLIMIT 0
|
||||||
|
Unbalanced Continue 10
|
||||||
|
Pattern 1
|
||||||
|
Demand Multiplier 1.0
|
||||||
|
Emitter Exponent 0.5
|
||||||
|
Quality Chlorine mg/L
|
||||||
|
Diffusivity 1.0
|
||||||
|
Tolerance 0.01
|
||||||
|
|
||||||
|
[COORDINATES]
|
||||||
|
;Node X-Coord Y-Coord
|
||||||
|
10 20.00 70.00
|
||||||
|
11 30.00 70.00
|
||||||
|
12 50.00 70.00
|
||||||
|
13 70.00 70.00
|
||||||
|
21 30.00 40.00
|
||||||
|
22 50.00 40.00
|
||||||
|
23 70.00 40.00
|
||||||
|
31 30.00 10.00
|
||||||
|
32 50.00 10.00
|
||||||
|
9 10.00 70.00
|
||||||
|
2 50.00 90.00
|
||||||
|
|
||||||
|
[VERTICES]
|
||||||
|
;Link X-Coord Y-Coord
|
||||||
|
|
||||||
|
[LABELS]
|
||||||
|
;X-Coord Y-Coord Label & Anchor Node
|
||||||
|
6.99 73.63 "Source"
|
||||||
|
13.48 68.13 "Pump"
|
||||||
|
43.85 91.21 "Tank"
|
||||||
|
|
||||||
|
[BACKDROP]
|
||||||
|
DIMENSIONS 7.00 6.00 73.00 94.00
|
||||||
|
UNITS None
|
||||||
|
FILE
|
||||||
|
OFFSET 0.00 0.00
|
||||||
|
|
||||||
|
[END]
|
||||||
17
tests/epanet-nrtestsuite/tests/examples/example1.json
Normal file
17
tests/epanet-nrtestsuite/tests/examples/example1.json
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"name": "Example 1",
|
||||||
|
"version": "1.0",
|
||||||
|
"description": "A simple example of modeling chlorine decay",
|
||||||
|
"args": [
|
||||||
|
"example1.inp",
|
||||||
|
"example1.rpt",
|
||||||
|
"example1.out"
|
||||||
|
],
|
||||||
|
"input_files": [
|
||||||
|
"example1.inp"
|
||||||
|
],
|
||||||
|
"output_files": {
|
||||||
|
"example1.rpt": "epanet report",
|
||||||
|
"example1.out": "epanet allclose"
|
||||||
|
}
|
||||||
|
}
|
||||||
80
tests/epanet-nrtestsuite/tests/examples/example2.dat
Normal file
80
tests/epanet-nrtestsuite/tests/examples/example2.dat
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
;Measured Fluoride for Net2
|
||||||
|
;Node Hour MG/L
|
||||||
|
11 2.50 1.02
|
||||||
|
11 5.38 0.87
|
||||||
|
11 8.30 0.70
|
||||||
|
11 11.75 1.01
|
||||||
|
11 13.02 0.62
|
||||||
|
11 14.48 0.26
|
||||||
|
11 17.43 0.17
|
||||||
|
11 20.30 0.20
|
||||||
|
11 23.35 0.90
|
||||||
|
11 27.00 0.13
|
||||||
|
11 29.67 0.13
|
||||||
|
11 33.70 0.54
|
||||||
|
11 35.40 0.90
|
||||||
|
11 38.30 0.17
|
||||||
|
11 41.62 0.10
|
||||||
|
11 44.42 0.12
|
||||||
|
11 47.25 0.71
|
||||||
|
11 51.00 0.13
|
||||||
|
11 53.27 0.58
|
||||||
|
19 0.25 1.04
|
||||||
|
19 2.75 1.04
|
||||||
|
19 5.70 1.08
|
||||||
|
19 8.60 1.00
|
||||||
|
19 12.00 0.81
|
||||||
|
19 13.25 0.95
|
||||||
|
19 14.73 1.02
|
||||||
|
19 17.77 1.01
|
||||||
|
19 20.52 0.87
|
||||||
|
19 23.53 0.28
|
||||||
|
19 27.17 0.98
|
||||||
|
19 29.87 0.85
|
||||||
|
19 33.92 0.12
|
||||||
|
19 35.67 0.17
|
||||||
|
19 38.48 0.64
|
||||||
|
19 42.08 0.79
|
||||||
|
19 44.68 0.87
|
||||||
|
19 47.50 0.16
|
||||||
|
19 51.17 0.56
|
||||||
|
19 53.45 0.70
|
||||||
|
25 0.58 1.04
|
||||||
|
3.00 1.00
|
||||||
|
5.87 1.03
|
||||||
|
8.80 1.00
|
||||||
|
12.25 1.02
|
||||||
|
13.50 0.88
|
||||||
|
14.97 0.36
|
||||||
|
18.15 0.91
|
||||||
|
20.75 0.92
|
||||||
|
23.73 0.94
|
||||||
|
27.42 0.19
|
||||||
|
30.08 0.12
|
||||||
|
34.12 0.83
|
||||||
|
35.87 0.82
|
||||||
|
38.67 0.72
|
||||||
|
42.40 0.76
|
||||||
|
44.92 0.78
|
||||||
|
47.75 0.87
|
||||||
|
51.50 0.42
|
||||||
|
53.75 0.48
|
||||||
|
34 2.67 1.03
|
||||||
|
5.50 1.04
|
||||||
|
8.45 0.98
|
||||||
|
11.87 1.01
|
||||||
|
13.15 1.02
|
||||||
|
14.62 1.04
|
||||||
|
17.60 1.02
|
||||||
|
20.42 1.02
|
||||||
|
23.43 1.00
|
||||||
|
27.08 1.02
|
||||||
|
29.75 0.94
|
||||||
|
33.82 0.89
|
||||||
|
35.53 0.75
|
||||||
|
38.40 0.80
|
||||||
|
41.85 0.84
|
||||||
|
44.55 0.92
|
||||||
|
47.42 0.91
|
||||||
|
51.08 0.81
|
||||||
|
53.37 0.47
|
||||||
310
tests/epanet-nrtestsuite/tests/examples/example2.inp
Normal file
310
tests/epanet-nrtestsuite/tests/examples/example2.inp
Normal file
@@ -0,0 +1,310 @@
|
|||||||
|
[TITLE]
|
||||||
|
EPANET Example Network 2
|
||||||
|
Example of modeling a 55-hour fluoride tracer study.
|
||||||
|
Measured fluoride data is contained in the file Net2-FL.dat
|
||||||
|
and should be registered with the project to produce a
|
||||||
|
Calibration Report (select Calibration Data from the Project
|
||||||
|
menu).
|
||||||
|
|
||||||
|
[JUNCTIONS]
|
||||||
|
;ID Elev Demand Pattern
|
||||||
|
1 50 -694.4 2 ;
|
||||||
|
2 100 8 ;
|
||||||
|
3 60 14 ;
|
||||||
|
4 60 8 ;
|
||||||
|
5 100 8 ;
|
||||||
|
6 125 5 ;
|
||||||
|
7 160 4 ;
|
||||||
|
8 110 9 ;
|
||||||
|
9 180 14 ;
|
||||||
|
10 130 5 ;
|
||||||
|
11 185 34.78 ;
|
||||||
|
12 210 16 ;
|
||||||
|
13 210 2 ;
|
||||||
|
14 200 2 ;
|
||||||
|
15 190 2 ;
|
||||||
|
16 150 20 ;
|
||||||
|
17 180 20 ;
|
||||||
|
18 100 20 ;
|
||||||
|
19 150 5 ;
|
||||||
|
20 170 19 ;
|
||||||
|
21 150 16 ;
|
||||||
|
22 200 10 ;
|
||||||
|
23 230 8 ;
|
||||||
|
24 190 11 ;
|
||||||
|
25 230 6 ;
|
||||||
|
27 130 8 ;
|
||||||
|
28 110 0 ;
|
||||||
|
29 110 7 ;
|
||||||
|
30 130 3 ;
|
||||||
|
31 190 17 ;
|
||||||
|
32 110 17 ;
|
||||||
|
33 180 1.5 ;
|
||||||
|
34 190 1.5 ;
|
||||||
|
35 110 0 ;
|
||||||
|
36 110 1 ;
|
||||||
|
|
||||||
|
[RESERVOIRS]
|
||||||
|
;ID Head Pattern
|
||||||
|
|
||||||
|
[TANKS]
|
||||||
|
;ID Elevation InitLevel MinLevel MaxLevel Diameter MinVol VolCurve
|
||||||
|
26 235 56.7 50 70 50 0 ;
|
||||||
|
|
||||||
|
[PIPES]
|
||||||
|
;ID Node1 Node2 Length Diameter Roughness MinorLoss Status
|
||||||
|
1 1 2 2400 12 100 0 Open ;
|
||||||
|
2 2 5 800 12 100 0 Open ;
|
||||||
|
3 2 3 1300 8 100 0 Open ;
|
||||||
|
4 3 4 1200 8 100 0 Open ;
|
||||||
|
5 4 5 1000 12 100 0 Open ;
|
||||||
|
6 5 6 1200 12 100 0 Open ;
|
||||||
|
7 6 7 2700 12 100 0 Open ;
|
||||||
|
8 7 8 1200 12 140 0 Open ;
|
||||||
|
9 7 9 400 12 100 0 Open ;
|
||||||
|
10 8 10 1000 8 140 0 Open ;
|
||||||
|
11 9 11 700 12 100 0 Open ;
|
||||||
|
12 11 12 1900 12 100 0 Open ;
|
||||||
|
13 12 13 600 12 100 0 Open ;
|
||||||
|
14 13 14 400 12 100 0 Open ;
|
||||||
|
15 14 15 300 12 100 0 Open ;
|
||||||
|
16 13 16 1500 8 100 0 Open ;
|
||||||
|
17 15 17 1500 8 100 0 Open ;
|
||||||
|
18 16 17 600 8 100 0 Open ;
|
||||||
|
19 17 18 700 12 100 0 Open ;
|
||||||
|
20 18 32 350 12 100 0 Open ;
|
||||||
|
21 16 19 1400 8 100 0 Open ;
|
||||||
|
22 14 20 1100 12 100 0 Open ;
|
||||||
|
23 20 21 1300 8 100 0 Open ;
|
||||||
|
24 21 22 1300 8 100 0 Open ;
|
||||||
|
25 20 22 1300 8 100 0 Open ;
|
||||||
|
26 24 23 600 12 100 0 Open ;
|
||||||
|
27 15 24 250 12 100 0 Open ;
|
||||||
|
28 23 25 300 12 100 0 Open ;
|
||||||
|
29 25 26 200 12 100 0 Open ;
|
||||||
|
30 25 31 600 12 100 0 Open ;
|
||||||
|
31 31 27 400 8 100 0 Open ;
|
||||||
|
32 27 29 400 8 100 0 Open ;
|
||||||
|
34 29 28 700 8 100 0 Open ;
|
||||||
|
35 22 33 1000 8 100 0 Open ;
|
||||||
|
36 33 34 400 8 100 0 Open ;
|
||||||
|
37 32 19 500 8 100 0 Open ;
|
||||||
|
38 29 35 500 8 100 0 Open ;
|
||||||
|
39 35 30 1000 8 100 0 Open ;
|
||||||
|
40 28 35 700 8 100 0 Open ;
|
||||||
|
41 28 36 300 8 100 0 Open ;
|
||||||
|
|
||||||
|
[PUMPS]
|
||||||
|
;ID Node1 Node2 Parameters
|
||||||
|
|
||||||
|
[VALVES]
|
||||||
|
;ID Node1 Node2 Diameter Type Setting MinorLoss
|
||||||
|
|
||||||
|
[TAGS]
|
||||||
|
|
||||||
|
[DEMANDS]
|
||||||
|
;Junction Demand Pattern Category
|
||||||
|
|
||||||
|
[STATUS]
|
||||||
|
;ID Status/Setting
|
||||||
|
|
||||||
|
[PATTERNS]
|
||||||
|
;ID Multipliers
|
||||||
|
;Demand Pattern
|
||||||
|
1 1.26 1.04 .97 .97 .89 1.19
|
||||||
|
1 1.28 .67 .67 1.34 2.46 .97
|
||||||
|
1 .92 .68 1.43 .61 .31 .78
|
||||||
|
1 .37 .67 1.26 1.56 1.19 1.26
|
||||||
|
1 .6 1.1 1.03 .73 .88 1.06
|
||||||
|
1 .99 1.72 1.12 1.34 1.12 .97
|
||||||
|
1 1.04 1.15 .91 .61 .68 .46
|
||||||
|
1 .51 .74 1.12 1.34 1.26 .97
|
||||||
|
1 .82 1.37 1.03 .81 .88 .81
|
||||||
|
1 .81
|
||||||
|
;Pump Station Outflow Pattern
|
||||||
|
2 .96 .96 .96 .96 .96 .96
|
||||||
|
2 .62 0 0 0 0 0
|
||||||
|
2 .8 1 1 1 1 .15
|
||||||
|
2 0 0 0 0 0 0
|
||||||
|
2 .55 .92 .92 .92 .92 .9
|
||||||
|
2 .9 .45 0 0 0 0
|
||||||
|
2 0 .7 1 1 1 1
|
||||||
|
2 .2 0 0 0 0 0
|
||||||
|
2 0 .74 .92 .92 .92 .92
|
||||||
|
2 .92
|
||||||
|
;Pump Station Fluoride Pattern
|
||||||
|
3 .98 1.02 1.05 .99 .64 .46
|
||||||
|
3 .35 .35 .35 .35 .35 .35
|
||||||
|
3 .17 .17 .13 .13 .13 .15
|
||||||
|
3 .15 .15 .15 .15 .15 .15
|
||||||
|
3 .15 .12 .1 .08 .11 .09
|
||||||
|
3 .09 .08 .08 .08 .08 .08
|
||||||
|
3 .08 .09 .07 .07 .09 .09
|
||||||
|
3 .09 .09 .09 .09 .09 .09
|
||||||
|
3 .09 .08 .35 .72 .82 .92
|
||||||
|
3 1
|
||||||
|
|
||||||
|
[CURVES]
|
||||||
|
;ID X-Value Y-Value
|
||||||
|
|
||||||
|
[CONTROLS]
|
||||||
|
|
||||||
|
[RULES]
|
||||||
|
|
||||||
|
[ENERGY]
|
||||||
|
Global Efficiency 75
|
||||||
|
Global Price 0.0
|
||||||
|
Demand Charge 0.0
|
||||||
|
|
||||||
|
[EMITTERS]
|
||||||
|
;Junction Coefficient
|
||||||
|
|
||||||
|
[QUALITY]
|
||||||
|
;Node InitQual
|
||||||
|
1 1.0
|
||||||
|
2 1.0
|
||||||
|
3 1.0
|
||||||
|
4 1.0
|
||||||
|
5 1.0
|
||||||
|
6 1.0
|
||||||
|
7 1.0
|
||||||
|
8 1.0
|
||||||
|
9 1.0
|
||||||
|
10 1.0
|
||||||
|
11 1.0
|
||||||
|
12 1.0
|
||||||
|
13 1.0
|
||||||
|
14 1.0
|
||||||
|
15 1.0
|
||||||
|
16 1.0
|
||||||
|
17 1.0
|
||||||
|
18 1.0
|
||||||
|
19 1.0
|
||||||
|
20 1.0
|
||||||
|
21 1.0
|
||||||
|
22 1.0
|
||||||
|
23 1.0
|
||||||
|
24 1.0
|
||||||
|
25 1.0
|
||||||
|
27 1.0
|
||||||
|
28 1.0
|
||||||
|
29 1.0
|
||||||
|
30 1.0
|
||||||
|
31 1.0
|
||||||
|
32 1.0
|
||||||
|
33 1.0
|
||||||
|
34 1.0
|
||||||
|
35 1.0
|
||||||
|
36 1.0
|
||||||
|
26 1.0
|
||||||
|
|
||||||
|
[SOURCES]
|
||||||
|
;Node Type Quality Pattern
|
||||||
|
1 CONCEN 1.0 3
|
||||||
|
|
||||||
|
[REACTIONS]
|
||||||
|
;Type Pipe/Tank Coefficient
|
||||||
|
|
||||||
|
|
||||||
|
[REACTIONS]
|
||||||
|
Order Bulk 1
|
||||||
|
Order Tank 1
|
||||||
|
Order Wall 1
|
||||||
|
Global Bulk 0.0
|
||||||
|
Global Wall 0.0
|
||||||
|
Limiting Potential 0.0
|
||||||
|
Roughness Correlation 0.0
|
||||||
|
|
||||||
|
[MIXING]
|
||||||
|
;Tank Model
|
||||||
|
|
||||||
|
[TIMES]
|
||||||
|
Duration 55:00
|
||||||
|
Hydraulic Timestep 1:00
|
||||||
|
Quality Timestep 0:05
|
||||||
|
Pattern Timestep 1:00
|
||||||
|
Pattern Start 0:00
|
||||||
|
Report Timestep 1:00
|
||||||
|
Report Start 0:00
|
||||||
|
Start ClockTime 8 am
|
||||||
|
Statistic None
|
||||||
|
|
||||||
|
[REPORT]
|
||||||
|
Status Yes
|
||||||
|
Summary No
|
||||||
|
Nodes All
|
||||||
|
Links All
|
||||||
|
|
||||||
|
[OPTIONS]
|
||||||
|
Units GPM
|
||||||
|
Headloss H-W
|
||||||
|
Specific Gravity 1.0
|
||||||
|
Viscosity 1.0
|
||||||
|
Trials 40
|
||||||
|
Accuracy 0.001
|
||||||
|
CHECKFREQ 2
|
||||||
|
MAXCHECK 10
|
||||||
|
;DAMPLIMIT 0
|
||||||
|
Unbalanced Continue 10
|
||||||
|
Pattern 1
|
||||||
|
Demand Multiplier 1.0
|
||||||
|
Emitter Exponent 0.5
|
||||||
|
Quality Fluoride mg/L
|
||||||
|
Diffusivity 1.0
|
||||||
|
Tolerance 0.01
|
||||||
|
|
||||||
|
[COORDINATES]
|
||||||
|
;Node X-Coord Y-Coord
|
||||||
|
1 21.00 4.00
|
||||||
|
2 19.00 20.00
|
||||||
|
3 11.00 21.00
|
||||||
|
4 14.00 28.00
|
||||||
|
5 19.00 25.00
|
||||||
|
6 28.00 23.00
|
||||||
|
7 36.00 39.00
|
||||||
|
8 38.00 30.00
|
||||||
|
9 36.00 42.00
|
||||||
|
10 37.00 23.00
|
||||||
|
11 37.00 49.00
|
||||||
|
12 39.00 60.00
|
||||||
|
13 38.00 64.00
|
||||||
|
14 38.00 66.00
|
||||||
|
15 37.00 69.00
|
||||||
|
16 27.00 65.00
|
||||||
|
17 27.00 69.00
|
||||||
|
18 23.00 68.00
|
||||||
|
19 21.00 59.00
|
||||||
|
20 45.00 68.00
|
||||||
|
21 51.00 62.00
|
||||||
|
22 54.00 69.00
|
||||||
|
23 35.00 74.00
|
||||||
|
24 37.00 71.00
|
||||||
|
25 35.00 76.00
|
||||||
|
27 39.00 87.00
|
||||||
|
28 49.00 85.00
|
||||||
|
29 42.00 86.00
|
||||||
|
30 47.00 80.00
|
||||||
|
31 37.00 80.00
|
||||||
|
32 23.00 64.00
|
||||||
|
33 56.00 73.00
|
||||||
|
34 56.00 77.00
|
||||||
|
35 43.00 81.00
|
||||||
|
36 53.00 87.00
|
||||||
|
26 33.00 76.00
|
||||||
|
|
||||||
|
[VERTICES]
|
||||||
|
;Link X-Coord Y-Coord
|
||||||
|
|
||||||
|
[LABELS]
|
||||||
|
;X-Coord Y-Coord Label & Anchor Node
|
||||||
|
24.00 7.00 "Pump"
|
||||||
|
24.00 4.00 "Station"
|
||||||
|
26.76 77.42 "Tank"
|
||||||
|
|
||||||
|
[BACKDROP]
|
||||||
|
DIMENSIONS 8.75 -0.15 58.25 91.15
|
||||||
|
UNITS None
|
||||||
|
FILE
|
||||||
|
OFFSET 0.00 0.00
|
||||||
|
|
||||||
|
[END]
|
||||||
17
tests/epanet-nrtestsuite/tests/examples/example2.json
Normal file
17
tests/epanet-nrtestsuite/tests/examples/example2.json
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"name": "Example 2",
|
||||||
|
"version": "1.0",
|
||||||
|
"description": "Example of modeling a 55-hour fluoride tracer study.",
|
||||||
|
"args": [
|
||||||
|
"example2.inp",
|
||||||
|
"example2.rpt",
|
||||||
|
"example2.out"
|
||||||
|
],
|
||||||
|
"input_files": [
|
||||||
|
"example2.inp"
|
||||||
|
],
|
||||||
|
"output_files": {
|
||||||
|
"example2.rpt": "epanet report",
|
||||||
|
"example2.out": "epanet allclose"
|
||||||
|
}
|
||||||
|
}
|
||||||
481
tests/epanet-nrtestsuite/tests/examples/example3.inp
Normal file
481
tests/epanet-nrtestsuite/tests/examples/example3.inp
Normal file
@@ -0,0 +1,481 @@
|
|||||||
|
[TITLE]
|
||||||
|
EPANET Example Network 3
|
||||||
|
Example showing how the percent of Lake water in a dual-source
|
||||||
|
system changes over time.
|
||||||
|
|
||||||
|
[JUNCTIONS]
|
||||||
|
;ID Elev Demand Pattern
|
||||||
|
10 147 0 ;
|
||||||
|
15 32 1 3 ;
|
||||||
|
20 129 0 ;
|
||||||
|
35 12.5 1 4 ;
|
||||||
|
40 131.9 0 ;
|
||||||
|
50 116.5 0 ;
|
||||||
|
60 0 0 ;
|
||||||
|
601 0 0 ;
|
||||||
|
61 0 0 ;
|
||||||
|
101 42 189.95 ;
|
||||||
|
103 43 133.2 ;
|
||||||
|
105 28.5 135.37 ;
|
||||||
|
107 22 54.64 ;
|
||||||
|
109 20.3 231.4 ;
|
||||||
|
111 10 141.94 ;
|
||||||
|
113 2 20.01 ;
|
||||||
|
115 14 52.1 ;
|
||||||
|
117 13.6 117.71 ;
|
||||||
|
119 2 176.13 ;
|
||||||
|
120 0 0 ;
|
||||||
|
121 -2 41.63 ;
|
||||||
|
123 11 1 2 ;
|
||||||
|
125 11 45.6 ;
|
||||||
|
127 56 17.66 ;
|
||||||
|
129 51 0 ;
|
||||||
|
131 6 42.75 ;
|
||||||
|
139 31 5.89 ;
|
||||||
|
141 4 9.85 ;
|
||||||
|
143 -4.5 6.2 ;
|
||||||
|
145 1 27.63 ;
|
||||||
|
147 18.5 8.55 ;
|
||||||
|
149 16 27.07 ;
|
||||||
|
151 33.5 144.48 ;
|
||||||
|
153 66.2 44.17 ;
|
||||||
|
157 13.1 51.79 ;
|
||||||
|
159 6 41.32 ;
|
||||||
|
161 4 15.8 ;
|
||||||
|
163 5 9.42 ;
|
||||||
|
164 5 0 ;
|
||||||
|
166 -2 2.6 ;
|
||||||
|
167 -5 14.56 ;
|
||||||
|
169 -5 0 ;
|
||||||
|
171 -4 39.34 ;
|
||||||
|
173 -4 0 ;
|
||||||
|
177 8 58.17 ;
|
||||||
|
179 8 0 ;
|
||||||
|
181 8 0 ;
|
||||||
|
183 11 0 ;
|
||||||
|
184 16 0 ;
|
||||||
|
185 16 25.65 ;
|
||||||
|
187 12.5 0 ;
|
||||||
|
189 4 107.92 ;
|
||||||
|
191 25 81.9 ;
|
||||||
|
193 18 71.31 ;
|
||||||
|
195 15.5 0 ;
|
||||||
|
197 23 17.04 ;
|
||||||
|
199 -2 119.32 ;
|
||||||
|
201 0.1 44.61 ;
|
||||||
|
203 2 1 5 ;
|
||||||
|
204 21 0 ;
|
||||||
|
205 21 65.36 ;
|
||||||
|
206 1 0 ;
|
||||||
|
207 9 69.39 ;
|
||||||
|
208 16 0 ;
|
||||||
|
209 -2 0.87 ;
|
||||||
|
211 7 8.67 ;
|
||||||
|
213 7 13.94 ;
|
||||||
|
215 7 92.19 ;
|
||||||
|
217 6 24.22 ;
|
||||||
|
219 4 41.32 ;
|
||||||
|
225 8 22.8 ;
|
||||||
|
229 10.5 64.18 ;
|
||||||
|
231 5 16.48 ;
|
||||||
|
237 14 15.61 ;
|
||||||
|
239 13 44.61 ;
|
||||||
|
241 13 0 ;
|
||||||
|
243 14 4.34 ;
|
||||||
|
247 18 70.38 ;
|
||||||
|
249 18 0 ;
|
||||||
|
251 30 24.16 ;
|
||||||
|
253 36 54.52 ;
|
||||||
|
255 27 40.39 ;
|
||||||
|
257 17 0 ;
|
||||||
|
259 25 0 ;
|
||||||
|
261 0 0 ;
|
||||||
|
263 0 0 ;
|
||||||
|
265 0 0 ;
|
||||||
|
267 21 0 ;
|
||||||
|
269 0 0 ;
|
||||||
|
271 6 0 ;
|
||||||
|
273 8 0 ;
|
||||||
|
275 10 0 ;
|
||||||
|
|
||||||
|
[RESERVOIRS]
|
||||||
|
;ID Head Pattern
|
||||||
|
River 220.0 ;
|
||||||
|
Lake 167.0 ;
|
||||||
|
|
||||||
|
[TANKS]
|
||||||
|
;ID Elevation InitLevel MinLevel MaxLevel Diameter MinVol VolCurve
|
||||||
|
1 131.9 13.1 .1 32.1 85 0 ;
|
||||||
|
2 116.5 23.5 6.5 40.3 50 0 ;
|
||||||
|
3 129.0 29.0 4.0 35.5 164 0 ;
|
||||||
|
|
||||||
|
[PIPES]
|
||||||
|
;ID Node1 Node2 Length Diameter Roughness MinorLoss Status
|
||||||
|
20 3 20 99 99 199 0 Open ;
|
||||||
|
40 1 40 99 99 199 0 Open ;
|
||||||
|
50 2 50 99 99 199 0 Open ;
|
||||||
|
60 River 60 1231 24 140 0 Open ;
|
||||||
|
101 10 101 14200 18 110 0 Open ;
|
||||||
|
103 101 103 1350 16 130 0 Open ;
|
||||||
|
105 101 105 2540 12 130 0 Open ;
|
||||||
|
107 105 107 1470 12 130 0 Open ;
|
||||||
|
109 103 109 3940 16 130 0 Open ;
|
||||||
|
111 109 111 2000 12 130 0 Open ;
|
||||||
|
112 115 111 1160 12 130 0 Open ;
|
||||||
|
113 111 113 1680 12 130 0 Open ;
|
||||||
|
114 115 113 2000 8 130 0 Open ;
|
||||||
|
115 107 115 1950 8 130 0 Open ;
|
||||||
|
116 113 193 1660 12 130 0 Open ;
|
||||||
|
117 263 105 2725 12 130 0 Open ;
|
||||||
|
119 115 117 2180 12 130 0 Open ;
|
||||||
|
120 119 120 730 12 130 0 Open ;
|
||||||
|
121 120 117 1870 12 130 0 Open ;
|
||||||
|
122 121 120 2050 8 130 0 Open ;
|
||||||
|
123 121 119 2000 30 141 0 Open ;
|
||||||
|
125 123 121 1500 30 141 0 Open ;
|
||||||
|
129 121 125 930 24 130 0 Open ;
|
||||||
|
131 125 127 3240 24 130 0 Open ;
|
||||||
|
133 20 127 785 20 130 0 Open ;
|
||||||
|
135 127 129 900 24 130 0 Open ;
|
||||||
|
137 129 131 6480 16 130 0 Open ;
|
||||||
|
145 129 139 2750 8 130 0 Open ;
|
||||||
|
147 139 141 2050 8 130 0 Open ;
|
||||||
|
149 143 141 1400 8 130 0 Open ;
|
||||||
|
151 15 143 1650 8 130 0 Open ;
|
||||||
|
153 145 141 3510 12 130 0 Open ;
|
||||||
|
155 147 145 2200 12 130 0 Open ;
|
||||||
|
159 147 149 880 12 130 0 Open ;
|
||||||
|
161 149 151 1020 8 130 0 Open ;
|
||||||
|
163 151 153 1170 12 130 0 Open ;
|
||||||
|
169 125 153 4560 8 130 0 Open ;
|
||||||
|
171 119 151 3460 12 130 0 Open ;
|
||||||
|
173 119 157 2080 30 141 0 Open ;
|
||||||
|
175 157 159 2910 30 141 0 Open ;
|
||||||
|
177 159 161 2000 30 141 0 Open ;
|
||||||
|
179 161 163 430 30 141 0 Open ;
|
||||||
|
180 163 164 150 14 130 0 Open ;
|
||||||
|
181 164 166 490 14 130 0 Open ;
|
||||||
|
183 265 169 590 30 141 0 Open ;
|
||||||
|
185 167 169 60 8 130 0 Open ;
|
||||||
|
186 187 204 99.9 8 130 0 Open ;
|
||||||
|
187 169 171 1270 30 141 0 Open ;
|
||||||
|
189 171 173 50 30 141 0 Open ;
|
||||||
|
191 271 171 760 24 130 0 Open ;
|
||||||
|
193 35 181 30 24 130 0 Open ;
|
||||||
|
195 181 177 30 12 130 0 Open ;
|
||||||
|
197 177 179 30 12 130 0 Open ;
|
||||||
|
199 179 183 210 12 130 0 Open ;
|
||||||
|
201 40 179 1190 12 130 0 Open ;
|
||||||
|
202 185 184 99.9 8 130 0 Open ;
|
||||||
|
203 183 185 510 8 130 0 Open ;
|
||||||
|
204 184 205 4530. 12 130 0 Open ;
|
||||||
|
205 204 185 1325. 12 130 0 Open ;
|
||||||
|
207 189 183 1350 12 130 0 Open ;
|
||||||
|
209 189 187 500 8 130 0 Open ;
|
||||||
|
211 169 269 646 12 130 0 Open ;
|
||||||
|
213 191 187 2560 12 130 0 Open ;
|
||||||
|
215 267 189 1230 12 130 0 Open ;
|
||||||
|
217 191 193 520 12 130 0 Open ;
|
||||||
|
219 193 195 360 12 130 0 Open ;
|
||||||
|
221 161 195 2300 8 130 0 Open ;
|
||||||
|
223 197 191 1150 12 130 0 Open ;
|
||||||
|
225 111 197 2790 12 130 0 Open ;
|
||||||
|
229 173 199 4000 24 141 0 Open ;
|
||||||
|
231 199 201 630 24 141 0 Open ;
|
||||||
|
233 201 203 120 24 130 0 Open ;
|
||||||
|
235 199 273 725 12 130 0 Open ;
|
||||||
|
237 205 207 1200 12 130 0 Open ;
|
||||||
|
238 207 206 450 12 130 0 Open ;
|
||||||
|
239 275 207 1430 12 130 0 Open ;
|
||||||
|
240 206 208 510 12 130 0 Open ;
|
||||||
|
241 208 209 885 12 130 0 Open ;
|
||||||
|
243 209 211 1210 16 130 0 Open ;
|
||||||
|
245 211 213 990 16 130 0 Open ;
|
||||||
|
247 213 215 4285 16 130 0 Open ;
|
||||||
|
249 215 217 1660 16 130 0 Open ;
|
||||||
|
251 217 219 2050 14 130 0 Open ;
|
||||||
|
257 217 225 1560 12 130 0 Open ;
|
||||||
|
261 213 229 2200 8 130 0 Open ;
|
||||||
|
263 229 231 1960 12 130 0 Open ;
|
||||||
|
269 211 237 2080 12 130 0 Open ;
|
||||||
|
271 237 229 790 8 130 0 Open ;
|
||||||
|
273 237 239 510 12 130 0 Open ;
|
||||||
|
275 239 241 35 12 130 0 Open ;
|
||||||
|
277 241 243 2200 12 130 0 Open ;
|
||||||
|
281 241 247 445 10 130 0 Open ;
|
||||||
|
283 239 249 430 12 130 0 Open ;
|
||||||
|
285 247 249 10 12 130 0 Open ;
|
||||||
|
287 247 255 1390 10 130 0 Open ;
|
||||||
|
289 50 255 925 10 130 0 Open ;
|
||||||
|
291 255 253 1100 10 130 0 Open ;
|
||||||
|
293 255 251 1100 8 130 0 Open ;
|
||||||
|
295 249 251 1450 12 130 0 Open ;
|
||||||
|
297 120 257 645 8 130 0 Open ;
|
||||||
|
299 257 259 350 8 130 0 Open ;
|
||||||
|
301 259 263 1400 8 130 0 Open ;
|
||||||
|
303 257 261 1400 8 130 0 Open ;
|
||||||
|
305 117 261 645 12 130 0 Open ;
|
||||||
|
307 261 263 350 12 130 0 Open ;
|
||||||
|
309 265 267 1580 8 130 0 Open ;
|
||||||
|
311 193 267 1170 12 130 0 Open ;
|
||||||
|
313 269 189 646 12 130 0 Open ;
|
||||||
|
315 181 271 260 24 130 0 Open ;
|
||||||
|
317 273 275 2230 8 130 0 Open ;
|
||||||
|
319 273 205 645 12 130 0 Open ;
|
||||||
|
321 163 265 1200 30 141 0 Open ;
|
||||||
|
323 201 275 300 12 130 0 Open ;
|
||||||
|
325 269 271 1290 8 130 0 Open ;
|
||||||
|
329 61 123 45500 30 140 0 Open ;
|
||||||
|
330 60 601 1 30 140 0 Closed ;
|
||||||
|
333 601 61 1 30 140 0 Open ;
|
||||||
|
|
||||||
|
[PUMPS]
|
||||||
|
;ID Node1 Node2 Parameters
|
||||||
|
10 Lake 10 HEAD 1 ;
|
||||||
|
335 60 61 HEAD 2 ;
|
||||||
|
|
||||||
|
[VALVES]
|
||||||
|
;ID Node1 Node2 Diameter Type Setting MinorLoss
|
||||||
|
|
||||||
|
[TAGS]
|
||||||
|
|
||||||
|
[DEMANDS]
|
||||||
|
;Junction Demand Pattern Category
|
||||||
|
|
||||||
|
[STATUS]
|
||||||
|
;ID Status/Setting
|
||||||
|
10 Closed
|
||||||
|
|
||||||
|
[PATTERNS]
|
||||||
|
;ID Multipliers
|
||||||
|
;General Default Demand Pattern
|
||||||
|
1 1.34 1.94 1.46 1.44 .76 .92
|
||||||
|
1 .85 1.07 .96 1.1 1.08 1.19
|
||||||
|
1 1.16 1.08 .96 .83 .79 .74
|
||||||
|
1 .64 .64 .85 .96 1.24 1.67
|
||||||
|
;Demand Pattern for Node 123
|
||||||
|
2 0 0 0 0 0 1219
|
||||||
|
2 0 0 0 1866 1836 1818
|
||||||
|
2 1818 1822 1822 1817 1824 1816
|
||||||
|
2 1833 1817 1830 1814 1840 1859
|
||||||
|
;Demand Pattern for Node 15
|
||||||
|
3 620 620 620 620 620 360
|
||||||
|
3 360 0 0 0 0 360
|
||||||
|
3 360 360 360 360 0 0
|
||||||
|
3 0 0 0 0 360 360
|
||||||
|
;Demand Pattern for Node 35
|
||||||
|
4 1637 1706 1719 1719 1791 1819
|
||||||
|
4 1777 1842 1815 1825 1856 1801
|
||||||
|
4 1819 1733 1664 1620 1613 1620
|
||||||
|
4 1616 1647 1627 1627 1671 1668
|
||||||
|
;Demand Pattern for Node 203
|
||||||
|
5 4439 4531 4511 4582 4531 4582
|
||||||
|
5 4572 4613 4643 4643 4592 4613
|
||||||
|
5 4531 4521 4449 4439 4449 4460
|
||||||
|
5 4439 4419 4368 4399 4470 4480
|
||||||
|
|
||||||
|
[CURVES]
|
||||||
|
;ID X-Value Y-Value
|
||||||
|
;PUMP: Pump Curve for Pump 10 (Lake Source)
|
||||||
|
1 0 104.
|
||||||
|
1 2000. 92.
|
||||||
|
1 4000. 63.
|
||||||
|
;PUMP: Pump Curve for Pump 335 (River Source)
|
||||||
|
2 0 200.
|
||||||
|
2 8000. 138.
|
||||||
|
2 14000. 86.
|
||||||
|
|
||||||
|
[CONTROLS]
|
||||||
|
;Lake source operates only part of the day
|
||||||
|
Link 10 OPEN AT TIME 1
|
||||||
|
Link 10 CLOSED AT TIME 15
|
||||||
|
|
||||||
|
;Pump 335 controlled by level in Tank 1
|
||||||
|
;When pump is closed, bypass pipe is opened
|
||||||
|
Link 335 OPEN IF Node 1 BELOW 17.1
|
||||||
|
Link 335 CLOSED IF Node 1 ABOVE 19.1
|
||||||
|
Link 330 CLOSED IF Node 1 BELOW 17.1
|
||||||
|
Link 330 OPEN IF Node 1 ABOVE 19.1
|
||||||
|
|
||||||
|
|
||||||
|
[RULES]
|
||||||
|
|
||||||
|
[ENERGY]
|
||||||
|
Global Efficiency 75
|
||||||
|
Global Price 0.0
|
||||||
|
Demand Charge 0.0
|
||||||
|
|
||||||
|
[EMITTERS]
|
||||||
|
;Junction Coefficient
|
||||||
|
|
||||||
|
[QUALITY]
|
||||||
|
;Node InitQual
|
||||||
|
|
||||||
|
[SOURCES]
|
||||||
|
;Node Type Quality Pattern
|
||||||
|
|
||||||
|
[REACTIONS]
|
||||||
|
;Type Pipe/Tank Coefficient
|
||||||
|
|
||||||
|
|
||||||
|
[REACTIONS]
|
||||||
|
Order Bulk 1
|
||||||
|
Order Tank 1
|
||||||
|
Order Wall 1
|
||||||
|
Global Bulk 0.0
|
||||||
|
Global Wall 0.0
|
||||||
|
Limiting Potential 0.0
|
||||||
|
Roughness Correlation 0.0
|
||||||
|
|
||||||
|
[MIXING]
|
||||||
|
;Tank Model
|
||||||
|
|
||||||
|
[TIMES]
|
||||||
|
Duration 24:00
|
||||||
|
Hydraulic Timestep 1:00
|
||||||
|
Quality Timestep 0:05
|
||||||
|
Pattern Timestep 1:00
|
||||||
|
Pattern Start 0:00
|
||||||
|
Report Timestep 1:00
|
||||||
|
Report Start 0:00
|
||||||
|
Start ClockTime 12 am
|
||||||
|
Statistic None
|
||||||
|
|
||||||
|
[REPORT]
|
||||||
|
Status Yes
|
||||||
|
Summary No
|
||||||
|
Nodes All
|
||||||
|
Links All
|
||||||
|
|
||||||
|
[OPTIONS]
|
||||||
|
Units GPM
|
||||||
|
Headloss H-W
|
||||||
|
Specific Gravity 1.0
|
||||||
|
Viscosity 1.0
|
||||||
|
Trials 40
|
||||||
|
Accuracy 0.001
|
||||||
|
CHECKFREQ 2
|
||||||
|
MAXCHECK 10
|
||||||
|
;DAMPLIMIT 0
|
||||||
|
Unbalanced Continue 10
|
||||||
|
Pattern 1
|
||||||
|
Demand Multiplier 1.0
|
||||||
|
Emitter Exponent 0.5
|
||||||
|
Quality Trace Lake
|
||||||
|
Diffusivity 1.0
|
||||||
|
Tolerance 0.01
|
||||||
|
|
||||||
|
[COORDINATES]
|
||||||
|
;Node X-Coord Y-Coord
|
||||||
|
10 9.00 27.85
|
||||||
|
15 38.68 23.76
|
||||||
|
20 29.44 26.91
|
||||||
|
35 25.46 10.52
|
||||||
|
40 27.02 9.81
|
||||||
|
50 33.01 3.01
|
||||||
|
60 23.90 29.94
|
||||||
|
601 23.00 29.49
|
||||||
|
61 23.71 29.03
|
||||||
|
101 13.81 22.94
|
||||||
|
103 12.96 21.31
|
||||||
|
105 16.97 21.28
|
||||||
|
107 18.45 20.46
|
||||||
|
109 17.64 18.92
|
||||||
|
111 20.21 17.53
|
||||||
|
113 22.04 16.61
|
||||||
|
115 20.98 19.18
|
||||||
|
117 21.69 21.28
|
||||||
|
119 23.70 22.76
|
||||||
|
120 22.08 23.10
|
||||||
|
121 23.54 25.50
|
||||||
|
123 23.37 27.31
|
||||||
|
125 24.59 25.64
|
||||||
|
127 29.29 26.40
|
||||||
|
129 30.32 26.39
|
||||||
|
131 37.89 29.55
|
||||||
|
139 33.28 24.54
|
||||||
|
141 35.68 23.08
|
||||||
|
143 37.47 21.97
|
||||||
|
145 33.02 19.29
|
||||||
|
147 30.24 20.38
|
||||||
|
149 29.62 20.74
|
||||||
|
151 28.29 21.39
|
||||||
|
153 28.13 22.63
|
||||||
|
157 24.85 20.16
|
||||||
|
159 23.12 17.50
|
||||||
|
161 25.10 15.28
|
||||||
|
163 25.39 14.98
|
||||||
|
164 25.98 15.14
|
||||||
|
166 26.48 15.13
|
||||||
|
167 25.88 12.98
|
||||||
|
169 25.68 12.74
|
||||||
|
171 26.65 11.80
|
||||||
|
173 26.87 11.59
|
||||||
|
179 25.71 10.40
|
||||||
|
181 25.72 10.74
|
||||||
|
183 25.45 10.18
|
||||||
|
184 25.15 9.52
|
||||||
|
185 25.01 9.67
|
||||||
|
187 23.64 11.04
|
||||||
|
189 24.15 11.37
|
||||||
|
191 22.10 14.07
|
||||||
|
193 22.88 14.35
|
||||||
|
195 23.18 14.72
|
||||||
|
197 20.97 15.18
|
||||||
|
199 29.42 8.44
|
||||||
|
201 30.89 8.57
|
||||||
|
203 31.14 8.89
|
||||||
|
204 23.80 10.90
|
||||||
|
205 29.20 6.46
|
||||||
|
206 31.66 6.64
|
||||||
|
207 31.00 6.61
|
||||||
|
208 32.54 6.81
|
||||||
|
209 33.76 6.59
|
||||||
|
211 34.20 5.54
|
||||||
|
213 35.26 6.16
|
||||||
|
215 39.95 8.73
|
||||||
|
217 42.11 8.67
|
||||||
|
219 44.86 9.32
|
||||||
|
225 43.53 7.38
|
||||||
|
229 36.16 3.49
|
||||||
|
231 38.38 2.54
|
||||||
|
237 35.37 3.08
|
||||||
|
239 35.76 2.31
|
||||||
|
241 35.87 2.11
|
||||||
|
243 37.04 0.00
|
||||||
|
247 35.02 2.05
|
||||||
|
249 35.02 1.81
|
||||||
|
251 34.15 1.10
|
||||||
|
253 32.17 1.88
|
||||||
|
255 33.51 2.45
|
||||||
|
257 21.17 23.32
|
||||||
|
259 20.80 23.40
|
||||||
|
261 20.79 21.45
|
||||||
|
263 20.32 21.57
|
||||||
|
265 25.39 13.60
|
||||||
|
267 23.38 12.95
|
||||||
|
269 25.03 12.14
|
||||||
|
271 25.97 11.00
|
||||||
|
273 29.16 7.38
|
||||||
|
275 31.07 8.29
|
||||||
|
River 24.15 31.06
|
||||||
|
Lake 8.00 27.53
|
||||||
|
1 27.46 9.84
|
||||||
|
2 32.99 3.45
|
||||||
|
3 29.41 27.27
|
||||||
|
|
||||||
|
[VERTICES]
|
||||||
|
;Link X-Coord Y-Coord
|
||||||
|
|
||||||
|
[LABELS]
|
||||||
|
;X-Coord Y-Coord Label & Anchor Node
|
||||||
|
8.00 29.42 "LAKE"
|
||||||
|
25.00 31.10 "RIVER"
|
||||||
|
|
||||||
|
[BACKDROP]
|
||||||
|
DIMENSIONS 6.16 -1.55 46.70 32.61
|
||||||
|
UNITS None
|
||||||
|
FILE
|
||||||
|
OFFSET 0.00 0.00
|
||||||
|
|
||||||
|
[END]
|
||||||
17
tests/epanet-nrtestsuite/tests/examples/example3.json
Normal file
17
tests/epanet-nrtestsuite/tests/examples/example3.json
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"name": "Example 3",
|
||||||
|
"version": "1.0",
|
||||||
|
"description": "Dual-source system example",
|
||||||
|
"args": [
|
||||||
|
"example3.inp",
|
||||||
|
"example3.rpt",
|
||||||
|
"example3.out"
|
||||||
|
],
|
||||||
|
"input_files": [
|
||||||
|
"example3.inp"
|
||||||
|
],
|
||||||
|
"output_files": {
|
||||||
|
"example3.rpt": "epanet report",
|
||||||
|
"example3.out": "epanet allclose"
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
tests/network_tests/net1/net1.enb
Normal file
BIN
tests/network_tests/net1/net1.enb
Normal file
Binary file not shown.
178
tests/network_tests/net1/net1.inp
Normal file
178
tests/network_tests/net1/net1.inp
Normal file
@@ -0,0 +1,178 @@
|
|||||||
|
[TITLE]
|
||||||
|
EPANET Example Network 1
|
||||||
|
A simple example of modeling chlorine decay. Both bulk and
|
||||||
|
wall reactions are included.
|
||||||
|
|
||||||
|
[JUNCTIONS]
|
||||||
|
;ID Elev Demand Pattern
|
||||||
|
10 710 0 ;
|
||||||
|
11 710 150 ;
|
||||||
|
12 700 150 ;
|
||||||
|
13 695 100 ;
|
||||||
|
21 700 150 ;
|
||||||
|
22 695 200 ;
|
||||||
|
23 690 150 ;
|
||||||
|
31 700 100 ;
|
||||||
|
32 710 100 ;
|
||||||
|
|
||||||
|
[RESERVOIRS]
|
||||||
|
;ID Head Pattern
|
||||||
|
9 800 ;
|
||||||
|
|
||||||
|
[TANKS]
|
||||||
|
;ID Elevation InitLevel MinLevel MaxLevel Diameter MinVol VolCurve
|
||||||
|
2 850 120 100 150 50.5 0 ;
|
||||||
|
|
||||||
|
[PIPES]
|
||||||
|
;ID Node1 Node2 Length Diameter Roughness MinorLoss Status
|
||||||
|
10 10 11 10530 18 100 0 Open ;
|
||||||
|
11 11 12 5280 14 100 0 Open ;
|
||||||
|
12 12 13 5280 10 100 0 Open ;
|
||||||
|
21 21 22 5280 10 100 0 Open ;
|
||||||
|
22 22 23 5280 12 100 0 Open ;
|
||||||
|
31 31 32 5280 6 100 0 Open ;
|
||||||
|
110 2 12 200 18 100 0 Open ;
|
||||||
|
111 11 21 5280 10 100 0 Open ;
|
||||||
|
112 12 22 5280 12 100 0 Open ;
|
||||||
|
113 13 23 5280 8 100 0 Open ;
|
||||||
|
121 21 31 5280 8 100 0 Open ;
|
||||||
|
122 22 32 5280 6 100 0 Open ;
|
||||||
|
|
||||||
|
[PUMPS]
|
||||||
|
;ID Node1 Node2 Parameters
|
||||||
|
9 9 10 HEAD 1 ;
|
||||||
|
|
||||||
|
[VALVES]
|
||||||
|
;ID Node1 Node2 Diameter Type Setting MinorLoss
|
||||||
|
|
||||||
|
[TAGS]
|
||||||
|
|
||||||
|
[DEMANDS]
|
||||||
|
;Junction Demand Pattern Category
|
||||||
|
|
||||||
|
[STATUS]
|
||||||
|
;ID Status/Setting
|
||||||
|
|
||||||
|
[PATTERNS]
|
||||||
|
;ID Multipliers
|
||||||
|
;Demand Pattern
|
||||||
|
1 1.0 1.2 1.4 1.6 1.4 1.2
|
||||||
|
1 1.0 0.8 0.6 0.4 0.6 0.8
|
||||||
|
|
||||||
|
[CURVES]
|
||||||
|
;ID X-Value Y-Value
|
||||||
|
;PUMP: Pump Curve for Pump 9
|
||||||
|
1 1500 250
|
||||||
|
|
||||||
|
[CONTROLS]
|
||||||
|
LINK 9 OPEN IF NODE 2 BELOW 110
|
||||||
|
LINK 9 CLOSED IF NODE 2 ABOVE 140
|
||||||
|
|
||||||
|
|
||||||
|
[RULES]
|
||||||
|
|
||||||
|
[ENERGY]
|
||||||
|
Global Efficiency 75
|
||||||
|
Global Price 0.0
|
||||||
|
Demand Charge 0.0
|
||||||
|
|
||||||
|
[EMITTERS]
|
||||||
|
;Junction Coefficient
|
||||||
|
|
||||||
|
[QUALITY]
|
||||||
|
;Node InitQual
|
||||||
|
10 0.5
|
||||||
|
11 0.5
|
||||||
|
12 0.5
|
||||||
|
13 0.5
|
||||||
|
21 0.5
|
||||||
|
22 0.5
|
||||||
|
23 0.5
|
||||||
|
31 0.5
|
||||||
|
32 0.5
|
||||||
|
9 1.0
|
||||||
|
2 1.0
|
||||||
|
|
||||||
|
[SOURCES]
|
||||||
|
;Node Type Quality Pattern
|
||||||
|
|
||||||
|
[REACTIONS]
|
||||||
|
;Type Pipe/Tank Coefficient
|
||||||
|
|
||||||
|
|
||||||
|
[REACTIONS]
|
||||||
|
Order Bulk 1
|
||||||
|
Order Tank 1
|
||||||
|
Order Wall 1
|
||||||
|
Global Bulk -.5
|
||||||
|
Global Wall -1
|
||||||
|
Limiting Potential 0.0
|
||||||
|
Roughness Correlation 0.0
|
||||||
|
|
||||||
|
[MIXING]
|
||||||
|
;Tank Model
|
||||||
|
|
||||||
|
[TIMES]
|
||||||
|
Duration 24:00
|
||||||
|
Hydraulic Timestep 1:00
|
||||||
|
Quality Timestep 0:05
|
||||||
|
Pattern Timestep 2:00
|
||||||
|
Pattern Start 0:00
|
||||||
|
Report Timestep 1:00
|
||||||
|
Report Start 0:00
|
||||||
|
Start ClockTime 12 am
|
||||||
|
Statistic None
|
||||||
|
|
||||||
|
[REPORT]
|
||||||
|
Status Yes
|
||||||
|
Summary No
|
||||||
|
Page 0
|
||||||
|
|
||||||
|
[OPTIONS]
|
||||||
|
Units GPM
|
||||||
|
Headloss H-W
|
||||||
|
Specific Gravity 1.0
|
||||||
|
Viscosity 1.0
|
||||||
|
Trials 40
|
||||||
|
Accuracy 0.001
|
||||||
|
CHECKFREQ 2
|
||||||
|
MAXCHECK 10
|
||||||
|
DAMPLIMIT 0
|
||||||
|
Unbalanced Continue 10
|
||||||
|
Pattern 1
|
||||||
|
Demand Multiplier 1.0
|
||||||
|
Emitter Exponent 0.5
|
||||||
|
Quality Chlorine mg/L
|
||||||
|
Diffusivity 1.0
|
||||||
|
Tolerance 0.01
|
||||||
|
|
||||||
|
[COORDINATES]
|
||||||
|
;Node X-Coord Y-Coord
|
||||||
|
10 20.00 70.00
|
||||||
|
11 30.00 70.00
|
||||||
|
12 50.00 70.00
|
||||||
|
13 70.00 70.00
|
||||||
|
21 30.00 40.00
|
||||||
|
22 50.00 40.00
|
||||||
|
23 70.00 40.00
|
||||||
|
31 30.00 10.00
|
||||||
|
32 50.00 10.00
|
||||||
|
9 10.00 70.00
|
||||||
|
2 50.00 90.00
|
||||||
|
|
||||||
|
[VERTICES]
|
||||||
|
;Link X-Coord Y-Coord
|
||||||
|
|
||||||
|
[LABELS]
|
||||||
|
;X-Coord Y-Coord Label & Anchor Node
|
||||||
|
6.99 73.63 "Source"
|
||||||
|
13.48 68.13 "Pump"
|
||||||
|
43.85 91.21 "Tank"
|
||||||
|
|
||||||
|
[BACKDROP]
|
||||||
|
DIMENSIONS 7.00 6.00 73.00 94.00
|
||||||
|
UNITS None
|
||||||
|
FILE
|
||||||
|
OFFSET 0.00 0.00
|
||||||
|
|
||||||
|
[END]
|
||||||
35
tests/scripts/vb6_binary_files_compare/BinaryCompare.vbp
Normal file
35
tests/scripts/vb6_binary_files_compare/BinaryCompare.vbp
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
Type=Exe
|
||||||
|
Form=frmMain.frm
|
||||||
|
Module=basShellSync; ShellSync.bas
|
||||||
|
Module=basNetRes; basNetRes.bas
|
||||||
|
IconForm="frmMain"
|
||||||
|
Startup="frmMain"
|
||||||
|
HelpFile=""
|
||||||
|
Title="Testing"
|
||||||
|
ExeName32="BinaryCompare.exe"
|
||||||
|
Command32=""
|
||||||
|
Name="BinaryCompare"
|
||||||
|
HelpContextID="0"
|
||||||
|
CompatibleMode="0"
|
||||||
|
MajorVer=1
|
||||||
|
MinorVer=0
|
||||||
|
RevisionVer=1
|
||||||
|
AutoIncrementVer=1
|
||||||
|
ServerSupportFiles=0
|
||||||
|
VersionComments="by Elad Salomons"
|
||||||
|
CompilationType=0
|
||||||
|
OptimizationType=0
|
||||||
|
FavorPentiumPro(tm)=0
|
||||||
|
CodeViewDebugInfo=0
|
||||||
|
NoAliasing=0
|
||||||
|
BoundsCheck=0
|
||||||
|
OverflowCheck=0
|
||||||
|
FlPointCheck=0
|
||||||
|
FDIVCheck=0
|
||||||
|
UnroundedFP=0
|
||||||
|
StartMode=0
|
||||||
|
Unattended=0
|
||||||
|
Retained=0
|
||||||
|
ThreadPerObject=0
|
||||||
|
MaxNumberOfThreads=1
|
||||||
|
DebugStartupOption=0
|
||||||
39
tests/scripts/vb6_binary_files_compare/ShellSync.bas
Normal file
39
tests/scripts/vb6_binary_files_compare/ShellSync.bas
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
Attribute VB_Name = "basShellSync"
|
||||||
|
Option Explicit
|
||||||
|
|
||||||
|
Private Const INFINITE = &HFFFFFFFF
|
||||||
|
Private Const SYNCHRONIZE = &H100000
|
||||||
|
Private Const PROCESS_QUERY_INFORMATION = &H400&
|
||||||
|
|
||||||
|
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
|
||||||
|
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
|
||||||
|
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
|
||||||
|
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
|
||||||
|
Public Function ShellSync(ByVal PathName As String, ByVal WindowStyle As VbAppWinStyle) As Long
|
||||||
|
'-----------------------------------------------------------------------------------------------
|
||||||
|
'Shell and wait. Return exit code result, raise an
|
||||||
|
'exception on any error.
|
||||||
|
Dim lngPid As Long
|
||||||
|
Dim lngHandle As Long
|
||||||
|
Dim lngExitCode As Long
|
||||||
|
|
||||||
|
lngPid = Shell(PathName, WindowStyle)
|
||||||
|
If lngPid <> 0 Then
|
||||||
|
lngHandle = OpenProcess(SYNCHRONIZE Or PROCESS_QUERY_INFORMATION, 0, lngPid)
|
||||||
|
If lngHandle <> 0 Then
|
||||||
|
WaitForSingleObject lngHandle, INFINITE
|
||||||
|
If GetExitCodeProcess(lngHandle, lngExitCode) <> 0 Then
|
||||||
|
ShellSync = lngExitCode
|
||||||
|
CloseHandle lngHandle
|
||||||
|
Else
|
||||||
|
CloseHandle lngHandle
|
||||||
|
Err.Raise &H8004AA00, "ShellSync", "Failed to retrieve exit code, error " & CStr(Err.LastDllError)
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Err.Raise &H8004AA01, "ShellSync", "Failed to open child process"
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Err.Raise &H8004AA02, "ShellSync", "Failed to Shell child process"
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Function
|
||||||
188
tests/scripts/vb6_binary_files_compare/basNetRes.bas
Normal file
188
tests/scripts/vb6_binary_files_compare/basNetRes.bas
Normal file
@@ -0,0 +1,188 @@
|
|||||||
|
Attribute VB_Name = "basNetRes"
|
||||||
|
Public Type typNetRes
|
||||||
|
nNodes As Long
|
||||||
|
nLinks As Long
|
||||||
|
|
||||||
|
NodesID() As String
|
||||||
|
LinksID() As String
|
||||||
|
|
||||||
|
NodesDemand() As Single
|
||||||
|
NodesHead() As Single
|
||||||
|
NodesPressure() As Single
|
||||||
|
NodesQuality() As Single
|
||||||
|
|
||||||
|
LinksFlow() As Single
|
||||||
|
LinksHeadloss() As Single
|
||||||
|
LinksQuality() As Single
|
||||||
|
LinksSetting() As Single
|
||||||
|
LinksStatus() As Single
|
||||||
|
LinksVelocity() As Single
|
||||||
|
|
||||||
|
End Type
|
||||||
|
Public Function ReadOutputFile(OutFile As String, NetRes As typNetRes)
|
||||||
|
'---------------------------------------------------------------------------------------
|
||||||
|
Dim i As Long, F As Long, r As Long, nRep As Long, j As Long
|
||||||
|
Dim tmpArr() As Single
|
||||||
|
Dim pos As Long, N As Long
|
||||||
|
Dim tmpLong As Long, tmpSingle As Single
|
||||||
|
Dim ReportingTimeStep As Long, ReportingStartTime As Long
|
||||||
|
Dim SimulationDuration As Long
|
||||||
|
Dim ProblemTitletLine As String * 80
|
||||||
|
Dim NumberOfNodes As Long
|
||||||
|
Dim NumberOfLinks As Long
|
||||||
|
Dim NumberOfReservoirsAndTanks As Long
|
||||||
|
Dim NumberOfPumps As Long
|
||||||
|
Dim NumberOfValves As Long
|
||||||
|
Dim WaterQualityOption As Long
|
||||||
|
Dim FlowUnitsOption As Long, PressureUnitsOption As Long
|
||||||
|
Dim NameOfFile As String * 260, tmpString32 As String * 32
|
||||||
|
Dim ii As Long
|
||||||
|
Dim WarningFlag As Long
|
||||||
|
|
||||||
|
With NetRes
|
||||||
|
pos = 1: N = 0
|
||||||
|
F = FreeFile
|
||||||
|
Open OutFile For Binary As #F
|
||||||
|
Get #F, pos, tmpLong: pos = pos + 4
|
||||||
|
Get #F, pos, tmpLong: pos = pos + 4
|
||||||
|
Get #F, pos, NumberOfNodes: pos = pos + 4
|
||||||
|
Get #F, pos, NumberOfReservoirsAndTanks: pos = pos + 4
|
||||||
|
Get #F, pos, NumberOfLinks: pos = pos + 4
|
||||||
|
Get #F, pos, NumberOfPumps: pos = pos + 4
|
||||||
|
Get #F, pos, NumberOfValves: pos = pos + 4
|
||||||
|
Get #F, pos, WaterQualityOption: pos = pos + 4
|
||||||
|
Get #F, pos, tmpLong: pos = pos + 4
|
||||||
|
Get #F, pos, FlowUnitsOption: pos = pos + 4
|
||||||
|
Get #F, pos, PressureUnitsOption: pos = pos + 4
|
||||||
|
Get #F, pos, tmpLong: pos = pos + 4
|
||||||
|
Get #F, pos, ReportingStartTime: pos = pos + 4
|
||||||
|
Get #F, pos, ReportingTimeStep: pos = pos + 4
|
||||||
|
Get #F, pos, SimulationDuration: pos = pos + 4
|
||||||
|
Get #F, pos, ProblemTitletLine: pos = pos + 80
|
||||||
|
Get #F, pos, ProblemTitletLine: pos = pos + 80
|
||||||
|
Get #F, pos, ProblemTitletLine: pos = pos + 80
|
||||||
|
Get #F, pos, NameOfFile: pos = pos + 260
|
||||||
|
Get #F, pos, NameOfFile: pos = pos + 260
|
||||||
|
Get #F, pos, tmpString32: pos = pos + 32
|
||||||
|
Get #F, pos, tmpString32: pos = pos + 32
|
||||||
|
.nNodes = NumberOfNodes
|
||||||
|
.nLinks = NumberOfLinks
|
||||||
|
ReDim .NodesID(.nNodes)
|
||||||
|
For j = 1 To NumberOfNodes
|
||||||
|
Get #F, pos, tmpString32: pos = pos + 32
|
||||||
|
i = InStr(1, tmpString32, Chr(0))
|
||||||
|
.NodesID(j) = Mid(tmpString32, 1, i - 1)
|
||||||
|
Next j
|
||||||
|
ReDim .LinksID(.nLinks)
|
||||||
|
For j = 1 To NumberOfLinks
|
||||||
|
Get #F, pos, tmpString32: pos = pos + 32
|
||||||
|
i = InStr(1, tmpString32, Chr(0))
|
||||||
|
.LinksID(j) = Mid(tmpString32, 1, i - 1)
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfLinks * 3 'Index of Start Node of Each Link + Index of End Node of Each Link + Type Code of Each Link
|
||||||
|
Get #F, pos, tmpLong: pos = pos + 4
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfReservoirsAndTanks 'Node Index of Each Tank
|
||||||
|
Get #F, pos, tmpLong: pos = pos + 4
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfReservoirsAndTanks 'Cross-Sectional Area of Each Tank
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfNodes 'Elevation of Each Node
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfLinks 'Length of Each Link
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfLinks 'Diameter of Each Link
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfPumps 'Energy Use Section
|
||||||
|
Get #F, pos, tmpLong: pos = pos + 4 'Pump Index in List of Links
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4 'Pump Utilization (%)
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4 'Average Efficiency (%)
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4 'Average Kwatts/Million Gallons (/Meter3)
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4 'Average Kwatts
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4 'Peak Kwatts
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4 'Average Cost Per Day
|
||||||
|
Next j
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4 'Overall Peak Energy Usage
|
||||||
|
|
||||||
|
'reporting
|
||||||
|
nRep = SimulationDuration / ReportingTimeStep + 1
|
||||||
|
ReDim tmpArr(nRep)
|
||||||
|
ReDim .NodesDemand(.nNodes, nRep)
|
||||||
|
ReDim .NodesHead(.nNodes, nRep)
|
||||||
|
ReDim .NodesPressure(.nNodes, nRep)
|
||||||
|
ReDim .NodesQuality(.nNodes, nRep)
|
||||||
|
|
||||||
|
ReDim .LinksFlow(.nLinks, nRep)
|
||||||
|
ReDim .LinksHeadloss(.nLinks, nRep)
|
||||||
|
ReDim .LinksQuality(.nLinks, nRep)
|
||||||
|
ReDim .LinksSetting(.nLinks, nRep)
|
||||||
|
ReDim .LinksStatus(.nLinks, nRep)
|
||||||
|
ReDim .LinksVelocity(.nLinks, nRep)
|
||||||
|
|
||||||
|
For r = 1 To nRep
|
||||||
|
For j = 1 To NumberOfNodes 'Demand at Each Node
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4
|
||||||
|
.NodesDemand(j, r) = tmpSingle
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfNodes 'Hydraulic Head at Each Node
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4
|
||||||
|
.NodesHead(j, r) = tmpSingle
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfNodes 'Pressure at Each Node
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4
|
||||||
|
.NodesPressure(j, r) = tmpSingle
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfNodes 'Water Quality at Each Node
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4
|
||||||
|
.NodesPressure(j, r) = tmpSingle
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfLinks 'Flow in Each Link
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4
|
||||||
|
.LinksFlow(j, r) = tmpSingle
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfLinks 'Velocity in Each Link
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4
|
||||||
|
.LinksVelocity(j, r) = tmpSingle
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfLinks 'Headloss per 1000 Units of Length for Each Link
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4
|
||||||
|
.LinksHeadloss(j, r) = tmpSingle
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfLinks 'Average Water Quality in Each Link
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4
|
||||||
|
.LinksQuality(j, r) = tmpSingle
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfLinks 'Status Code for Each Link
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4
|
||||||
|
.LinksStatus(j, r) = tmpSingle
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfLinks 'Setting for Each Link
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4
|
||||||
|
.LinksSetting(j, r) = tmpSingle
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfLinks 'Reaction Rate for Each Link (mass/L/day)
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4
|
||||||
|
Next j
|
||||||
|
For j = 1 To NumberOfLinks 'Friction Factor for Each Link
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4
|
||||||
|
Next j
|
||||||
|
Next r
|
||||||
|
|
||||||
|
'Epilog Section
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4 'Average bulk reaction rate (mass/hr)
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4 'Average wall reaction rate (mass/hr)
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4 'Average tank reaction rate (mass/hr)
|
||||||
|
Get #F, pos, tmpSingle: pos = pos + 4 'Average source inflow rate (mass/hr)
|
||||||
|
Get #F, pos, tmpLong: pos = pos + 4 'Number of Reporting Periods
|
||||||
|
Get #F, pos, WarningFlag: pos = pos + 4 'Warning Flag
|
||||||
|
Get #F, pos, tmpLong: pos = pos + 4 'Magic Number ( = 516114521)
|
||||||
|
|
||||||
|
Close #F
|
||||||
|
End With
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
179
tests/scripts/vb6_binary_files_compare/frmMain.frm
Normal file
179
tests/scripts/vb6_binary_files_compare/frmMain.frm
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
VERSION 5.00
|
||||||
|
Begin VB.Form frmMain
|
||||||
|
Caption = "Form1"
|
||||||
|
ClientHeight = 5304
|
||||||
|
ClientLeft = 48
|
||||||
|
ClientTop = 396
|
||||||
|
ClientWidth = 9648
|
||||||
|
LinkTopic = "Form1"
|
||||||
|
ScaleHeight = 5304
|
||||||
|
ScaleWidth = 9648
|
||||||
|
StartUpPosition = 3 'Windows Default
|
||||||
|
Begin VB.ListBox List1
|
||||||
|
Height = 4272
|
||||||
|
Left = 1680
|
||||||
|
TabIndex = 1
|
||||||
|
Top = 360
|
||||||
|
Width = 7092
|
||||||
|
End
|
||||||
|
Begin VB.CommandButton cmdRun
|
||||||
|
Caption = "RUN"
|
||||||
|
Height = 372
|
||||||
|
Left = 360
|
||||||
|
TabIndex = 0
|
||||||
|
Top = 360
|
||||||
|
Width = 972
|
||||||
|
End
|
||||||
|
End
|
||||||
|
Attribute VB_Name = "frmMain"
|
||||||
|
Attribute VB_GlobalNameSpace = False
|
||||||
|
Attribute VB_Creatable = False
|
||||||
|
Attribute VB_PredeclaredId = True
|
||||||
|
Attribute VB_Exposed = False
|
||||||
|
Option Explicit
|
||||||
|
|
||||||
|
Dim NetName As String
|
||||||
|
|
||||||
|
Dim net1 As typNetRes
|
||||||
|
Dim net2 As typNetRes
|
||||||
|
|
||||||
|
Private Sub CompareVersions(NetName As String)
|
||||||
|
'-----------------------------------------------
|
||||||
|
Dim i As Long
|
||||||
|
Dim v1 As Single, v2 As Single
|
||||||
|
Dim T As Long
|
||||||
|
Dim L As Long
|
||||||
|
Dim maxDiff As Single
|
||||||
|
Dim diff As Single
|
||||||
|
Dim nRep As Long
|
||||||
|
Dim F As Long
|
||||||
|
|
||||||
|
i = ShellSync("epanet2d.exe nets\" & NetName & ".inp nets\" & NetName & "_1.rep nets\" & NetName & "_1.out", vbNormalFocus)
|
||||||
|
i = ReadOutputFile("nets\" & NetName & "_1.out", net1)
|
||||||
|
|
||||||
|
i = ShellSync("epanet2.exe nets\" & NetName & ".inp nets\" & NetName & "_2.rep nets\" & NetName & "_2.out", vbNormalFocus)
|
||||||
|
i = ReadOutputFile("nets\" & NetName & "_2.out", net2)
|
||||||
|
|
||||||
|
F = FreeFile
|
||||||
|
Open App.Path & "\Nets\" & NetName & ".dif" For Output As #F
|
||||||
|
|
||||||
|
nRep = UBound(net1.LinksFlow, 2)
|
||||||
|
|
||||||
|
maxDiff = 100: diff = 101
|
||||||
|
For L = 1 To net1.nLinks
|
||||||
|
For T = 1 To nRep
|
||||||
|
v1 = net1.LinksFlow(L, T)
|
||||||
|
v2 = net2.LinksFlow(L, T)
|
||||||
|
If Abs(v1 - v2) > 0 Then diff = -Round(Log(Abs(v1 - v2)) / Log(10))
|
||||||
|
If diff < maxDiff Then maxDiff = diff
|
||||||
|
Next T
|
||||||
|
Next L
|
||||||
|
Print #F, "Links Flow max diff = " & Format(maxDiff, "0")
|
||||||
|
|
||||||
|
maxDiff = 100: diff = 101
|
||||||
|
For L = 1 To net1.nLinks
|
||||||
|
For T = 1 To nRep
|
||||||
|
v1 = net1.LinksHeadloss(L, T)
|
||||||
|
v2 = net2.LinksHeadloss(L, T)
|
||||||
|
If Abs(v1 - v2) > 0 Then diff = -Round(Log(Abs(v1 - v2)) / Log(10))
|
||||||
|
If diff < maxDiff Then maxDiff = diff
|
||||||
|
Next T
|
||||||
|
Next L
|
||||||
|
Print #F, "Links Headloss max diff = " & Format(maxDiff, "0")
|
||||||
|
|
||||||
|
maxDiff = 100: diff = 101
|
||||||
|
For L = 1 To net1.nLinks
|
||||||
|
For T = 1 To nRep
|
||||||
|
v1 = net1.LinksQuality(L, T)
|
||||||
|
v2 = net2.LinksQuality(L, T)
|
||||||
|
If Abs(v1 - v2) > 0 Then diff = -Round(Log(Abs(v1 - v2)) / Log(10))
|
||||||
|
If diff < maxDiff Then maxDiff = diff
|
||||||
|
Next T
|
||||||
|
Next L
|
||||||
|
Print #F, "Links Quality max diff = " & Format(maxDiff, "0")
|
||||||
|
|
||||||
|
maxDiff = 100: diff = 101
|
||||||
|
For L = 1 To net1.nLinks
|
||||||
|
For T = 1 To nRep
|
||||||
|
v1 = net1.LinksVelocity(L, T)
|
||||||
|
v2 = net2.LinksVelocity(L, T)
|
||||||
|
If Abs(v1 - v2) > 0 Then diff = -Round(Log(Abs(v1 - v2)) / Log(10))
|
||||||
|
If diff < maxDiff Then maxDiff = diff
|
||||||
|
Next T
|
||||||
|
Next L
|
||||||
|
Print #F, "Links Velocity max diff = " & Format(maxDiff, "0")
|
||||||
|
|
||||||
|
maxDiff = 100: diff = 101
|
||||||
|
For L = 1 To net1.nNodes
|
||||||
|
For T = 1 To nRep
|
||||||
|
v1 = net1.NodesDemand(L, T)
|
||||||
|
v2 = net2.NodesDemand(L, T)
|
||||||
|
If Abs(v1 - v2) > 0 Then diff = -Round(Log(Abs(v1 - v2)) / Log(10))
|
||||||
|
If diff < maxDiff Then maxDiff = diff
|
||||||
|
Next T
|
||||||
|
Next L
|
||||||
|
Print #F, "Nodes Demand max diff = " & Format(maxDiff, "0")
|
||||||
|
|
||||||
|
maxDiff = 100: diff = 101
|
||||||
|
For L = 1 To net1.nNodes
|
||||||
|
For T = 1 To nRep
|
||||||
|
v1 = net1.NodesHead(L, T)
|
||||||
|
v2 = net2.NodesHead(L, T)
|
||||||
|
If Abs(v1 - v2) > 0 Then diff = -Round(Log(Abs(v1 - v2)) / Log(10))
|
||||||
|
If diff < maxDiff Then maxDiff = diff
|
||||||
|
Next T
|
||||||
|
Next L
|
||||||
|
Print #F, "Nodes Head max diff = " & Format(maxDiff, "0")
|
||||||
|
|
||||||
|
maxDiff = 100: diff = 101
|
||||||
|
For L = 1 To net1.nNodes
|
||||||
|
For T = 1 To nRep
|
||||||
|
v1 = net1.NodesPressure(L, T)
|
||||||
|
v2 = net2.NodesPressure(L, T)
|
||||||
|
If Abs(v1 - v2) > 0 Then diff = -Round(Log(Abs(v1 - v2)) / Log(10))
|
||||||
|
If diff < maxDiff Then maxDiff = diff
|
||||||
|
Next T
|
||||||
|
Next L
|
||||||
|
Print #F, "Nodes Pressure max diff = " & Format(maxDiff, "0")
|
||||||
|
|
||||||
|
maxDiff = 100: diff = 101
|
||||||
|
For L = 1 To net1.nNodes
|
||||||
|
For T = 1 To nRep
|
||||||
|
v1 = net1.NodesQuality(L, T)
|
||||||
|
v2 = net2.NodesQuality(L, T)
|
||||||
|
If Abs(v1 - v2) > 0 Then diff = -Round(Log(Abs(v1 - v2))) / Log(10)
|
||||||
|
If diff < maxDiff Then maxDiff = diff
|
||||||
|
Next T
|
||||||
|
Next L
|
||||||
|
Print #F, "Nodes Quality max diff = " & Format(maxDiff, "0")
|
||||||
|
|
||||||
|
Close #F
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub cmdRun_Click()
|
||||||
|
'----------------------------------------------
|
||||||
|
Dim fName As String
|
||||||
|
|
||||||
|
fName = Dir(App.Path & "\Nets\*.inp")
|
||||||
|
If fName <> "" Then
|
||||||
|
Do
|
||||||
|
List1.AddItem fName: DoEvents
|
||||||
|
fName = StrReverse(fName)
|
||||||
|
fName = Mid(fName, 5)
|
||||||
|
fName = StrReverse(fName)
|
||||||
|
Call CompareVersions(fName)
|
||||||
|
fName = Dir
|
||||||
|
Loop Until fName = ""
|
||||||
|
End If
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
Private Sub Form_Load()
|
||||||
|
|
||||||
|
List1.Clear
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
8
tests/scripts/vb6_binary_files_compare/nets/Net2.dif
Normal file
8
tests/scripts/vb6_binary_files_compare/nets/Net2.dif
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
Links Flow max diff = 3
|
||||||
|
Links Headloss max diff = 4
|
||||||
|
Links Quality max diff = 3
|
||||||
|
Links Velocity max diff = 6
|
||||||
|
Nodes Demand max diff = 3
|
||||||
|
Nodes Head max diff = 5
|
||||||
|
Nodes Pressure max diff = 3
|
||||||
|
Nodes Quality max diff = 100
|
||||||
311
tests/scripts/vb6_binary_files_compare/nets/Net2.inp
Normal file
311
tests/scripts/vb6_binary_files_compare/nets/Net2.inp
Normal file
@@ -0,0 +1,311 @@
|
|||||||
|
[TITLE]
|
||||||
|
EPANET Example Network 2
|
||||||
|
Example of modeling a 55-hour fluoride tracer study.
|
||||||
|
Measured fluoride data is contained in the file Net2-FL.dat
|
||||||
|
and should be registered with the project to produce a
|
||||||
|
Calibration Report (select Calibration Data from the Project
|
||||||
|
menu).
|
||||||
|
|
||||||
|
[JUNCTIONS]
|
||||||
|
;ID Elev Demand Pattern
|
||||||
|
1 50 -694.4 2 ;
|
||||||
|
2 100 8 ;
|
||||||
|
3 60 14 ;
|
||||||
|
4 60 8 ;
|
||||||
|
5 100 8 ;
|
||||||
|
6 125 5 ;
|
||||||
|
7 160 4 ;
|
||||||
|
8 110 9 ;
|
||||||
|
9 180 14 ;
|
||||||
|
10 130 5 ;
|
||||||
|
11 185 34.78 ;
|
||||||
|
12 2100 16 ;
|
||||||
|
13 210 2 ;
|
||||||
|
14 200 2 ;
|
||||||
|
15 190 2 ;
|
||||||
|
16 150 20 ;
|
||||||
|
17 180 20 ;
|
||||||
|
18 100 20 ;
|
||||||
|
19 150 5 ;
|
||||||
|
20 170 19 ;
|
||||||
|
21 150 16 ;
|
||||||
|
22 200 10 ;
|
||||||
|
23 230 8 ;
|
||||||
|
24 190 11 ;
|
||||||
|
25 230 6 ;
|
||||||
|
27 130 8 ;
|
||||||
|
28 110 0 ;
|
||||||
|
29 110 7 ;
|
||||||
|
30 130 3 ;
|
||||||
|
31 190 17 ;
|
||||||
|
32 110 17 ;
|
||||||
|
33 180 1.5 ;
|
||||||
|
34 190 1.5 ;
|
||||||
|
35 110 0 ;
|
||||||
|
36 110 1 ;
|
||||||
|
|
||||||
|
[RESERVOIRS]
|
||||||
|
;ID Head Pattern
|
||||||
|
|
||||||
|
[TANKS]
|
||||||
|
;ID Elevation InitLevel MinLevel MaxLevel Diameter MinVol VolCurve
|
||||||
|
26 235 56.7 50 70 50 0 ;
|
||||||
|
|
||||||
|
[PIPES]
|
||||||
|
;ID Node1 Node2 Length Diameter Roughness MinorLoss Status
|
||||||
|
1 1 2 2400 12 100 0 Open ;
|
||||||
|
2 2 5 800 12 100 0 Open ;
|
||||||
|
3 2 3 1300 8 100 0 Open ;
|
||||||
|
4 3 4 1200 8 100 0 Open ;
|
||||||
|
5 4 5 1000 12 100 0 Open ;
|
||||||
|
6 5 6 1200 12 100 0 Open ;
|
||||||
|
7 6 7 2700 12 100 0 Open ;
|
||||||
|
8 7 8 1200 12 140 0 Open ;
|
||||||
|
9 7 9 400 12 100 0 Open ;
|
||||||
|
10 8 10 1000 8 140 0 Open ;
|
||||||
|
11 9 11 700 12 100 0 Open ;
|
||||||
|
12 11 12 1900 12 100 0 Open ;
|
||||||
|
13 12 13 600 12 100 0 Open ;
|
||||||
|
14 13 14 400 12 100 0 Open ;
|
||||||
|
15 14 15 300 12 100 0 Open ;
|
||||||
|
16 13 16 1500 8 100 0 Open ;
|
||||||
|
17 15 17 1500 8 100 0 Open ;
|
||||||
|
18 16 17 600 8 100 0 Open ;
|
||||||
|
19 17 18 700 12 100 0 Open ;
|
||||||
|
20 18 32 350 12 100 0 Open ;
|
||||||
|
21 16 19 1400 8 100 0 Open ;
|
||||||
|
22 14 20 1100 12 100 0 Open ;
|
||||||
|
23 20 21 1300 8 100 0 Open ;
|
||||||
|
24 21 22 1300 8 100 0 Open ;
|
||||||
|
25 20 22 1300 8 100 0 Open ;
|
||||||
|
26 24 23 600 12 100 0 Open ;
|
||||||
|
27 15 24 250 12 100 0 Open ;
|
||||||
|
28 23 25 300 12 100 0 Open ;
|
||||||
|
29 25 26 200 12 100 0 Open ;
|
||||||
|
30 25 31 600 12 100 0 Open ;
|
||||||
|
31 31 27 400 8 100 0 Open ;
|
||||||
|
32 27 29 400 8 100 0 Open ;
|
||||||
|
34 29 28 700 8 100 0 Open ;
|
||||||
|
35 22 33 1000 8 100 0 Open ;
|
||||||
|
36 33 34 400 8 100 0 Open ;
|
||||||
|
37 32 19 500 8 100 0 Open ;
|
||||||
|
38 29 35 500 8 100 0 Open ;
|
||||||
|
39 35 30 1000 8 100 0 Open ;
|
||||||
|
40 28 35 700 8 100 0 Open ;
|
||||||
|
41 28 36 300 8 100 0 Open ;
|
||||||
|
|
||||||
|
[PUMPS]
|
||||||
|
;ID Node1 Node2 Parameters
|
||||||
|
|
||||||
|
[VALVES]
|
||||||
|
;ID Node1 Node2 Diameter Type Setting MinorLoss
|
||||||
|
|
||||||
|
[TAGS]
|
||||||
|
|
||||||
|
[DEMANDS]
|
||||||
|
;Junction Demand Pattern Category
|
||||||
|
|
||||||
|
[STATUS]
|
||||||
|
;ID Status/Setting
|
||||||
|
|
||||||
|
[PATTERNS]
|
||||||
|
;ID Multipliers
|
||||||
|
;Demand Pattern
|
||||||
|
1 1.26 1.04 .97 .97 .89 1.19
|
||||||
|
1 1.28 .67 .67 1.34 2.46 .97
|
||||||
|
1 .92 .68 1.43 .61 .31 .78
|
||||||
|
1 .37 .67 1.26 1.56 1.19 1.26
|
||||||
|
1 .6 1.1 1.03 .73 .88 1.06
|
||||||
|
1 .99 1.72 1.12 1.34 1.12 .97
|
||||||
|
1 1.04 1.15 .91 .61 .68 .46
|
||||||
|
1 .51 .74 1.12 1.34 1.26 .97
|
||||||
|
1 .82 1.37 1.03 .81 .88 .81
|
||||||
|
1 .81
|
||||||
|
;Pump Station Outflow Pattern
|
||||||
|
2 .96 .96 .96 .96 .96 .96
|
||||||
|
2 .62 0 0 0 0 0
|
||||||
|
2 .8 1 1 1 1 .15
|
||||||
|
2 0 0 0 0 0 0
|
||||||
|
2 .55 .92 .92 .92 .92 .9
|
||||||
|
2 .9 .45 0 0 0 0
|
||||||
|
2 0 .7 1 1 1 1
|
||||||
|
2 .2 0 0 0 0 0
|
||||||
|
2 0 .74 .92 .92 .92 .92
|
||||||
|
2 .92
|
||||||
|
;Pump Station Fluoride Pattern
|
||||||
|
3 .98 1.02 1.05 .99 .64 .46
|
||||||
|
3 .35 .35 .35 .35 .35 .35
|
||||||
|
3 .17 .17 .13 .13 .13 .15
|
||||||
|
3 .15 .15 .15 .15 .15 .15
|
||||||
|
3 .15 .12 .1 .08 .11 .09
|
||||||
|
3 .09 .08 .08 .08 .08 .08
|
||||||
|
3 .08 .09 .07 .07 .09 .09
|
||||||
|
3 .09 .09 .09 .09 .09 .09
|
||||||
|
3 .09 .08 .35 .72 .82 .92
|
||||||
|
3 1
|
||||||
|
|
||||||
|
[CURVES]
|
||||||
|
;ID X-Value Y-Value
|
||||||
|
|
||||||
|
[CONTROLS]
|
||||||
|
|
||||||
|
|
||||||
|
[RULES]
|
||||||
|
|
||||||
|
|
||||||
|
[ENERGY]
|
||||||
|
Global Efficiency 75
|
||||||
|
Global Price 0.0
|
||||||
|
Demand Charge 0.0
|
||||||
|
|
||||||
|
[EMITTERS]
|
||||||
|
;Junction Coefficient
|
||||||
|
|
||||||
|
[QUALITY]
|
||||||
|
;Node InitQual
|
||||||
|
1 1.0
|
||||||
|
2 1.0
|
||||||
|
3 1.0
|
||||||
|
4 1.0
|
||||||
|
5 1.0
|
||||||
|
6 1.0
|
||||||
|
7 1.0
|
||||||
|
8 1.0
|
||||||
|
9 1.0
|
||||||
|
10 1.0
|
||||||
|
11 1.0
|
||||||
|
12 1.0
|
||||||
|
13 1.0
|
||||||
|
14 1.0
|
||||||
|
15 1.0
|
||||||
|
16 1.0
|
||||||
|
17 1.0
|
||||||
|
18 1.0
|
||||||
|
19 1.0
|
||||||
|
20 1.0
|
||||||
|
21 1.0
|
||||||
|
22 1.0
|
||||||
|
23 1.0
|
||||||
|
24 1.0
|
||||||
|
25 1.0
|
||||||
|
27 1.0
|
||||||
|
28 1.0
|
||||||
|
29 1.0
|
||||||
|
30 1.0
|
||||||
|
31 1.0
|
||||||
|
32 1.0
|
||||||
|
33 1.0
|
||||||
|
34 1.0
|
||||||
|
35 1.0
|
||||||
|
36 1.0
|
||||||
|
26 1.0
|
||||||
|
|
||||||
|
[SOURCES]
|
||||||
|
;Node Type Quality Pattern
|
||||||
|
1 CONCEN 1.0 3
|
||||||
|
|
||||||
|
[REACTIONS]
|
||||||
|
;Type Pipe/Tank Coefficient
|
||||||
|
|
||||||
|
|
||||||
|
[REACTIONS]
|
||||||
|
Order Bulk 1
|
||||||
|
Order Tank 1
|
||||||
|
Order Wall 1
|
||||||
|
Global Bulk 0.0
|
||||||
|
Global Wall 0.0
|
||||||
|
Limiting Potential 0.0
|
||||||
|
Roughness Correlation 0.0
|
||||||
|
|
||||||
|
[MIXING]
|
||||||
|
;Tank Model
|
||||||
|
|
||||||
|
[TIMES]
|
||||||
|
Duration 55:00
|
||||||
|
Hydraulic Timestep 1:00
|
||||||
|
Quality Timestep 0:05
|
||||||
|
Pattern Timestep 1:00
|
||||||
|
Pattern Start 0:00
|
||||||
|
Report Timestep 1:00
|
||||||
|
Report Start 0:00
|
||||||
|
Start ClockTime 8 am
|
||||||
|
Statistic NONE
|
||||||
|
|
||||||
|
[REPORT]
|
||||||
|
Status Full
|
||||||
|
Summary No
|
||||||
|
Page 0
|
||||||
|
|
||||||
|
[OPTIONS]
|
||||||
|
Units GPM
|
||||||
|
Headloss H-W
|
||||||
|
Specific Gravity 1.0
|
||||||
|
Viscosity 1.0
|
||||||
|
Trials 40
|
||||||
|
Accuracy 0.001
|
||||||
|
CHECKFREQ 2
|
||||||
|
MAXCHECK 10
|
||||||
|
DAMPLIMIT 0
|
||||||
|
Unbalanced Continue 10
|
||||||
|
Pattern 1
|
||||||
|
Demand Multiplier 1.0
|
||||||
|
Emitter Exponent 0.5
|
||||||
|
Quality Fluoride mg/L
|
||||||
|
Diffusivity 1.0
|
||||||
|
Tolerance 0.01
|
||||||
|
|
||||||
|
[COORDINATES]
|
||||||
|
;Node X-Coord Y-Coord
|
||||||
|
1 21.00 4.00
|
||||||
|
2 19.00 20.00
|
||||||
|
3 11.00 21.00
|
||||||
|
4 14.00 28.00
|
||||||
|
5 19.00 25.00
|
||||||
|
6 28.00 23.00
|
||||||
|
7 36.00 39.00
|
||||||
|
8 38.00 30.00
|
||||||
|
9 36.00 42.00
|
||||||
|
10 37.00 23.00
|
||||||
|
11 37.00 49.00
|
||||||
|
12 39.00 60.00
|
||||||
|
13 38.00 64.00
|
||||||
|
14 38.00 66.00
|
||||||
|
15 37.00 69.00
|
||||||
|
16 27.00 65.00
|
||||||
|
17 27.00 69.00
|
||||||
|
18 23.00 68.00
|
||||||
|
19 21.00 59.00
|
||||||
|
20 45.00 68.00
|
||||||
|
21 51.00 62.00
|
||||||
|
22 54.00 69.00
|
||||||
|
23 35.00 74.00
|
||||||
|
24 37.00 71.00
|
||||||
|
25 35.00 76.00
|
||||||
|
27 39.00 87.00
|
||||||
|
28 49.00 85.00
|
||||||
|
29 42.00 86.00
|
||||||
|
30 47.00 80.00
|
||||||
|
31 37.00 80.00
|
||||||
|
32 23.00 64.00
|
||||||
|
33 56.00 73.00
|
||||||
|
34 56.00 77.00
|
||||||
|
35 43.00 81.00
|
||||||
|
36 53.00 87.00
|
||||||
|
26 33.00 76.00
|
||||||
|
|
||||||
|
[VERTICES]
|
||||||
|
;Link X-Coord Y-Coord
|
||||||
|
|
||||||
|
[LABELS]
|
||||||
|
;X-Coord Y-Coord Label & Anchor Node
|
||||||
|
24.00 7.00 "Pump"
|
||||||
|
24.00 4.00 "Station"
|
||||||
|
26.76 77.42 "Tank"
|
||||||
|
|
||||||
|
[BACKDROP]
|
||||||
|
DIMENSIONS 8.75 -0.15 58.25 91.15
|
||||||
|
UNITS None
|
||||||
|
FILE
|
||||||
|
OFFSET 0.00 0.00
|
||||||
|
|
||||||
|
[END]
|
||||||
12
tests/scripts/vb6_binary_files_compare/readme.txt
Normal file
12
tests/scripts/vb6_binary_files_compare/readme.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
The program will run all INP files in the Nets sub-directory.
|
||||||
|
A report, binary output files and a .dif file will be created for each INP file.
|
||||||
|
The report is the min(—log10(abs(X1-X2))) where X1 and X2 are the results arrays obtains from the two binary files.
|
||||||
|
|
||||||
|
Files needed in the code directory:
|
||||||
|
epanet2d.exe is the official EPANET standalone version.
|
||||||
|
epanet2.exe is the current development version (the one being tested).
|
||||||
|
|
||||||
|
How to use: run the program and click the RUN button.
|
||||||
|
|
||||||
|
By Elad Salomons
|
||||||
|
email: selad@optiwater.com
|
||||||
35
tests/test_networks.sh
Executable file
35
tests/test_networks.sh
Executable file
@@ -0,0 +1,35 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
test_networks()
|
||||||
|
{
|
||||||
|
returnValue=0
|
||||||
|
for d in network_tests/*/ ; do
|
||||||
|
for netfile in `ls $d*.inp`; do
|
||||||
|
officialBinFile=${netfile%.*}.enb
|
||||||
|
candidateBinFile=${netfile%.*}-candidate.enb
|
||||||
|
echo "testing $netfile with known good binary output $officialBinFile"
|
||||||
|
if ../build/CMake/buildproducts/bin/runepanet $netfile ${netfile%.*}-candidate.rpt $candidateBinFile
|
||||||
|
then
|
||||||
|
echo "epanet run for $netfile SUCCESS"
|
||||||
|
else
|
||||||
|
echo "epanet run for $netfile FAILED"
|
||||||
|
returnValue=1
|
||||||
|
fi
|
||||||
|
if python ENBinaryOutDiff.py $officialBinFile $candidateBinFile
|
||||||
|
then
|
||||||
|
echo "binary output for $netfile PASSED"
|
||||||
|
else
|
||||||
|
echo "binary output for $netfile FAILED"
|
||||||
|
returnValue=1
|
||||||
|
fi
|
||||||
|
echo "+++++"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
return $returnValue
|
||||||
|
}
|
||||||
|
|
||||||
|
cp ../build/CMake/buildproducts/bin/libENBinaryOut.* ./libENBinaryOut.so
|
||||||
|
cp ../tools/outputapi/*.py ./
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
test_networks
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
#! /bin/bash
|
|
||||||
|
|
||||||
#
|
|
||||||
# app-config.sh - Generates nrtest app configuration file for test executable
|
|
||||||
#
|
|
||||||
# Date Created: 3/19/2018
|
|
||||||
#
|
|
||||||
# Author: Michael E. Tryby
|
|
||||||
# US EPA - ORD/NRMRL
|
|
||||||
#
|
|
||||||
# Arguments:
|
|
||||||
# 1 - absolute path to test executable
|
|
||||||
#
|
|
||||||
# NOT IMPLEMENTED YET
|
|
||||||
# 2 - test executable version number
|
|
||||||
# 3 - build description
|
|
||||||
#
|
|
||||||
|
|
||||||
unameOut="$(uname -s)"
|
|
||||||
case "${unameOut}" in
|
|
||||||
Linux*) ;&
|
|
||||||
Darwin*) abs_build_path=$1
|
|
||||||
test_cmd="runepanet"
|
|
||||||
;;
|
|
||||||
|
|
||||||
MINGW*) ;&
|
|
||||||
MSYS*) # Remove leading '/c' from file path for nrtest
|
|
||||||
abs_build_path="$( echo "$1" | sed -e 's#/c##' )"
|
|
||||||
test_cmd="runepanet.exe"
|
|
||||||
;;
|
|
||||||
|
|
||||||
*) # Machine unknown
|
|
||||||
esac
|
|
||||||
|
|
||||||
version=""
|
|
||||||
build_description=""
|
|
||||||
|
|
||||||
cat<<EOF
|
|
||||||
{
|
|
||||||
"name" : "epanet",
|
|
||||||
"version" : "${version}",
|
|
||||||
"description" : "${build_description}",
|
|
||||||
"setup_script" : "",
|
|
||||||
"exe" : "${abs_build_path}/${test_cmd}"
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
::
|
|
||||||
:: before-test.cmd - Prepares AppVeyor CI worker to run epanet regression tests
|
|
||||||
::
|
|
||||||
:: Date Created: 4/3/2018
|
|
||||||
::
|
|
||||||
:: Author: Michael E. Tryby
|
|
||||||
:: US EPA - ORD/NRMRL
|
|
||||||
::
|
|
||||||
:: Arguments:
|
|
||||||
:: 1 - relative path regression test file staging location
|
|
||||||
:: 2 - absolute path to location of software under test
|
|
||||||
:: 3 - build identifier for software under test
|
|
||||||
::
|
|
||||||
:: Note:
|
|
||||||
:: Tests and benchmark files are stored in the epanet-example-networks repo.
|
|
||||||
:: This script retreives them using a stable URL associated with a release on
|
|
||||||
:: GitHub and stages the files for nrtest to run. The script assumes that
|
|
||||||
:: before-test.cmd and gen-config.cmd are located together in the same folder.
|
|
||||||
::
|
|
||||||
|
|
||||||
@echo off
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
set SCRIPT_HOME=%~dp0
|
|
||||||
set TEST_HOME=%~1
|
|
||||||
|
|
||||||
set EXAMPLES_VER=1.0.0
|
|
||||||
set BENCHMARK_VER=2012
|
|
||||||
|
|
||||||
set TESTFILES_URL=https://github.com/OpenWaterAnalytics/epanet-example-networks/archive/v%EXAMPLES_VER%.zip
|
|
||||||
set BENCHFILES_URL=https://github.com/OpenWaterAnalytics/epanet-example-networks/releases/download/v%EXAMPLES_VER%/epanet-benchmark-%BENCHMARK_VER%.zip
|
|
||||||
|
|
||||||
|
|
||||||
echo INFO: Staging files for regression testing
|
|
||||||
|
|
||||||
:: create a clean directory for staging regression tests
|
|
||||||
if exist %TEST_HOME% (
|
|
||||||
rmdir /s /q %TEST_HOME%
|
|
||||||
)
|
|
||||||
mkdir %TEST_HOME%
|
|
||||||
cd %TEST_HOME%
|
|
||||||
|
|
||||||
:: retrieve epanet-examples for regression testing
|
|
||||||
curl -fsSL -o examples.zip %TESTFILES_URL%
|
|
||||||
|
|
||||||
:: retrieve epanet benchmark results
|
|
||||||
curl -fsSL -o benchmark.zip %BENCHFILES_URL%
|
|
||||||
|
|
||||||
|
|
||||||
:: extract tests and benchmarks
|
|
||||||
7z x examples.zip *\epanet-tests\* > nul
|
|
||||||
7z x benchmark.zip -obenchmark\ > nul
|
|
||||||
|
|
||||||
:: set up symlink for tests directory
|
|
||||||
mklink /D .\tests .\epanet-example-networks-%EXAMPLES_VER%\epanet-tests
|
|
||||||
|
|
||||||
|
|
||||||
:: generate json configuration file for software under test
|
|
||||||
mkdir apps
|
|
||||||
%SCRIPT_HOME%\gen-config.cmd %~2 > apps\epanet-%~3.json
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
#! /bin/bash
|
|
||||||
|
|
||||||
#
|
|
||||||
# before-test.sh - Prepares Travis CI worker to run epanet regression tests
|
|
||||||
#
|
|
||||||
# Date Created: 04/04/2018
|
|
||||||
#
|
|
||||||
# Author: Michael E. Tryby
|
|
||||||
# US EPA - ORD/NRMRL
|
|
||||||
#
|
|
||||||
# Arguments:
|
|
||||||
# 1 - relative path regression test file staging location
|
|
||||||
# 2 - absolute path to location of software under test
|
|
||||||
# 3 - build identifier for software under test
|
|
||||||
#
|
|
||||||
# Note:
|
|
||||||
# Tests and benchmark files are stored in the epanet-example-networks repo.
|
|
||||||
# This script retreives them using a stable URL associated with a release on
|
|
||||||
# GitHub and stages the files for nrtest to run. The script assumes that
|
|
||||||
# before-test.sh and gen-config.sh are located together in the same folder.
|
|
||||||
|
|
||||||
SCRIPT_HOME="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
||||||
TEST_HOME=$1
|
|
||||||
|
|
||||||
EXAMPLES_VER="1.0.0"
|
|
||||||
BENCHMARK_VER="2012"
|
|
||||||
|
|
||||||
TEST_URL="https://github.com/OpenWaterAnalytics/epanet-example-networks/archive/v${EXAMPLES_VER}.tar.gz"
|
|
||||||
BENCH_URL="https://github.com/OpenWaterAnalytics/epanet-example-networks/releases/download/v${EXAMPLES_VER}/epanet-benchmark-${BENCHMARK_VER}.tar.gz"
|
|
||||||
|
|
||||||
|
|
||||||
echo INFO: Staging files for regression testing
|
|
||||||
|
|
||||||
# create a clean directory for staging regression tests
|
|
||||||
if [ -d ${TEST_HOME} ]; then
|
|
||||||
rm -rf ${TEST_HOME}
|
|
||||||
fi
|
|
||||||
mkdir ${TEST_HOME}
|
|
||||||
cd ${TEST_HOME}
|
|
||||||
|
|
||||||
# retrieve epanet-examples for regression testing
|
|
||||||
curl -fsSL -o examples.tar.gz ${TEST_URL}
|
|
||||||
|
|
||||||
# retrieve epanet benchmark results
|
|
||||||
curl -fsSL -o benchmark.tar.gz ${BENCH_URL}
|
|
||||||
|
|
||||||
|
|
||||||
# extract tests and benchmarks
|
|
||||||
tar xzf examples.tar.gz
|
|
||||||
ln -s epanet-example-networks-${EXAMPLES_VER}/epanet-tests tests
|
|
||||||
|
|
||||||
mkdir benchmark
|
|
||||||
tar xzf benchmark.tar.gz -C benchmark
|
|
||||||
|
|
||||||
|
|
||||||
# generate json configuration file for software under test
|
|
||||||
mkdir apps
|
|
||||||
${SCRIPT_HOME}/gen-config.sh $2 > apps/epanet-$3.json
|
|
||||||
@@ -107,8 +107,8 @@ def epanet_report_compare(path_test, path_ref, rtol, atol):
|
|||||||
RunTimeError()
|
RunTimeError()
|
||||||
...
|
...
|
||||||
'''
|
'''
|
||||||
HEADER = 10
|
HEADER = 11
|
||||||
FOOTER = 2
|
FOOTER = 3
|
||||||
|
|
||||||
with open(path_test ,'r') as ftest, open(path_ref, 'r') as fref:
|
with open(path_test ,'r') as ftest, open(path_ref, 'r') as fref:
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
#
|
#
|
||||||
# requirements-appveyor.txt
|
# requirements.txt
|
||||||
#
|
#
|
||||||
# Date Created: 10/10/2017
|
# Date Created: 10/10/2017
|
||||||
# Author: Michael E. Tryby
|
# Author: Michael E. Tryby
|
||||||
# US EPA ORD/NRMRL
|
# US EPA ORD/NRMRL
|
||||||
#
|
#
|
||||||
# Useful for configuring a python environment to run epanet-nrtestsuite
|
# Useful for configuring a python environment to run epanet-nrtestsuite.
|
||||||
# on AppVeyor CI.
|
|
||||||
#
|
#
|
||||||
# command:
|
# command:
|
||||||
# $ pip install --src build/packages -r tools/requirements-appveyor.txt
|
# $ pip install --src build/packages -r tools/requirements.txt
|
||||||
#
|
#
|
||||||
|
|
||||||
nrtest>=0.2.3
|
nrtest>=0.2.3
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ set TEST_SUITE_PATH=%~2
|
|||||||
|
|
||||||
set NRTEST_EXECUTE_CMD=python %NRTEST_SCRIPT_PATH%\nrtest execute
|
set NRTEST_EXECUTE_CMD=python %NRTEST_SCRIPT_PATH%\nrtest execute
|
||||||
set TEST_APP_PATH=apps\epanet-%3.json
|
set TEST_APP_PATH=apps\epanet-%3.json
|
||||||
set TESTS=tests\examples tests\exeter tests\large tests\network_one tests\small tests\tanks tests\valves
|
set TESTS=tests\examples
|
||||||
set TEST_OUTPUT_PATH=benchmark\epanet-%3
|
set TEST_OUTPUT_PATH=benchmark\epanet-%3
|
||||||
|
|
||||||
set NRTEST_COMPARE_CMD=python %NRTEST_SCRIPT_PATH%\nrtest compare
|
set NRTEST_COMPARE_CMD=python %NRTEST_SCRIPT_PATH%\nrtest compare
|
||||||
@@ -41,8 +41,6 @@ set NRTEST_COMMAND=%NRTEST_EXECUTE_CMD% %TEST_APP_PATH% %TESTS% -o %TEST_OUTPUT_
|
|||||||
:: if there is an error exit the script with error value 1
|
:: if there is an error exit the script with error value 1
|
||||||
%NRTEST_COMMAND% || exit /B 1
|
%NRTEST_COMMAND% || exit /B 1
|
||||||
|
|
||||||
echo.
|
|
||||||
|
|
||||||
echo INFO: Comparing test and ref benchmark
|
echo INFO: Comparing test and ref benchmark
|
||||||
set NRTEST_COMMAND=%NRTEST_COMPARE_CMD% %TEST_OUTPUT_PATH% %REF_OUTPUT_PATH% --rtol %RTOL_VALUE% --atol %ATOL_VALUE%
|
set NRTEST_COMMAND=%NRTEST_COMPARE_CMD% %TEST_OUTPUT_PATH% %REF_OUTPUT_PATH% --rtol %RTOL_VALUE% --atol %ATOL_VALUE%
|
||||||
%NRTEST_COMMAND%
|
%NRTEST_COMMAND%
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
# US EPA - ORD/NRMRL
|
# US EPA - ORD/NRMRL
|
||||||
#
|
#
|
||||||
# Arguments:
|
# Arguments:
|
||||||
# 1 - relative path to location there test suite is staged
|
# 1 - test suite path
|
||||||
# 2 - version/build identifier
|
# 2 - version/build identifier
|
||||||
#
|
#
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ test_suite_path=$1
|
|||||||
|
|
||||||
nrtest_execute_cmd="nrtest execute"
|
nrtest_execute_cmd="nrtest execute"
|
||||||
test_app_path="apps/epanet-$2.json"
|
test_app_path="apps/epanet-$2.json"
|
||||||
tests="tests/examples tests/exeter tests/large tests/network_one tests/small tests/tanks tests/valves"
|
tests="tests/examples"
|
||||||
test_output_path="benchmark/epanet-$2"
|
test_output_path="benchmark/epanet-$2"
|
||||||
|
|
||||||
nrtest_compare_cmd="nrtest compare"
|
nrtest_compare_cmd="nrtest compare"
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
#! /bin/bash
|
|
||||||
|
|
||||||
#
|
|
||||||
# test-config.sh - Generates nrtest test configuration file for test case.
|
|
||||||
#
|
|
||||||
# Date Created: 3/19/2018
|
|
||||||
#
|
|
||||||
# Author: Michael E. Tryby
|
|
||||||
# US EPA - ORD/NRMRL
|
|
||||||
#
|
|
||||||
# Arguments:
|
|
||||||
# 1 - name
|
|
||||||
# 2 - version
|
|
||||||
# 3 - description
|
|
||||||
#
|
|
||||||
# Suggested Usage:
|
|
||||||
# $ for file in .//*; do ./test-config.sh $file 1.0 > "${file%.*}.json"; done
|
|
||||||
#
|
|
||||||
|
|
||||||
filename="$1"
|
|
||||||
name="${filename%.*}"
|
|
||||||
version="$2"
|
|
||||||
description="$3"
|
|
||||||
|
|
||||||
cat<<EOF
|
|
||||||
{
|
|
||||||
"name": "${name}",
|
|
||||||
"version": "${version}",
|
|
||||||
"description": "${description}",
|
|
||||||
"args": [
|
|
||||||
"${name}.inp",
|
|
||||||
"${name}.rpt",
|
|
||||||
"${name}.out"
|
|
||||||
],
|
|
||||||
"input_files": [
|
|
||||||
"${name}.inp"
|
|
||||||
],
|
|
||||||
"output_files": {
|
|
||||||
"${name}.rpt": "epanet report",
|
|
||||||
"${name}.out": "epanet allclose"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
Reference in New Issue
Block a user