A-Z Index | Directory | Careers

Software Enabling Science

alt

Enabling scientific discovery by advancing sustainable software practices, usable interfaces, and software infrastructure that supports modeling and simulation, computer science, data science, and their applications.

Software plays a vital role in the scientific ecosystem at Berkeley Lab. Scientific advancement relies on the availability of correct, stable, and usable software. In addition to software provided by commercial vendors and other open source projects, we develop and maintain software that provides capabilities not otherwise available. A few examples of our software projects include tools that enable data pipelines near the instruments, distributed analysis workflows running HPC codes on supercomputers, web services that control experiments and present analysis results, and long-term archival storage and retrieval. Our software also includes mathematical frameworks and libraries that support modeling and simulation, and linear algebra packages that are used in simulation, and machine learning. Additionally, we perform user research to design custom interfaces and GUIs for scientific exploration.

Sustainable Software

Software Infrastructure for Science

Software Interfaces & Usability

Mathematical Software

Software for Workflows and Data

Software is not a static product; it must be sustained to satisfy new requirements from the science, be adapted to run efficiently on new platforms over the lifetime of one or multiple projects. We treat sustainable scientific software as a first-class citizen, as critical to the scientific enterprise as any instrument or methodology, alongside the research results it enables. Modern science is increasingly done as large, complex, team-based collaborative efforts, and we approach software development similarly, as a team-based collaborative work, researching and applying best practice methodologies, automated tools, and user studies.

Treating software as a first-class citizen can only truly be done by treating those engineers who develop, test, document, and maintain this software as essential participants in the scientific mission. We support and elevate the careers and skills of those who create sustainable scientific software, including those who develop that expertise during their career. We have an emphasis on a diverse, inclusive, supportive team of people, putting us in a better position to sustainably support the scientific mission.