Search NASA⌕ Search

SEARCH · Search NASA

Results for “Python”

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 1,081 records · Page 60

Machine Learning Prototype App For Recognition of Fruits

As the incidence of obesity and associated negative health consequences is rising, it becomes crucial to monitor the dietary choices of individuals. Unfortunately, traditional methods to collect this information involve collecting food frequency questionnaires from individuals using paper. Electronic food trackers have been developed to collect food data, but they require participants to manually label and describe the content of their meals, and which may be difficult for researchers to interpret in a standardized fashion. Machine learning, however, provides an easy and efficient method for both participants and researchers to label food items with standardized descriptions. This project aims to create a prototype phone application that can identify and label photos of apples. This is done by making a machine learning model through Turicreate, a python module, which is then implemented into an iOS app through Xcode and Swift. The modules used in Swift include CoreML and AVFoundation. This machine learning application will be incorporated with a MealLogger phone app that is also under development. The MealLogger app will be used to keep track of participants' calorie intake and other personal details throughout the sleep study. The machine learning model will present several potential identities of the foods found in the photo, and the user will only need to select the correct option. This will be a user-friendly method for participants to easily log their food consumption without the hard work of manually inputting each and every description. Some limitations to this project include the wide variety of food, including those within different cultures. To deal with this, the model will include the most generic food categories, which the participant may select, and produce a drop-down menu of more specific dishes under that specified category, with the option of self-input. Additional questionnaires may be implemented according to the food type selected This will allow the process to be quick and easy, but also specific for the purpose of analysis. The release of the application will require a much longer process, but the machine learning prototype presents a first step toward an application that may change data analysis for researchers interested in collecting food intake from individuals living in the real world.

Food tracker↗

Analysis of Mercury Laser Altimeter Crossovers with Improved Mercury and MESSENGER Ephemerides

Based on previous applications of laser altimetry to planetary geodesy at GSFC [Mazarico et al. (2014),(2016)] and taking advantage of new accurate Mercury and MESSENGER orbits by [Genova et al. (2019)], we analyze altimetric crossovers from the MESSENGER (Mercury Surface, Space Environment, Geochemistry and Ranging) Laser Altimeter (MLA) to solve for orbital and geodetic parameters (e.g., rotation and orientation). We present our results based on a new Python software package recently developed at GSFC that can simulate and process altimetry data in a closed-loop. Realistic simulations of MLA data, including an appropriate range noise from the instrument and realistic terrain roughness, are performed in order to fully characterize the robustness of the solution. The simulation results are then applied to our analysis of the full dataset acquired by the MLA instrument.

Bertone, Stefano↗

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.↗

An Automated Behavioral Analysis of Drosophila Melanogaster

Behavioral characteristics of D.melanogaster are strongly influenced by intrinsic and extrinsic factors, allowing scientists to assess how changes in physiology or environment manifest into behavior. Conversely, assessing changes in behavior of specimens provides valuable information about how the physiology of that organism responds to external changes. In this project, we developed a computer program to automate behavioral analyses of larvae and adult D. melanogaster aboard the International Space Station using on-board video recordings. Utilizing freely available libraries for Python, we set parameters to compute the number of animals, amount of locomotion as distance or movement, and the change in the perimeter of the larvae's outer shape to quantify behaviors such as curling or peristaltic full body wall contractions. Results show that our program is an efficient tool for analysis of larvae and adult locomotive behavior, thus providing scientists with a low-cost, efficient, and reliable method of quantifying behavioral data.

Zavaleta, Jhony↗

Flood Mapping of Recent Major Hurricane Events with Synthetic Aperture Radar, Commercial Imaging, and Aerial Observations

