Search NASASearch

SEARCH · Search NASA

Results for “Python toolkit”

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 37 records · Page 2

PYSAT: Python Satellite Data Analysis Toolkit

A common problem in space science data analysis is combining complementary data sources that are provided and analyzed in different formats and programming languages. The Python Satellite Data Analysis Toolkit (pysat) addresses this issue by providing an open source toolkit that implements the general process of space science data analysis, from beginning to end, in an instrumentindependent manner. This toolkit uses an Instrument object that enables systematic analysis of science data from a variety of platforms within a single interface. Basic functions such as downloading, loading, and cleaning are included for all supported instruments. Common analysis routines are also included, which are instrument and data source independent. A nanokernel is used to provide instrument independence, it is attached to the Instrument object and mediates the systematic and arbitrary modification of loaded data. Pysat uses the nanokernel to improve the rigor of time series analysis, support onthefly orbit determination, and cleanly span file breaks. Pysat's functions and higherlevel scientific analysis features are validated through the use of unit testing. Further adoption by the community provides a set of scientific results produced by a common core, constituting a distributed heritage that supports the validity of the underlying processing and scientific output. These features are used to demonstrate consistency between derived electron density profiles and measured ion drifts, particularly downward ion drifts in the afternoon hours during extreme solar minimum. Pysat builds upon open source Python software that is freely available and encourages communitydriven development.

Stoneback, R.A.

Portable, heterogeneous ensemble workflows at scale using libEnsemble

libEnsemble is a Python-based toolkit for running dynamic ensembles, developed as part of the DOE Exascale Computing Project. The toolkit utilizes a unique generator–simulator–allocator paradigm, where generators produce input for simulators, simulators evaluate those inputs, and allocators decide whether and when a simulator or generator should be called. The generator steers the ensemble based on simulation results. Generators may, for example, apply methods for numerical optimization, machine learning, or statistical calibration. libEnsemble communicates between a manager and workers. Flexibility is provided through multiple manager–worker communication substrates each of which has different benefits. These include Python’s multiprocessing, mpi4py, and TCP. Multisite ensembles are supported using Balsam or Globus Compute. We overview the unique characteristics of libEnsemble as well as current and potential interoperability with other packages in the workflow ecosystem. We highlight libEnsemble’s dynamic resource features: libEnsemble can detect system resources, such as available nodes, cores, and GPUs, and assign these in a portable way. These features allow users to specify the number of processors and GPUs required for each simulation; and resources will be automatically assigned on a wide range of systems, including Frontier, Aurora, and Perlmutter. Such ensembles can include multiple simulation types, some using GPUs and others using only CPUs, sharing nodes for maximum efficiency. We also describe the benefits of libEnsemble’s generator–simulator coupling, which easily exposes to the user the ability to cancel, and portably kill, running simulations based on models that are updated with intermediate simulation output. We demonstrate libEnsemble’s capabilities, scalability, and scientific impact via a Gaussian process surrogate training problem for the longitudinal density profile at the exit of a plasma accelerator stage. In conclusion, the study uses gpCAM for the surrogate model and employs either Wake-T or WarpX simulations, highlighting efficient use of resources that can easily extend to exascale.

Dynamic ensembles

Snakes on a Spaceship - An Overview of Python in Heliophysics

Computational analysis has become ubiquitous within the heliophysics community. However, community standards for peer review of codes and analysis have lagged behind these developments. This absence has contributed to the reproducibility crisis, where inadequate analysis descriptions and loss of scientific data have made scientific studies difficult or impossible to replicate. The heliophysics community has responded to this challenge by expressing a desire for a more open, collaborative set of analysis tools. This article summarizes the current state of these efforts and presents an overview of many of the existing Python heliophysics tools. It also outlines the challenges facing community members who are working toward the goal of an open, collaborative, Python heliophysics toolkit and presents guidelines that can ease the transition from individualistic data analysis practices to an accountable, communalistic environment.

Burrell, A.G.

LLM Information Extraction Toolkit

A modular Python framework for information extraction using large language models with support for multiple backends and optional verification workflows.

