Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Python interface”

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 73 records · Page 4

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↗

Automated Detection of Spurious Signals in VLBI Phase Calibration Data

In this memorandum, a set of processing strategies for automatic masking of phase calibration tones is outlined as implemented in the software package PIMA in the task Generate Phase Calibration Mask, or GEPM. The task relies on a robust procedure of cleaning phase calibration data before employing several mathematical strategies designed to selectively identify spurious signals from phase calibration tones. These strategies were derived as more rigorous implementations of heuristics traditionally used by analysts in manually identifying problematic phase calibration data. The task is intended to automate the process of generating a phase calibration mask and in so doing increase the speed and regularity of VLBI analysis. At the outset of the project, a series of goals were identified to evaluate the success of this mask generation. This included the development of an algorithm to identify and mask short-term (defined as less than 10 seconds in length) spurious signals affecting phase calibration data, the development of an algorithm to identify and mask phase calibration tones affected by constant radio-frequency interference, the implementation of a detection scheme for identifying large jumps in phase calibration phase caused by clock breaks, and finally a method of reporting phase calibration health metrics to the user. Processing of over 10 experiments has demonstrated that the final form of the task GEPM as detailed in this technical memorandum satisfies each of these conditions and satisfactorily performs the task of automatic phase calibration data masking, although the wide variety in quality and characteristics of phase calibration data makes a single solution to the problem quite difficult. A series of user inputs have therefore been defined to assist analysts in tailoring automatic masking to specific stations and phase calibration generators. The vast majority of applicable code was written in FORTRAN to increase execution speed and ease of interfacing with the existing code base in PIMA, but a wrapper function in Python was also written to allow for a simpler method of interacting with GEPM and inputting relevant parameters. In addition to this report, thorough documentation was added to the already existing repositories associated with PIMA as a whole.

Geodesy↗

HAPI: An API Standard for Accessing Heliophysics Time Series Data

Heliophysics data analysis often involves combining diverse science measurements, many of them captured as time series. Although there are now only a few commonly used data file formats, the diversity in mechanisms for automated access to and aggregation of such data holdings can make analysis that requires intercomparison of data from multiple data providers difficult. The Heliophysics Application Programmer's Interface (HAPI) is a recently developed standard for accessing distributed time series data to increase interoperability. The HAPI specification is based on the common elements of existing data services, and it standardizes the two main parts of a data service: the request interface and the response data structures. The interface is based on the REpresentational State Transfer (REST) or RESTful architecture style, and the HAPI specification defines five required REST endpoints. Data are returned via a streaming format that hides file boundaries; the metadata is detailed enough for the content to be scientifically useful, e.g., plotted with appropriate axes layout, units, and labels. Multiple mature HAPI-related open-source projects offer server-side implementation tools and client-side libraries for reading HAPI data in multiple languages (IDL, Java, MATLAB, and Python). Multiple data providers in the US and Europe have added HAPI access alongside their existing interfaces. Based on this experience, data can be served via HAPI with little or no information loss compared to similar existing web interfaces. Finally, HAPI has been recommended as a COSPAR standard for time series data delivery.

Robert S. Weigel↗

SM25C-2002: Kamodo’s Satellite Constellation Mission Planning Tool

Kamodo provides a functional model-agnostic interface to a growing collection of Heliophysics model outputs. The CCMC, in collaboration with the Geospace Dynamics Constellation Science Team, has recently developed Kamodo’s satellite constellation mission planning tool to perform reconstructions in any pair of dimensions, including time. The ‘reconstruction’ tool enables users to fly any 4-dimensional grid of satellites through a given model data set, reconstructing what the given constellation would observe during the mission. This capability facilitates determination of what satellite configuration is best for a given science question, even allowing comparison across multiple models. This tool, written in Python, is built upon Kamodo’s flythrough tool, which in turn depends on a growing network of model-specific interfaces. Since each model interface is designed with model-agnostic syntax, the flythrough tool and the satellite constellation mission planning tool also feature model-agnostic syntax. In this work, we will describe the basic analysis choices available in the tool and provide a variety of sample workflows. The tool is freely available at https://github.com/nasa/Kamodo for the public. We invite the community to use the reconstruction tool and adapt the provided workflows for their mission planning, and to contribute their own workflows to share with others.

