The Oak Ridge National Laboratory (ORNL) Research Software Engineering (RSE) group is responsible for supporting the laboratory’s mission by developing cutting-edge research software. The group includes interdisciplinary staff with strong backgrounds in the methods of computational science and software engineering and a healthy contingent of postgraduate research associates.
The RSE group supports existing projects and provides leadership roles in new projects where appropriate. The group also provides expertise for Strategic Partnership Programs. The RSE group supports user facilities, including the Oak Ridge Leadership Computing Facility, Spallation Neutron Source, and Manufacturing Demonstration Facility. The group acts as a steward of ORNL’s broader software community by supporting staff development, hosting relevant events, and providing continuing education opportunities.
Core Area 1 - Scientific Software Development
The RSE group engages in all aspects of the engineering of scientific software on both new and existing projects. RSE staff members serve in both support and project leadership roles, and as principal investigators when appropriate. RSE staff are well versed in best practices for advanced methods, development techniques, and tooling for conventional and high-performance software projects across many fields.
The group has successfully developed, deployed, and released projects in advanced manufacturing, advanced materials, astrophysics, fusion energy, geographical information systems, nuclear engineering, quantum communication, and quantum computing. The group’s success is predicated on its ability to work with stakeholders, including other ORNL staff, to identify the key challenges, and to leverage existing ORNL tools and software, including engaging other members of the research staff to address open-research problems on projects.
Core Area 2 - Supporting the ORNL Software Development Community
The RSE group actively supports the ORNL software community through several activities and advocacy efforts. The group works directly with laboratory management to define software metrics and to identify appropriate means of attribution for professional activities related to the development of research software. The group is responsible for hosting events, training, tutorials, and workshops for the community.
Since communication is one of the most significant barriers in any organization, the RSE group actively communicates development opportunities to connect staff members to projects and vice versa.
Core Area 3 - Long-Term Support, Maintenance, and Distribution
The RSE group provides expertise in long-term support and maintenance to address on-going needs for pre-existing scientific software. This includes extending functionality through additional development, addressing problems, and supporting new systems. Additionally, the group provides project management support and guidance for best practices on software projects, including the use of issue trackers, version control systems, documentation systems, testing, and build and performance engineering. The group also provides expertise on distributing ORNL software and maintains the ORNL Software Portal.
Interfaces and Advocacy
The RSE group relies on other organizations at the laboratory for hardware deployment, development and operations, and basic web development, acting as a strong advocate and partner with these organizations to communicate the needs of the research software engineering community and best practices. Because the group does a significant amount of advanced web application development, some advanced web development outside of a research context is supported to meet the strategic needs of the laboratory.
The RSE group is and has been supported by a diverse funding profile, including projects funded by the Offices of Advanced Manufacturing, Advanced Scientific Computing Research, and Nuclear Energy. The group is also supported by the Laboratory Director’s Research and Development fund and by projects funded externally by non-DOE partners.