Yoon, Hong-Jun [Oak Ridge National Laboratory (ORN

Python-Based Scientific Analysis and Visualization of Precipitation Systems at NASA Marshall Space Flight Center

At NASA Marshall Space Flight Center (MSFC), Python is used several different ways to analyze and visualize precipitating weather systems. A number of different Python‐based software packages have been developed, which are available to the larger scientific community. The approach in all these packages is to utilize pre‐existing Python modules as well as to be object‐oriented and scalable. The first package that will be described and demonstrated is the Python Advanced Microwave Precipitation Radiometer (AMPR) Data Toolkit, or PyAMPR for short. PyAMPR reads geolocated brightness temperature data from any flight of the AMPR airborne instrument over its 25‐year history into a common data structure suitable for user‐defined analyses. It features rapid, simplified (i.e., one line of code) production of quick‐look imagery, including Google Earth overlays, swath plots of individual channels, and strip charts showing multiple channels at once. These plotting routines are also capable of significant customization for detailed, publication‐ready figures. Deconvolution of the polarization‐varying channels to static horizontally and vertically polarized scenes is also available. Examples will be given of PyAMPR's contribution toward real‐time AMPR data display during the Integrated Precipitation and Hydrology Experiment (IPHEx), which took place in the Carolinas during May‐June 2014. The second software package is the Marshall Multi‐Radar/Multi‐Sensor (MRMS) Mosaic Python Toolkit, or MMM‐Py for short. MMM‐Py was designed to read, analyze, and display three‐dimensional national mosaicked reflectivity data produced by the NOAA National Severe Storms Laboratory (NSSL). MMM‐Py can read MRMS mosaics from either their unique binary format or their converted NetCDF format. It can also read and properly interpret the current mosaic design (4 regional tiles) as well as mosaics produced prior to late July 2013 (8 tiles). MMM‐Py can easily stitch multiple tiles together to provide a larger regional or national picture of precipitating weather systems. Composites, horizontal and vertical crosssections, and combinations thereof are easily displayed using as little as one line of code. MMM‐Py can also write to the native MRMS binary format, and sub‐sectioning of tiles (or multiple stitched tiles) is anticipated to be in place by the time of this meeting. Thus, MMM‐Py also can be used to power the creation of custom mosaics for targeted regional studies. Overlays of other data (e.g., lightning observations) are easily accomplished. Demonstrations of MMM‐Py, including the creation of animations, will be shown. Finally, Marshall has done significant work to interface Python‐based analysis routines with the U.S. Department of Energy's Py‐ART software package for radar data ingest, processing, and analysis. One example of this is the Python Turbulence Detection Algorithm (PyTDA), an MSFC‐based implementation of the National Center for Atmospheric Research (NCAR) Turbulence Detection Algorithm (NTDA) for the purposes of convective‐scale analysis, situational awareness, and forensic meteorology. PyTDA exploits Py‐ART's radar data ingest routines and data model to rapidly produce aviation‐relevant turbulence estimates from Doppler radar data. Work toward processing speed optimization and better integration within the Py‐ART framework will be highlighted. Python‐based analysis within the Py‐ART framework is also being done for new research related to intercomparison of ground‐based radar data with satellite estimates of ocean winds, as well as research on the electrification of pyrocumulus clouds.

Lang, Timothy J.

The Satellite Image Simulation Toolkit

The Satellite Image Simulation Toolkit (SatIST) is a python software package designed to generate diverse and realistic satellite imaging scenarios. It serves as a toolkit for simulating data that supports the development and testing of algorithms used in satellite detection, calibration, and characterization. SIST provides a suite of simulation tools that allow users to replicate various satellite observation conditions, including sidereal and target tracking. By enabling the creation of scenarios that mimic real-world satellite operations, SIST facilitates advancements in satellite image data processing and the study of satellite behavior under different observational parameters.

Perloff, AlexxS [Lawrence Livermore National Labor

GAT (Grid Analysis Toolkit) [SWR-25-41]

Grid Analysis Toolkit (GAT) is a unified Python API and plotting for power system PCM and CEM results (Sienna, PLEXOS, ReEDS™). It's a toolkit for wrangling data for Bulk Grid Dispatch and Transmission Analysis. GAT aims to provide simplified access to PCM and CEM results in a standard format while also allowing raw data access to underlying datasets specific to the model. This software can also be found on PyPI at For plotting, GAT defaults to standard National Lab of the Rockies (NLR) color schemes and standard styles while allowing customization.

Webb, Micah [National Laboratory of the Rockies (N

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

3D Scanning System to Assess Gravity-Dependent Body Shape Changes

The human body shows unique morphological changes when exposed to different gravity conditions, including muscle atrophy, fluid shift, and spinal elongation. Such changes need to be incorporated for human-system integration in the vehicle habitat, garment, and spacesuit designs, as inaccurate body measurements can result in suboptimal crew protection that can potentially decrease injury tolerance. However, measurement tools have not been available for accurate assessments of body shape changes. This work aimed to develop a prototype 3-D body scanning system with the configuration and performance optimized for in-flight crewmember body scanning. A scan hardware system was developed using Intel RealSense commercial off-the-shelf 3D sensors. The sensor parameters were iteratively optimized and tested to obtain the performance level needed for body scanning. A scan booth structure was fabricated, with the overall size 4 x 4 x 8 feet. The specific number of sensors and mounting positions were determined by iterative simulations, which indicated that 16 cameras can capture 94% and 96% of body surface area from the 1st percentile female and 99th percentile male crew population subject. The mounted sensors were linked through a mix of USB-C and USB-3 cables and operated for data acquisition from a Linux laptop computer. A software prototype was developed using Python and Tkinter graphical user interface toolkit. A calibration procedure was also built using a panel of QR codes. A computer vision tool detected and decoded the unique ID and pattern locations of the QR codes. The calibration information determined the position and orientation of the 3D sensors with respect to each other. The scanner performance was assessed using a set of 3D printed custom manikins. The manikin size and shape were derived from the previous ISS study, which measured the crewmembers’ anthropometry changes across the different flight phases. The average anthropometric measurements at the pre-flight and flight day 15 were sampled and projected onto the 1st percentile female and 99th percentile male body shapes. Another pair of manikins were also 3D printed to simulate the neutral body posture, estimated from ISS microgravity environments. A preliminary analysis assessed the performance of the newly developed scanner against the reference scanner, which has been used at the NASA JSC for crew and test subject anthropometry. Although the new scanner data showed several artifacts and missing geometries in the occluded body areas such as armpits and crotch, overall shape matched with the reference scan. When the manikin surface coordinates were compared, a root mean square error of 1.3 cm was observed from the manikin torso segment. Linear measurements including the stature, knee height and circumference measurements at the chest and calf showed differences from the reference scan measurements, ranging between 0.3 and 0.9 cm. Overall, this work demonstrated a development framework for an in-flight scanner with design and operation optimized for crewmember body scanning. Further improvement can potentially provide previously unavailable anthropometric data from different gravitational environments, including 0-g, 1/6-g, and 1-g. Such data can improve suit fit, habitat design, exercise efficacy quantification and sizing of orthostatic intolerance garments.

K H Kim

MONTE Python for Deep Space Navigation

The Mission Analysis, Operations, and Navigation Toolkit Environment (MONTE) is the Jet Propulsion Laboratory’s (JPL) signature astrodynamic computing platform. It was built to support JPL’s deep space exploration program, and has been used to fly robotic spacecraft to Mars, Jupiter, Saturn, Ceres, and many solar system small bodies. At its core, MONTE consists of low-level astrodynamic libraries that are written in C++ and presented to the end user as an importable Python language module. These libraries form the basis on which Python-language applications are built for specific astrodynamic applications, such as trajectory design and optimization, orbit determination, flight path control, and more. The first half of this paper gives context to the MONTE project by outlining its history, the field of deep space navigation and where MONTE fits into the current Python landscape. The second half gives an overview of the main MONTE libraries and provides a narrative example of how it can be used for astrodynamic analysis.

aerospace

The Blending ToolKit: A simulation framework for evaluation of galaxy detection and deblending

We present an open source Python library for simulating overlapping (i.e., blended) images of galaxies and performing self-consistent comparisons of detection and deblending algorithms based on a suite of metrics. The package, named Blending Toolkit (BTK), serves as a modular, flexible, easy-to-install, and simple-to-use interface for exploring and analyzing systematic effects related to blended galaxies in cosmological surveys such as the Vera Rubin Observatory Legacy Survey of Space and Time (LSST). BTK has three main components: (1) a set of modules that perform fast image simulations of blended galaxies, using the open source image simulation package GalSim; (2) a module that standardizes the inputs and outputs of existing deblending algorithms; (3) a library of deblending metrics commonly defined in the galaxy deblending literature. In combination, these modules allow researchers to explore the impacts of galaxy blending in cosmological surveys. Additionally, BTK provides researchers who are developing a new deblending algorithm a framework to evaluate algorithm performance and make principled comparisons with existing deblenders. BTK includes a suite of tutorials and comprehensive documentation. The source code is publicly available on GitHub at https://github.com/LSSTDESC/BlendingToolKit.

79 ASTRONOMY AND ASTROPHYSICS

Mission Analysis, Operations, and Navigation Toolkit Environment (Monte) Version 040

Monte is a software set designed for use in mission design and spacecraft navigation operations. The system can process measurement data, design optimal trajectories and maneuvers, and do orbit determination, all in one application. For the first time, a single software set can be used for mission design and navigation operations. This eliminates problems due to different models and fidelities used in legacy mission design and navigation software. The unique features of Monte 040 include a blowdown thruster model for GRAIL (Gravity Recovery and Interior Laboratory) with associated pressure models, as well as an updated, optimalsearch capability (COSMIC) that facilitated mission design for ARTEMIS. Existing legacy software lacked the capabilities necessary for these two missions. There is also a mean orbital element propagator and an osculating to mean element converter that allows long-term orbital stability analysis for the first time in compiled code. The optimized trajectory search tool COSMIC allows users to place constraints and controls on their searches without any restrictions. Constraints may be user-defined and depend on trajectory information either forward or backwards in time. In addition, a long-term orbit stability analysis tool (morbiter) existed previously as a set of scripts on top of Monte. Monte is becoming the primary tool for navigation operations, a core competency at JPL. The mission design capabilities in Monte are becoming mature enough for use in project proposals as well as post-phase A mission design. Monte has three distinct advantages over existing software. First, it is being developed in a modern paradigm: object- oriented C++ and Python. Second, the software has been developed as a toolkit, which allows users to customize their own applications and allows the development team to implement requirements quickly, efficiently, and with minimal bugs. Finally, the software is managed in accordance with the CMMI (Capability Maturity Model Integration), where it has been ap praised at maturity level 3.

Sunseri, Richard F.

GES DISC Data Recipes in Jupyter Notebooks

The Earth Science Data and Information System (ESDIS) Project manages twelve Distributed Active Archive Centers (DAACs) which are geographically dispersed across the United States. The DAACs are responsible for ingesting, processing, archiving, and distributing Earth science data produced from various sources (satellites, aircraft, field measurements, etc.). In response to projections of an exponential increase in data production, there has been a recent effort to prototype various DAAC activities in the cloud computing environment. This, in turn, led to the creation of an initiative, called the Cloud Analysis Toolkit to Enable Earth Science (CATEES), to develop a Python software package in order to transition Earth science data processing to the cloud. This project, in particular, supports CATEES and has two primary goals. One, to transition data recipes created by the Goddard Earth Science Data and Information Service Center (GES DISC) into an interactive and educational environment using JupyterNotebooks. Two, to acclimate Earth scientists to cloud computing. To accomplish these goals, we create JupyterNotebooks to compartmentalize the different steps of data analysis and help users obtain and parse data from the command line. We also develop a Docker container, comprised of Jupyter Notebooks, Python dependencies, and command line tools, and configure it into an easy-to-deploy package. The end result is an end-to-end product that simulates the use case of end users working in the cloud computing environment.

discoverability

Heat Pump Retrofits for Central Plant Hydronic Heating Systems: A Software Toolkit for Screening and Design

Retrofitting existing central plants with high-efficiency heat pump technologies can play a crucial role in achieving long-term planning goals. Modern heat pump technologies are able to use waste heat recovery to meet a building's heating demand, but there is a lack of accessible tools designed for non-HVAC experts, such as building owners, to quickly and easily conduct what-if analysis, e.g., estimating retrofit costs and payback period for their partial or full equipment replacement. This paper introduces an open-source software toolkit designed to facilitate the initial screening and decision-making of heat pump retrofits in existing central plants using a building's yearly load profile from metered or utility bill data. The toolkit evaluates the technical and economic viability of replacing traditional central plant equipment with various options including water-to-water or air-to-water heat pumps, which can provide efficient and lower-cost heating and cooling. It allows users to compare current central plant configurations with retrofit scenarios, assessing energy consumption, life-cycle costs, and environmental impact. The toolkit offers (1) a web-based tool designed for user-friendly access by a broad audience and (2) Python-based source code for researchers and engineers conducting parametric studies and design parameter optimization. The toolkit compares a typical central plant configuration to a configuration that uses a heat pump to supply hydronic heating and cooling. The output metrics include energy consumption and output of each equipment, life-cycle cost analyses and metrics, and environmental impact of the system.

Excell, L

NEREIDS

NEREIDS (NEutron REsonance Imaging Diagnostic Suite) is a research-grade toolkit for neutron resonance imaging, providing a Rust physics core, Python bindings, and NeXus/HDF5-compliant data I/O, with a path to fast, standalone GUI workflows for VENUS/MARS.

Zhang, Chen [Oak Ridge National Laboratory (ORNL),

PV Degradation Modeling: Applying Geospatial Workflows with "PVDeg"

Accurate degradation modeling is essential for predicting photovoltaic (PV) module performance, estimating longevity and informing design decisions. With degradation rates varying significantly by location, geospatial analysis is critical for PV and broader applications, such as agrivoltaics, weathering and environmental data analysis. This work presents PVDeg, an open-source tool designed for geospatial degradation analysis. PVDeg integrates meteorological data from global sources, including the National Solar Radiation Database (NSRDB) and Photovoltaic Geographical Information System (PVGIS), with degradation models. The toolkit enables users to customize geospatial workflows by integrating weather data, material parameters, and user-defined Python functions. It facilitates accelerated downloads of NSRDB and PVGIS datasets and optimizes geospatial point selection to preserve data density in regions of interest. Additionally, PVDeg provides a local database for storage and spatial queries, supporting large-scale analyses without the need for high-performance computing (HPC) resources. PVDeg provides a foundational workflow that extends its utility beyond PV applications, enabling researchers to analyze geospatial processes across discipline.

14 SOLAR ENERGY

WFSUITE: A PYTHON SOFTWARE SUITE FOR X-RAY WAVEFRONT SENDING AND AT-WAVELENGTH METROLOGY

SF-26-025 WFSuite is a graphical and command-line toolkit for coded-mask-based X-ray wavefront sensing and phase reconstruction at synchrotron beamlines. It integrates analysis tools for both relative and absolute speckle-based measurements. In the relative metrology module, WFSuite implements Wavelet-transform-based X-ray Speckle Tracking (WXST) and Wavelet-transform-based Speckle Vector Tracking (WSVT) methods to retrieve differential phase and wavefront distortions by comparing speckle patterns recorded with and without the test sample. In the absolute phase module, WFSuite uses coded-mask speckle patterns and replaces the measured reference with a numerically simulated one, enablingsingle-shot wavefront reconstruction using either WXST or a neural-network-based method (SPINNet).

Rebuffi, Luca [Argonne National Laboratory (ANL),

ThinCurr: An open-source 3D thin-wall eddy current modeling code for the analysis of large-scale systems of conducting structures

In this paper we present a new thin-wall eddy current modeling code, ThinCurr, for studying inductively-coupled currents in 3D conducting structures -- with primary application focused on the interaction between currents flowing in coils, plasma, and conducting structures of magnetically-confined plasma devices. The code utilizes a boundary finite element method on an unstructured, triangular grid to accurately capture device structures. The new code, part of the broader Open FUSION Toolkit, is open-source and designed for ease of use without sacrificing capability and speed through a combination of Python, Fortran, and C/C++ components. Scalability to large models is enabled through use of hierarchical off-diagonal low-rank compression of the inductance matrix, which is otherwise dense. Ease of handling large models of complicated geometry is further supported by automatic determination of supplemental elements through a greedy homology approach. Here, a detailed description of the numerical methods of the code and verification of the implementation of those methods using cross-code comparisons against the VALEN code and Ansys commercial analysis software is shown.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY