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 55 records · Page 3

Frame Decoder for Consultative Committee for Space Data Systems (CCSDS)

GNU Radio is a free and open source development toolkit that provides signal processing to implement software radios. It can be used with low-cost external RF hardware to create software defined radios, or without hardware in a simulation-like environment. GNU Radio applications are primarily written in Python and C++. The Universal Software Radio Peripheral (USRP) is a computer-hosted software radio designed by Ettus Research. The USRP connects to a host computer via high-speed Gigabit Ethernet. Using the open source Universal Hardware Driver (UHD), we can run GNU Radio applications using the USRP. An SDR is a "radio in which some or all physical layer functions are software defined"(IEEE Definition). A radio is any kind of device that wirelessly transmits or receives radio frequency (RF) signals in the radio frequency. An SDR is a radio communication system where components that have been typically implemented in hardware are implemented in software. GNU Radio has a generic packet decoder block that is not optimized for CCSDS frames. Using this generic packet decoder will add bytes to the CCSDS frames and will not permit for bit error correction using Reed-Solomon. The CCSDS frames consist of 256 bytes, including a 32-bit sync marker (0x1ACFFC1D). This frames are generated by the Space Data Processor and GNU Radio will perform the modulation and framing operations, including frame synchronization.

Reyes, Miguel A. De Jesus↗

Multi Model Monte Carlo with Python (MXMCPy)

Multi Model Monte Carlo with Python (\mxmc {}) is a software package developed as a general capability for computing the statistics of outputs from an expensive, high-fidelity model by leveraging faster, low-fidelity models for speedup. Motivated by uncertainty propagation problems where classical Monte Carlo (MC) simulation is computationally intractable, various multi-model MC approaches have recently emerged that yield unbiased estimators with significantly reduced variance relative to MC for the same cost. These existing methods include multi-level Monte Carlo (MLMC), multi-fidelity Monte Carlo (MFMC), and approximate control variates (ACV). Given a fixed computational budget and a collection of models with varying cost/accuracy, each method seeks a sample allocation strategy across the models that results in an estimator with optimal variance reduction. \mxmc {} is a versatile tool that enables convenient access to many existing multi-model MC approaches within one modular and extensible package. With \mxmc {}, users can easily compare existing methods to determine the best choice for their particular problem, while developers have a basis for implementing and sharing new variance reduction approaches. This report introduces the \mxmc {} software, providing a summary of the problem-solving workflow for users as well as a brief overview of the code layout for developers.

Geoffrey F Bomarito↗

Automated Noise Calibration System (VT-1000)

This paper details an automated Noise Source calibration system in development at Jet Propulsion Laboratory, California Institute of Technology (JPL). The paper begins with a discussion on Noise Figure and Excess Noise Ratio (ENR) theory, fundamentals and governing equations. As part of the fundamentals is a discussion of the system’s use of the Y-factor method to obtain accurate measurements of the Unit Under Test (UUT), and how these measurements are compared against a known ENR standard to obtain the UUT’s ENR values. There is also an in-depth discussion on uncertainty quantification for Noise Source system calibrations. The architecture of the automated calibration system is provided, which includes both the system’s hardware and software configuration. The software is written in Python 3, and provides the user detailed instruction on how to proceed, including step-by-step connection requirements. This system automates much of the measurement process, including real-time uncertainty quantification and report generation, as well as real-time feedback to the user to allow intervention if necessary. The system takes advantage of a database of results from previous measurements to compare calibration history of the ENR measurements. The automated system presented here operates over a frequency range from 10 MHz to 50 GHz, and has shown substantial time savings over traditional manual methods of performing this calibration.

Timpe, Scott↗

MLtool Python Code

Machine Learning (ML) is a subfield of Artificial Intelligence that gives computers the ability to learn from past data without being explicitly programmed. The predictive capabilities of ML models have already been used to facilitate several scientific breakthroughs. However, the practical application of ML is often limited due to the gaps in technical knowledge of its users. The common issue faced by many scientific researchers is the inability to choose the appropriate ML pipelines that are needed to treat real-world data, which is often sparse and noisy. To solve this problem, we have developed an automated Machine Learning tool (MLtool) that includes a set of ML algorithms and approaches to aid scientific researchers. The current version of MLtool is implemented as an object-oriented Python code that is easily extensible. It includes 44 different regression algorithms used to model data. MLtool helps users select the best model for their data, based on the scoring metrics used. Besides regression algorithms, MLtool also includes a suite of pre- and post-processing techniques such as missing value imputation, categorical variable encoding, input feature normalization, uncertainty quantification, exploratory data analysis (EDA), etc. MLtool was tested on several publicly available multi-dimensional data sets and was found capable of making accurate predictions.

