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 145 records · Page 8

pyam: Python Implementation of YaM

pyam is a software development framework with tools for facilitating the rapid development of software in a concurrent software development environment. pyam provides solutions for development challenges associated with software reuse, managing multiple software configurations, developing software product lines, and multiple platform development and build management. pyam uses release-early, release-often development cycles to allow developers to integrate their changes incrementally into the system on a continual basis. It facilitates the creation and merging of branches to support the isolated development of immature software to avoid impacting the stability of the development effort. It uses modules and packages to organize and share software across multiple software products, and uses the concepts of link and work modules to reduce sandbox setup times even when the code-base is large. One sidebenefit is the enforcement of a strong module-level encapsulation of a module s functionality and interface. This increases design transparency, system stability, and software reuse. pyam is written in Python and is organized as a set of utilities on top of the open source SVN software version control package. All development software is organized into a collection of modules. pyam packages are defined as sub-collections of the available modules. Developers can set up private sandboxes for module/package development. All module/package development takes place on private SVN branches. High-level pyam commands support the setup, update, and release of modules and packages. Released and pre-built versions of modules are available to developers. Developers can tailor the source/link module mix for their sandboxes so that new sandboxes (even large ones) can be built up easily and quickly by pointing to pre-existing module releases. All inter-module interfaces are publicly exported via links. A minimal, but uniform, convention is used for building modules.

Myint, Steven↗

Implementation of real‐time TDDFT for periodic systems in the open‐source PySCF software package

Abstract We present a new implementation of real‐time time‐dependent density functional theory (RT‐TDDFT) for calculating excited‐state dynamics of periodic systems in the open‐source Python‐based PySCF software package. Our implementation uses Gaussian basis functions in a velocity gauge formalism and can be applied to periodic surfaces, condensed‐phase, and molecular systems. As representative benchmark applications, we present optical absorption calculations of various molecular and bulk systems and a real‐time simulation of field‐induced dynamics of a (ZnO) 4 molecular cluster on a periodic graphene sheet. We present representative calculations on optical response of solids to infinitesimal external fields as well as real‐time charge‐transfer dynamics induced by strong pulsed laser fields. Due to the widespread use of the Python language, our RT‐TDDFT implementation can be easily modified and provides a new capability in the PySCF code for real‐time excited‐state calculations of chemical and material systems.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

PySAGES: flexible, advanced sampling methods accelerated with GPUs

Abstract Molecular simulations are an important tool for research in physics, chemistry, and biology. The capabilities of simulations can be greatly expanded by providing access to advanced sampling methods and techniques that permit calculation of the relevant underlying free energy landscapes. In this sense, software that can be seamlessly adapted to a broad range of complex systems is essential. Building on past efforts to provide open-source community-supported software for advanced sampling, we introduce PySAGES, a Python implementation of the Software Suite for Advanced General Ensemble Simulations (SSAGES) that provides full GPU support for massively parallel applications of enhanced sampling methods such as adaptive biasing forces, harmonic bias, or forward flux sampling in the context of molecular dynamics simulations. By providing an intuitive interface that facilitates the management of a system’s configuration, the inclusion of new collective variables, and the implementation of sophisticated free energy-based sampling methods, the PySAGES library serves as a general platform for the development and implementation of emerging simulation techniques. The capabilities, core features, and computational performance of this tool are demonstrated with clear and concise examples pertaining to different classes of molecular systems. We anticipate that PySAGES will provide the scientific community with a robust and easily accessible platform to accelerate simulations, improve sampling, and enable facile estimation of free energies for a wide range of materials and processes.

Chemistry↗

Multi-Model and Multi-Scale Global Sensitivity Analysis for Identifying Controlling Processes of Complex Systems

