Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Python software”

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 613 records · Page 34

Hybrid-BPR (Bayesian Personalized Ranking with Feature Embeddings and Explicit Negative Sampling) [SWR-26-039]

Hybrid-BPR is a Python library for Bayesian Personalized Ranking (BPR) with two key capabilities that go beyond standard BPR implementations: 1. User and item feature embeddings - incorporate content-based signals (genres, tags, metadata) alongside collaborative filtering. 2. Implicit negative interactions - use observed non-interactions (e.g. viewed-but-not-clicked) as negative training signal instead of random sampling from the full item space. The software is built for recommender systems research with MLflow experiment tracking, parallel hyperparameter sweeps, and standard ranking metrics.

Sandhu, Rimple [National Laboratory of the Rockies↗

Design and Implementation of a Mechanical Control System for the Scanning Microwave Limb Sounder

The Scanning Microwave Limb Sounder (SMLS) will use technological improvements in low noise mixers to provide precise data on the Earth's atmospheric composition with high spatial resolution. This project focuses on the design and implementation of a real time control system needed for airborne engineering tests of the SMLS. The system must coordinate the actuation of optical components using four motors with encoder readback, while collecting synchronized telemetric data from a GPS receiver and 3-axis gyrometric system. A graphical user interface for testing the control system was also designed using Python. Although the system could have been implemented with a FPGA-based setup, we chose to use a low cost processor development kit manufactured by XMOS. The XMOS architecture allows parallel execution of multiple tasks on separate threads-making it ideal for this application and is easily programmed using XC (a subset of C). The necessary communication interfaces were implemented in software, including Ethernet, with significant cost and time reduction compared to an FPGA-based approach. For these reasons, the XMOS technology is an attractive, cost effective, alternative to FPGA-based technologies for this design and similar rapid prototyping projects.

Mars Science Laboratory Robotics↗

Service-Oriented Architecture for NVO and TeraGrid Computing

The National Virtual Observatory (NVO) Extensible Secure Scalable Service Infrastructure (NESSSI) is a Web service architecture and software framework that enables Web-based astronomical data publishing and processing on grid computers such as the National Science Foundation's TeraGrid. Characteristics of this architecture include the following: (1) Services are created, managed, and upgraded by their developers, who are trusted users of computing platforms on which the services are deployed. (2) Service jobs can be initiated by means of Java or Python client programs run on a command line or with Web portals. (3) Access is granted within a graduated security scheme in which the size of a job that can be initiated depends on the level of authentication of the user.

Jacob, Joseph↗

Accessible, uniform protein property prediction with a scikit-learn based toolset AIDE

Summary Protein property prediction via machine learning with and without labeled data is becoming increasingly powerful, yet methods are disparate and capabilities vary widely over applications. The software presented here, “Artificial Intelligence Driven protein Estimation (AIDE)”, enables instantiating, optimizing, and testing many zero-shot and supervised property prediction methods for variants and variable length homologs in a single, reproducible notebook or script by defining a modular, standardized application programming interface (API), i.e. drop-in compatible with scikit-learn transformers and pipelines. Availability and implementation AIDE is an installable, importable python package inheriting from scikit-learn classes and API and is installable on Windows, Mac, and Linux. Many of the wrapped models internal to AIDE will be effectively inaccessible without a GPU, and some assume CUDA. The newest stable, tested version can be found at https://github.com/beckham-lab/aide_predict and a full user guide and API reference can be found at https://beckham-lab.github.io/aide_predict/. Static versions of both at the time of writing can be found on Zenodo.

36 MATERIALS SCIENCE↗

Mesh Computing Remote Automatic Workflow

The software suite uses a microservice architecture using Docker and `docker-compose`. The microservices are as follows: 1. User interface. This interface is written in JavaScript using the Svelte framework. It exposes form elements and a 3D visualizer to prompt the user through the definition of microstructure parameters, and setting parameters for mesh generation and refinement. 2. Mesh generator. This is a container running the Python package for DREAM3D to generate a voxelized mesh that represents a microstructure defined by the user in the interface. 3. Cubit runner. This is a secure shell protocol tool that makes the submitting the DREAM mesh to an HPC instance and starts to run Cubit shell commands to smooth the grain boundaries with its `sculpt` library, applies user-defined boundary node sets, and bundles and returns the simulation-ready meshes and input files as a zipped directory.

Harris, BrennanKay↗

MCOR User Guide

User guide for the MCOR software package which is currently publicly hosted on Github (https://github.com/pnnl/MCOR). The Microgrid Component Optimization for Resilience (MCOR) tool simulates the operation of a renewable energy, battery, and back-up generator microgrid under a large range of outage conditions to understand how a potential system can meet the resilience goals of a particular site. It is an open-source, command line, Python-based tool that produces an output Excel spreadsheet as well as several types of plots to enable a user to compare different microgrid system sizes and costs. It is intended for high-level system planning and opportunity identification, and not for detailed electric system modeling and design. The tool includes a range of input parameters that can be adjusted or tuned to provide a more custom analysis as needed.

24 POWER TRANSMISSION AND DISTRIBUTION↗

Performance Debugging and Tuning of Flash-X with Data Analysis Tools

State-of-the-art multiphysics simulations running on large scale leadership computing platforms have many variables contributing to their performance and scaling behavior. We recently encountered an interesting performance anomaly in Flash-X, a multiphysics multicomponent simulation software, when characterizing its performance behavior on several large-scale HPC platforms. The anomaly was tracked down to the interaction between the use of dynamic allocation of scratch data and data locality in the cache hierarchy. In this paper we present the details of unexpected performance variability of Flash-X, its extensive analysis using the performance measurement tool TAU to collect the data and Python data analysis libraries to explore the data, and our insights from this experience. In this process, we discovered and removed or mitigated two additional performance limiting bottlenecks for performance tuning.

Huck, Kevin↗

BLAST aka: BLAST-Py see also BLAST-Lite (Battery Lifetime Analysis and Simulation Tool Suite - Python) [SWR-22-69]

Battery Lifetime Analysis and Simulation Tool Suite (BLAST or BLAST-Py) developed in the Python programming language. BLAST-Py predicts the evolution of lithium-ion battery performance metrics over their lifetime, using models trained on lab-based accelerated aging data to predict battery performance in dynamic, real-world use. BLAST-Py contains existing models for a variety of lithium-ion battery chemistries (NMC/Gr and LFP/Gr). See also the open-source version of this software tool known as "BLAST-Lite" at: https://github.com/NREL/BLAST-Lite

Smith, Kandler↗

AMReX and pyAMReX: Looking beyond the exascale computing project

AMReX is a software framework for the development of block-structured mesh applications with adaptive mesh refinement (AMR). AMReX was initially developed and supported by the AMReX Co-Design Center as part of the U.S. DOE Exascale Computing Project (ECP), and is continuing to grow post-ECP. In addition to adding new functionality and performance improvements to the core AMReX framework, we have also developed a Python binding, pyAMReX, that provides a bridge between AMReX-based application codes and the data science ecosystem. pyAMReX provides zero-copy application GPU data access for AI/ML, in situ analysis and application coupling, and enables rapid, massively parallel prototyping. In this paper we review the overall functionality of AMReX and pyAMReX, focusing on new developments, new functionality, and optimizations of key operations. We also summarize capabilities of ECP projects that used AMReX and provide an overview of new, non-ECP applications.

Myers, Andrew↗

ISSM: Ice Sheet System Model

In order to have the capability to use satellite data from its own missions to inform future sea-level rise projections, JPL needed a full-fledged ice-sheet/iceshelf flow model, capable of modeling the mass balance of Antarctica and Greenland into the near future. ISSM was developed with such a goal in mind, as a massively parallelized, multi-purpose finite-element framework dedicated to ice-sheet modeling. ISSM features unstructured meshes (Tria in 2D, and Penta in 3D) along with corresponding finite elements for both types of meshes. Each finite element can carry out diagnostic, prognostic, transient, thermal 3D, surface, and bed slope simulations. Anisotropic meshing enables adaptation of meshes to a certain metric, and the 2D Shelfy-Stream, 3D Blatter/Pattyn, and 3D Full-Stokes formulations capture the bulk of the ice-flow physics. These elements can be coupled together, based on the Arlequin method, so that on a large scale model such as Antarctica, each type of finite element is used in the most efficient manner. For each finite element referenced above, ISSM implements an adjoint. This adjoint can be used to carry out model inversions of unknown model parameters, typically ice rheology and basal drag at the ice/bedrock interface, using a metric such as the observed InSAR surface velocity. This data assimilation capability is crucial to allow spinning up of ice flow models using available satellite data. ISSM relies on the PETSc library for its vectors, matrices, and solvers. This allows ISSM to run efficiently on any parallel platform, whether shared or distrib- ISSM: Ice Sheet System Model NASA's Jet Propulsion Laboratory, Pasadena, California uted. It can run on the largest clusters, and is fully scalable. This allows ISSM to tackle models the size of continents. ISSM is embedded into MATLAB and Python, both open scientific platforms. This improves its outreach within the science community. It is entirely written in C/C++, which gives it flexibility in its design, and the power/speed that C/C++ allows. ISSM is svn (subversion) hosted, on a JPL repository, to facilitate its development and maintenance. ISSM can also model propagation of rifts using contact mechanics and mesh splitting, and can interface to the Dakota software. To carry out sensitivity analysis, mesh partitioning algorithms are available, based on the Scotch, Chaco, and Metis partitioners that ensure equal area mesh partitions can be done, which are then usable for sampling and local reliability methods.

Larour, Eric↗

Editorial: Neuroscience, computing, performance, and benchmarks: Why it matters to neuroscience how fast we can compute

At the turn of the millennium the computational neuroscience community realized that neuroscience was in a software crisis: software development was no longer progressing as expected and reproducibility declined. The International Neuroinformatics Coordinating Facility (INCF) was inaugurated in 2007 as an initiative to improve this situation. The INCF has since pursued its mission to help the development of standards and best practices. In a community paper published this very same year, Brette et al. tried to assess the state of the field and to establish a scientific approach to simulation technology, addressing foundational topics, such as which simulation schemes are best suited for the types of models we see in neuroscience. In 2015, a Frontiers Research Topic “Python in neuroscience” by Muller et al. triggered and documented a revolution in the neuroscience community, namely in the usage of the scripting language Python as a common language for interfacing with simulation codes and connecting between applications. The review by Einevoll et al. documented that simulation tools have since further matured and become reliable research instruments used by many scientific groups for their respective questions. Open source and community standard simulators today allow research groups to focus on their scientific questions and leave the details of the computational work to the community of simulator developers. A parallel development has occurred, which has been barely visible in neuroscientific circles beyond the community of simulator developers: Supercomputers used for large and complex scientific calculations have increased their performance from ~10 TeraFLOPS (10 13 floating point operations per second) in the early 2000s to above 1 ExaFLOPS (10 18 floating point operations per second) in the year 2022. This represents a 100,000-fold increase in our computational capabilities, or almost 17 doublings of computational capability in 22 years. Moore's law (the observation that it is economically viable to double the number of transistors in an integrated circuit every other 18–24 months) explains a part of this; our ability and willingness to build and operate physically larger computers, explains another part. It should be clear, however, that such a technological advancement requires software adaptations and under the hood, simulators had to reinvent themselves and change substantially to embrace this technological opportunity. It actually is quite remarkable that—apart from the change in semantics for the parallelization—this has mostly happened without the users knowing. The current Research Topic was motivated by the wish to assemble an update on the state of neuroscientific software (mostly simulators) in 2022, to assess whether we can see more clearly which scientific questions can (or cannot) be asked due to our increased capability of simulation, and also to anticipate whether and for how long we can expect this increase of computational capabilities to continue.

biophysically detailed models↗

Software Tool for Tracking & Mapping the NASA Orion AA-2 Test Flight Ejectable Data Recorders in Real Time

On 2 July 2019, the NASA Ascent Abort 2 flight took place off the Florida coast to test the emergency systems to separate the Orion Crew Module (CM) from the future Space Launch System rocket in the event of a malfunction. During this high-altitude test, instrumentation data was recorded on twelve customized buoyant Ejectable Data Recorders (EDRs) and subsequently jettisoned from the CM in mid-air. Upon release, the EDRs activated their GPS-Iridium beacon systems and began transmitting Short Burst Data (SBD) messages via the Iridium satellite network to relay their individual location and system health information. To locate, track and retrieve each EDR from the ocean surface in real-time, multiple open-source programming tools (Python and Linux shells) were developed for parsing the incoming Iridium binary SBD messages. For this, a Linux laptop was used to receive the Iridium-generated emails containing the SBD messages and autonomously execute the parsing tools. The received SBD data contained location, timestamp and health status information that was translated, saved, and subsequently used for simultaneously generating a continuously updated color-coded tabular display summary and unique KML files used with Google Earth to track their locations. Once their locations were known, dedicated recovery vessels retrieved all EDRs from the ocean. An additional tool was also developed in order to generate 5- and 10-minute geolocation predictions for each EDR by deriving the displacement distance, elapsed time, displacement heading and velocity based on the latest known information available. The recovery vessels were also tracked with the use of a separate commercial GPS beacon system. After jettison, 67% of the EDRs transmitted valid data by the time they were retrieved from the ocean. However, the real-time information presented by the plotting tool allowed for the ready depiction of EDR dispersal patterns and reference drift trajectories, which contributed to the recovery of all twelve EDRs and the AA-2 flight data. Lastly, the available data showed that the distance between the software’s reported drift/predicted locations and the recovery locations did not exceed 38 meters, therefore demonstrating the advantages of this software tool for supporting real-time tracking and recovery efforts of beacon devices.

Moxey, Lucas↗

Real-Time Drilling Optimization System for Improved Overall Rate of Penetration and Reduced Cost Per Foot in Geothermal Drilling

The key to success in geothermal drilling is economic feasibility, and a major cost in the development of geothermal resources is the actual drilling of the wells. In this project, a real-time drilling optimization system for geothermal drilling was developed. The system couples three individual components while drilling. The first component is a drill stem vibration analysis model, the second is Mechanical Specific Energy (MSE) analyses, and the third is a detailed PDC Rate of Penetration (ROP) drill bit model for optimum RPM and WOB combinations. The benefit of the coupled system is that the range of WOB and RPM could be selected to avoid drill stem vibrations. Secondly, MSE is used as an efficiency measure and the detailed PDC drill bit model ensures the drill bit does not endure temperatures that exceed the temperature at which the PDC cutters experience accelerated wear. The new detailed PDC bit model is based on rock/bit interaction that physically tracks the PDC cutter wear flats as the bit drills ahead giving the capability to calculate the temperature being generated underneath the worn cutters to better advise on operational parameters to avoid accelerated cutter wear and failure and to ensure that operational parameters are applied so that overall ROP is maximized. By combining the drill stem vibrations and the detailed PDC bit cutter wear and “safe” non-accelerated cutter wear temperature and optimum ranges of operating parameters, it results in higher ROP and lower cost drilling. Single cutter PDC testing performed in different lithologies at Sandia was utilized to verify the PDC cutter forces and depth of cut for new and worn cutters. Based on single cutter PDC temperature modeling, verification using single cutter data from the testing done by National Oilwell Varco (NOV) was performed. Sandia’s Hard-Rock Drilling Facility (HRDF) was utilized to test different drill bit configurations with different cutter designs and wear status with different induced modes of vibration to obtain the critical bit RPM/WOB ranges resulting in ineffective drilling and low ROP. The collected test data were further used to verify and calibrate the full hole PDC ROP model that was developed based on single cutter interaction data. A full coupled drill stem vibration model was formulated and verified with geothermal field data from the Chocolate Mountain Aerial Gunnery Range (CMAGR). A graphical user interface (GUI) was developed using Tkinter library in the computer programming language Python, which integrates all the developed models in one system. The developed system consists mainly of the PDC ROP model, PDC bit wear model, PDC cutter temperature model, Mechanical Specific Energy (MSE) model, and drillstring vibration model integrated into one system. The developed system can be used for both, post well analysis and real-time optimization using different criteria such as ROP maximization or MSE minimization. The software uses Differential Evolution Algorithm (DEA) to find optimum values for operational parameters based on last foot drilled while avoiding the drillstring vibration and cutter temperature critical operating parameters.

15 GEOTHERMAL ENERGY↗

Exploring MDSplus data-acquisition software and custom devices

MDSplus is a software tool designed for data acquisition, storage, and analysis of complex scientific experiments. Over the years, MDSplus has primarily been used for data management for fusion experiments. This paper demonstrates that MDSplus can be used for a much wider variety of systems and experiments. We present a step-by-step tutorial describing how to create a simple experiment, manage the data, and analyze it using MDSplus and Python. To this end, a custom example device was developed to be used as the data source. This device was built on an opensource electronic hardware platform, and it consists of a microcontroller and two sensors. We read data from these sensors, store it in MDSplus, and use JupyterLab to visualize and process it. This project and code demo are available on the GitHub site at this URL: https://github.com/santorofer/MDSplusAndCustomeDevices

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

INTEGRATE - Inverse Network Transformations for Efficient Generation of Robust Airfoil and Turbine Enhancements

The INTEGRATE (Inverse Network Transformations for Efficient Generation of Robust Airfoil and Turbine Enhancements) project is developing a new inverse-design capability for the aerodynamic design of wind turbine rotors using invertible neural networks. This AI-based design technology can capture complex non-linear aerodynamic effects while being 100 times faster than design approaches based on computational fluid dynamics. This project enables innovation in wind turbine design by accelerating time to market through higher-accuracy early design iterations to reduce the levelized cost of energy. INVERTIBLE NEURAL NETWORKS Researchers are leveraging a specialized invertible neural network (INN) architecture along with the novel dimension-reduction methods and airfoil/blade shape representations developed by collaborators at the National Institute of Standards and Technology (NIST) learns complex relationships between airfoil or blade shapes and their associated aerodynamic and structural properties. This INN architecture will accelerate designs by providing a cost-effective alternative to current industrial aerodynamic design processes, including: - Blade element momentum (BEM) theory models: limited effectiveness for design of offshore rotors with large, flexible blades where nonlinear aerodynamic effects dominate - Direct design using computational fluid dynamics (CFD): cost-prohibitive - Inverse-design models based on deep neural networks (DNNs): attractive alternative to CFD for 2D design problems, but quickly overwhelmed by the increased number of design variables in 3D problems AUTOMATED COMPUTATIONAL FLUID DYNAMICS FOR TRAINING DATA GENERATION - MERCURY FRAMEWORK The INN is trained on data obtained using the University of Marylands (UMD) Mercury Framework, which has with robust automated mesh generation capabilities and advanced turbulence and transition models validated for wind energy applications. Mercury is a multi-mesh paradigm, heterogeneous CPU-GPU framework. The framework incorporates three flow solvers at UMD, 1) OverTURNS, a structured solver on CPUs, 2) HAMSTR, a line based unstructured solver on CPUs, and 3) GARFIELD, a structured solver on GPUs. The framework is based on Python, that is often used to wrap C or Fortran codes for interoperability with other solvers. Communication between multiple solvers is accomplished with a Topology Independent Overset Grid Assembler (TIOGA). NOVEL AIRFOIL SHAPE REPRESENTATIONS USING GRASSMAN SPACES We developed a novel representation of shapes which decouples affine-style deformations from a rich set of data-driven deformations over a submanifold of the Grassmannian. The Grassmannian representation as an analytic generative model, informed by a database of physically relevant airfoils, offers (i) a rich set of novel 2D airfoil deformations not previously captured in the data , (ii) improved low-dimensional parameter domain for inferential statistics informing design/manufacturing, and (iii) consistent 3D blade representation and perturbation over a sequence of nominal shapes. TECHNOLOGY TRANSFER DEMONSTRATION - COUPLING WITH NREL WISDEM Researchers have integrated the inverse-design tool for 2D airfoils (INN-Airfoil) into WISDEM (Wind Plant Integrated Systems Design and Engineering Model), a multidisciplinary design and optimization framework for assessing the cost of energy, as part of tech-transfer demonstration. The integration of INN-Airfoil into WISDEM allows for the design of airfoils along with the blades that meet the dynamic design constraints on cost of energy, annual energy production, and the capital costs. Through preliminary studies, researchers have shown that the coupled INN-Airfoil + WISDEM approach reduces the cost of energy by around 1% compared to the conventional design approach. This page will serve as a place to easily access all the publications from this work and the repositories for the software developed and released through this pr...

