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 253 records · Page 14

Processed sap flow and fine-root trait data associated with summer drought responses in temperate trees in Lisle, Illinois, USA (2019–2021)

These data support the manuscript “Acquisitive root exploration strategies help maintain higher peak sap flux rates during summer drought, but more root biomass does not”. The dataset includes processed sap flow measurements and fine-root trait data collected between 2019 and 2021 from temperate monodominant tree plots established in the 1920s to 1930s ranging in size from 0.05 to 0.8 ha at The Morton Arboretum in Lisle, IL. Sap flow was measured with ICT sap flow sensors using the heat ratio method. Fine-root traits were measured from soil cores which includes specific root length (SRL), specific root area (SRA), diameter, biomass, and length for diameter classes ≤1 mm and ≤2 mm. The package contains comma separated value (CSV) data files and associated metadata that can be viewed and analyzed using common software such as spreadsheet programs, R, and Python. These data are used to investigate how variation in fine-root traits relate to tree water use and drought response during summer drought linking belowground root traits and aboveground physiological responses.

drought↗

Data from: "Towards CONUS-Wide ML-Augmented Conceptually-Interpretable Modeling of Catchment-Scale Precipitation-Storage-Runoff Dynamics"

This data package was generated to support the manuscript “Towards CONUS-Wide Machine Learning-Augmented Conceptually Interpretable Modeling of Catchment-Scale Precipitation-Storage-Runoff Dynamics.” It provides input files, model outputs, plotting data, scripts, notebooks, and documentation used to develop, evaluate, and reproduce Mass-Conserving Perceptron (MCP)-based hydrologic modeling experiments across 513 selected Catchment Attributes and Meteorology for Large-sample Studies in the United States (CAMELS-US) basins. The files are organized by modeling component and analysis purpose, including rainfall–runoff experiments, snow module experiments, coupled hydrologic-snow experiments, Long Short-Term Memory (LSTM) benchmark results, model skill metrics, initialization and epoch records, cell-state normalization files, Akaike Information Criterion (AIC)-based model comparison files, and data used to generate manuscript figures. Tabular files can be opened using standard spreadsheet software or Python/R data-analysis tools. Python scripts, Jupyter notebooks, and selected MATLAB scripts are included for model execution, postprocessing, plotting, and statistical analysis. Quality assurance and quality control were conducted through the source-data selection and modeling workflow. Meteorological forcing, streamflow, and static catchment attributes were derived from the CAMELS-US dataset, and snow water equivalent data were derived from the University of Arizona (UA) Snow Water Equivalent dataset. Selected basins and time periods were screened during the associated research workflow to avoid missing observations or poor-quality cases. Static geospatial features were processed primarily using Quantum Geographic Information System (QGIS) and Geospatial Data Abstraction Library (GDAL) workflows. Additional details are provided in the associated manuscript and documentation.

ESS-DIVE CSV File Formatting Guidelines Reporting ↗

Mantaray: A Rust Package for Ray Tracing Ocean Surface Gravity Waves

Ocean surface gravity waves are an important component of air-sea interaction, influencing energy, momentum, and gas exchanges across the ocean-atmosphere interface. In specific applications such as refraction by ocean currents or bathymetry, ray tracing provides a computationally efficient way to gain insight into wave propagation. In this paper, we introduce Mantaray, an open-source software package implemented in Rust, with a Python interface, that solves the ray equations for ocean surface gravity waves. Mantaray is designed for performance, robustness, and ease of use. The package is modular to facilitate further development and can currently be applied to both idealized and realistic wave propagation problems (Fig. 1).

16 TIDAL AND WAVE POWER↗

Seascape Interface Control Document