Machine Learning↗

The Satellite Flythrough and Reconstruction Softwares at CCMC

The next-generation of model data visualization to be offered at the Community Coordinated Modeling Center (CCMC) will be based on Kamodo, an open source python package. To increase the usefulness of our services, we are also developing new capabilities based on this software, called the satellite flythrough and the reconstruction tools, to be offered both as packages for offline analysis and through an online interface (coming soon). The satellite flythrough software ‘flies’ a satellite trajectory, whether real or imaginary, through either model data hosted at CCMC or on a personal machine. This service greatly simplifies the complexity of users’ access to model data, abstracting away the time-consuming details of model data formats and interpolation. We demonstrate execution times of a few seconds to a few minutes for several example flythroughs of a trajectory stretching over a few days, depending on the parameters chosen. We also demonstrate a reconstruction tool built on top of the satellite flythrough software, for use with mission planning and model-data comparisons. This tool, based on reconstructions provided for the GDC Science and Technology Definition Team, converts multiple, simultaneous satellite flythroughs into two-dimensional reconstructions. The reconstruction tool provides a software capability for satellite constellations to determine how many satellites are needed and in what configuration to resolve the desired features in the model data. Both tools are currently available through GitHub for a selection of CCMC-hosted ITM models. Finally, we present initial results from work in progress and plans for future work, including an expansion of the reconstruction tool to provide 3D reconstruction capabilities and a line-of-sight calculation tool.

software, python↗

COTS Camera and Computer-based Open-source Star Tracker

The NASA Johnson Space Center (JSC) and other partners have developed and verified a software suite intended to allow users with little-to-no experience with star trackers/attitude estimation to assemble, deploy, calibrate, and operate a star tracker using COTS cameras and computers. This software is open source, written in Python 3, and has been demonstrated across a variety of computers, operating systems, and cameras. The first release of the software is now available to download at the link below. We’re excited to see what you do with it! Please contact us for more information.

Samuel M. Pedrotty↗

Interoperability of Tools at the CCMC

The CCMC has a diverse set of tools in many languages that support utilization of simulation outputs accessible through CCMC interactive archives. Some model output post-processing and analysis tools are delivered to tCCMC by the community. One such model output post-processing/utilization tool developed by the CCMC is the open source Kamodo package. Kamodo is developed primarily in Python (with some C) and has already established strong interoperability with other Python libraries inside PyHC and out. While that interoperability is important, interoperability with other languages and tools is as important. Many models are written in Fortran or C, and their ability to pull in data from a Python tool or export directly to other analysis software in a different language will greatly increase scientific productivity. Interoperability within Python is important, but broader interoperability is just as important.

CCMC↗

Data Reduction Pipeline for the CHARIS Integral-Field Spectrograph I: Detector Readout Calibration and Data Cube Extraction

We present the data reduction pipeline for CHARIS, a high-contrast integral-field spectrograph for the Subaru Telescope. The pipeline constructs a ramp from the raw reads using the measured nonlinear pixel response and reconstructs the data cube using one of three extraction algorithms: aperture photometry, optimal extraction, or chi-squared fitting. We measure and apply both a detector flatfield and a lenslet flatfield and reconstruct the wavelength- and position-dependent lenslet point-spread function (PSF) from images taken with a tunable laser. We use these measured PSFs to implement a chi-squared-based extraction of the data cube, with typical residuals of approximately 5 percent due to imperfect models of the under-sampled lenslet PSFs. The full two-dimensional residual of the chi-squared extraction allows us to model and remove correlated read noise, dramatically improving CHARIS's performance. The chi-squared extraction produces a data cube that has been deconvolved with the line-spread function and never performs any interpolations of either the data or the individual lenslet spectra. The extracted data cube also includes uncertainties for each spatial and spectral measurement. CHARIS's software is parallelized, written in Python and Cython, and freely available on github with a separate documentation page. Astrometric and spectrophotometric calibrations of the data cubes and PSF subtraction will be treated in a forthcoming paper.