An environmental model consists of multiple process level sub-models, and each sub-model represents a process that is key to the operation of the simulated system. Global sensitivity analysis methods have been widely used to identify important processes for system model development and improvement. The existing methods of global sensitivity analysis only consider parametric uncertainty, and are not capable of handling model uncertainty caused by multiple process models that arise from competing hypotheses about one or more processes. To address this problem, this project develops a new method to probe model output sensitivity to competing process models by integrating model averaging methods with variance-based global sensitivity analysis to address uncertainty in process models and parameters. The new method yields three process sensitivity indices. The first one is called first-order process sensitivity index, and it is derived as a single summary measure of relative process importance. Evaluating the index is computationally expensive, because it relies in a Monte Carlo scheme that requires thousands and even millions of model executions. To reduce computational cost, this project develops a computationally efficient, quasi Monte Carlo method, and this method is presented in Chapter 2 of this report with and a numerical example for demonstration. The numerical example shows that the results of the quasi Monte Carlo method are substantially close to those of the full Monte Carlo method, but the computational cost of the quasi Monte Carlo method is only 0.7% of that of the full Monte Carlo method. The second index is called total-effect process sensitivity index, and it measures interactions between different processes. Therefore, this sensitivity index includes the first-order process sensitivity index, and can be used to identify influential processes. On the other hand, the total-effect process sensitivity index can also be used to screen non-influential processes. This is demonstrated by two numerical examples using the Sobol-G* functions and groundwater flow models that consider recharge process, geological process, and snowmelt process. The numerical examples shows that the total-effect process sensitivity index is more informative than the first-order process sensitivity. The derivation of the process sensitivity index and the numerical examples are discussed in Chapter 3. Chapter 4 presents two computationally efficient methods for screening non-influential processes to exclude them from further investigation. The two methods are the multi-model difference-based sensitivity (MMDS) analysis method, which can be implemented using the Latin Hypercube Sampling. The second one is the implementation of MMDS method using a binning method. The numerical example for the Sobol-G* function indicates the two methods are capable of identifying non-influential models, and the numerical examples for the groundwater flow and reactive transport show that the two methods are effective for groundwater problems. However, it should be noted that the two methods are numerical approximations, and they can only be used for screening non-influential processes, not for ranking importance of system processes. All the sensitivity analysis methods are implemented by developing python codes, and the codes are in a software called SAMMPY: a python package for process sensitivity analysis under multiple models. The SAMMPY design and structure are discussed in Chapter 5, and the package is released to the public for free download.

54 ENVIRONMENTAL SCIENCES↗

Equilipy: a python package for calculating phase equilibria

The CALPHAD (CALculation of PHAse Diagram) approach (Nigel Saunders & Miodownik, 1998) provides predictions for thermodynamically stable phases in multicomponent-multiphase materials across a wide range of temperatures. Consequently, the CALPHAD calculations became an essential tool in materials and process design (Luo, 2015). Such design tasks frequently require navigating a high-dimensional space due to multiple components involved in the system. This increasing complexity demands high-throughput CALPHAD calculations, especially in the rapidly evolving field of alloy design. In response to the need, we developed Equilipy an open-source Python package designed for calculating phase equilibria of multicomponent-multiphase systems. Equilipy is specifically tailored for high-throughput CALPHAD calculations, offering parallel computations across multiple processors and nodes with the given NPT input conditions namely elemental compositions (N), pressure (P), and temperature (T). Equilipy utilizes the program structure and Gibbs energy functions from the Fortran-based program, Thermochimica (Piro et al., 2013), with incorporating a new Gibbs energy minimization algorithm. This algorithm, originally developed by Capitani and Brown in 1987 (Capitani & Brown, 1987), has been revised and implemented to enhance the stability and performance of calculations. The Fortran codes are precompiled and interfaced with Python via F2PY, ensuring high computation speed. Benchmark tests shown in Figure 1 demonstrate that Equilipy’s computation speed is comparable to those of established commercial software, TC-Python and PanPython. This result highlights its efficiency and potential applications in various scientific and industrial fields.

97 MATHEMATICS AND COMPUTING↗

Pycheron: A Python-Based Seismic Waveform Data Quality Control Software Package