Floodwater mapping is an important remote sensing process that is used for disaster response, recovery, and damage assessment practices. Developing a system to read in Synthetic Aperture Radar (SAR) data and perform land cover classification will allow for the production of near real-time inundation mapping, enabling government and emergency response entities to get a preliminary idea of the situation. SAR is a unique remote sensing tool. Data in this project was obtained by NASA Jet Propulsion Laboratory’s Uninhabited Aerial Vehicle SAR (UAVSAR), an L-band radar mounted to a Gulfstream III jet. Data collected by UAVSAR is similar to what will be available from the NASA-Indian Space Research Organization (NISAR) mission starting in early 2022. Using Python and ArcGIS applications, a model was developed using training samples taken from NOAA post-event aerial photography and UAVSAR data gathered in the aftermath of Hurricane Florence in September 2018.

Melancon, Alexander M.↗

Software Tool for Tracking & Mapping the NASA Orion AA-2 Test Flight Ejectable Data Recorders in Real Time

On 2 July 2019, the NASA Ascent Abort 2 flight took place off the Florida coast to test the emergency systems to separate the Orion Crew Module (CM) from the future Space Launch System rocket in the event of a malfunction. During this high-altitude test, instrumentation data was recorded on twelve customized buoyant Ejectable Data Recorders (EDRs) and subsequently jettisoned from the CM in mid-air. Upon release, the EDRs activated their GPS-Iridium beacon systems and began transmitting Short Burst Data (SBD) messages via the Iridium satellite network to relay their individual location and system health information. To locate, track and retrieve each EDR from the ocean surface in real-time, multiple open-source programming tools (Python and Linux shells) were developed for parsing the incoming Iridium binary SBD messages. For this, a Linux laptop was used to receive the Iridium-generated emails containing the SBD messages and autonomously execute the parsing tools. The received SBD data contained location, timestamp and health status information that was translated, saved, and subsequently used for simultaneously generating a continuously updated color-coded tabular display summary and unique KML files used with Google Earth to track their locations. Once their locations were known, dedicated recovery vessels retrieved all EDRs from the ocean. An additional tool was also developed in order to generate 5- and 10-minute geolocation predictions for each EDR by deriving the displacement distance, elapsed time, displacement heading and velocity based on the latest known information available. The recovery vessels were also tracked with the use of a separate commercial GPS beacon system. After jettison, 67% of the EDRs transmitted valid data by the time they were retrieved from the ocean. However, the real-time information presented by the plotting tool allowed for the ready depiction of EDR dispersal patterns and reference drift trajectories, which contributed to the recovery of all twelve EDRs and the AA-2 flight data. Lastly, the available data showed that the distance between the software’s reported drift/predicted locations and the recovery locations did not exceed 38 meters, therefore demonstrating the advantages of this software tool for supporting real-time tracking and recovery efforts of beacon devices.

Moxey, Lucas↗

Citizen Science Twitter Data Management for Earth Science Applications

Social media data can provide useful real-time and historical information relating to the natural world, but managing this data poses challenges. Scientists at GES DISC are exploring the potential of Twitter data to augment precipitation data from the Global Precipitation Measurement (GPM) mission. However, the format of Twitter data is unconventional in the context of NASA data centers, resulting in frustration for scientists who need to work with the data. This study investigated procedures and standards needed to properly manage Twitter data to make them compatible with these data centers. After comparing databases, the study found that the MongoDB database was best suited for the storage of raw Twitter data due to its flexibility, ability to be accessed by multiple users, and querying functionality. The study used the Python package Zarr to transform processed Twitter data into a gridded format similar to that of satellite data. Each Tweet was mapped onto a time-space grid; each grid location contained information about Tweet attributes and precipitation. The study developed a pipeline for downloading, storing, and gridding Twitter data and transformed Twitter data into an understandable format for users of NASA satellite data.

Li, Rachel↗

Single Board Computer Radiation Test Results and Radiation Test Software

Single Board Computers (SBCs) are quickly evolving and gaining capability as their cost comes down. As their footprints, cost, and power requirements decrease, their processing power increases. This makes them very attractive for use on space missions and an enabling technology as spacecraft size decreases and computational demand increases. One of the major challenges electronics face in the space environment is radiation. In 2019, the NASA Johnson Space Center (JSC) tested a selection of SBCs to low Earth orbit (LEO) radiation levels and evaluated their susceptibility and survivability. For this test campaign, JSC developed a Python software suite to better characterize the SBCs performance and intends to share the software.