Brandt, Timothy D.↗

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↗

Heatshield Entry Modeling Using a Design, Analysis, and Optimization Toolbox

The Mars Science Laboratory (MSL) was protected during its Mars atmospheric entry by an instrumented heatshield that used NASA's Phenolic Impregnated Carbon Ablator (PICA). PICA is a lightweight carbon fiber/polymeric resin material that offers excellent performances for protecting probes during planetary entry. The Mars Entry Descent and Landing Instrument (MEDLI) suite on MSL offers unique in-flight validation data for models of atmospheric entry and material response. MEDLI recorded, among others, time-resolved in-depth temperature data of PICA using thermocouple sensors assembled in the MEDLI Integrated Sensor Plugs (MISP). The objective of this work is to showcase the capability of the Design, Analysis, and Optimization of Thermal Protection Materials (DAOTPM) software. DAO-TPM is a Python based framework that works as a link between mission design, aerothermal and radiative environment computation, Thermal Protection Systems (TPS) microstructure analysis, material response and optimization tools. The toolbox has a Graphical User Interface (GUI) that allows the user to build as well as run the various software and utilities used to design, analyze and optimize a heatshield during atmospheric entry.

Meurisse, Jeremie B. E.↗

The State of NOS3

The NASA Operational Simulator for Small Satellites (NOS3) showcases some of the Jon McBride Software Testing and Research (JSTAR) laboratories technologies on an open-source platform. NOS3 is a software digital twin providing a virtualized platform inside which you have your traditional flight software, ground software, environmental simulators, and middleware to keep all pieces in sync. NOS3 leverages the core Flight System (cFS), OpenC3 COSMOS, and NASA GSFC’s 42 software as the baseline to which additional research technologies can be developed. Current technologies to be demonstrated include NOS3 Igniter, constellation support, NASA JPL’s SYNOPSIS integration, and NASA GSFC’s OnAir. NOS3 Igniter is a GUI in which you can configure, build, and run your simulation. This along with improvements to the documentation and training available open source aims to reduce the ramp up time with new users and improve accessibility. As constellations introduce another level of complexity, it is important to ensure the baseline design reference mission covers all the basics required and allows users to experiment, understand, and test at all levels of the system. The Science Yield improvement via Onboard Prioritization and Summary of Information Systems (SYNOPSIS) is an open-source tool developed by NASA JPL to enable data prioritization and planning. GSFC’s Onboard Artificial Intelligence Research (OnAIR) enables custom algorithm development written in python to interface with the flight software allowing scientists to develop what they need for the next generation of missions and easily interface back to the traditional flight software. During the presentation, a review and demonstration of the above technologies is planned along with a roadmap.

NOS3↗

Kamodo’s Model-Agnostic Satellite Flythrough: Lowering the Utilization Barrier for Heliophysics Model Outputs

Heliophysics model outputs are increasingly accessible, but typically are not usable by the majority of the community unless directly collaborating with the relevant model developers. Prohibitive factors include complex file output formats, cryptic metadata, unspecified and often customized coordinate systems, and non-linear coordinate grids. Some pockets of progress exist, giving interfaces to various simulation outputs, but only for a small set of outputs and typically not with open-source, freely available packages. Additionally, the increasing array of tools built upon these sporadic interfaces are typically model-specific. We present Kamodo’s model-agnostic satellite flythrough capabilities as the solution to the utilization barrier for heliophysics model outputs. Developed at the Community Coordinated Modeling Center, these flythrough capabilities are built in Python upon a network of model-agnostic interfaces developed in collaboration with model developers, providing interpolation results the community can trust. Kamodo’s flythrough capabilities present the user with a growing variety of flythrough tools based upon a rapidly expanding library of heliophysics model outputs in several domains, currently including a variety of Ionosphere-Thermosphere-Mesosphere and global magnetosphere model outputs. Each capability is designed to be easily accessible via simplistic model-agnostic syntax, with the entire package freely available in the cloud on Github. Here, we describe the tools developed, include several sample applications for common science questions, demonstrate interoperability with selected packages, and summarize ongoing developments.