Supplementing an existing high-quality seismic monitoring network with openly available station data could improve coverage and decrease magnitudes of completeness; however, this can present challenges when varying levels of data quality exist. Without discerning the quality of openly available data, using it poses significant data management, analysis, and interpretation issues. Incorporating additional stations without properly identifying and mitigating data quality problems can degrade overall monitoring capability. If openly available stations are to be used routinely, a robust, automated data quality assessment for a wide range of quality control (QC) issues is essential. To meet this need, we developed Pycheron, a Python-based library for QC of seismic waveform data. Pycheron was initially based on the Incorporated Research Institutions for Seismology’s Modular Utility for STAtistical kNowledge Gathering but has been expanded to include more functionality. Pycheron can be implemented at the beginning of a data processing pipeline or can process stand-alone data sets. Its objectives are to (1) identify specific QC issues; (2) automatically assess data quality and instrumentation health; (3) serve as a basic service that all data processing builds on by alerting downstream processing algorithms to any quality degradation; and (4) improve our ability to process orders of magnitudes more data through performance optimizations. This article provides an overview of Pycheron, its features, basic workflow, and an example application using a synthetic QC data set.

58 GEOSCIENCES↗

HIPPO Software

HIPPO software is a Python implementation of the HIPPO technology. The HIPPO technology provides the computational and modeling capabilities for managing electricity market operations and for designing and prototyping future markets. The current software can solve the day-ahead unit commitment problem and perform simultaneous feasibility test. It can be used to handle industry scale electricity market.

Peng, Fan↗

Polarbrdf: A General Purpose Python Package for Visualization Quantitative Analysis of Multi-Angular Remote Sensing Measurements

The Bidirectional Reflectance Distribution Function (BRDF) is a fundamental concept for characterizing the reflectance property of a surface, and helps in the analysis of remote sensing data from satellite, airborne and surface platforms. Multi-angular remote sensing measurements are required for the development and evaluation of BRDF models for improved characterization of surface properties. However, multi-angular data and the associated BRDF models are typically multidimensional involving multi-angular and multi-wavelength information. Effective visualization of such complex multidimensional measurements for different wavelength combinations is presently somewhat lacking in the literature, and could serve as a potentially useful research and teaching tool in aiding both interpretation and analysis of BRDF measurements. This article describes a newly developed software package in Python (PolarBRDF) to help visualize and analyze multi-angular data in polar and False Color Composite (FCC) forms. PolarBRDF also includes functionalities for computing important multi-angular reflectance/albedo parameters including spectral albedo, principal plane reflectance and spectral reflectance slope. Application of PolarBRDF is demonstrated using various case studies obtained from airborne multi-angular remote sensing measurements using NASA's Cloud Absorption Radiometer (CAR). Our visualization program also provides functionalities for untangling complex surface/atmosphere features embedded in pixel-based remote sensing measurements, such as the FCC imagery generation of BRDF measurements of grasslands in the presence of wild fire smoke and clouds. Furthermore, PolarBRDF also provides quantitative information of the angular distribution of scattered surface/atmosphere radiation, in the form of relevant BRDF variables such as sunglint, hotspot and scattering statistics.

CAR↗

BatteryPro: A Python Toolkit for Battery Data Analysis and Machine Learning Predictions

Analyzing battery test data for research & development can be time-consuming since battery tests often run on the order of months to years, generating large volumes of data. BatteryPro is a comprehensive Python package and software designed to facilitate advanced analysis and performance predictions for battery test data. Developed for battery researchers, it supports data types from widely used battery testing instruments, including MACCOR and Biologic cycling systems. The software provides a variety of tools for extracting and plotting key battery parameters such as time, voltage, capacity, current, and pressure. In addition to its extensive data analysis capabilities, BatteryPro features a dedicated machine learning module that employs a Bayesian Gaussian Mixture Model (GMM) to predict battery performance and degradation. Users can generate synthetic capacity fade data, calculate fade metrics, and leverage predictive models to forecast long-term battery behavior. The software's graphical user interface (GUI) enhances usability, allowing researchers to upload, merge, and analyze multiple data files with full customizability. The GUI also supports machine learning predictions, enabling users to fit models and make predictions based on selected data and parameters. BatteryPro is built using QtDesigner, scikit-learn, matplotlib, and pandas, ensuring a high level of customization, flexibility, and accuracy in battery data analysis. This tool aims to empower researchers with the ability to perform detailed battery analysis and make informed predictions, ultimately advancing the field of battery research.

25 - ENERGY STORAGE↗

Hybrid-RL-MPC4CLR (Hybird-Reinforcement-Learning-Model-Predictive-Control-for-Reserve-Policy-Assisted-Critical-Load-Restoration-in-Distribution-Grids)

