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 307 records · Page 17

An Automated Detection Methodology for Dry Well-Mixed Layers

The intense surface heating over arid land surfaces produces dry well-mixed layers (WML) via dry convection. These layers are characterized by nearly constant potential temperature and low, nearly constant water vapor mixing ratio. To further the study of dry WMLs, we created a detection methodology and supporting software to automate the identification and characterization of dry WMLs from multiple data sources including rawinsondes, remote sensing platforms, and model products. The software is a modular code written in Python, an open source language. Radiosondes from a network of synoptic stations in North Africa were used to develop and test the WML detection process. The detection involves an iterative decision tree that ingests a vertical profile from an input data file, performs a quality check for sufficient data density, and then searches upward through the column for successive points where the simultaneous changes in water vapor mixing ratio and potential temperature are less than the specified maxima. If points in the vertical profile meet the dry WML identification criteria, statistics are generated detailing the characteristics of each layer in the profile. At the end of the vertical profile analysis, there is an option to plot analyzed profiles in a variety of file formats. Initial results show that the detection methodology can be successfully applied across a wide variety of input data and North African environments and for all seasons. It is sensitive enough to identify dry WMLs from other types of isentropic phenomena such as subsidence layers and distinguish the current day’s dry WML from previous days.

Stephen D. Nicholls↗

Wcomp (Wind Farm Wake Comparison Framework) [SWR-23-72]

The Wind Farm Wake Comparison Framework (Wcomp) is a software tool to facilitate the comparison of a specific collection of wind farm wake modeling tools: Python-based, steady-state, analytical wake modeling utilities. Wcomp integrates another software project, windIO, to create a consistent method for describing a wind farm flow control problem. Additionally, a data structure is included to represent the outputs a wind farm flow control simulation. Well-described interfaces allow existing wake modeling tools to plug into this framework.

Mudafort, Rafael↗

PBjam: A Python Package for Automating Asteroseismology of Solar-like Oscillators

Asteroseismology is an exceptional tool for studying stars using the properties of observed modes of oscillation. So far the process of performing an asteroseismic analysis of a star has remained somewhat esoteric and inaccessible to nonexperts. In this software paper we describe PBjam, an open-source Python package for analyzing the frequency spectra of solar-like oscillators in a simple but principled and automated way. The aim of PBjam is to provide a set of easy-to-use tools to extract information about the radial and quadropole oscillations in stars that oscillate like the Sun, which may then be used to infer bulk properties such as stellar mass, radius, age, or even structure. Asteroseismology and its data analysis methods are becoming increasingly important as space-based photometric observatories are producing a wealth of new data, allowing asteroseismology to be applied in a wide range of contexts such as exoplanet, stellar structure and evolution, and Galactic population studies.

79 ASTRONOMY AND ASTROPHYSICS↗

Field and Model Data Associated with the Manuscript “Drivers of Streamflow Intermittency in Humid Regions: 1. Evaluating Above- and Below-ground Controls of Flow Persistence in a Forested Catchment”

