Bug fix in roughness unit conversion when using D-W #450
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
The following PR addresses #443 regarding unit conversion of the roughness coefficient when using D-W headloss formula. This update only impacts the EpanetSimulator which requires the unit conversion when reading/writing the INP file. The WNTRSimulator does not support D-W headloss formula.
The original code did not convert roughness in
_read_pipes
and_write_pipes
. Theto_si
andfrom_si
conversion functions for roughness were also incorrect and updated.If
wn.options.hydraulic.headloss
is changed from ['H-W', 'C-M'] to/from 'D-W', a UserWarning is printed to the screen. The units of headloss cannot be converted from unitless to/from length.Tests and documentation
Tests were added to
test_epanet_io.py
. The mean absolute error in pressure values for Net3 is within 0.55 m when using H-W, C-M, and D-W with GPM and LPS.Acknowledgement
By contributing to this software project, I acknowledge that I have reviewed the software quality assurance guidelines and that my contributions are submitted under the Revised BSD License.