Pedrotty, Samuel M.↗

Bringing Analysis Closer to Data: Developing a Visualization Tool for L2 Earth Science Satellite Data

Earth Science satellite missions provide a unique opportunity for scientists to visualize complex and multifaceted observations projected geospatially across maps of the Earth. While visualization tools can help scientists comprehend, analyze, and share data, visualizing Level-2 Earth Sciences data poses its own specific set of challenges. Since the geospatial information in Level-2 data files is stored as independent variables, the plotting process involves matching dimensional information from latitude and longitude with a desired variable. Variables are stored in different ways across various Earth Science data file formats, which complicates the process of extracting data and plotting variables from a given file without requiring extensive user input and prerequisite familiarity with the file type variable structure. In coordination with NASA’s Goddard Earth Sciences Data Information Services Center (GES DISC), the team developed a Level-2 Earth Science data visualization tool that aims to address some of the complexities associated with plotting Level-2 data. This tool offers command-line and user interface support for file and variable selection to accommodate varying use cases and degrees of user familiarity with the structure of a given file. The visualization tool is written in Python 3 and utilizes a modular approach to facilitate continued expansion and reuse. In addressing some common complications involved in plotting Level-2 Earth Sciences data, the tool aims to help to link the process of analysis more directly with data acquisition and visualization, bringing analysis closer to data across levels of processing.

Li, Angela W.↗

Julia Programming Language Benchmark Using a Flight Simulation

Julia’s goal to provide scripting language ease-of-coding with compiled language speed is explored. The runtime speed of the relatively new Julia programming language is assessed against other commonly used languages including Python, Java, and C++. An industry-standard missile and rocket simulation, coded in multiple languages, was used as a test bench for runtime speed. All language versions of the simulation, including Julia, were coded to a highly-developed object-oriented simulation architecture tailored specifically for time-domain flight simulation. A “speed-of-coding” second-dimension is plotted against runtime for each language to portray a space that characterizes Julia’s scripting language efficiencies in the context of the other languages. With caveats, Julia runtime speed was found to be in the class of compiled or semi-compiled languages. However, some factors that affect runtime speed at the cost of ease-of-coding are shown. Julia’s built-in functionality for multi-core processing is briefly examined as a means for obtaining even faster runtime speed. The major contribution of this research to the extensive language benchmarking body-of-work is comparing Julia to other mainstream languages using a complex flight simulation as opposed to benchmarking with single algorithms.

Sells, Ray↗

The Ultimate Solar Azimuth Formula: A Note on the Formula that Renders Circumstantial Treatment Unnecessary and an Update Of the Ephemerides to that of The Astronomical Almanac for the Year 2019

A conceptually and mathematically concise formula for computing the solar azimuth angle has been used by a subgroup of scientists, but for lack of documentation and publication, it has not been well circulated. This note introduces this formula which is based on the idea of a unit vector, 𝑺, originating from the observer’s location and pointing toward the center of the Sun. The vector is completely determined by the coordinates of the subsolar point and of the observer. The x-and y-components of the vector determine the solar azimuth angle, and their use along with the function atan2, which is available in a number of programming/scripting languages, including Fortran and Python, renders any circumstantial treatment absolutely unnecessary. The z-component of the vector, at the same time, determines the solar zenith angle.

Taiping Zhang↗

Cross-Cutting Computational Modeling Project: Exploration Medical Station Analysis