This package contains field data, modeling files, and scripts supporting the investigation of the drivers of streamflow intermittency in a forested catchment. It includes the field data collected from electrical resistivity tomography (ERT) surveys, ground penetrating radar (GPR), continuous self-potential (SP) monitoring, electromagnetic (EM) imaging, groundwater and stilling well. In addition, it contains the data and results of the coupled water- and electrical-flow model developed using the COMSOL Multiphysics and Advanced Terrestrial Simulator (ATS), as well as software files and Jupyter notebooks used to process the data and generate figures in the manuscript submitted for peer review. The data archive is organized in the following directories: 1) Climate Includes hourly precipitation and daily evapotranspiration time series (2024 – 2025) provided as CSV files, alongside a text file detailing dataset units. 2) Coupled_model Contains two subfolders: Synthetic and Field_Application subfolder. Synthetic subfolder contains the ATS XML input script (can be opened using any code editor) for the four synthetic hydrological cases tested (Connected and gaining, Connected and losing, Disconnected and losing, and dry stream). It also includes other experimental cases to test the influence of precipitation and concentration gradient. For each synthetic case, the flow model simulation is executed using the ATS XML scripts and the included Python script (generate_data_set.py) to convert ATS output to COMSOL-ready input. COMSOL Multiphysics template (.mph can be opened with the commercial software COMSOL and requires a license) is executed using the ATS output data to simulate the potential field. It also includes the Synthetic_model_plot.ipynb (can be opened using any code editor) to visualize the SP result and generate manuscript figures. The data subfolder contains mesh files to run both the ATS (.exo and .stl files can be viewed using Paraview; .h5 files can be opened using HDFView software and h5py Python package) and COMSOL models. Field_Application subfolder contains two subfolders: ES_MDA_inversion and Final_Model. ES_MDA_inversion contains the Python script (.py can be opened using any code editor) and SP observation data used to run the Ensemble Smoother with Multiple Data Assimilation (ES-MDA) inversion sequence to get the optimal model parameters. The Final_model subfolder contains the ATS XML input scripts, data files, output data for the two SP sites. The same workflow steps outlined for the Synthetic subfolder apply here. It also contains the Jupyter notebook (Plot_final_calib.ipynb) to visualize the results of the modeled SP, stream-groundwater exchange and moisture content. 3) Discharge Includes the electrical conductivity (EC) time series (provided as CSV files) from salt slug injections. It also includes the Jupyter notebook (Discharge_process.ipynyb) used to estimate discharge. All discharge measurements collated into rating_curve_processed.csv 4) EM Contains the CSV file of the EM data from the DUALEM-42, including spatial coordinates (x, y, z), apparent conductivity, and in-phase measurements at 2 m coil separations for horizontal coplanar (HCP) and perpendicular (PRP) geometries. 5) ERT Contains raw resistivity data (provided as CSV files), spatial location of each of the electrodes (provided as CSV files), and files used for the resistivity inversion (.resipy can be opened with the open-source ResIPy software). 6) GPR Includes GPR field datasets collected at 100 MHz and 250 MHz antenna frequencies, along with the processing/interpretation project file (GPR_process.gpz can be viewed using EKKO_Project 6, a commercial software by Sensors & Software that requires a license). 7) Slug_test Includes the slug test data at all the groundwater wells provided as CSV files, as well as the Jupyter notebook (Slug_test.ipynb) for calculating hydraulic conductivity. 8) SP Contains the SP data collected in field at the two SP sites (one in the perennial reach and the other in the intermittent reach), provided as DAT files. 9) Well_data Contains two subfolders: 1) Raw, which provides unprocessed pressure, electrical conductivity and temperature timeseries downloaded from the loggers in all the groundwater and stilling wells, and 2) Processed, which contains sorted, QA/QC timeseries data for each well. The data archive also contains data_process.ipynb, a Jupyter notebook used for field data analysis and generating figures (plotting well, SP, climate, and discharge data, as well as calculating head gradient at sites with nested groundwater wells). It also includes DTW.ipynb, a Jupyter notebook containing the code for the dynamic time warping (DTW) with sliding window to evaluate SP signal synchronicity.

ATS↗

A Flexible Method for Producing F.E.M. Analysis of Bone Using Open-Source Software

This project, performed in support of the NASA GRC Space Academy summer program, sought to develop an open-source workflow methodology that segmented medical image data, created a 3D model from the segmented data, and prepared the model for finite-element analysis. In an initial step, a technological survey evaluated the performance of various existing open-source software that claim to perform these tasks. However, the survey concluded that no single software exhibited the wide array of functionality required for the potential NASA application in the area of bone, muscle and bio fluidic studies. As a result, development of a series of Python scripts provided the bridging mechanism to address the shortcomings of the available open source tools. The implementation of the VTK library provided the most quick and effective means of segmenting regions of interest from the medical images; it allowed for the export of a 3D model by using the marching cubes algorithm to build a surface mesh. To facilitate the development of the model domain from this extracted information required a surface mesh to be processed in the open-source software packages Blender and Gmsh. The Preview program of the FEBio suite proved to be sufficient for volume filling the model with an unstructured mesh and preparing boundaries specifications for finite element analysis. To fully allow FEM modeling, an in house developed Python script allowed assignment of material properties on an element by element basis by performing a weighted interpolation of voxel intensity of the parent medical image correlated to published information of image intensity to material properties, such as ash density. A graphical user interface combined the Python scripts and other software into a user friendly interface. The work using Python scripts provides a potential alternative to expensive commercial software and inadequate, limited open-source freeware programs for the creation of 3D computational models. More work will be needed to validate this approach in creating finite-element models.

gravitational physiology↗

HALOS (Heliostat Aimpoint and Layout Optimization Software) [SWR-21-41]

Heliostat Aimpoint and Layout Optimization Software (HALOS) is an open-source software package that allows users to explore solar field layout optimization, aimpoint strategy optimization, and performance characterization of concentrating solar power tower plants. Users interface with the tool through python, and results are reported in time series tables, plots, runtime logs, and flat-file outputs. Users choose from a list of variables such as tower height, receiver capacity, flux limits, design-point irradiance, etc., and specify information about the system using a small collection of flat files. The software can then optimize the specified variables (e.g., aimpoints for each heliostat) to maximize the thermal energy delivered to the receiver while adhering to flux limits. HALOS is implemented to be flexible with respect to flux characterization methods, but includes a direct connection to NREL's SolarPILOT™ software via its python API so that users can utilize high-fidelity flux simulation methods that have already been developed.