Hybrid-RL-MPC4CLR was developed as a hybrid controller for active distribution grid critical load restoration, combining deep reinforcement learning (RL) and model predictive control (MPC) aiming at maximizing total restored load following an extreme event. The RL determines a policy for quantifying operating reserve requirements, thereby hedging against uncertainty, while the MPC models grid operations incorporating the RL policy actions (i.e., reserve requirements), renewable (wind and solar) power predictions, and load demand forecasts. The developers formulated the reserve requirement determination problem as a sequential decision-making problem based on the Markov Decision Process (MDP) and design an RL learning environment based on the OpenAI Gym framework and MPC simulation. The RL agent reward and MPC objective function aim to maximize and monotonically increase total restored load and minimize load shedding and renewable power curtailment. The software is developed using various software packages in Python. The MPC's optimal power flow (OPF) model is implemented using the Pyomo package, the RL simulation environment is implemented using the MPC simulation with various scenarios of renewable energy and load demand profiles and power outage beginning times, based on the OpenAI Gym framework. The RL agent training is performed using the RLlib Ray package. The RL algorithm is trained offline using historical forecasts of renewable generation and load demand profiles. Simulation analysis and performance tests are conducted using a modified IEEE 13-bus distribution test feeder containing wind turbine, photovoltaic, microturbine, and battery.

Eseye, Abinet Tesfaye↗

SaS4D Home Team UI (SaS4D-HT-UI) v1.0

The SaS4D Home Team UI (python) is a software to view and interact with different layers of 3D geometries and generate usable MCNP-style input file. It is used by the remote Home Team in providing guidance and building models of environments they have never seen in order to investigate threat object discovered at the Working Point. The UI visualizes a colorized mesh, a semantic labelled mesh, and a semantic labelled probability mesh of the scanned environment as well as individual water-tight material-labeled objects. It allows for manipulation and re-processing of these objects. The UI also contains measurement tools to facilitate better MCNP input file generation in the manipulation workflow. The software is a key component in ensuring the Home Team has prompt awareness of the Working Point.

Chen, Xin↗

Ghidra Galore

SAND2025-00232O Ghidra Galore is a software tool that provides a test harness for running an analysis script in multiple versions of Ghidra, an open-source binary disassembler, using Docker. It allows users to understand how different versions of Ghidra evolve over time by analyzing a corpus of input files. The software includes a Python script that wraps the Docker functionality, simplifying the process of running the analysis script across different Ghidra versions. 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.