This paper serves as the Interface Control Document (ICD) for the Seascape automated test harness developed at Sandia National Laboratories. The primary purposes of the Seascape system are: (1) provide a place for accruing large, curated, labeled data sets useful for developing and evaluating detection and classification algorithms (including, but not limited to, supervised machine learning applications) (2) provide an automated structure for specifying, running and generating reports on algorithm performance. Seascape uses GitLab, Nexus, Solr, and Banana, open source software, together with code written in the Python language, to automatically provision and configure computational nodes, queue up jobs to accomplish algorithms test runs against the stored data sets, gather the results and generate reports which are then stored in the Nexus artifact server.

97 MATHEMATICS AND COMPUTING↗

REDESIGNING A PERFORMANCE MONITORING SOFTWARE FOR SUPERCOMPUTERS

The objective of this project was to improve upon the existing Watchr software that charts performance test metrics from the Trilinos project run on supercomputers at Sandia and elsewhere across the DOE complex. Software was iteratively designed and developed using Python Pandas and Dash data visualization to improve the extensibility and user experience of Watchr. Documentation is being maintained for future developers who want to extend the application.

Camacho, Dane Joseph [Sandia National Laboratories↗

Similarity Downselection: Finding the n Most Dissimilar Molecular Conformers for Reference-Free Metabolomics

Computational methods for creating in silico libraries of molecular descriptors (e.g., collision cross sections) are becoming increasingly prevalent due to the limited number of authentic reference materials available for traditional library building. These so-called “reference-free metabolomics” methods require sampling sets of molecular conformers in order to produce high accuracy property predictions. Due to the computational cost of the subsequent calculations for each conformer, there is a need to sample the most relevant subset and avoid repeating calculations on conformers that are nearly identical. The goal of this study is to introduce a heuristic method of finding the most dissimilar conformers from a larger population in order to help speed up reference-free calculation methods and maintain a high property prediction accuracy. Finding the set of the n items most dissimilar from each other out of a larger population becomes increasingly difficult and computationally expensive as either n or the population size grows large. Because there exists a pairwise relationship between each item and all other items in the population, finding the set of the n most dissimilar items is different than simply sorting an array of numbers. For instance, if you have a set of the most dissimilar n = 4 items, one or more of the items from n = 4 might not be in the set n = 5. An exact solution would have to search all possible combinations of size n in the population exhaustively. We present an open-source software called similarity downselection (SDS), written in Python and freely available on GitHub. SDS implements a heuristic algorithm for quickly finding the approximate set(s) of the n most dissimilar items. We benchmark SDS against a Monte Carlo method, which attempts to find the exact solution through repeated random sampling. We show that for SDS to find the set of n most dissimilar conformers, our method is not only orders of magnitude faster, but it is also more accurate than running Monte Carlo for 1,000,000 iterations, each searching for set sizes n = 3–7 out of a population of 50,000. We also benchmark SDS against the exact solution for example small populations, showing that SDS produces a solution close to the exact solution in these instances. Using theoretical approaches, we also demonstrate the constraints of the greedy algorithm and its efficacy as a ratio to the exact solution.

97 MATHEMATICS AND COMPUTING↗

The Impact of Void-finding Algorithms on Galaxy Classification

We explore how the definition of a void influences the conclusions drawn about the impact of the void environment on galactic properties using two void-finding algorithms in the Void Analysis Software Toolkit: Voronoi Voids (V 2 ), a Python implementation of ZOnes Bordering On Voidness (ZOBOV); and VoidFinder, an algorithm that grows and merges spherical void regions. Using the Sloan Digital Sky Survey Data Release 7, we find that galaxies found in VoidFinder voids tend to be bluer and fainter and to have higher (specific) star formation rates than galaxies in denser regions. Conversely, galaxies found in V 2 voids show less significant differences when compared to galaxies in denser regions, less consistent with the large-scale environmental effects on galaxy properties expected from both simulations and previous observations. These results align with previous simulation results that show V 2 -identified voids “leak” into the dense walls between voids because their boundaries extend up to the density maxima in the walls. As a result, when using ZOBOV-based void-finders, galaxies likely to be part of wall regions are instead classified as void galaxies, a misclassification that can be critical to our understanding of galaxy evolution.

cosmic web↗

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↗

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↗

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↗