aerodynamics↗

System and Method for Providing a Climate Data Analytic Services Application Programming Interface

A system, method and computer-readable storage devices for providing a climate data analytic services application programming interface. The system includes a programming library that enables client device software to invoke the capabilities of a climate data analytics system through requests to various services supported by the climate data analytics system, and also includes a client-side communications interface that enables the programming library's methods to interact with a climate data analytics system's server interface to obtain access to the capabilities of the system. In one implementation, the programming library is implemented in the Python programming language. The programming library can include basic utilities that call a single, server-side method implemented by one of the various services supported by the climate data analytics system, and extended utilities that call a series of basic utilities and/or other extended utilities that have been placed under programmatic control in order to create client-side convenience methods and workflows.

Schnase, John L.↗

Bridging Python to Silicon: The SODA Toolchain

Systems performing scientific computing, data analysis, and machine learning tasks have a growing demand for application-specific accelerators that can provide high computational performance while meeting strict size and power requirements. However, the algorithms and applications that need to be accelerated are evolving at a rate that is incompatible with manual design processes based on hardware description languages. Agile hardware design tools based on compiler techniques can help by quickly producing an application-specific integrated circuit (ASIC) accelerator starting from a high-level algorithmic description. Here, we present the software-defined accelerator (SODA) synthesizer, a modular and open-source hardware compiler that provides automated end-to-end synthesis from high-level software frameworks to ASIC implementation, relying on multilevel representations to progressively lower and optimize the input code. Our approach does not require the application developer to write any register-transfer level code, and it is able to reach up to 364 giga floating point operations per second (GFLOPS)/W efficiency (32-bit precision) on typical convolutional neural network operators.

