Services — Collaboration and Teaming Team Partners to Support Software Development Services for USACE

Invitation to develop new teaming partners to support software development services for the US Army Corps of Engineers (USACE), Hydrologic Engineering Center (HEC).

As of February 2021, RMA has received a Single Award Task Order Contract (SATOC) W9123821D0001 from USACE to support software development services for HEC. This contract will support ongoing development of a wide range of HEC software products including HEC-HMS, HEC-ResSim, HEC-RAS, HEC-FDA, and the Corps Water Management System. This SATOC has a base period of performance of 12 months with an option period of an additional 6 months.

RMA has provided similar support for HEC for over twenty years, and during that time we have established close working relationships with a variety of subcontractors with specialized expertise related to HEC’s mission. Historically, RMA has subcontracted out between 10 and 20% of the workload for HEC. As part of the Subcontractor Competition Plan associated with the new SATOC, RMA has been asked to encourage new teaming partners to collaborate with us on this work for HEC. General examples of potential work and related software and engineering concepts are provided below. If you would like to explore the possibility of teaming RMA on this project, please use our contact form (https://www.rmanet.com/contact/) and include “HEC Teaming Opportunity” in the message. Please note that all potential subcontractors must be accepted by HEC, and assignments to subcontractors is done in close coordination with HEC.

Examples of typical tasks identified in the SATOC:

  • Prepare a requirements analysis for an engineering algorithm to compute releases from a reservoir for power generation; and transform the resulting analysis into a preliminary code module design based on object-oriented technology.
  • Design and develop a general purpose object-oriented graphical display module for depiction of water resource system schematic representations.
  • Investigate, document and recommend software and libraries for application in HEC software development.
  • Develop a graphical user interface (GUI) for a flood damage reduction analysis system including participation in requirements analysis and design, followed by complete development including rigorous testing and documentation.
  • Investigate existing software performance impediments of client-server architecture for local area network (LAN) and wide area network (WAN) implementation; recommend and document solutions.
  • Develop modules for interfacing a graphical user interface, software packages, and Geographic Information Systems based on design and specifications prepared by others.
  • Add modules to existing software that implement random sampling from selected probability density functions for risk analysis software.
  • Participate in requirements analysis, and subsequently design and develop algorithms to update model parameters for a spatially based, weather-radar driven real-time flow forecast model.
  • Implement unit testing, automated interface testing for exiting software, and general application testing.
  • Deploy software for distributed computing and/or accessing and running on cloud resources.
  • Fully document a software application or a software library.
  • Provide training for a software application.
  • Research, design, develop, document and test the capability to “plug” various pieces of software into a framework graphical user interface to allow the software to operate in a coordinated synchronized fashion.
  • Support HEC in the transition to a CI/CD software development environment.

Software development concepts, development environment, and productivity tools required to successfully accomplish example tasks above include the following:

  • Hardware platforms/operating systems/standards: Intel-based personal computers with Microsoft Windows and Red Hat Linux, and Sun hardware running SUN Solaris.
  • Coding languages: Java, C and C++, Fortran, Visual Basic .net, Script (several languages including Python and Jython), and SQL.
  • Productivity software: Microsoft Development Studio, including Intel FORTRAN Compiler; Java IDE’s, and various graphics libraries; or equivalent development productivity software. All HEC source code must be maintained in a version-control database accessible to both the contractor and HEC staff.
  • Object-oriented Design.
  • Oracle Database table design.

The water resource engineering concepts and abilities required to successfully accomplish example tasks include the following:

  • Hydrologic Engineering: Rainfall/runoff transforms, parameterization, spatially gridded analysis, use of radar rainfall data, snowmelt processes and modeling.
  • River Hydraulic Engineering: One dimensional and two dimensional river hydraulic process and modeling, sediment transport analysis.
  • Groundwater hydrology: Multi-dimensional groundwater hydrology and hydraulics, groundwater plume analysis, groundwater/surface water interactions.
  • Water Resources Statistical analysis: Frequency, duration, risk analysis in water resource applications.
  • Water Resource Economic analysis: Cost/benefit analysis, potential damage analysis.
  • GIS: Use of Arc GIS products in water resource engineering