python↗

Kamodo’s Satellite Constellation Mission Planning Tool

Kamodo provides a functional model-agnostic interface to a growing collection of Heliophysics model outputs. The CCMC, in collaboration with the Geospace Dynamics Constellation Science Team, has recently developed Kamodo’s satellite constellation mission planning tool to perform reconstructions in any pair of dimensions, including time. The ‘reconstruction’ tool enables users to fly any 4-dimensional grid of satellites through a given model data set, reconstructing what the given constellation would observe during the mission. This capability facilitates determination of what satellite configuration is best for a given science question, even allowing comparison across multiple models. This tool, written in Python, is built upon Kamodo’s flythrough tool, which in turn depends on a growing network of model-specific interfaces. Since each model interface is designed with model-agnostic syntax, the flythrough tool and the satellite constellation mission planning tool also feature model-agnostic syntax. In this work, we will describe the basic analysis choices available in the tool and provide a variety of sample workflows. The tool is freely available at https://github.com/nasa/Kamodo for the public. We invite the community to use the reconstruction tool and adapt the provided workflows for their mission planning, and to contribute their own workflows to share with others.

software↗

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

Py MILab: Capturing, Analyzing and Storing Test Data

Integrated Computational Materials Engineering (ICME) has recently received widespread attention due to its promises in reducing dependence on physical testing for engineering design by relying on simulation, reducing both time and cost to market for various applications. ICME however requires validated multiscale material models, which is heavily dependent on available test data with full material and test pedigree, including material processing, test and measurement equipment, raw data collection, and analysis methodology and results. Populating searchable information management systems with such rich data sets is often burdensome for data producers, resulting in a lack of findable data for modelers to validate and verify their models. To overcome these cultural barriers to ICME, NASA has developed of various database-integration toolsets that perform both data management activities within the organization’s best practices with additional functionality that relieves the effort of the data producer and promotes adoption of information management system. One such tool currently under development is Py MILab, an automatic framework for automatic capturing, analysis, maintenance, and storage of material test data. Py MILab uses a modular approach for capturing raw data, analyzing the data, and storing the data in a database, interfaced by neutral file structures, to promote plug-and-play capabilities for various analysis types. TMAnalysis is a Python-based tool that performs automatic data reduction and analysis of uniaxial thermomechanical test data. The TMAnalysis toolset can be implemented within the Analysis module of Py MILab, and thus requires a populated neutral file form the Raw Data Module of Py MILab and outputs a Analysis neutral file compatible with the Database Module of Py MILab. TMAnalysis is able to perform automatic segmentation of multistage tests and perform data analysis and reduction, including determination of point-wise properties in tension, compression, and shear, analysis of stress relaxation tests, creep analysis and zone identification, and combination of these stage types for tests with complex loading histories. The TMAnalysis code is accompanied with a graphical user interface (GUI) that allows users to easily analyze test data in bulk, verify the automatic, consistent analysis performed by the backend code, and edit stage segmentation if necessary before producing the output neutral files, ensuring data is properly analyzed and maintained with full traceability.

Data management↗

Real-Time Exposure Control and Instrument Operation With the NEID Spectrograph GUI

The NEID spectrograph on the WIYN 3.5-m telescope at Kitt Peak has completed its first full year of science operations and is reliably delivering sub-m/s precision radial velocity measurements. The NEID instrument control system uses the TIMS package (Bender et al. 2016), which is a client-server software system built around the twisted python software stack. During science observations, interaction with the NEID spectrograph is handled through a pair of graphical user interfaces (GUIs), written in PyQT, which wrap the underlying instrument control software and provide straightforward and reliable access to the instrument. Here, we detail the design of these interfaces and present an overview of their use for NEID operations. Observers can use the NEID GUIs to set the exposure time, signal-to-noise ratio (SNR) threshold, and other relevant parameters for observations, configure the calibration bench and observing mode, track or edit observation metadata, and monitor the current state of the instrument. These GUIs facilitate automatic spectrograph configuration and target ingestion from the nightly observing queue, which improves operational efficiency and consistency across epochs. By interfacing with the NEID exposure meter, the GUIs also allow observers to monitor the progress of individual exposures and trigger the shutter on user-defined SNR thresholds. In addition, inset plots of the instantaneous and cumulative exposure meter counts as each observation progresses allow for rapid diagnosis of changing observing conditions as well as guiding failure and other emergent issues.

