Search NASA⌕ Search

SEARCH · Search NASA

Results for “open source codes”

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 487 records · Page 27

Project Update for “Designing Nuclear-data Measurements that Resolve Discrepancies in Existing Data” [Slides]

AIACHNE has made key progress this past year and will contribute to the larger scientific community. We recovered input data for the current 252 Cf(sf) PFNS evaluation that was previously lost. We render a standard to the best of our ability reproducible. We critically reviewed past data as input for ML & new standard evaluation that will impact PFNS of all major actinides. We developed a unique AI/ ML code that highlights which measurement features are related to bias and are working towards open-sourcing it for the community. Features that were identified as related to bias follow physics’ intuition and bring new understanding of exp effects and might help us for other reactions and isotopes. The results highlight that EXFOR is a goldmine of features that could help us understand experiment bias (if they are easy to parse).

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Integration of the NCRC Database and Other INL Databases

The Nuclear Computational Resource Center provides a portal by which industry professionals, educational staff, students, national laboratory employees, and others may request access to certain engineering software tools. As the tools provided through the Nuclear Computational Resource Center portal are not open-source and freely available, a set of approvals are necessary before access is granted. All code recipients must be associated with an institution that has a license with Idaho National Laboratory for the code requested. Information about these licenses is controlled by Idaho National Laboratory’s Technology Deployment organization and housed in a Technology Deployment database. Those requesting code access who are not citizens of the United States must also have a security plan, mandated by Idaho National Laboratory policy. Security plans are managed by the International Access Program and are stored in an International Access Program database known as IFacts. Granting access to software thus depends on information stored in the Technology Deployment database and IFacts. In the past, no connection between the Nuclear Computational Resource Center portal and these databases existed, making checking the status of license agreements and security plans time consuming and error prone. This report demonstrates that the Nuclear Computational Resource Center portal now connects to both the Technology Deployment database and IFacts, greatly improving the ease of use of the Nuclear Computational Resource Center system for administrators, which leads to a better overall experience for those requesting code access.

99 GENERAL AND MISCELLANEOUS↗

Truchas Overview

Truchas and Truchas-PBF are two sister codes for part-scale multi-physics modeling of manufacturing processes. Both programs are open source and made publicly available. They’re designed for efficient use of HPC resources and can be programmatically driven from Python packages. This enables automatic execution and analysis of ensembles of simulations, in some cases allowing 1000s of simulations to be evaluated in a day on HPC. Beyond just giving engineers a window into the concealed internal state of a system, the goal of Truchas is to provide a framework for developing novel manufacturing processes by understanding how the entire space of engineering inputs affects thermal state. It often is used to explore combinations of capabilities uncommon in commercial software, or to scale up analyses beyond the capabilities of commercial software.

97 MATHEMATICS AND COMPUTING↗

Using Numba for GPU acceleration of Neutron Beamline Digital Twins

Digital twins of neutron instruments using Monte Carlo ray tracing have proven to be useful in neutron data analysis and verifying instrument and sample designs. However, these simulations can become quite complex and computationally demanding with tens of billions of neutrons. In this paper, we present a GPU accelerated version of MCViNE using Python and Numba to balance user extensibility with performance. Numba is an open-source just-in-time (JIT) compiler for Python using LLVM to generate efficient machine code for CPUs and GPUs with NVIDIA CUDA. The JIT nature of Numba allowed complex instrument kernels to be generated easily. Initial simulations have shown a speedup between 200-1000x over the original CPU implementation. The performance gain with Numba enables more sophisticated data analysis and impacts neutron scattering science and instrument design.

Kendrick, Coleman↗

The Nuclear Reaction Network WinNet

Abstract We present the state-of-the-art single-zone nuclear reaction network WinNet , which is capable of calculating the nucleosynthetic yields of a large variety of astrophysical environments and conditions. This ranges from the calculation of the primordial nucleosynthesis, where only a few nuclei are considered, to the ejecta of neutron star mergers with several thousands of involved nuclei. Here we describe the underlying physics and implementation details of the reaction network. We additionally present the numerical implementation of two different integration methods, the implicit Euler method and Gears method, along with their advantages and disadvantages. We furthermore describe basic example cases of thermodynamic conditions that we provide together with the network and demonstrate the reliability of the code by using simple test cases. With this publication, WinNet will be publicly available and open source at GitHub and Zenodo.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Command and Control Software Development

