Search NASA⌕ Search

SEARCH · Search NASA

Results for “software development practice”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 55 records · Page 3

Summarizing the interoperabilities between xSDK members

Rapid, efficient production of high-quality, sustainable extreme-scale scientific applications is best accomplished using a rich ecosystem of state-of-the art reusable libraries, tools, lightweight frameworks, and defined software methodologies, developed by a community of scientists who are striving to identify, adapt, and adopt best practices in software engineering. The vision of the xSDK is to provide infrastructure for and interoperability of a collection of related and complementary software elements — developed by diverse, independent teams throughout the high-performance computing (HPC) community — that provide the building blocks, tools, models, processes, and related artifacts for rapid and efficient development of high-quality applications. A primary component, and challenge, of the xSDK is to improve interoperability among software libraries and domain components. This document summarizes the current and planned interoperabilities of the twenty-three xSDK member packages as of March 2021. Additionally, the status of the xSDK example codes that demonstrate and test the interoperabilities within the xSDK is provided.

97 MATHEMATICS AND COMPUTING↗

Improving the Capabilities and Computational Efficiency of the RTE+RRTMGP Radiation Code (Final Report)

This report details progress on the RTE+RRTMGP radiation codes made during the period of performance. RTE+RRTMGP is a set of codes for computing radiative fluxes in planetary atmospheres. RRTMGP uses a k-distribution to provide an optical description (absorption and possibly Rayleigh optical depth) of the gaseous atmosphere, along with the relevant source functions, on a pre-determined spectral grid given temperatures, pressures, and gas concentration. RTE computes fluxes given spectrally-resolved optical descriptions and source functions. Spectrally-resolved fluxes are summarized (“reduced”) via a user extensible class. The initial release of the code and the design choices are described in Pincus et al. 2019; the codes are available on Github. Although RRTMGP was based on current (at the time) empirical spectroscopic data, RTE and RRTMGP were developed in large part to modernize software practices. The design focused on flexibility broadly interpreted: by separating code from data and allowing data to drive computation; in coupling to the host model (e.g. the coupling of clouds to radiative fluxes is user-controlled); with respect to programming languages (computational tasks are accessed via widely-compatible C interfaces); and with respect to hardware (the codes run on a range of CPU and GPU architectures). The code also puts an emphasis on modularity and clarity. RTE+RRTMGP v1.0 was released in September 20219. This award supported the evolution of the RTE+RRTMGP code base to support greater flexibility, accuracy, and efficiency.

54 ENVIRONMENTAL SCIENCES↗

Introducing PRIMRE's MRE Software Knowledge Hub (February 2021)

This paper focuses on the role of the Marine Renewable Energy (MRE) Software Knowledge Hub on the Portal and Repository for Information on Marine Renewable Energy (PRIMRE). The MRE Software Knowledge Hub provides online services for MRE software users and developers, and seeks to develop assessments and recommendations for improving MRE software in the future. Online software discovery platforms, known as the Code Hub and the Code Catalog, are provided. The Code Hub is a collection of open-source MRE software that includes a landing page with search functionality, linked to files hosted on the MRE Code Hub GitHub organization. The Code Catalog is a searchable online platform for discovery of useful (open-source or commercial) software packages, tools, codes, and other software products. To gather information about the existing MRE software landscape, a software survey is being performed, the preliminary results of which are presented herein. Initially, the data collected in the MRE software survey will be used to populate the MRE Software knowledge hub on PRIMRE, and future work will use data from the survey to perform a gap analysis and develop a vision for future software development. Additionally, as one of PRIMRE's roles is to support development of MRE software within project partners, a silo of knowledge relating to best practices has been gathered. An early draft of new guidance developed from this knowledge is presented.

gap analysis↗

pvlib python: 2023 project update

