Search NASASearch

SEARCH · Search NASA

Results for “Python Programming”

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 109 records · Page 6

Developing a Multi-Lingual Autocoding Interface for the MAVERIC-II Dynamics Simulator

Simulation model development in certain high-level languages such as Python, MATLAB, or Simulink are unparalleled by their convenience and rapid turnover time. However, legacy simulation engines often depend on more traditional languages such as FORTRAN or C/C++. The NASA Marshall Aerospace Vehicle Representation in C version II (MAVERIC-II) is a modular, legacy-derived computer program used for high-fidelity, 6 degree-of-freedom (6dof) simulation for aerospace vehicle flights and analyses of guidance and control performance with built-in mathematical modeling of environmental effects such as wind, atmosphere, and gravity as well as dispersion capability for Monte Carlo analysis. MAVERIC-II is modular in the sense that each component software element of the simulation engine may be supplanted for a higher or lower fidelity version. The design flow of the development of these models is often performed in high-level languages as mentioned previously, which must then be translated into C or C++ code to be integrated into MAVERIC-II. We propose a unified method of autocoding and interfacing between several languages and MAVERIC-II, which may be generalized further to any type of 6dof simulation engine.

Mason Nixon

Developing a Multilingual Auto-coding Interface Control for the MAVERIC-II Dynamics Simulator

Simulation model development in certain high-level languages such as Python, MATLAB, or Simulink are unparalleled by their convenience and rapid turnover time. However, legacy simulation engines often depend on more traditional languages such as FORTRAN or C/C++. The NASA Marshall Aerospace Vehicle Representation in C version II (MAVERIC-II) is a modular, legacy-derived computer program used for high-fidelity, 6 degree-of-freedom (6DOF) simulation for aerospace vehicle flights and analyses of guidance and control performance with built-in mathematical modeling of environmental effects such as wind, atmosphere, and gravity as well as dispersion capability for Monte Carlo analysis. MAVERIC-II is modular in the sense that each component software element of the simulation engine may be supplanted for a higher or lower fidelity version. The design flow of the development of these models is often performed in high-level languages as mentioned previously, which must then be translated into C or C++ code to be integrated into MAVERIC-II. Using principles of model-based design, we propose a unified method of auto-coding and interfacing between several languages and MAVERIC-II, which may be generalized further to any type of 6DOF simulation engine.

Mason Nixon

Design and Implementation of a Mechanical Control System for the Scanning Microwave Limb Sounder

The Scanning Microwave Limb Sounder (SMLS) will use technological improvements in low noise mixers to provide precise data on the Earth's atmospheric composition with high spatial resolution. This project focuses on the design and implementation of a real time control system needed for airborne engineering tests of the SMLS. The system must coordinate the actuation of optical components using four motors with encoder readback, while collecting synchronized telemetric data from a GPS receiver and 3-axis gyrometric system. A graphical user interface for testing the control system was also designed using Python. Although the system could have been implemented with a FPGA-based setup, we chose to use a low cost processor development kit manufactured by XMOS. The XMOS architecture allows parallel execution of multiple tasks on separate threads-making it ideal for this application and is easily programmed using XC (a subset of C). The necessary communication interfaces were implemented in software, including Ethernet, with significant cost and time reduction compared to an FPGA-based approach. For these reasons, the XMOS technology is an attractive, cost effective, alternative to FPGA-based technologies for this design and similar rapid prototyping projects.

Mars Science Laboratory Robotics

Developing Concepts of Operations Using Multi-Step Tool Techniques With Large Language Models

The National Aeronautics and Space Administration (NASA) Air Mobility Pathfinders (AMP) project is developing and evaluating concepts of operations (ConOps) for safe, secure, and scalable Urban Air Mobility (UAM) operations. The AMP project’s Operational Concepts, Architecture, and Requirements Integration (OCARI) Team is using a Model Based System Engineering (MBSE) approach for integration, interoperability, and traceability of Advanced Air Mobility (AAM) ecosystems centered around urban air taxi services. The team’s goal is to define structures and behaviors needed for system feasibility, readiness, and interoperability, establish a UAM knowledge base, and trace and validate assumptions and requirements relevant to AAM. NASA Langley Research Center (LaRC) is spearheading an innovative digital engineering approach to integrate, communicate, and facilitate the research of multi-modal transportation systems. The Knowledge-based Digital Platform (KbDP) is a concept being developed that ties the workflows of Project Managers (PM), Principal Investigators (PI), and System Engineers together across organizational boundaries. It does so through the management of an information database defined by mathematical, data science, and system engineering principles. Machine Learning (ML) algorithms play a key role in this concept by extracting meaningful knowledge from relational and graph databases, document repositories, and system artifacts, which the human user leverages to greatly improve the efficiency and effectiveness of their research. Recent advancements in the field of Large Language Models (LLMs), specifically models trained for tool use, such as Command-R , now allow for the reliable implementation of single-step and multi-step tool-centric systems. These techniques provide the LLM with a set of tools, in our case Python functions, that can be called on to answer a much wider range of questions compared to LLMs implemented using a traditional single-source or Retrieval Augmented Generation (RAG) approach. Through this method, the LLM can pull information from multiple data sources, such as relational or graph databases, document repositories, application programming interfaces (APIs), and SysML artifacts depending on the user’s question. The LLM can also output the information in a variety of different formats, using output generation tools, such as CSV, UML, or SysML artifacts. Additionally, tools can be assigned roles and can work together to provide answers to queries in an “agent” like approach, similar to that implemented by Microsoft’s AutoGen framework where different agents can converse with each other to accomplish tasks. Previously, our team developed a chatbot system with “agent like” functionality in the form of different “modes” the user could select from a user interface (UI), this architecture can be seen on the left in figure 1. Three different modes were implemented, the first mode allowed the LLM to utilize the structures and algorithms within a graph database to trace UAM requirements. The second mode gave the LLM access to a vector search capable of providing relevant information from thousands of document pages related to UAM ConOps and requirements. The third mode served as a general assistant where users could enter open-ended questions and custom prompts to utilize the LLM for different use-cases. This system improved the process surrounding generating and analyzing information related to UAM requirements, however, the implementation provided a clunky user experience. Users were required to know what mode to select within the UI in advance before entering their question to the selected tool. Moreover, the different tools were isolated from each other, they lacked bidirectional links that would allow for tools to collaborate to generate better responses. Our team is working on a new architecture, seen on the right in the below figure, with the goal to address many of the UX shortcomings of our original system while improving the accuracy and depth of responses from the LLM. This new system will automatically select the appropriate tool to use based off the user’s question. Each tool will be capable of calling on any of the other tools available to the LLM, resulting in a collaborative pipeline where tools can pass data between other tools until enough data is received to generate an answer to the user’s question. Using a locally deployed, open-source, LLM, the NASA OCARI team, in collaboration with Collins Aerospace, will implement a prototype application that will bridge knowledge across multiple sources to assist System Engineers (SEs) with requirements discovery and tracing, research question and use case identification, and assumption validation. Such a system will also allow SEs to more easily, and intuitively, explore the AAM ecosystem, ultimately improving the efficiency and effectiveness of the SE's research and decision-making processes surrounding ConOps development and validation. In this session, our team will provide a video demonstration of our new prototype architecture in action. We will also present an overview of our prototype system architecture and talk about its advantages over traditional LLM deployments along with how those advantages can provide additional value to the field of System Engineering.

systems engineering

Software Development and Testing Support for the Avionics Systems Telemetry Tool Suite

The Customer Avionics Interface Development and Analysis (CAIDA) team helps to provide modeling and simulation software for the verification of the Launch Control System (LCS). With a new iteration of telemetry tools being developed, extensive work must be done to ensure features are implemented in an efficient manner. The authors worked to develop new functionalities in the telemetry tools, update documentation, and perform various tests on the CAIDA Advanced Telemetry Tool (CATT). This was accomplished with Python through built-in library frameworks. In addition, work needed to be performed to set up a training document for new engineers and interns joining the team in the future. The outcome of this internship was the completion of several new features, unit and functional tests on CATT, thorough documentation, and a developer’s guide to programming under CAIDA.

Negron-Martinez, Antonio Jose

Assessment of ProgPy - An Open-Source Condition Monitoring and Diagnostics Tool

Traditional maintenance programs, such as corrective and preventive strategies, may lead to high costs and operational inefficiencies. Condition Monitoring and Diagnostics (CM&D) aims to improve these maintenance strategies by enabling timely insights into equipment health and performance. However, implementation of CM&D can be challenging without a robust framework that manages data efficiently, supports interoperability and simplifies integration. To address these challenges ProgPy, an open-source Python-based prognostics tool developed by NASA Ames Research Center, offers a structured solution for broader Prognostics and Health Management (PHM) applications. Ongoing research is assessing the feasibility of implementing ProgPy as a Condition Monitoring and Diagnostics (CM&D) solution by comparing its framework to the guidelines for open CM&D systems recommended in the ISO 13374-2 standard. This evaluation aims to highlight ProgPy’s strengths and identify opportunities for improvement, thereby, contributing to its advancement as an effective tool for Prognostics and Health Management (PHM). This paper presents the results of an initial assessment of the ProgPy toolbox through a gearbox case study using open-source datasets.

Condition-Monitoring, Diagnostics, Failure, Gearbo

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

Static Controls Performance Tool for Lunar Landers

This document presents a static analysis tool used to evaluate the controllability of Lunar landers. This was created as part of the NASA Lunar Cargo Transportation and Landing by Soft Touchdown (Lunar CATALYST) program. This tool is capable of accepting typical design information such as location and direction of thrusters, maximum thruster forces, gravity vectors, and center of mass locations. The tool evaluates how far the center of gravity can move from its starting position while still maintaining control. This type of analysis is intended to support results produced by time domain simulations. The code created for this project was implemented in Python, and it was designed to be integrated into systems level optimization tools to yield first-cut results on optimal thruster placement.

Aretskin-Hariton, Eliot D.

Splashdown Visualization of Spent Stages

The state of the art for many Earth-to-orbit trajectory analysis toolsets used at NASA is somewhat dated in terms of the languages they are written in and their user interfaces. Many of these programs are written in languages like Fortran or C that are no longer considered modern in the technology industry, and are command-line based without any means of interpreting the data outputs. This presentation is meant to demonstrate a specific use case for a newly developed web app that visualizes the output data for one of these tools. Specifically, one key usage is to investigate and validate launches for notional multi-stage vehicle concepts to various non-standard high-inclination orbits. Some NASA requirements dictate that trajectories be designed such that no surviving debris lands closer than 200 nautical miles (nm) from foreign landmasses or 27 nm from the continental United States, therefore validating re-entry locations of spent stages is an integral part of the launch planning process. In addition, at programmatic levels it can prove insightful and clarifying for the decision-making process to enhance the technical results of numerical simulations with visualizations. The intent with this tool is to provide the mission analyst and program level management with an intuitive and clear grasp of key information on possible mission scenarios either departing from or arriving at Earth, and in the future, the moon or Mars as well. The software tool was developed with an agile development approach and utilizes the latest frameworks and technologies. The front end uses the React JavaScript library for making a state of the art frontend and a backend based on the Django Python framework for handling data using Python’s powerful and free scientific libraries. In addition, the CesiumJS open-source library is key for visualizing these end-to-end trajectories on a high-resolution Earth model. The presentation will demonstrate the current capability and tested use cases.

Jack Agolli

Open-source Techniques for Automated Landslide Inventory Generation for Rapid Response

Manual mapping is the most used method for generating landslide inventories. For rapid response scenario this method becomes tedious and time consuming. The Landslide team at NASA Goddard Space Flight Center has been developing open-source landslide mapping systems for rapid generation of landslide inventories. We have developed a Python-based landslide mapping framework known as the Semi-Automatic Landslide Detection (SALaD) system that uses Object-based Image Analysis and machine learning. For production of event-based inventories, SALaD was modified to include a change detection module (SALaD-CD). Utilizing high-resolution imagery form from Planet and Maxar, we have generated multiple rapid response landslide inventories that have been used by emergency responders on the ground, the NASA Disasters program, and academia. Currently, we are exploiting deep learning frameworks for landslide mapping. We are interested to learn about efficient way to harmonize multi-sensor data for creating a long-term record of landslides, training strategies and ongoing deep learning-based efforts for natural hazard characterization within NASA and UMD.

Pukar Amatya

Updating the Space Communications and Navigation (SCaN) Link Tool Executable Software to Version 5

NASA’s Space Communications and Navigation (SCaN) program is responsible for providing space communication channels in low Earth orbit, geosynchronous orbit, and deep space for a variety of space missions. The SCaN Link Tool is a standalone, executable, and personal computer (PC)-based software operated via a user interface, which provides NASA civil servants and contractors, as well as the public by way of the tool’s inclusion in the NASA Software Catalog, with in-depth satellite communications link analysis capability. Version 4 of the tool was built using PythonTM (Python Software Foundation) with the help of libraries such as NumPy and SciPy for numerical calculations, Matplotlib for graphical visualizations, and PyQt5 for the graphical user interface. It utilizes radiofrequency (RF) and optical communications link analysis calculations to give users the ability to input known link parameters and calculate select link performance outputs. With the development of the next-generation architecture for space satellite communications in the coming decade, NASA will benefit by having more in-depth communications link analysis tools at its disposal. The tool’s update from version 4 to version 5 aims to provide higher output value accuracy, the ability to solve for a more diverse set of output variables, as well as analog and digital repeater capabilities. Options included in the tool’s functionality, such as the ability to save configuration parameter values, graphs, and results, as well as the provision of default parameter values, increase the tool’s versatility. Users will have access to in-depth, accurate communications link analysis as more advanced satellite constellations are designed and deployed by NASA and the growing commercial aerospace community.