Zolan, Alexander↗

coloring v.1.0

SAND2024-02435O The software coloring allows applications written in the C++ language to generate publication-quality 2D plots. Its functionality is similar to Microsoft Excel's chart functionality or the Python language's matplotlib package. The value of coloring is that it is written purely in C++ and thus can be compiled on systems where Python is not available and linked into high performance computing software. For drawing shapes onto an image, coloring uses the mathematical definition of quadratic Bezier splines and uses Newton's method to search for the closest point on a spline to a given query point. This is then used to do accurate sub-pixel sampling to get clean, non-pixelated images. For working with the actual plot data, coloring has basic statistical methods such as finding maxima and minima as well as axis scaling such as logarithms. 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.

Ibanez, Daniel↗

High Performance Computing Innovation Center Open Source Developer Tools

The High Performance Computing Innovation Center (HPCIC) aims to ease the transition for developers to use open source software provided by the lab. HPCIC Developer Tools is a collection of software, containers, cloud configurations, and associated documentation that make it easy to deploy tutorials or small apps to demonstrate lab-developed software. For example, building a tutorial container that includes lab software and interactive interfaces; a command line or web-based tool that accepts user preferences for the tutorial; supporting tools and software development kits (SDKs) for developer interactions or productivity in different languages embraced by the larger developer community such as Go, Rust, and Python; and automation in version control to support continued update of software and associated resources. These tools are best developed in an open source environment such as GitHub, not only to champion the lab's open source software, but for purposes of branding and demonstrating the lab's leadership in open source. Such an effort that brings in more developers to use and contribute to lab software can further improve the quality of the software, and developer experience at the lab.

Beckingsale, DavidA↗

ExactPack: A python library of exact analytic solutions

Verification of multi-physics simulation software against problems with known analytic or semi-analytic solutions is an important aspect of research into a wide variety of fields involving the motion of fluids, shock physics and other dynamic material properties. Previous work comparing simulation results against analytic solutions has been ad-hoc, with developers frequently writing their own analytic solvers. This has resulted in a large amount of duplicated effort. The python library ExactPack has been developed as a collection of analytic and semi-analytic solvers to a variety of multi-physics problems, providing a consistent API to a set of well-tested solver implementations.

97 MATHEMATICS AND COMPUTING↗

Dynamic IT Security Database and Analytics for Launch Control Systems Software

During the Summer 2020 session, I worked with intern Destani S. Van Arsdalen of EGS Software. Together, we co-created a tool to aid the dynamic investigation, updated over time,of the security compliance of LCS COTS and open source software. We originally planned touse spreadsheet software for management and analysis, but through this exploratoryproject, chose to use Python and JSON after receiving feedback on our project’s current anddesired capabilities at that time.At first, the project was solely designed to help on-board new COTS software, based on aquestionnaire that could be filled out for each software package. This, combined with usingthe spreadsheet application’s web-query capabilities to fetch information from the NVD,allowed presentation and analytics cells to automatically populate as elements of themanually-filled questionnaire changed. While this system was promising, we decided tochange technologies for a few reasons. In the spreadsheet, single cells could not hold complexdata like arrays and objects. The automatic population of cells and dynamic updates made itdifficult to manage and add new features. And finally, it had limited extensibility sinceadding new software required significant understanding of how both the spreadsheet wasconstructed, and the more obscure, proprietary scripting languages packaged with it.The pivot to a standard computer science database language of JSON, aided by thescripting capabilities of Python, greatly helped to improve the project’s functionality. First,and most importantly, the script’s import and analysis of database data is easilyreproducible. Additional data analysis can be modularly added without requiringmodification of the script and is capable of routine scheduling. The revised process can besplit into three parts. First, the conversion of LCS asset and software documentation into theJSON hierarchical database format. Second, the merging of this database with the NVD,forming a new data structure, using CPEs of the CVE object as a linking element betweenthem. And third, the automatically performed analytics and analysis of the combined data,in a modular and extensible format, to produce better informed business decisions. The outputted graphs, for example, are automatically generated by the Python script inconnection with the combined database. This allows updated graphs and any analytics to be re-rendered automatically following updates to the LCS’s initial asset documentation. Afinal report can then be programmatically and easily constructed from these sources to allow fully reproducible metrics for heavily evidenced risk management decisions.

it↗

pvlib iotools—Open-source Python functions for seamless access to solar irradiance data