pvlib python is a community-developed, open-source software toolbox for simulating the performance of solar photovoltaic (PV) energy components and systems. It provides reference implementations of over 100 empirical and physics-based models from the peer-reviewed scientific literature, including solar position algorithms, irradiance models, thermal models, and PV electrical models. In addition to individual low-level model implementations, pvlib python provides high-level workflows that chain these models together like building blocks to form complete “weather-to-power” photovoltaic system models. It also provides functions to fetch and import a wide variety of weather datasets useful for PV modeling. pvlib python has been developed since 2013 and follows modern best practices for open-source python software, with comprehensive automated testing, standards-based packaging, and semantic versioning. Its source code is developed openly on GitHub and releases are distributed via the Python Package Index (PyPI) and the conda-forge repository. pvlib python’s source code is made freely available under the permissive BSD-3 license. Here we (the project’s core developers) present an update on pvlib python, describing capability and community development since our 2018 publication (Holmgren, Hansen, & Mikofski, 2018).

14 SOLAR ENERGY↗

Overview of FLORIS updates

In this paper, we review updates made to the FLORIS (FLOw Redirection and Induction in Steady State) open-source framework for wind farm control modeling, design and analysis. The updates are focused on improvements for large arrays of turbines - including heterogenous inflows and incorporating second-order wake steering effects - design, and analysis tools for practical application of wind farm control, and improvements to the software architecture for best practices in modularization and cooperative development.

17 WIND ENERGY↗

Surveying the LLNL WSC/CP DevOps Landscape - FY23 DevOps L2: Advanced Simulation and Computing (ASC) L2 Milestone 8542, "Spack Utilization in IC Code Projects”

This L2 milestone is a multifaceted review of DevOps practices across Weapon Simulation and Computing/Computational Physics (WSC/CP) Program, which includes Weapons, ICF, and Engineering simulation codes and supporting libraries. It complements the FY22 Spack/MARBL L2: Advanced Simulation and Computing (ASC) L2 Milestone 7904, “Workflow Portability Across Cloud Services”. The overall goal is to develop a path forward for improving DevOps practices in WSC/CP which will increase developer productivity, improve software quality, and speed up our ability to deliver capabilities to end users.

97 MATHEMATICS AND COMPUTING↗

Enabling Low-Temperature (LTP) Ignition Technologies for Multi-Mode Engines through the Development of a Validated High-Fidelity LTP Model for Predicative Simulations Tools

The goal of multi-mode engine architectures is to extend current lean-burn dilution limits with renewable fuels, which requires spark plugs to deposit high energies (hundreds of mJ) in order to initiate ignition and complete combustion. At elevated energy deposition rates, spark plugs experience increased electrode erosion and thermal losses, which ultimately shortens the spark-plug lifetime and lowers ignition efficiency. As such, in order to safeguard the efficiency gains of multi-mode concepts, new and improved ignition technologies are required. Recently, non-equilibrium low-temperature plasmas (LTP) have been shown to promote energy-efficient ignition via quenching and transport of electronically excited atoms and molecules, selective radical production and fast heating of hydrocarbon/air mixtures [1-2]. Thus, LTP is seen as a technology that can potentially improve the energy extraction efficiency of fuels, while enabling kinetically controlled combustion modes towards fuel leaner conditions to realize current DOE VTO goals of improving the sustainability of future mobility [3]. Although many previous studies have demonstrated the efficacy of plasma-assisted ignition to enhance combustion, the detailed enhancement mechanisms remain largely unknown, especially for oxygenated fuels and at elevated pressures that are most relevant to practical engine conditions. These barriers hinder the development of accurate and comprehensive numerical models that seek to describe LTP-based ignition in existing engine design software tools and methods. Current state-of-the-art simulation capabilities for LTP ignition systems are in need of improvements since they deliver qualitative results only due to important limitations of existing approaches. Firstly, validated kinetic models with elementary steps for plasma discharges in oxygenated fuel/air mixtures of relevance to the transportation sector are required. Such kinetic models do not exist at present and will be developed and validated within this project. Secondly, plasma discharges and reactive mixture ignition are multi-scale, unsteady processes requiring high-performance numerical methods and software that execute efficiently on DOE supercomputers. Such software does not exist at present and will be developed and applied to practical LTP ignition scenarios as part of this project. Thirdly, experimental databases that are tailored to serve as benchmark in support of the development of predictive computational models of LTP ignition do not exist and will be part of this project.