97 MATHEMATICS AND COMPUTING↗

Memory forensic analysis of a programmable logic controller in industrial control systems

In industrial control systems (ICS), programmable logic controllers (PLCs) are used to automate physical processes such as nuclear plants and power grid stations, and are often subject to cyber attacks. As in conventional IT domain, the memory analysis of the PLCs can help answer important forensic questions about the attack, such as the presence of malicious firmware, injection of modified control logic (the program running on the PLC), and manipulation of I/O devices (e.g., sensors and actuators). Unlike conventional IT domain, PLCs have heterogeneous hardware architecture, proprietary firmware and control software, making it challenging to employ a unified framework for their memory forensics. For merely extracting artifacts of forensic importance, reverse-engineering the firmware is a tedious task, and the effort needs to be repeated for every PLC model. As a community, a step-wise approach to tackle this challenge is to analyze the memory of specific PLCs, and subsequently find a generic framework applicable to all PLCs. Our work is a step forward in this direction. By following a methodology that focuses on the functional layer of PLCs instead of reverse engineering the firmware, we analyze the digital forensic artifacts available in a common PLC, Allen-Bradley ControlLogix 1756-L61. Before diving into the memory dump, we analyze the PLC control software to create a list of important artifacts that are sure to exist in the PLC memory dump. The approach employs a setup where PLC control software RSLogix-5000 is connected to the PLC, and the memory dump can be obtained as and when needed. We create test cases that sequentially highlight each category of artifacts, followed by an examination of the resultant impact on memory. After attaining the listed artifacts, we employ conventional string and known data searches to extract interesting information present in this PLC's memory. The memory analysis profile, presented as a Python library and shared with the community, can help a forensic investigator to readily extract forensic artifacts from the same model's controller. The adopted approach may help researchers in creating memory profile of other PLCs, and ultimately formulating a generic PLC memory analysis framework.

Rais, Muhammad Haris↗