Access to accurate solar resource data is critical for numerous applications, including estimating the yield of solar energy systems, developing radiation models, and validating irradiance datasets. However, lack of standardization in data formats and access interfaces across providers constitutes a major barrier to entry for new users. pvlib python’s iotools subpackage aims to solve this issue by providing standardized Python functions for reading local files and retrieving data from external providers. All functions follow a uniform pattern and return convenient data outputs, allowing users to seamlessly switch between data providers and explore alternative datasets. The pvlib package is community-developed on GitHub: https://github.com/pvlib/pvlib-python. As of pvlib python version 0.9.5, the iotools subpackage supports 12 different datasets, including ground measurement, reanalysis, and satellite-derived irradiance data. The supported ground measurement networks include the Baseline Surface Radiation Network (BSRN), NREL MIDC, SRML, SOLRAD, SURFRAD, and the US Climate Reference Network (CRN). Additionally, satellite-derived and reanalysis irradiance data from the following sources are supported: PVGIS (SARAH & ERA5), NSRDB PSM3, and CAMS Radiation Service (including McClear clear-sky irradiance).

14 SOLAR ENERGY↗

Development and Commercialization of an IDAES-Based Power Plant Performance Monitoring and Optimization System

DOE and NETL have created an advanced, open-source computational platform through the Institute for the Design of Advanced Energy Systems (IDAES). The IDAES platform is a very extensive modeling environment that can be used for a broad range of power plant and process applications. MapEx Software is developing and commercializing a software application that makes it easier to set-up and run IDAES-based analyses. The MapEx-developed software application will replace the need for custom Python language coding with a user-friendly graphical user interface where the user can construct a flowsheet diagram of the IDAES model by inserting icons representing the plant equipment onto the screen. This application will make the implementation of modeling and optimization of existing fossil-fired power plants more straight-forward and less time-consuming. The effort focuses on performance monitoring and optimization of plant operations for the existing coal-fired power plant fleet but is built on a structure that allows expansion into the broad range of applications where IDAES methods may be applied.

20 FOSSIL-FUELED POWER PLANTS↗

Demonstrating SolarPILOT’s Python API Through Heliostat Optimal Aimpoint Strategy Use Case

SolarPILOT is a software package that generates solar field layouts and characterizes the optical performance of concentrating solar power (CSP) tower systems. SolarPILOT was developed by the National Renewable Energy Laboratory (NREL) as a stand-alone desktop application but has also been incorporated into NREL’s1 System Advisor Model (SAM) in a simplified format. Prior means for user interaction with SolarPILOT have included the application’s graphical interface, the SAM routines with limited configurability, and through a built-in scripting language called “LK.” This paper presents a new, full-featured, Python-based application programmable interface (API) for SolarPILOT, which we hereafter refer to as CoPylot. CoPylot provides access to all SolarPILOT’s capabilities to generate and characterize power tower CSP systems seamlessly through Python. Supported capabilities include (i) creating and destroying a model instance with message reporting tools; (ii) accessing and setting any SolarPILOT variable including custom land boundaries for field layouts; (iii) programmatically managing receiver and heliostat objects with varied attributes for systems with multiple receiver or heliostat types; (iv) generating, assigning, and modifying solar field layouts including the ability to set individual heliostat locations, aimpoints, soiling rates, and reflectivity levels; (v) simulating solar field performance; (vi) returning detailed results describing performance of individual heliostats, the aggregate field, and receiver flux distribution; and, (vii) exporting Python-based model instances to multiple file formats. CoPylot enables Python users to perform detailed CSP tower analysis utilizing either the Hermite expansion technique (analytical) or the SolTrace ray-tracing engine. In addition to CoPylot’s functionality, Python users have access to the over 100,000 open-source libraries to develop, analyze, optimize, and visualize power tower CSP research. This enables CSP researchers to perform analysis that was previously not possible through SolarPILOT’s existing interfaces. This paper discusses the capabilities of CoPylot and presents a use case wherein we demonstrate optimal solar field aiming strategies.

41 EE - Solar Energy Technologies Office (EE-4S)↗

diffpy.mpdf : open-source software for magnetic pair distribution function analysis

The open-source Python package diffpy.mpdf , part of the DiffPy suite for diffraction and pair distribution function analysis, provides a user-friendly approach for performing magnetic pair distribution function (mPDF) analysis. The package builds on existing libraries in the DiffPy suite to allow users to create models of magnetic structures and calculate corresponding one- and three-dimensional mPDF patterns. diffpy.mpdf can be used to perform fits to mPDF data either in isolation or in combination with atomic pair distribution function data for joint refinement of the atomic and magnetic structure. Examples are given using MnO and MnTe as representative antiferromagnetic compounds and MnSb as a representative ferromagnet.