33 ADVANCED PROPULSION SYSTEMS↗

Clearing a Path to Commercialization of Marine Renewable Energy Technologies Through Public–Private Collaboration

Governments are increasingly turning toward public–private partnerships to bring industry support to improving public assets or services. Here, we describe a unique public–private collaboration where a government entity has developed mechanisms to support public and private sector advancement and commercialization of monitoring technologies for marine renewable energy. These support mechanisms include access to a range of skilled personnel and test facilities that promote rapid innovation, prove reliability, and inspire creativity in technology development as innovations move from concept to practice. The ability to iteratively test hardware and software components, sensors, and systems can accelerate adoption of new methods and instrumentation designs. As a case study, we present the development of passive acoustic monitoring technologies customized for operation in energetic waves and currents. We discuss the value of testing different systems together, under the same conditions, as well as the progression through different test locations. The outcome is multiple, complementary monitoring technologies that are well suited to addressing an area of high environmental uncertainty and reducing barriers to responsible deployment of low-carbon energy conversion systems, creating solutions for the future.

16 TIDAL AND WAVE POWER↗

Pyomo: Accidentally outrunning the bear

Pyomo is an open-source optimization modeling software that has undergone significant evolution since its inception in 2008. Pyomo has evolved to enhance flexibility, solver integration, and community engagement. Modern collaborative tools for open-source software have facilitated the development of new Pyomo functionality and improved our development process through automated testing and performance-tracking pipelines. However, Pyomo faces challenges typical of research software, including resource limitations and knowledge retention. The Pyomo team’s commitment to better development practices and community engagement reflects a proactive approach to these issues. We describe Pyomo’s development journey, highlighting both successes and failures, in the hopes that other open-source research software packages may benefit from our experiences.

automation↗

Visualizing Comparisons of Bill of Materials

Protecting critical infrastructure from cyber attacks, natural disasters, and other disruptions is a priority of the U.S. Government. Critical infrastructure includes providing electricity to homes and businesses, supplying natural gas for heating, and producing renewable energy sources. A loss of these services, as seen in the Solarwinds supply chain attack in 2020 , Texas snowstorm of 2021, the Colonial Pipeline cyber incident of 2021, and the Washington power substation attacks in 2022 result in high costs to consumers, disruption of everyday life, and even death. To protect the infrastructure, we first have to know what equipment we are protecting. The complexity of distributed manufacturing and development coupled with the increasing prevalence of cyber and supply chain attacks necessitates a greater understanding of the hardware and software components that comprise equipment in critical infrastructure. When a vulnerability in a single software library can have disastrous consequences, it is vital to understand critical equipment and systems at a granular level. This need has led to increased energy around the development and incorporation of bill-of-materials (BOM) into existing asset management practices to aid in mitigating, and responding to future attacks \cite{noauthor_software_nodate}. While much of the current research is devoted to creating BOMs, it is equally important to develop methodologies for leveraging BOMs to answer questions, such as: How has my software changed? Are two pieces of equipment equivalent? Does this piece of equipment that just arrived match my historical information? In this work, we demonstrate how BOMs can be represented by graph structures. We then describe how these structures can be fed into a graph comparison algorithm to produce a novel interactive visualization that allows us to not only identify differences in BOMs, but show exactly where they are in the product.

Jones, Rebecca D.↗

Towards Sustainable Post-Exascale Leadership Computing