Arvind F Gupta↗

POST Explorer: A Design Space Exploration Tool for POST2

Recent improvements for the Program to Optimize Simulated Trajectories II (POST2) have included the development of an application programming interface (API). This API allows POST2 simulation inputs to be directly manipulated from other applications (such as MATLAB or Python), and the outputs from POST2 are streamed directly to the external application that enables visualization, data manipulation, etc. Through this framework, a new tool called POST Explorer is being developed that provides a user the capability to modify the simulation inputs and interrogate the outputs within the same application, with raw data inspection and visualization embedded. This tool can be leveraged for multiple types of analyses, such as parametric sweeps and sensitivity studies, and will be available with a future release of the POST2 software.

Robert Anthony Williams↗

POST Explorer: A Design Space Exploration Tool for POST2

Recent improvements for the Program to Optimize Simulated Trajectories II (POST2) have included the development of an application programming interface (API). This API allows POST2 simulation inputs to be directly manipulated from other applications (such as MATLAB or Python), and the outputs from POST2 are streamed directly to the external application that enables visualization, data manipulation, etc. Through this framework, a new tool called POST Explorer is being developed that provides a user the capability to modify the simulation inputs and interrogate the outputs within the same application, with raw data inspection and visualization embedded. This tool can be leveraged for multiple types of analyses, such as parametric sweeps and sensitivity studies, and will be available with a future release of the POST2 software.

Anthony Williams↗

System and Method for Providing a Climate Data Analytic Services Application Programming Interface

A system, method and computer-readable storage devices for providing a climate data analytic services application programming interface. The system includes a programming library that enables client device software to invoke the capabilities of a climate data analytics system through requests to various services supported by the climate data analytics system, and also includes a client-side communications interface that enables the programming library's methods to interact with a climate data analytics system's server interface to obtain access to the capabilities of the system. In one implementation, the programming library is implemented in the Python programming language. The programming library can include basic utilities that call a single, server-side method implemented by one of the various services supported by the climate data analytics system, and extended utilities that call a series of basic utilities and/or other extended utilities that have been placed under programmatic control in order to create client-side convenience methods and workflows.

Schnase, John L.↗

Europa Clipper Payload Verification and Validation: Avionics-Instrument Interface Test Campaign

NASA's Europa Clipper mission will investigate Jupiter's icy moon Europa using a payload suite consisting of nine instruments to address a range of scientific objectives concerning Europa's habitability. As the project proceeds past its Critical Design Review, confidence is being built in the system's ability to achieve mission objectives through the implementation of a rigorous payload verification and validation (V&V) program. As part of this payload V&V program, instrument box-level testing was performed by the payload team to verify select instrument-avionics interface requirements. This testing was performed at JPL using the avionics testbed's Bulk Data Storage Emulator (BDSEM) with visiting instrument Test Models. This paper summarizes the Data Link test campaign involving roughly four days of functional testing per instrument, including planning, testing methods, types of issues found, and the requirement closure process. Detail is also provided on the development, deployment, and validation of a standardized analysis tool used in data reviews. This testing verified requirements related to commanding rates, loss of link, packet format, clock counters, loopback test capability, and SpaceWire jitter and skew margins. Additional risk reduction testing of basic commanding, counter behavior, science data collection and transfer, and interface swapping was also performed. Because the BDSEM venue was not originally designed to be a run for record venue, the process of characterizing venue fidelity and establishing suitability for requirement closure using data collected in this venue will also be addressed.In order to close requirements, an extensible tool was developed to post-process instrument command and telemetry data from their original binary to a human-readable format and give visibility to errors detected within the data, such as packets with Cyclic Redundancy Check errors. This tool, called payload-packet-parser, is a Python 3.9 command line tool built using a variety of open-source Python libraries. Payload-packet-parser was designed to support parsing command and telemetry packets for all Europa Clipper instruments and additional analysis tools were developed for verification of specific information interface requirements. This test campaign, including post-processing using a single parsing and verification toolset, allowed for early interface testing, alleviating testing burdens on instrument teams and buying down risk on the instrument-avionics interface by finding hardware and software issues and idiosyncrasies prior to integration with system test venues. Over twenty issues were discovered across the payload, resulting in software updates and instrument rework well in advance of any system impacts. This paper concludes with an assessment of benefits and costs of this type of testing and lessons learned.