Astronauts will be away from Earth-based medical care for long periods during future exploration missions. Thus, it will be necessary for the astronauts to perform various medical tasks to monitor and maintain their health in the microgravity environment of space. Performance of these tasks will be constrained due to the limited volume available to perform the task, the absence of gravity and the limited resources and capabilities available in the medical work area. It is therefore necessary to evaluate exploration medical workstation designs for how well the designs will support crew performance of medical tasks. This evaluation featured two trained medical caregivers (99th percentile male, 26th percentile female) performing emergent care procedures (alone and in tandem) on a medical manikin. The procedures came from the The procedures came from the International Space Station Medical Checklist, and they are designed for spaceflight. The objectives of the evaluation included determining the operational volume required to perform the tasks, examining the effect of constraining the operational volume with partitions, determining candidate locations for foot restraints and equipment placements and determining the effect of single vs. dual caregiver on the operational volume.A marker-based motion capture system collected the motion data, which enabled computation of operational volumes and foot placement maps using custom Python code. Additional data collected included heart rate, time to perform the procedures, and feedback from the caregivers in the form of the NASA Task Load Index (TLX), the US Government System Usability Survey, and an open-ended questionnaire.

Christopher A Gallo↗

TPSAS-NF1676L-32060-DND

All previous PSP testing done in the Unitary Plan Wind Tunnel (UPWT) have required a significant amount of manual operation of the system. This has resulted in decreased testing efficiency and precluded the ability to provide near real-time data analysis to the customer. The overall goal of this project is to integrate the PSP data acquisition system into the supersonic UPWT data acquisition system (DAS) and create an adaptive software platform from which PSP data acquisition can be triggered by the tunnel and critical testing conditions can be recorded in real time for rapid analysis of the PSP data. This analysis includes the mapping of up to eight camera views onto a surface grid for analysis and converting to pressure using parameters supplied by the DAS. To fully implement this solution, communication must first be established between the Unitary DAS and the PSP DAS. This will be done by employing multiple scripts written in Python and C++ and implemented on a Linux cluster. These will be demonstrated and refined on an upcoming test (December 2018), and the successful completion will result in the ability to have automatic collection of PSP images and near real-time analysis capabilities.

Juliette Eddins↗

A Machine-Learning Approach to Assess Aircraft Engine System Performance

Artificial intelligence (AI)/machine learning, and big data are transforming the global business environment. They have become the most disruptive technologies for organizations to improve workplace efficiency and productivity. This work explored the application of machine learning-based predictive analytics that would enable aircraft engine designers to estimate engine system performance quickly during the conceptual design stage. Supervised machine-learning algorithm was employed to study patterns in an existing database of production and research turbofan engines, and built predictive analytics for use in predicting system performance of new turbofan designs. Specifically, the author developed deep-learning analytics to predict turbofan system weight, using turbofan design parameters as the input. The predictive analytics were trained and deployed in Keras, an open-source neural networks API (application program interface) written in Python, with TensorFlow (an open-source artificial AI library developed by Google) serving as the backend engine. The current engine-weight prediction results, together with those for the TSFC (thrust specific fuel consumption) and core-size predictions that were studied previously by the author, show that machine learning-based predictive analytics can be an effective, time-saving tool for aircraft engine design-space exploration during the conceptual design stage. It would enable expeditious identification of the best engine design amongst several candidates.

Michael T Tong↗

Exit Presentation - Jared Ruzicka

The exit presentation provides an in depth examination of Spring 2020 NIFS intern, Jared Ruzicka’s, work on POST2 including creation of a module containing heritage aerodatabases and manual automation. The aerodatabase module incorporates a variety of legacy fortran and .dat aerodatabases into a POST2 module with example inputdecks verified by MATLAB mex files for 3 and 6 DOF simulations in nominal and dispersed conditions. The manual automation project discusses the transfer of the POST2 User’s Manual from word documents to text-based markdown files and the process through which a python script converts the manual to a PDF with improved formatting and compliance potential in a fraction of current manual generation time.

Jared Ruzicka↗

Radiation-Hard Parallel Readout Circuit for Low-Frequency Voltage Signal Measurements