As computing systems approach the limits of traditional silicon technology, the diminishing returns in performance per watt present a significant barrier to sustaining growth in HPC. From a large-scale scientific supercomputing facility point of view, we propose a multifaceted strategy toward specialized hardware and architectures that are optimized for energy efficiency in specific applications. We also emphasize the need for integrating energy-aware practices across all levels of HPC, from system design and software development to operational policies. We discuss strategic opportunities such as the adoption of application-specific accelerators, the development of energy-efficient algorithms, and the implementation of data-driven operational analytics. Our goal is to develop a comprehensive roadmap ensuring that future leadership systems at OLCF can meet scientific demands while operating within stringent energy budgets, thereby supporting sustainable computing growth.

Shin, Woong↗

Enhancing the Quality and Reliability of Machine Learning Interatomic Potentials through Better Reporting Practices

Recent developments in machine learning interatomic potentials (MLIPs) have empowered even nonexperts in machine learning to train MLIPs for accelerating materials simulations. However, reproducibility and independent evaluation of presented MLIP results is hindered by a lack of clear standards in current literature. In this Perspective, we aim to provide guidance on best practices for documenting MLIP use while walking the reader through the development and deployment of MLIPs including hardware and software requirements, generating training data, training models, validating predictions, and MLIP inference. We also suggest useful plotting practices and analyses to validate and boost confidence in the deployed models. Finally, we provide a step-by-step checklist for practitioners to use directly before publication to standardize the information to be reported. Altogether, we hope that our work will encourage the reliable and reproducible use of these MLIPs, which will accelerate their ability to make a positive impact in various disciplines including materials science, chemistry, and biology, among others.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Best practices for documenting a scientific Python project

Documentation is a crucial component of software development that helps users with installation and usage of the software. Documentation also helps onboard new developers to a software project with contributing guidelines and API information. The INTERSECT project is an open federated hardware/software library to facilitate the development of au- tonomous laboratories. A documentation strategy using Sphinx has been utilized to help developers contribute to source code and to help users understand the INTERSECT Python interface. Docstrings as well as reStructuredText files are used by Sphinx to automatically compile HTML and PDF files which can be hosted online as API documentation and user guides. The resulting documentation website is automatically built and deployed using GitLab runners to create Docker containers with NGINX servers. The approach discussed in this paper to automatically deploy documentation for a Python project can improve the user and developer experience for many scientific projects.

Wiggins, Gavin↗

Better together: Elements of successful scientific software development in a distributed collaborative community

Many scientific disciplines rely on computational methods for data analysis, model generation, and prediction. Implementing these methods is often accomplished by researchers with domain expertise but without formal training in software engineering or computer science. This arrangement has led to underappreciation of sustainability and maintainability of scientific software tools developed in academic environments. Some software tools have avoided this fate, including the scientific library Rosetta. We use this software and its community as a case study to show how modern software development can be accomplished successfully, irrespective of subject area. Rosetta is one of the largest software suites for macromolecular modeling, with 3.1 million lines of code and many state-of-the-art applications. Since the mid 1990s, the software has been developed collaboratively by the RosettaCommons, a community of academics from over 60 institutions worldwide with diverse backgrounds including chemistry, biology, physiology, physics, engineering, mathematics, and computer science. Developing this software suite has provided us with more than two decades of experience in how to effectively develop advanced scientific software in a global community with hundreds of contributors. Here we illustrate the functioning of this development community by addressing technical aspects (like version control, testing, and maintenance), community-building strategies, diversity efforts, software dissemination, and user support. We demonstrate how modern computational research can thrive in a distributed collaborative community. The practices described here are independent of subject area and can be readily adopted by other software development communities

97 MATHEMATICS AND COMPUTING↗

Controlling Air Conditioners for Frequency Regulation: A Real-World Example