As NASA’s role in spaceflight operations change, so too does its design priorities. NASA’s flagship venture, the Space Launch System (SLS), is being created primarily to explore deep space. While commercial partners conduct low Earth orbit resupplies, tests, and even transportation of astronauts, NASA can divert more resources to more exciting projects - going back to the moon, or onwards to Mars. In the short term, this goal manifests in the upcoming Exploration Mission-1 (EM-1) test of the SLS, slated for as early as 2019. SLS, with the Orion capsule, will travel farther than any human-rated spacecraft has gone before. As the most powerful launch vehicle ever created, SLS requires many new innovations to ensure mission success. One such technology is the launch control software, which is the focus of this internship. The SLS launch control software is composed of many functions, all of which require rigorous testing to meet the standard of life-critical code. To facilitate easier testing, the first project I undertook was to customize the open-source tool Wireshark to the software team’s needs. Wireshark is a network protocol analyzer that can take in information about custom information packets. The launch control software will have several protocols that are custom to NASA. I ensured that all necessary component files were the correct file type and in the correct structure for Wireshark to compile. Having allowed Wireshark access to understand custom NASA data packets, testers of the launch control software will be able to find anomalies easier.

Wang, Zhengdong↗

Lessons Learned and Scalability Achieved When Porting Uintah to DOE Exascale Systems

A key challenge faced when preparing codes for Department of Energy (DOE) exascale systems was designing scalable applications for systems featuring hardware and software not yet available at leadership-class scale. With such systems now available, it is important to evaluate scalability of the resulting software solutions on these target systems. One such code designed with the exascale DOE Aurora and DOE Frontier systems in mind is the Uintah Computational Framework, an open-source asynchronous many-task (AMT) runtime system. To prepare for exascale, Uintah adopted a portable MPI+X hybrid parallelism approach using the Kokkos performance portability library (i.e., MPI+Kokkos). This paper complements recent work with additional details and an evaluation of the resulting approach on Aurora and Frontier. Results are shown for a challenging benchmark demonstrating interoperability of 3 portable codes essential to Uintah-related combustion research. These results demonstrate single-source portability across Aurora and Frontier with scaling characteristics shown to 3,072 Aurora nodes and 9,216 Frontier nodes. In addition to showing results run to new scales on new systems, this paper also discusses lessons learned through efforts preparing Uintah for exascale systems.

Holmen, John [ORNL] (ORCID:0000000259342641)↗

Fragme∩t: An Open‐Source Framework for Multiscale Quantum Chemistry Based on Fragmentation

Fragment-based quantum chemistry offers a means to circumvent the nonlinear computational scaling of conventional electronic structure calculations, by partitioning a large calculation into smaller subsystems then considering the many-body interactions between them. Variants of this approach have been used to parameterize classical force fields and machine learning potentials, applications that benefit from interoperability between quantum chemistry codes. However, there is a dearth of software that provides interoperability yet is purpose-built to handle the combinatorial complexity of fragment-based calculations. To fill this void we introduce “Fragme∩t”, an open-source software application that provides a tool for community validation of fragment-based methods, a platform for developing new approximations, and a framework for analyzing many-body interactions. Fragme∩t includes algorithms for automatic fragment generation and structure modification, and for distance- and energy-based screening of the requisite subsystems. Checkpointing, database management, and parallelization are handled internally and results are archived in a portable database. Interfaces to various quantum chemistry engines are easy to write and exist already for Q-Chem, PySCF, xTB, Orca, CP2K, MRCC, Psi4, NWChem, GAMESS, and MOPAC. Applications reported here demonstrate parallel efficiencies around 96% on more than 1000 processors but also showcase that the code can handle large-scale protein fragmentation using only workstation hardware, all with a codebase that is designed to be usable by non-experts. Fragme∩t conforms to modern software engineering best practices and is built upon well established technologies including Python, SQLite, and Ray. The source code is available under the Apache 2.0 license.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

AutoBayes Program Synthesis System System Internals

This lecture combines the theoretical background of schema based program synthesis with the hands-on study of a powerful, open-source program synthesis system (Auto-Bayes). Schema-based program synthesis is a popular approach toward program synthesis. The lecture will provide an introduction into this topic and discuss how this technology can be used to generate customized algorithms. The synthesis of advanced numerical algorithms requires the availability of a powerful symbolic (algebra) system. Its task is to symbolically solve equations, simplify expressions, or to symbolically calculate derivatives (among others) such that the synthesized algorithms become as efficient as possible. We will discuss the use and importance of the symbolic system for synthesis. Any synthesis system is a large and complex piece of code. In this lecture, we will study Autobayes in detail. AutoBayes has been developed at NASA Ames and has been made open source. It takes a compact statistical specification and generates a customized data analysis algorithm (in C/C++) from it. AutoBayes is written in SWI Prolog and many concepts from rewriting, logic, functional, and symbolic programming. We will discuss the system architecture, the schema libary and the extensive support infra-structure. Practical hands-on experiments and exercises will enable the student to get insight into a realistic program synthesis system and provides knowledge to use, modify, and extend Autobayes.

Statistical Algorithms↗

The role of above-code labeling programs in reducing CO 2 e emissions in residential buildings