Green, Jack L.

Python Based Plume Dynamics Estimation Tool (PyPDET) Rapid Plume Strike Analysis for RPOD Maneuvers in Deep Space Operations

I worked as a NASA Intern during the Summer 2023 term in the DS-00 division under the supervision of my mentor, Dr. Jonathan Pitt. Our goal was to build on our previous work from 2022 to develop a plume strike estimation tool using a prescribed physics methodology and model plume impingement effects while considering the dynamics of a rendezvous, operations, proximity, and docking (RPOD) maneuver. This tool supports previously configured CFD-DSMC calculations by allowing for rapid analysis of initial designs using a low-fidelity source flow model. Engineers can then use the high-fidelity CFD-DSMC tool to consolidate results as they work towards finalizing a design. This year’s project was focused on developing a software application that other engineers would be using in their analysis. Thus, the user’s experience was considered in the development of this application. Proper documentation, testability, and modularity of the codebase was our priority. For example, the project included auto documentation procedures to start building towards a User Manual, while also including dedicated demonstration cases for more explicit communication of functionality. Also, this project included a framework for testing the source code for future developments. Additionally, care was taken to develop the code using an Object-Oriented Programming approach. Thus, allowing for a modular extensibility of functionality in anticipation of future developments. The core work of this project was developing an algorithm that would transform the visiting vehicle and associated thruster data according to the kinematics described in the jet firing history. It would then calculate the estimated plume strikes on two of the target vehicles and write data accordingly into a VTK file. Summer work is to conclude by developing and presenting a PowerPoint slide deck at the intern exit briefing on August 11 th , 2023. Once the model for simple plume strike calculations is developed and tested there are several avenues to explore to continue development of this tool. These are also discussed in this report.

Plume Impingement

A Web Service and Android Application for the Distribution of Rainfall Estimates and Earth Observation Data

The full potential of Satellite Rainfall Estimates (SRE) can only be realized if timely access to the datasets is possible. Existing data distribution web portals are often focused on global products and offer limited customization options, especially for the purpose of routine regional monitoring. Furthermore, most online systems are designed to meet the needs of desktop users, limiting the compatibility with mobile devices. In response to the growing demand for SRE and to address the current limitations of available web portals a project was devised to create a set of freely available applications and services, available at a common portal that can: (1) simplify cross-platform access to Tropical Rainfall Measuring Mission Online Visualization and Analysis System (TOVAS) data (including from Android mobile devices), (2) provide customized and continuous monitoring of SRE in response to user demands and (3) combine data from different online data distribution services, including rainfall estimates, river gauge measurements or imagery from Earth Observation missions at a single portal, known as the Tropical Rainfall Measuring Mission (TRMM) Explorer. The TRMM Explorer project suite includes a Python-based web service and Android applications capable of providing SRE and ancillary data in different intuitive formats with the focus on regional and continuous analysis. The outputs include dynamic plots, tables and data files that can also be used to feed downstream applications and services. A case study in Southern Angola is used to describe the potential of the TRMM Explorer for SRE distribution and analysis in the context of ungauged watersheds. The development of a collection of data distribution instances helped to validate the concept and identify the limitations of the program, in a real context and based on user feedback. The TRMM Explorer can successfully supplement existing web portals distributing SRE and provide a cost-efficient resource to small and medium-sized organizations with specific SRE monitoring needs, namely in developing and transition countries.

precipitation

Noise Exposure Maps of Urban Air Mobility

A noise exposure map is “a scaled geographic depiction of an airport, its noise exposure contours, noise-sensitive facilities, and land uses in the airport surrounding area” developed in accordance with the FAA’s 14 Code of Federal Regulation Part 150. This paper is the first to explore the applicability of airport noise exposure maps to Urban Air Mobility (UAM). The FAA’s airport noise compatibility planning program is first described. Then the applicability of the noise exposure map to Urban Air Mobility (UAM) is explored. Finally, new airspace infrastructure, including vertiport locations and UAM routes from NASA’s UAM engineering simulations, and local noise-sensitive facility locations and land use information were collected and processed to develop the noise exposure maps of UAM near the Dallas-Fort Worth area. The DNL noise contours resulting from a six-passenger electric quadrotor prototype vehicle are predicted using NASA’s AIRNOISEUAM software. The noise exposure maps of UAM are generated automatically using Python’s data analysis and visualization libraries. The results have applications for UAM’s noise compatibility planning, noise-reducing route planning, and vertiport location selection

