Commit Graph
100 Commits
Author SHA1 Message Date
Sam HatchettandGitHub c34ab39887 Merge pull request #779 from OpenWaterAnalytics/fix-conan-build
Fixes conan build, adds documentation for this option
2024-04-10 17:03:29 -04:00
Sam HatchettandGitHub c84c6baee2 Merge pull request #751 from OpenWaterAnalytics/682-request-additional-api-functions-for-enablingdisabling-rules-and-controls-nondestructively
adds api support for enabling/disabling controls and rules
2023-09-13 14:54:16 -04:00
Sam HatchettandGitHub 7dab25e867 Merge pull request #688 from OpenWaterAnalytics/681-request-additional-api-function-for-getting-finer-grained-time-step-information
adds an API function to get information about upcoming events
2023-01-20 09:47:17 -05:00
Sam HatchettandGitHub 2705f8adc1 Merge branch 'dev' into 681-request-additional-api-function-for-getting-finer-grained-time-step-information 2023-01-19 11:52:18 -05:00
Sam HatchettandGitHub 3a0cc012b5 Merge pull request #689 from OpenWaterAnalytics/683-request-better-logging-functionality
adds client callback API function
2023-01-19 09:02:02 -05:00
Sam HatchettandGitHub 30c511ca78 Merge branch 'dev' into 683-request-better-logging-functionality 2023-01-19 09:01:43 -05:00
Sam HatchettandGitHub c766d4eceb Merge pull request #687 from OpenWaterAnalytics/680-add-support-for-conan-dependency-manager
Creates conanfile.py
2022-08-12 13:25:28 -04:00
Sam HatchettandGitHub c07674e95b Update before-test.cmd 2022-06-14 10:28:24 -04:00
Sam HatchettandGitHub f3b8e9db18 Update before-test.cmd 2022-06-14 10:22:43 -04:00
Sam HatchettandGitHub 13b5da5207 attempting hotfix for appveyor issues.
curl needs to follow the redirect
2022-06-14 10:07:50 -04:00
Sam HatchettandGitHub c500cddd6d fixes issue where a string position an underflow (#676)
under some circumstances, like certain input lines that have long comments, the code here can cause an underflow in size_t which casts to a very large integer during comparison and results in the number of tokens being over-reported (max of 40). Most of these tokens are of course garbage. Changing this `len` variable to an integer permits it to be less than zero, thus allowing an exit from the `while` at L665.
2022-06-14 09:36:56 -04:00
80b30272cb modifies function declarations with unambiguous "out_" prefixes where output parameters are passed. This is a minor change that does not affect the API or any function implementations, but has great benefits to both readability and SWIG-wrapping. (#605)
Co-authored-by: Sam Hatchett <sam.hatchett@xyleminc.com>
2020-07-16 15:23:26 -04:00
Sam Hatchett 6639ce9b3e adding contributor to notes 2019-12-09 09:56:50 -05:00
Sam Hatchett c0fe89ceb5 possessive vs contraction 2019-12-07 21:16:58 -05:00
Sam Hatchett 0ca1a0b7a7 cleanup of readme links and unused files 2019-12-07 20:49:21 -05:00
Sam Hatchett b5eb1e9882 updates CI badges 2019-12-06 10:16:34 -05:00
Sam HatchettandGitHub 865a16cec8 Update README.md (#539)
* Update README.md

* Update README.md

Some section titles were re-named to conform to GitHub guidelines and the OWA info was moved to a CREDITS section.

* Update README.md

Added link to the Community Forum page.

* Replaced OWA copyright with "(see AUTHORS)".

* Update AUTHORS

Copied format used by the OWA-SWMM project.

* Update README.md

The Disclaimer section was edited to reflect that there actually is a "collaborative" connection between USEPA and OWA.
2019-12-06 10:05:44 -05:00
Sam HatchettandGitHub 88e09ba8df fixes a crashing issue in freedata (#559)
The freedata function used cached values for sizes of certain arrays found in the parser struct. However, now that the network is mutable, those values can become invalid. Relying instead on the actual array lengths prevents freeing unallocated memory, or ignoring cleanup on newly created elements.
2019-11-15 09:57:32 -05:00
Sam HatchettandGitHub 5f7fd55a36 Return error if node/link name is too long (#535)
* co-authored with @ehsan-shafiee

* removes errant slashes

* Throws correct error for ID name too long

* Revert "Throws correct error for ID name too long"

This reverts commit 57b4873f5882cb9fd983f7e1e5a703b9e442cd74.

* fixes #534 by bubbling error codes up from add node/link internal functions

* fixes tests on Mac at least

* fixes improper success code

* Error 252 (not 250) returned for ID name too long.

From errors.dat: DAT(252,"invalid ID name")
2019-10-09 10:47:45 -04:00
Sam HatchettandGitHub d111fbfda2 reverts posix include (#533)
... because it is not needed
2019-09-25 13:05:20 -04:00
Sam HatchettandGitHub 647abd71c1 fixes mkstemp file handle-leaking behavior (#529) 2019-09-25 10:47:38 -04:00
Sam HatchettandGitHub 9f1634a23c welcome to the Actions beta 2019-09-19 11:29:14 -04:00
Sam HatchettandGitHub cb16654e34 Update ccpp.yml 2019-09-19 11:27:21 -04:00
Sam HatchettandGitHub 2e42931140 trial actions config 2019-09-19 11:20:15 -04:00
Sam HatchettandGitHub 3fe11b98ee rethinking the python wrapper (#511)
* renames certain function parameter declarations and removes double pointer call from the deleteproject function

* deprecates conditonal compilation, removes python-specific headers and function renaming

* fixes tests and docs

* fixes test
2019-07-17 15:19:25 -04:00
Sam Hatchett 93db1cab93 updates AUTHORS and generator script 2019-05-14 13:12:20 -04:00
Sam Hatchett fc84e2b5e3 updates authors 2019-05-14 12:26:13 -04:00
Sam HatchettandGitHub 55bf038884 Update CODE_OF_CONDUCT.md 2019-05-09 11:43:06 -04:00
Sam HatchettandGitHub cf9c2a9141 Merge pull request #3 from samhatchett/add-code-of-conduct-1
Create CODE_OF_CONDUCT.md
2019-05-08 14:45:34 -04:00
Sam HatchettandGitHub 086db3bc02 Create CODE_OF_CONDUCT.md 2019-05-08 14:44:35 -04:00
Sam HatchettandGitHub 3f34a1ff2c Merge pull request #2 from OpenWaterAnalytics/dev
updates dev
2019-05-08 14:42:37 -04:00
Sam HatchettandGitHub 6e621bcf57 Merge pull request #1 from OpenWaterAnalytics/dev
updates from origin
2019-05-03 16:12:20 -04:00
Sam HatchettandMarkus Sunela d3e989b621 Create LICENSE 2019-05-03 10:21:04 +03:00
Sam Hatchett b6c9808905 Merge branch 'dev' of https://github.com/OpenWaterAnalytics/EPANET into issue-173 2018-08-27 16:31:31 -04:00
Sam Hatchett 8f69f2f975 re-index nodes in controls/rules
fixes #172 but opens another issue.
2018-08-27 16:28:27 -04:00
Sam Hatchett 6316f6757d re-adds header/dat files to IDE cmake output 2018-08-27 16:02:00 -04:00
Sam HatchettandGitHub 12d3005bd2 Make it more obvious where to ask questions (#191) 2018-06-07 12:03:49 -05:00
Sam Hatchett 9520b6d253 fixes cmake for mac, adds define option for building tests 2018-06-06 18:14:36 -05:00
Sam Hatchett 3de23845f5 fixes license and attribution issues 2018-04-09 12:10:19 -04:00
Sam Hatchett 612dd380a4 Revert "Revert "Merge branch 'dev' of https://github.com/OpenWaterAnalytics/EPANET into dev""
This reverts commit 4415d8c4a1.
2018-04-09 11:41:50 -04:00
Sam Hatchett 84abab346c modifies cmake to link shared lib to the CLI
also much improved IDE file grouping, for people who use IDEs
2018-01-12 11:38:05 -05:00
Sam Hatchett d2503bc035 allows changing model units on-the-fly
replaces PR #140
and with special thanks to @eladsal
2018-01-11 15:22:26 -05:00
Sam Hatchett 3892b65759 re-adds EN_PRICEPATTERN getter
this was broken because of #136
2018-01-11 14:17:09 -05:00
Sam Hatchett e1acb5a601 improves file availability from cmake-generated projects 2018-01-11 14:16:20 -05:00
Sam Hatchett 70c38b0d85 moves windows build to better-named directory 2018-01-11 14:16:00 -05:00
Sam HatchettandGitHub f97d837231 Feature wrapper (#136)
this quite sizable commit does several things, but is primarily
focussed on building a toolkit that can run simultaneous
simulations/analyses within a shared memory space. Versions <=2.1 use a
long list of global variables that prevent multiple instantiations on
linux systems without resorting to compilation tricks (like duplicate
binaries or similar via static linkage). This version uses a single "Project" pointer to encapsulate
the network and analysis data. There are no changes to existing algo
implementations other than to accomodate dereferencing of the passed-in
pointers. A more detailed list of major changes below:

- mirrors all “ENxxxx” function calls with “EN_xxxx” versions (note the
underscore) that take an extra first parameter: a pointer to an
EN_Project struct, which contains all network, hydraulic, quality, and
associated data.
- tweaks some code formatting to make it more readable
- removes some deprecated/commented code that was sufficiently old
- fixes implicit type-cast warnings

* Added ENaddnode and ENaddlink functions

* More memory reallocations

* Added ENInit, ENsetheadcurveindex

* Added ENdeletelink and ENdeletenode

* restored default behavior for float types

* fixed type

* Added docstrings for ENinit

* cleanup change

* moves global rule variables to vars.h

* migrates rule structs to typedefs

for better readability

* char types to proper enums

fixes #93

* Change some variable declarations for compatibility

Changes to keep compatibility with C89 compilers: variables must be
declared at the top of the functions. Remove the use of EN_LinkType in
function call as it is not compatible with ENgetnodetype.

* Moved declaration of idstodelete to top of function

* Updated ENinit function and headers

Updated header files with new functions
Updated def file with new functions
For ENinit changes names of parameters #98
Added enum for headloss formula

* Missed these files in 1a033fc

* migrates char types to enums fixes #93,

supports unified link/node type enums, rather than public/private
redefinitions

* removing links in reverse-index order maintains proper indexing fixes #96

* style

* clarifies curve getter units issue (dox)

closes #95

* fixes link/node confusion in ENsetlinktype

partially reverts a3bce95dc330a5a297634a303d438e2e1bc41cc9

* partial compilation fix

* fixes dox issue

* fixes allocation issues with enums

- updates style in various places
- introduces FlowDirection enum
- use snprintf to prevent overflow

* fixes enum type cast

* updated mac project settings

* Use of _snprintf on Windows and remove DLLEXPORT from mempool.h

snprintf it not compatible on Windows so we use _snprintf
mempool gave starnge compilation errors while removing DLLEXPORT worked.
Not sure why these functions needed to be exposed in the DLL?

* Revert "Use of _snprintf on Windows and remove DLLEXPORT from mempool.h"

This reverts commit 6238f77d47fa0feaabe5836043c006937de433a2.

* use of _snprintf instead of snprintf on Windows and removed DLLEXPORT from mempool.h

Had compilation errors on mempool.h. Removed DLLEXPORT so solve it. Not
sure why there was a need to expose these functions?

* Shift indices for Links in ENaddnode

Need to shift indices for Links not just Pipes since a pump could be
connected directly to a reservoir. Also set the defult base demand to
zero (was 5).

* Set defualts for madatory link properties in ENaddlink and small fix for ENsetheadcurveindex

Relates to #102 and closes #103

* wraps globals into structs, duplicates api functions with objective versions



* parse and serialize Comment field for network elements

related to #47

* adds getter for head/efficiency curve

in EN_getlinkvalue

* adds getter for event node index

… to return the index of the junction (tank) that triggered the event.

* fixes edge case in parsing

… where inp files without demands in [JUNCTIONS] and without any
[DEMAND] categories will fail.

* adds freeing function for project pointer

* removes redundant string literals, fixes overrun issue in error message getter function

* check for hydraulics already closed

* moving error definitions to data file

* deprecates ENR err message getter (unused)

* updates location of errors data file

also begins to expose blind structs to curves and patterns,
anticipating buildout of APIs for those.

* updates CLI output to reflect executable name as invoked

relates to #109

* Feature nrtest (#131)

* Initial commit EPANET testing tools.

* Initial commit for epanet-nrtestsuite

* SWIG wrapper for EPANET outputapi (#118)

* Removed pervious version of outputapi and wrapper

* SWIG wrapper for EPANET outputapi

* Patching cmake build script fixed target for outputapi

* Build failing on deprecated test script

* Minor changes. Responding to review comments.

* Feature nrtest (#121)

* Configured python setup to automatically build nrtest tools.

* Working on build / testing automation

* Adding EPANET 2.0.12 benchmark

* Updated Travis yml to run nrtest

* Fixing InsecurePlatformWarning

* Fixing InsecurePlatformWarning again

* Fixing InsecurePlatformWarning

* Fixing InsecurePlatformWarning

* Fixing InsecurePlatformWarning

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Working on configuring python environment and building test tools under Travis CI.

* Making gen-config.sh and run-nrtest.sh executable

* Debugging .travis.yml

* Debugging .travis.yml

* Debugging .travis.yml again

* Debugging .travis.yml again

* debugging travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* Fixing bug with __strncpy_chk destlen < len

* nrtesting clean up

* re-implements fixes from:

5eead5ae40
3c788567a4

* removes extraneous build files, moves cmake and updates travis

* mirror of 9b37035560f9683f1514b439f7586a5c17bca5bf

* Move some variable declarations

* More variable declarations

* Fix TmpDir

* Allocate _defaultModel

* Fix EN_addcurve funcrion

* Fix for inpfile

* Fix writeRuleinInp call

* Set MAXMSG to 79 chars

* Fix for flow direction

* Refactoring testing related python packages and SWIG wrapper bug fix (#139)

* Eliminated epanet-reader package. Removed numpy dependency from epanet-output. Fixed reference counting bug in SWIG wrapper. Added error checking to run_nrtest.sh. Added nrtest package to requirements file.

* changing buildhome directory

* Fixing bug related to preprocessor definition of PI
2018-01-09 16:56:42 -05:00
Sam HatchettandGitHub 36381129e6 Merge pull request #113 from OpenWaterAnalytics/add-license-1
Create LICENSE
2017-06-28 12:13:56 -04:00
Sam HatchettandGitHub c90d46c4d1 Create LICENSE 2017-06-28 12:13:44 -04:00
Sam HatchettandGitHub 1f5327a55e adds the rest of the pattern functions to the module documentation (#74) 2016-07-30 09:43:28 -04:00
Sam Hatchett e34adc1685 update readme for v2.1 tag 2016-07-25 20:18:06 -04:00
Sam Hatchett b75055838e Merge branch 'dev-2.1' 2016-07-25 20:14:44 -04:00
Sam Hatchett e2a8e5a614 resolve conflict 2016-07-25 20:14:33 -04:00
Sam Hatchett a4d27ad489 mac rpath in cmake 2016-07-25 20:12:02 -04:00
Sam Hatchett ea6b3619f7 note about api float type 2016-07-21 11:39:16 -04:00
Sam HatchettandGitHub 997c8839e1 Merge pull request #63 from mauriziocingi/patch-1
Update epanet.c
2016-07-20 16:29:52 -04:00
Sam Hatchett 4e3efb1aba disable local file location 2016-07-14 15:28:11 -04:00
Sam Hatchett 528d972f54 updates and proper tagging for dox 2016-07-14 15:03:14 -04:00
Sam Hatchett 7f958d797d update doxyfile 2016-07-14 14:35:45 -04:00
Sam HatchettandGitHub 2c60a703b5 Update README.md 2016-07-13 13:20:56 -04:00
Sam HatchettandGitHub 2d39d1fee4 Update README.md 2016-07-13 13:19:18 -04:00
Sam Hatchett 880f57d237 Merge branch 'dev-2.1-doxy-markup' into dev-2.1
updates comment blocks to oxygen-compatible, and adds release notes
(draft)
2016-07-13 13:16:53 -04:00
Sam Hatchett cdbe7e409a adding release notes, 2.1 2016-07-13 13:14:42 -04:00
Sam Hatchett 8d90000f3f Merge pull request #62 from OpenWaterAnalytics/dev-2.1-debug-python-test
Dev 2.1 debug python test
2015-12-17 13:52:52 -05:00
sam hatchett ff6225372a there are two hard problems.
naming things and counting things
2015-12-17 13:49:23 -05:00
sam hatchett 8fe3bbef23 fixes diff script 2015-12-17 13:46:32 -05:00
sam hatchett 81fa79745a fixing python printing 2015-12-17 13:36:53 -05:00
sam hatchett eb629b8392 better debug output 2015-12-17 13:33:33 -05:00
sam hatchett 71fa408f0b removes fake python comparator 2015-12-17 13:29:47 -05:00
sam hatchett d2625edab4 removes fake files 2015-12-17 13:24:00 -05:00
sam hatchett 1d8d2fb882 combining testing framework with python diff script 2015-12-17 13:22:28 -05:00
Sam Hatchett cb417ce08b Merge pull request #59 from bemcdonnell/dev-2.1
Minor updates to ENOutputWrapper.py; Adding OutDiff.py
2015-12-17 11:48:32 -05:00
Sam Hatchett 70e1eb5818 Merge pull request #58 from OpenWaterAnalytics/dev-2.1-test-network-script
Dev 2.1 test network script
2015-12-17 11:48:11 -05:00
Sam Hatchett 523dee5412 adds/fixes attribution 2015-12-16 16:28:40 -05:00
Sam Hatchett de211562f2 adds cmake build for ENBOF 2015-12-16 16:28:40 -05:00
Sam Hatchett 96cf6ece16 Revert "adds/fixes attribution"
This reverts commit 2f344d4884.
2015-12-15 20:41:54 -05:00
Sam Hatchett 6579a83ba3 fake files for test iteration 2015-12-15 20:39:03 -05:00
Sam Hatchett 92ea5a84a7 testing scripts and travis invocation 2015-12-15 20:38:53 -05:00
Sam Hatchett 2f344d4884 adds/fixes attribution 2015-12-15 16:40:01 -05:00
Sam Hatchett dd5d3d2e36 adds cmake build for ENBOF 2015-12-15 16:39:47 -05:00
Sam Hatchett ab470ba4e1 adding brief orientation for the contribution workflow 2015-12-10 22:15:22 -05:00
Sam Hatchett a86e330dbb Merge pull request #52 from bemcdonnell/dev-2.1
Adding Python wrapper for outputapi
2015-12-10 21:39:37 -05:00
Sam Hatchett 4ccab6a27e simplify cmake file 2015-12-07 17:18:30 -05:00
Sam Hatchett 9ff4afe6cb change badge ref for tests 2015-12-04 16:42:12 -05:00
Sam Hatchett 7351bd9a94 Merge pull request #51 from OpenWaterAnalytics/dev-2.1-travis-ci
adds travis-ci integration (basic build)
2015-12-04 16:41:26 -05:00
Sam Hatchett 5297407d3e Merge pull request #50 from michaeltryby/dev-2.1
Initial commit for EPANET binary output API
2015-12-04 16:38:45 -05:00
Sam Hatchett b937ff8e04 update readme with travis badge 2015-12-04 16:24:39 -05:00
Sam Hatchett 655f5021b5 experiment with travis ci 2015-12-04 16:04:19 -05:00
Sam Hatchett 6e7cf5f02a more dox, nesting pages
#33
2015-11-30 12:02:01 -05:00
sam hatchett 23ac6e5a55 clean up old comment block. 2015-11-28 18:59:49 -05:00
sam hatchett 90c2dfa0c4 complete function description. still needs user manual "application" examples 2015-11-28 18:58:49 -05:00
Sam Hatchett 92517b3944 declare curve-related functions in module 2015-11-28 17:10:26 -05:00
sam hatchett 5d2a1f82b5 finish moving defines to enums for better documentation 2015-11-28 13:28:32 -05:00
sam hatchett bcc1dcc806 Merge branch 'dev-2.1' into doxy-trial
# Conflicts fixed:
#	include/epanet2.h
#	src/epanet.c
2015-11-28 13:22:45 -05:00
sam hatchett 0745b6b448 adding main page content 2015-11-28 13:04:22 -05:00
sam hatchett 82e8d2a329 Merge remote-tracking branch 'origin/dev-2.1' into dev-2.1 2015-11-28 12:41:09 -05:00
Sam Hatchett d191ec73d6 xcode build file update to use correct input files 2015-11-25 19:41:38 -05:00
Sam Hatchett 8ef2f7e3e3 Merge pull request #39 from mauriziocingi/dev-2.1
organize the division between DLL and CLE
2015-11-25 19:28:51 -05:00
Sam Hatchett e28f24af3c migrating from defines to enums, and moving some documentation blocks into doxygen format 2015-11-25 19:26:47 -05:00
Sam Hatchett 3151805675 Merge pull request #37 from mauriziocingi/dev-2.1
added Warnflag in exported symbols
2015-11-18 08:17:57 -05:00
Sam Hatchett e484486915 moving more comments into dox, enum-wrapping and documenting property keys 2015-09-30 15:15:19 -04:00