Residential buildings account for 15 % of total U.S. carbon dioxide (CO 2 ) emissions. Voluntary, above-code labeling programs, such as the ENERGY STAR and Zero Energy Ready Home programs, can play a crucial role in reducing the carbon footprint of the new construction residential building sector by encouraging adoption of more energy-efficient and lower emissions building practices and technologies. It's important for the industry to understand the carbon dioxide equivalent (CO 2 e) and energy cost savings potential of these programs. Here, to estimate the potential CO 2 e emissions savings for homes built to above-code labeling program levels, it is imperative to have reliable and accurate tools for estimating emissions from buildings. The open-source OpenStudio-ERI workflow employs detailed physics-based building energy modeling (BEM) to estimate energy usage and operational CO 2 e emissions. In this study we use the OpenStudio-ERI workflow and regional, time-varying emissions factors from the Cambium database to compare the CO 2 e emissions and energy costs of homes built to performance levels required by these above-code labeling programs relative to homes built to model energy codes. We present the results of our analysis and provide a range of emissions and annual energy cost savings for the above-code labeling programs.

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

ROS Hexapod

As an intern project for NASA Johnson Space Center (JSC), my job was to familiarize myself and operate a Robotics Operating System (ROS). The project outcome converted existing software assets into ROS using nodes, enabling a robotic Hexapod to communicate to be functional and controlled by an existing PlayStation 3 (PS3) controller. Existing control algorithms and current libraries have no ROS capabilities within the Hexapod C++ source code when the internship started, but that has changed throughout my internship. Conversion of C++ codes to ROS enabled existing code to be compatible with ROS, and is now controlled using an existing PS3 controller. Furthermore, my job description was to design ROS messages and script programs that enabled assets to participate in the ROS ecosystem by subscribing and publishing messages. Software programming source code is written in directories using C++. Testing of software assets included compiling code within the Linux environment using a terminal. The terminal ran the code from a directory. Several problems occurred while compiling code and the code would not compile. So modifying code to where C++ can read the source code were made. Once the code was compiled and ran, the code was uploaded to Hexapod and then controlled by a PS3 controller. The project outcome has the Hexapod fully functional and compatible with ROS and operates using the PlayStation 3 controller. In addition, an open source software (IDE) Arduino board will be integrated into the ecosystem with designing circuitry on a breadboard to add additional behavior with push buttons, potentiometers and other simple elements in the electrical circuitry. Other projects with the Arduino will be a GPS module, digital clock that will run off 22 satellites to show accurate real time using a GPS signal and an internal patch antenna to communicate with satellites. In addition, this internship experience has led me to pursue myself to learn coding more efficiently and effectively to write, subscribe and publish my own source code in different programming languages. With some familiarity with software programming, it will enhance my skills in the electrical engineering field. In contrast, my experience here at JSC with the Simulation and Graphics Branch (ER7) has led me to take my coding skill to be more proficient to increase my knowledge in software programming, and also enhancing my skills in ROS. This knowledge will be taken back to my university to implement coding in a school project that will use source coding and ROS to work on the PR2 robot which is controlled by ROS software. My skills learned here will be used to integrate messages to subscribe and publish ROS messages to a PR2 robot. The PR2 robot will be controlled by an existing PS3 controller by changing C++ coding to subscribe and publish messages to ROS. Overall the skills that were obtained here will not be lost, but increased.

Davis, Kirsch↗

HydroChrono: An Open-Source Hydrodynamics Package for Project Chrono

In this paper we present the development and verification of HydroChrono, a hydrodynamics package for the Project Chrono physics engine. This package includes the implementation of hydrodynamics equations, the added mass for multibody systems, the development of I/O functions as well as a Python API, and comparison against standard reference cases and other existing tools. HydroChrono provides a flexible, fully open-source solution for simulating wave energy converters (WECs), floating offshore wind turbines (FOWTs) platforms, and other hydrodynamic systems. Here we show, via comparisons with existing tools for benchmark verification cases, that HydroChrono accurately models hydrodynamic forces - making it a useful tool for the design and optimization of these systems. Additionally, the integration of HydroChrono with Project Chrono offers access to finite element modeling capabilities and high-fidelity modelling - with Chrono's existing coupling to CFD and SPH codes. This provides numerical modelers with a multifidelity simulation framework for designing and validating these systems. The development of HydroChrono provides a new, open-source solution for simulating hydrodynamic systems. Its compatibility with other simulation tools enables a more streamlined and efficient design process, advancing the field and providing new opportunities for innovation in this area.

BEM↗

Open Science Practices at the Community Coordinated Modeling Center