Software↗

Algorithm Performance Dataset from NASA Open-Source Software

NASA Langley Research Center has recently developed and released the open-source software Multi Model Monte Carlo with Python (MXMCPy- LAR-19756-1) as a general capability for computing the statistics of outputs from an expensive, high-fidelity model by leveraging faster, low-fidelity models for speedup. Given a fixed computational budget and a collection of models with varying cost/accuracy, multi model Monte Carlo (MC) seeks a sample allocation strategy across the models that results in an estimator with optimal variance reduction. MXMCPy is a versatile tool that enables convenient access to many existing multi-model MC approaches (over a dozen algorithms available) within one modular and extensible package [1]. With MXMCPy, users can easily compare existing methods to determine the best choice for their particular problem,while developers have a basis for implementing and sharing new variance reduction approaches. However,there is currently very little understanding about which algorithm will perform best for a given problem (defined by the correlation between and relative cost of the available models) without a brute force search.

Geoffrey F Bomarito↗

The SunPy Project: An Interoperable Ecosystem for Solar Data Analysis

The SunPy Project is a community of scientists and software developers creating an ecosystem of Python packages for solar physics. The project includes the sunpy core package as well as a set of affiliated packages. The sunpy core package provides general purpose tools to access data from different providers, read image and time series data, and transform between commonly used coordinate systems. Affiliated packages perform more specialized tasks that do not fall within the more general scope of the sunpy core package. In this article, we give a high-level overview of the SunPy Project, how it is broader than the sunpy core package, and how the project curates and fosters the affiliated package system. We demonstrate how components of the SunPy ecosystem, including sunpy and several affiliated packages, work together to enable multi-instrument data analysis workflows. We also describe members of the SunPy Project and how the project interacts with the wider solar physics and scientific Python communities. Finally, we discuss the future direction and priorities of the SunPy Project.

Solar physics↗

A Multidisciplinary Tool for Systems Analysis of Planetary Entry, Descent, and Landing (SAPE)

SAPE is a Python-based multidisciplinary analysis tool for systems analysis of planetary entry, descent, and landing (EDL) for Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune, and Titan. The purpose of SAPE is to provide a variable-fidelity capability for conceptual and preliminary analysis within the same framework. SAPE includes the following analysis modules: geometry, trajectory, aerodynamics, aerothermal, thermal protection system, and structural sizing. SAPE uses the Python language-a platform-independent open-source software for integration and for the user interface. The development has relied heavily on the object-oriented programming capabilities that are available in Python. Modules are provided to interface with commercial and government off-the-shelf software components (e.g., thermal protection systems and finite-element analysis). SAPE runs on Microsoft Windows and Apple Mac OS X and has been partially tested on Linux.

Samareh, Jamshid A.↗

An Open-Source Numerical Model for Mitigating Refractory Alloy Hot Cracking Susceptibility

Refractory alloys are susceptible to solidification cracking during welding and 3D printing. Composition control is an effective method of controlling solidification cracking. This work evaluates the effect of compositional variation in refractory metal systems on a computed solidification cracking susceptibility. A numerical model has been developed using Python code and open-source CALPHAD software to calculate Kou’s crack susceptibility index. The model is validated against past weldability studies performed on several refractory alloy systems. The approach is extended towards the development of new alloys with improved 3D printability and weldability and is shown to have utility in defining compositional limits for existing alloys and feedstocks. Furthermore, the model will aid in determining process controls for powder reuse and recycling.

pycalphad↗

PyHC Integration Strategy Workshop Report

We present a report on the 2021 PyHC (Python in Heliophysics Community) virtual workshop held August 30-31st, 2021. This workshop pulled together leading developers in PyHC to discuss how the community could improve integration between PyHC projects by uncovering high-value shared (or "key") challenges and suggested possible solutions to these challenges. The results of the workshop show that there are many potential concrete actions which could be taken to improve PyHC software and their associated projects. Key challenges may be grouped into items which involve sustaining/improving/expanding the community, improving information dissemination and undertaking technical goals to better integrate and coalesce projects. Suggested solutions to challenges ranged from smaller and/or straight forward efforts to more detailed, long-term solutions.

Heliophysics↗