36 MATERIALS SCIENCE↗

CHMMPY: A python package for constrained Hidden Markov Models

SAND2025-11909O chmmpy software analyzes multivariate timeseries data to detect patterns. It uses a Hidden Markov Model (HMM) and application-specific constraints that reflect known relationships among hidden states to accomplish this. The chmmpy software provides a generic framework for expressing application-specific constraints and supporting constrained HMM inference using optimization solvers. chmmpy is available on GitHub. 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.

Hart, William↗

Novel principal component analysis tool based on python for analysis of complex spectra of time-of-flight secondary ion mass spectrometry

Time-of-flight secondary ion mass spectrometry (ToF-SIMS) is a powerful surface analysis tool, which can simultaneously provide elemental, isotopic, and molecular information with part per million (ppm) sensitivity. However, each spectrum may be composed of hundreds of ion signals, which makes the spectra data complex. Principal component analysis (PCA) is a multivariate analysis technique that has been widely used to figure out the variances among samples in ToF-SIMS spectra data analysis and is showing great success in the explanation of complex ToF-SIMS spectra. So far, several software tools have been developed for PCA of ToF-SIMS spectra; however, none of them are freely available. Such a situation leads to some difficulties in extending applications of PCA to various research fields. More importantly, it has long been challenging for common researchers to understand PCA plots and extract chemical differences among samples. In this work, we developed a new and flexible software tool (named “advanced spectra pca toolbox”) based on python for PCA of complex ToF-SIMS spectra along with an easy-to-read manual. It can generate data analysis reports automatically to explain chemical differences among samples, allowing less experienced researchers to easily understand tricky PCA results. Moreover, it is expandable and compatible with artificial intelligence/machine learning functions. Pure goethite and different lignin adsorbed goethite samples were used as a model system to demonstrate our new software tool, proving that our software tool can be readily used in complex spectra data processing. Our new software tool is open-source, convenient, flexible, and expandable. We expect this open-source tool will benefit the ToF-SIMS community.

47 OTHER INSTRUMENTATION↗

A simulation‐based integrated virtual testbed for dynamic optimization in smart manufacturing systems

Abstract In a manufacturing system, production control‐related decision‐making activities occur at different levels. At the process level, one of the main control activities is to tune the parameters of individual manufacturing equipment. At the system level, the main activity is to coordinate production resources and to route parts to appropriate workstations based on their processing requirement, priority indices, and control policy. At the factory level, the goal is to plan and schedule the processing of parts at different operations for the entire system in order to optimize certain objectives. Note that the results of such activities at different levels are closely coupled and affect the overall performance of the manufacturing system as a whole. Therefore, it is important to systematically integrate these control and optimization activities into one unified platform to ensure the goal of each individual activity is aligned with the overall performance of the system. In this paper, we develop a simulation‐based virtual testbed that implements dynamic optimization, automatic information exchange, and decision‐making from the process‐level, system‐level, and factory‐level of a manufacturing system into an integrated computation environment. This is demonstrated by connecting a Python‐based numerical computation program, discrete‐event simulation software (Simul8), and an optimization solver (CPLEX) via a third‐party master program. The application of this simulation‐based virtual testbed is illustrated by a case study in a machining shop.

Sun, Yuting↗

Design and performance of AI agents interfacing with an atomic layer deposition tool

In this work, we introduce the design of an atomic layer deposition (ALD) reactor augmented with an AI interface for autonomous materials synthesis. Our modular design encapsulates the particularities of the hardware behind a Python interface that communicates with the ALD control software via transmission control protocol. This interface is compatible with model context protocol interfaces used in agentic frameworks. We have integrated our tool with a simple AI agent that leverages a large language model to transform user-supplied queries into ALD processes that are then run in our reactor. Our approach uses a JavaScript object notation schema to encode ALD processes. Our experimental results show that the AI interface does not impose a significant overhead to our control software, at least within our fastest 10 ms scale. We also carried out a detailed evaluation of the agent performance using leading models in two classes of tasks: basic instruction and process discovery tasks, where the agent is presented with a target material and needs to identify the correct ALD process compatible with the reactor configuration. Despite the simplicity of our agent design, we observed that most of the advanced models excelled at the instruction tasks. However, only recent models, such as o1, o3, GPT-5, and Claude Opus 4, performed well in process discovery tasks. We also observed significant variability in the response for the hardest challenges. While the results obtained are promising, we identify areas where AI research could improve the performance of agents for ALD.

47 OTHER INSTRUMENTATION↗