NASA Goddard Space Flight Center (GSFC) has successfully developed and tested a custom-designed low-noise multi-channel digitizer (MCD) application specific integrated circuit (ASIC) for operation in harsh radiation environments. The MCD-ASIC is optimized for low-frequency and low-voltage signal measurements from sensors and transducers. It has 20 input channels where each channel is comprised of auto-zeroed chopper variable-gain amplifier, post amplifier, and a second order ∑∆ modulator. ∑∆ analog-to-digital converter (ADC) relies on oversampling and noise shaping to achieve high-resolution conversion. However, the MCD-ASIC requires digital filtering and decimation to convert the output single bit streams from the ADC to useful data words. A parallel digital platform such as a field-programmable-gate-array (FPGA) is highly suitable to fully leverage the capabilities of the MCD-ASIC. The FPGA controls the MCD-ASIC via serial peripheral interface (SPI) protocol and acquires data from it. A Python-script communicates with the FPGA board through a USB interface on a cross operating platform. Using this architecture, the system is capable of monitoring up to 20 voltage readout channels simultaneously in a real-time manner. Each channel’s parameters can be programmed independently allowing maximum user versatility. In this paper, we present analysis of the analog front-end, the implementation of the digital processing unit on the FPGA, and provide noise performance results from the MCD-ASIC readout.

ASIC↗

Implementing Geometric Surface Imperfections into Sandwich Composite Cylinder Finite Element Method Models

The buckling responses of certain cylindrical shell structures are extremely sensitive to geometric surface imperfections. The NASA Engineering and Safety Center (NESC) Shell Buckling Knockdown Factor Project (SBKF) is conducting research to develop analysis-based buckling design recommendations. Experiments are used to verify the analysis-based factors, but the sensitivity of the test articles to geometric imperfections requires implementing as-manufactured imperfections into high-fidelity finite element method models. Data collection methods such as structured light scanning are used for all geometric surface data used in this work. Common preprocessing and visualization steps used in SBKF are discussed, and steps on how surface scans are prepared for implementation into a finite element model is described. The Python Tool for Implementing Geometric Imperfections in Reduced Structures (Py_TIGIRS), written specifically for the use with SBKF, is briefly described and uses eight functions to extract, modify, and write geometric imperfections into Abaqus input files. Results of the pre-processing methods and results from Py_TIGIRS are provided and compared for Composite Test Article (CTA) 8.2B. Excellent agreement between the visualized scan data and the FEM-extracted geometry is demonstrated. A brief example of why geometric surface imperfections are significant in nonlinear numerical analyses for thin cylinders in axial compression is provided as motivation to use tools such as Py_TIGIRS. Future development of Py_TIGIRS including expansion to structures of arbitrary geometry is planned.

Sandwich structures↗

Building a Real-Time Flood Prediction Model for Improving Early Warning Systems in Ellicott City, Maryland

As flood events in the United States grow in frequency and intensity, the use of applied remote sensing analyses is increasingly necessary for effective flood monitoring and warning systems. The NASA DEVELOP National Program partnered with the local government of Howard County, Maryland, to investigate the use of machine learning for advanced flood risk detection, and to test the feasibility of integrating this approach into the county’s flood early warning system. To strengthen the efforts of the Howard County Office of Emergency Management (OEM), the project developed a statistical model capable of hindcasting the two severe flash flood events that devastated Ellicott City and transitioned to a ‘Long Short-Term Memory’ based sequence-to-sequence deep learning model with 8-hour forecast capability. The team combined data inputs from public sources including river and precipitation gauges, NASA and NOAA Earth observations, and numerical weather model products using scripts written in the Google Colaboratory Python scripting environment. In addition to designing the deep learning architecture, the team trained and tested the model, and evaluated its performance using Nash-Sutcliffe Efficiency. The final product, the Sequentially Trained Real-time EstimAted Model (STREAM) predicts stage height for the Hudson Branch gauge in Ellicott City using data products available in near real-time, including the High-Resolution Rapid Refresh model’s accumulated precipitation forecasts supplemented by stream gauge data from the OEM and the U.S. Geological Survey. STREAM was incorporated into an online dashboard in a user-friendly interface capable of triggering the alarms that initiate emergency response protocols up to 8 hours in advance of a predicted severe flood event. The project demonstrated the potential for the integration of open data and Earth observations into a flood risk forecasting tool capable of informing near real-time decision making.

NASA DEVELOP↗