Even though thermostatically controlled loads like air conditioners present a great potential for providing ancillary services to the electric power grid, the practical challenges associated with their real-time coordination have not received the necessary attention. In this work, we present a nondisruptive load control application, specifically, we demonstrate how real residential air conditioners can provide frequency regulation. Aggregate power adjustment is achieved by modifying the ON/OFF modes of the air conditioners. To account for both single and multi-zone houses, we extend the currently available techniques and develop an approach that can be used for controlling aggregations that include both types of houses. A discussion of the practical challenges encountered in our field experiments is provided, along with the hardware and software approaches we developed to circumvent them. Here, we argue that limitations of current thermostat APIs introduce significant challenges and are an impediment to widespread adoption of fast load control applications.

24 POWER TRANSMISSION AND DISTRIBUTION↗

Earth and Space Science Informatics Perspectives on Integrated, Coordinated, Open, Networked (ICON) Science

Abstract This article is composed of three independent commentaries about the state of Integrated, Coordinated, Open, Networked (ICON) principles (Goldman, et al., 2021b, https://doi.org/10.1029/2021EO153180 ) in Earth and Space Science Informatics (ESSI) and includes discussion on the opportunities and challenges of adopting them. Each commentary focuses on a different topic: (Section 2) Global collaboration, cyberinfrastructure, and data sharing; (Section 3) Machine learning for multiscale modeling; (Section 4) Aerial and satellite remote sensing for advancing Earth system model development by integrating field and ancillary data. ESSI addresses data management practices, computation and analysis, and hardware and software infrastructure. Our role in ICON science therefore involves collaborative work to assess, design, implement, and promote practices and tools that enable effective data management, discovery, integration, and reuse for interdisciplinary work in Earth and space science disciplines. Networks of diverse people with expertise across Earth, space, and data science disciplines are essential for efficient and ethical exchanges of findable, accessible, interoperable, and reusable (FAIR) research products and practices. Our challenge is then to coordinate the development of standards, curation practices, and tools that enable integrating and reusing multiple data types, software, multi‐scale models, and machine learning approaches across disciplines in a way that is as open and/or FAIR as ethically possible. This is a major endeavor that could greatly increase the pace and potential of interdisciplinary scientific discovery.

58 GEOSCIENCES↗

Exascale workflow applications and middleware: An ExaWorks retrospective

Exascale computers offer transformative capabilities to combine data-driven and learning-based approaches with traditional simulation applications to accelerate scientific discovery and insight. However, these software combinations and integrations are difficult to achieve due to the challenges of coordinating and deploying heterogeneous software components on diverse and massive platforms. Here, we present the ExaWorks project, which addresses many of these challenges. We developed a workflow Software Development Toolkit (SDK), a curated collection of workflow technologies that can be composed and interoperated through a common interface, engineered following current best practices, and specifically designed to work on HPC platforms. ExaWorks also developed PSI/J, a job management abstraction API, to simplify the construction of portable software components and applications that can be used over various HPC schedulers. The PSI/J API is a minimal interface for submitting and monitoring jobs and their execution state across multiple and commonly used HPC schedulers. We also describe several leading and innovative workflow examples of ExaWorks tools used on DOE leadership platforms. Furthermore, we discuss how our project is working with the workflow community, large computing facilities, and HPC platform vendors to address the requirements of workflows sustainably at the exascale.

97 MATHEMATICS AND COMPUTING↗

Development and performance evaluation of a novel γ-γ coincidence analysis software

Processing of large amounts of data from a γ-γ coincidence system is a practical challenge in trace-level radionuclide measurements. Given the benefits and growing number of multidimensional gamma spectrometers worldwide, this is a major restriction in wide-spread applicability of coincidence techniques. This study demonstrates a novel γ-γ coincidence analysis software developed at Pacific Northwest National Laboratory, USA. The software utilizes advanced search techniques and Python libraries to readily identify coincidence signatures in the large data. Further, using both synthetic and experimental data, the study uncovers various strategies/libraries employed during software’s development. This work aims to provide a reference document in handling large data routinely encountered in trace-level measurements.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