Montanez, Leticia↗

The InSAR Scientific Computing Environment 3.0: A Flexible Framework for NISAR Operational and User-Led Science Processing

The InSAR Scientific Computing Environment (ISCE) was first developed under the NASA Advanced Information Systems Technology as a flexible, extensible object-oriented framework for Interferometric Synthetic Aperture Radar (InSAR) processing. The ISCE framework uses Python 3 at the workflow level, controlling modules of compiled code for functional processing, and managing inputs, outputs, and other flow control services. The currently released version, called ISCE 2.1, is distributed to the research community through the Western North America InSAR Consortium under a research license. The ISCE team is working on the next generation of the code in order to prepare for the NASAISRO SAR (NISAR) mission operational processing. Innovations in this code include augmentation or conversion of the custom Python framework elements in ISCE with the Pyre framework, new workflows for interferometric and polarimetric stack processing, a more intuitive and graphically based user interface, and flow control for hybrid computing environments including CPU/GPU clusters, logging and error tracking facilities, and new more efficient computational modules that exploit graphical processor units (GPUs) when available. The ISCE 3.0 framework is designed to work in an operational environment as well as on a single user’s laptop or compute cluster, with services to discover capabilities and scale computations accordingly.

Buckley, Sean M.↗

Graphical User Interface (GUI) Implementation for Agent-Based Microbial Radiobiology Model

Sending human life past the Low Earth Orbit (LEO) to explore the Moon and Mars will be challenging. The Earth’s magnetic field naturally protects life from deep-space particle radiation such as Galactic Cosmic Rays (GCR) and Solar Particle Events (SPE); these will pose health risks to humans in deep space. Research has been done to investigate these effects, like BioSentinel, the first biological CubeSat to fly beyond the LEO, designed to culture yeast in a microfluidic device and record optical measurements of growth and metabolism. However, experiments can only report cell damage as bulk growth curves, while deep-space radiation causes damage that is heterogeneous among individual cells. AMMPER is an open-source, agent-based, computational model coded in Python to simulate the effects of deep-space radiation on individual yeast cells (Saccharomyces cerevisiae) to facilitate interpretation of biological radiation experiments. Version 1.0 of the code ran in a command line interface (CLI), limiting use to those familiar with modularization, object-oriented programming, and computational models. Here we present a graphical user interface (GUI) for AMMPER to increase its accessibility. GUI development included converting input points and UI files, designing an application and logo, and expanding program packages. Additionally, we added optical assistance that corresponded with simulation parameters, which included simulation type, cell type, ROS model, and radiation dosage, as well as customizable display and file exportation features. Following a pilot testing period, its structure was updated further to enhance abilities, adding increased runs, video visualization, data plotting, and an educational/tutorial component. Future work will include creating a bit installer and runtime environment for AMMPER. Ultimately, the creation of the GUI has two main goals: to facilitate the integration of computational models into the work of researchers in microbial radiobiology, and to act as an interactive and visual resource for space biology education.

yeast↗

Development of a Display Tool to Quality Control Weather Balloon Data for Space Launch Vehicles Using Python