Open Science is defined as “the principle and practice of making research products and processes available to all, while respecting diverse cultures, maintaining security and privacy, and fostering collaborations, reproducibility, and equity” by Federal Agencies. The CCMC has been practicing open science based on FAIR (Findable, Accessible, Interoperable and Reusable) principle by providing access to the state-of -the art space science and space weather models to users around the world through various simulation services such as Runs-on-Request, Instant Runs, Real time runs on iSWA system. The CCMC also provides a wide range of tools and framework to help users easily utilize modeled data. One of the tools is the official NASA open-sourced software called Kamodo. Kamodo allows users to work with complex space weather models and data with little or no coding experience. Additionally, to support transparent model validation efforts, the CCMC is providing an integrated and flexible framework called CAMEL. CAMEL allows users to seamlessly compare model outputs with observational data sets. Currently, we are working on a user-friendly database of the papers and research that used CCMC services, so that the future users will have open access to previously performed research by other users and its details. In this presentation, we will show the open tools and resources provided by the CCMC. Furthermore, we will share our new efforts to support open data and open science results.

Ja Soon Shim↗

Bridging the gap: Deploying AI-based Models in Real-Time Fusion Plasma Control Systems

Achieving reliable real-time control in fusion plasma experiments requires strict timing guarantees across entire control algorithms. In earlier work by Abbate et al. (2023), we demonstrated the feasibility of neural-network-based control algorithms on the DIII-D tokamak using the internally developed open-source Keras2C library for model conversion into C (Conlin et al. (2021)). However, the initial implementations relied on data buffering and branching logic outside the neural network code, causing variability in execution times. Subsequent deployments on DIII-D and KSTAR—including the RTCAKENN algorithm for kinetic profile reconstruction—proved that minimizing branching and buffering throughout the pipeline yields consistent millisecond-level cycle times under real experimental conditions (Shousha et al. (2023)). However, keeping pace with rapidly evolving AI frameworks (e.g. PyTorch) is challenging. Finally, we, therefore, propose a community-driven open-source effort to expand the tool, enabling real-time deployment across diverse systems that require strictly bounded execution times.

AI-based models↗

GriddingMachine, a database and software for Earth system modeling at global and regional scales

Land and Earth system modeling is moving towards more explicit biophysical representations, requiring increasing variety of datasets for initialization and benchmarking. However, researchers often have difficulties in identifying and integrating non-standardized datasets from various sources. We aim towards a standardized database and one-stop distribution method of global datasets. Here, we present the GriddingMachine as (1) a database of global-scale datasets commonly used to parameterize or benchmark the models, from plant traits to vegetation indices and geophysical information and (2) a cross-platform open source software to download and request a subset of datasets with only a few lines of code. The GriddingMachine datasets can be accessed either manually through traditional HTTP, or automatically using modern programming languages including Julia, Matlab, Octave, Python, and R. The GriddingMachine collections can be used for any land and Earth modeling framework and ecological research at the regional and global scales, and the number of datasets will continue to grow to meet the increasing needs of research communities.

58 GEOSCIENCES↗

Building Efficiency Targeting Tool for Energy Retrofits (BETTER) Web Application (BETTER Web App) v1.0

The Building Efficiency Targeting Tool for Energy Retrofits (BETTER) V.1.0 web application identifies cost-saving energy and emissions reductions in buildings and portfolios, without site visits or complex modeling. With minimal data entry, BETTER benchmarks a building's or portfolio's energy use against peers; quantifies energy, cost, and greenhouse gas (GHG) reduction potential; and recommends energy efficiency measures for individual buildings or portfolios, targeting specific energy savings levels. The source code of BETTER's modular, cross-platform analytical engine has previously been disclosed (2019-001) and is available on GitHub and can be adopted, redeveloped, and redistributed freely under an open-source license, allowing users to incorporate BETTER's analytical capabilities into their own software platforms and tools. The BETTER V.1.0 web application, developed with the Django web-framework and the Model-View-Controller (MVC) architecture being disclosed here, provides a graphical user interface (GUI) for any user to view the software tutorials, download and upload a data entry template, configure and run the BETTER analyses, and view the final analytical reports.

Szum, Carolyn↗

Pyomo Optimization Example Problems v.1.0

This code is comprised of example problems to show implementation details of our SCITECH 2021 paper :Open-Source, Object-Oriented, Multi-Phase Pseudospectral Optimization Using Pyomo." Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy's National Nuclear Security Administration under contract DE-NA0003525. SAND2020-13973

Schlossman, Rachel↗

poppler-science

The “Poppler-science” software is a fork of the existing open-source Poppler project (https://poppler.freedesktop.org/) for converting PDF files to text. Modifications to the Poppler source code include (a) per-glyph optical character recognition (for correcting the non-standard font glyph remapping that is common in the scientific literature), (b) inference of text markup for commonly used scientific formatting (like superscripts and subscripts), (c) table and figure recognition, and (d) improved ordering of text output for complex scientific manuscripts (e.g., multi-column text, figure and table captions, etc.).

Gans, Jason [Los Alamos National Laboratory]↗