OpenDCS - Custom Algorithms in the Cloud


How to Add your algorithm to the main OpenDCS source code?

Add to the OpenDCS main project if your algorithm is broadly generic and will be used outside of USACE.


Create a Pull Request into the OpenDCS project. https://github.com/opendcs/opendcs/pulls


How to Add your algorithm to the Water Management OpenDCS GitHub site?

This is the default place to put custom algorithms used by USACE


Use this github site for USACE custom algorithms:  https://github.com/USACE-WaterManagement/opendcs-wm.  Add your code to the main git branch using a Pull Request (PR).  Your PR will provide a place for discussion.

Create a gradle subproject (sub-directory named after your district) and put your code there.  Your PR will let the OpenDCS National team members that the algorithm will need to be pushed to the cloud  - that process requires a manual step.


For a python algorithm put your files in the directory using this pattern:    opendcs-wm/algorithms/<division>/<district>/src/main/resources/mil.usace.army.<division>/<district>.algorithms

For example:  opendcs-wm/algorithms/lrl/src/main/resources/mil/usace/army/lrd/lrl/algorithms/carcreek.py



Note: Don't publishing any 'secrets' in your Algorithm, such as IP addresses, usernames, or passwords.

Note:  You can export the Java algorithm from the OpenDCS UI (version 7 or lower), and that is what is put into github.