Urban Air Mobility

Noise Exposure Map of Urban Air Mobility

A noise exposure map is “a scaled geographic depiction of an airport, its noise exposure contours, noise-sensitive facilities, and land uses in the airport surrounding area” developed in accordance with the FAA’s 14 Code of Federal Regulation Part 150. This paper is the first to explore the applicability of airport noise exposure maps to Urban Air Mobility (UAM). The FAA’s airport noise compatibility planning program is first described. Then the applicability of the noise exposure map to Urban Air Mobility (UAM) is explored. Finally, new airspace infrastructure, including vertiport locations and UAM routes from NASA’s UAM engineering simulations, and local noise-sensitive facility locations and land use information were collected and processed to develop the noise exposure maps of UAM near the Dallas-Fort Worth area. The DNL noise contours resulting from a six-passenger electric quadrotor prototype vehicle are predicted using NASA’s AIRNOISEUAM software. The noise exposure maps of UAM are generated automatically using Python’s data analysis and visualization libraries. The results have applications for UAM’s noise compatibility planning, noise-reducing route planning, and vertiport location selection. (To hear the voice please utilize the video uploaded to the record)

Urban Air Mobility

Parahydrogen Properties Version 05 Database Release for Nuclear Thermal Propulsion Applications

Consistent modeling assumptions across any large project are crucial to minimize errors between different approaches. Use of consistent material and fluid properties across a large project supports consistent interpretation and application within modeling and simulation results as well as their relevancy to operational systems. NASA’s Space Nuclear Propulsion program dedicates extensive resources towards establishing consistent and, to the extent possible, accurate property databases for its internal staff and all external partners. This work highlights the extensive research performed to modernize the fluid property database of hydrogen which is the leading propellant option for in-space nuclear propelled spacecraft. Specifically, the parahydrogen spin state is of interest since the propellant is stored in a near normal boiling point liquid state which results in it consisting almost entirely of the parahydrogen spin isomer. This database tool has taken recent NASA work and modernized it into a python-based package for easy usage across all modeling entities. The package allows users to provide temperature and pressure pairs along with their desired output properties to yield results accounting for both real-gas and equilibrium dissociation effects while also sharing the default thermodynamic reference state provided by the National Institute of Standards and Technology (NIST) Standard Database 23. The suite also includes advanced capabilities to increase usability, such as on-the-fly interpolation and multidimensional plotting.

Nuclear Thermal Propulsion

Parahydrogen Properties Version 05 Database Release for NTP Applications

Consistent modeling assumptions across any large project are crucial to minimize errors between different approaches. Use of consistent material and fluid properties across a large project supports consistent interpretation and application within modeling and simulation results as well as their relevancy to operational systems. NASA’s Space Nuclear Propulsion program dedicates extensive resources towards establishing consistent and, to the extent possible, accurate property databases for its internal staff and all external partners. This work highlights the extensive research performed to modernize the fluid property database of hydrogen which is the leading propellant option for in-space nuclear propelled spacecraft. Specifically, the parahydrogen spin state is of interest since the propellant is stored in a near normal boiling point liquid state which results in it consisting almost entirely of the parahydrogen spin isomer. This database tool has taken recent NASA work and modernized it into a python-based package for easy usage across all modeling entities. The package allows users to provide temperature and pressure pairs along with their desired output properties to yield results accounting for both real-gas and equilibrium dissociation effects while also sharing the default thermodynamic reference state provided by the National Institute of Standards and Technology (NIST) Standard Database 23. The suite also includes advanced capabilities to increase usability, such as on-the-fly interpolation and multidimensional plotting.

Nuclear Thermal Propulsion

Computational Workbench for Multibody Dynamics

PyCraft is a computer program that provides an interactive, workbenchlike computing environment for developing and testing algorithms for multibody dynamics. Examples of multibody dynamic systems amenable to analysis with the help of PyCraft include land vehicles, spacecraft, robots, and molecular models. PyCraft is based on the Spatial-Operator- Algebra (SOA) formulation for multibody dynamics. The SOA operators enable construction of simple and compact representations of complex multibody dynamical equations. Within the Py-Craft computational workbench, users can, essentially, use the high-level SOA operator notation to represent the variety of dynamical quantities and algorithms and to perform computations interactively. PyCraft provides a Python-language interface to underlying C++ code. Working with SOA concepts, a user can create and manipulate Python-level operator classes in order to implement and evaluate new dynamical quantities and algorithms. During use of PyCraft, virtually all SOA-based algorithms are available for computational experiments.

Edmonds, Karina