Continuous atmospheric data analysis is an important factor for space launch vehicle design and operations. The balloon quality control tool was developed by NASA’s Marshall Space Flight Center (MSFC) Natural Environments Branch (NEB) for monitoring quality control processes and verifying the automated flags created on the balloon data sets analyzed. The data sets currently analyzed are comprised of high-resolution and low-resolution balloon data from NASA Kennedy Space Center (KSC), co-located on the United States Air Force’s Eastern range (ER) at the Cape Canaveral Air Force Station. The NEB was tasked to perform a quality assessment of these data sets and needed a tool to confirm the quality control (QC) flags produced from an automated process and add additional QC flags if necessary. This Graphical User Interface (GUI) was developed to visualize all of the data from these balloon sets, display any flags from the automated QC process, and add additional flags to variables if necessary. The GUI was developed in Python 3.6 utilizing different packages available such as pandas for data analysis and manipulation, NumPy for high-performance multidimensional array and tools to compute with and manipulate arrays, Matplotlib for plotting data and Tkinter to build the GUI.

Jessica K Headley↗

HURON (HUman and Robotic Optimization Network) Multi-Agent Temporal Activity Planner/Scheduler

HURON solves the problem of how to optimize a plan and schedule for assigning multiple agents to a temporal sequence of actions (e.g., science tasks). Developed as a generic planning and scheduling tool, HURON has been used to optimize space mission surface operations. The tool has also been used to analyze lunar architectures for a variety of surface operational scenarios in order to maximize return on investment and productivity. These scenarios include numerous science activities performed by a diverse set of agents: humans, teleoperated rovers, and autonomous rovers. Once given a set of agents, activities, resources, resource constraints, temporal constraints, and de pendencies, HURON computes an optimal schedule that meets a specified goal (e.g., maximum productivity or minimum time), subject to the constraints. HURON performs planning and scheduling optimization as a graph search in state-space with forward progression. Each node in the graph contains a state instance. Starting with the initial node, a graph is automatically constructed with new successive nodes of each new state to explore. The optimization uses a set of pre-conditions and post-conditions to create the children states. The Python language was adopted to not only enable more agile development, but to also allow the domain experts to easily define their optimization models. A graphical user interface was also developed to facilitate real-time search information feedback and interaction by the operator in the search optimization process. The HURON package has many potential uses in the fields of Operations Research and Management Science where this technology applies to many commercial domains requiring optimization to reduce costs. For example, optimizing a fleet of transportation truck routes, aircraft flight scheduling, and other route-planning scenarios involving multiple agent task optimization would all benefit by using HURON.

Hua, Hook↗

Microbial Optical Data Processing: A Key Step in the Metabolic Assessment of Lunar Explorer Instrument for Space Biology Applications (LEIA) and Biosentinel’s Payload Data

The BioSensor payload platform on BioSentinel and LEIA autonomously collects optical data from microbial model organisms in liquid culture. The BioSensor is designed to monitor metabolic activity using absorbance measurements of cell density and alamarBlue, a readily available colorimetric redox indicator dye. BioSentinel, a pioneering NASA CubeSat, uses yeast to study deep space radiation. LEIA investigates radiation and lunar gravity response. The experimental setup includes 16 wells equipped with three LEDs (570, 630, and 850 nm) and their corresponding photodetectors. One well is a calibration control without biology while the rest have desiccated cultures. Autonomous rehydration initiates the experiment. Data from the BioSensor are received from the flight and ground units, enabling comparison to uncover location-based metabolic rate variations. This study presents a Python Jupyter notebook developed for efficient data processing of multiple CSV files containing date and time columns, temperature, and well illumination data. It offers a user-friendly interface while maintaining computational power, automatically recognizing and iteratively processing data files in a user-input path. A Hampel filter with a short window eliminates outlier artifacts from sensor dropout. Because absorbance is a relative measurement, conversion from raw illumination requires defining a “blank” value, so the first data points are averaged to provide the necessary denominator. A cube-root function correction mitigates undesired drift caused by air pockets during the fluidic card filling phase, maintaining optical path length consistency. Beer-Lambert's law is applied to further convert absorbance values to cell and dye form concentrations, the desired science parameters. The processed data are saved and visualized as SVG plots. Future plans include extracting specific science parameters from the processed data like growth rate and metabolic rate, and identification of features corresponding to metabolic and phenotypic shifts such as starvation, shifts from aerobic to anaerobic growth, and osmotic stresses.

Space biology↗