Crussell, Jonathan [Sandia National Lab. (SNL-CA),↗

LigninGraphs: lignin structure determination with multiscale graph modeling

Lignin is an aromatic biopolymer found in ubiquitous sources of woody biomass. Designing and optimizing lignin valorization processes requires a fundamental understanding of lignin structures. Experimental characterization techniques, such as 2D-heteronuclear single quantum coherence (HSQC) nuclear magnetic resonance (NMR) spectra, could elucidate the global properties of the polymer molecules. Computer models could extend the resolution of experiments by representing structures at the molecular and atomistic scales. We introduce a graph-based multiscale modeling framework for lignin structure generation and visualization. The framework employs accelerated rejection-free polymerization and hierarchical Metropolis Monte Carlo optimization algorithms. We obtain structure libraries for various lignin feedstocks based on literature and new experimental NMR data for poplar wood, pinewood, and herbaceous lignin. The framework could guide researchers towards feasible lignin structures, efficient space exploration, and future kinetics modeling. Its software implementation in Python, LigninGraphs, is open-source and available on GitHub.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Upper-air soundings collected during the CROCUS Urban Canyons 2024 campaign in Chicago, Illinois USA

Funded by the Department of Energy’s Office of Science, Biological and Environmental Research program, Community Research on Climate and Urban Science (CROCUS) studies urban climate change and the impact it has on communities, with particular focus on disinvested, under-resourced communities. This information leads to new insights on urban climate challenges and informs future actions for mitigating and adapting to climate change at the street, neighborhood and regional levels.As part of the CROCUS effort, the Urban Canyons 2024 project was undertaken to study conditions at unprecedented detail over various neighborhoods in Chicago, Illinois. This dataset consists of upper air soundings that were collected as part of this effort. Soundings were launched during two intensive observing periods, IOP1 occurred on 22-23 July 2024, while IOP2 occurred on 27-28 July 2024. For IOP1, soundings were launched at coordinated times from three sites, Shedd Aquarium in Downtown Chicago, Abizu Campus High School in Humboldt Park, and Gary Comer Youth Center in West Woodlawn. For IOP2, the Gary Comer site was replaced by a neighborhood site in West Woodlawn, Chicago. The Abizu Campos site was operated by Valparaiso University and used iMET-4 rawinsondes, the other sites were operated by the University of Illinois Urbana-Champaign and used GRAW DFM-19 sondes.This dataset contains netCDF files containing quality-controlled temperature, dewpoint, geopotential height, pressure, and vector wind measurements at 1 second intervals following launch. These files are readable by the open-source netCDF software libraries available in many software packages (i.e., python, R, fortran, C++, etc.). The dataset also contains quicklook plots of each launch on a skew-T log-p thermodynamic diagram. These are in png format viewable by most web browsers.

54 ENVIRONMENTAL SCIENCES↗

Processed Soil Respiration at the TRACE experimental Warming project, Aug 2015 - Sep 2017, Sabana, Luquillo, Puerto Rico

This data package contains processed measurements of soil carbon dioxide (CO₂) efflux collected using LI-COR LI-8100 soil respiration chambers at the Tropical Responses to Altered Climate Experiment (TRACE) located at the Sabana Field Research Station near Luquillo, Puerto Rico. The TRACE site is a mature, closed-canopy tropical wet forest within the Luquillo Experimental Forest. These data quantify soil surface CO₂ fluxes from both ambient (control) and experimentally warmed plots to evaluate how long-term soil warming affects belowground carbon cycling in tropical ecosystems. The data files include time-series tables of CO₂ flux (µmol CO₂ m⁻² s⁻¹), soil temperature (°C), and ancillary environmental variables, stored in comma-separated values (CSV) format and viewable with any text editor, spreadsheet, or statistical software (e.g., R, Python, Excel). Associated metadata describe plot identifiers, measurement intervals, and processing steps. These data were generated to address the research question: How does sustained soil warming influence soil respiration and carbon flux dynamics in tropical wet forests?

54 ENVIRONMENTAL SCIENCES↗

CROCUS Optical All Precipitation Gauge Data at Argonne National Laboratory Prairie Site

The APG (Optical Scientific Inc. All-Precipitation Gauge 815-DS) dataset contains one-minute measurements of precipitation rate, precipitation accumulation, air temperature, and present weather detection, both in 4680 format and decoded. Data were collected at the Argonne Testbed for Multiscale Observational Science (ATMOS), a 20-acre prairie site at Argonne National Laboratory in Lemont, Illinois. The data is presented as daily NetCDF (.nc) files, each containing approximately 24 hours of observations. Files follow the naming convention of: the project (CROCUS), location (atmos), instrument name (apg), data level (raw, a1), and date (year, month, day). The NetCDF format can be accessed using common scientific software such as Python using xarray, netCDF4 or act-doe.

54 ENVIRONMENTAL SCIENCES↗

CROCUS Tipping Bucket Rain Gauge Data at Argonne National Laboratory Prairie Site

The Tipping Bucket Rain Gauge (TBRG) dataset contains data from both the Nova-Lynx 12 inch TBRG and the Met One 8-inch TBRG. The dataset contains one minute measurements for precipitation accumulation measured in that timeframe from both instruments. Each TBRG was equipped with heaters for all-season measurements. These data are helpful for identifying periods of drought, potential flooding, and general input for water budgets. TBRGs can be used to validate optical rain gauge data and disdrometer data collected during the CROCUS project. Data were collected at the Argonne Testbed for Multiscale Observational Science (ATMOS), a 20-acre prairie site at Argonne National Laboratory in Lemont, Illinois. The data is presented as daily NetCDF (.nc) files, each containing approximately 24 hours of observations. Files follow the naming convention of: the project (CROCUS), location (atmos), instrument name (tbrg), data level (raw, a1), and date (year, month, day). The NetCDF format can be accessed using common scientific software such as Python using xarray, netCDF4 or act-doe.

1-min Precipitation Accumulation↗