Search NASA⌕ Search

SEARCH · Search NASA

Results for “Programming Languages”

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 721 records · Page 40

User Manual for Physical Scalars and Plotting Tools in Scala

An open-source scalar package and associated software tools have been developed in the Scala programming language, including plotting tools based on the free GRACE plotting package. The scalar package represents physical scalars and can help to prevent errors involving physical units in engineering and scientific computation. The scalar package includes a complete implementation of the standard SI metric system of units and many common non-metric units. The design also allows users to easily de ne a specialized or reduced set of physical units for any particular application or domain. The scalar package can be used in two different modes: one mode provides unit compatibility checking but is slower, and the other mode bypasses the compatibility checks but is much faster and still prevents the most common type of unit error. Switching between the two modes requires no changes in the user's code, making it convenient and usable with no significant performance penalty for even the most computationally intensive applications.

Paielli, Russell A.↗

PYSAT: Python Satellite Data Analysis Toolkit

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

Stoneback, R.A.↗

Computational Approaches to Simulation and Optimization of Global Aircraft Trajectories

This study examines three possible approaches to improving the speed in generating wind-optimal routes for air traffic at the national or global level. They are: (a) using the resources of a supercomputer, (b) running the computations on multiple commercially available computers and (c) implementing those same algorithms into NASA’s Future ATM Concepts Evaluation Tool (FACET) and compares those to a standard implementation run on a single CPU. Wind-optimal aircraft trajectories are computed using global air traffic schedules. The run time and wait time on the supercomputer for trajectory optimization using various numbers of CPUs ranging from 80 to 10,240 units are compared with the total computational time for running the same computation on a single desktop computer and on multiple commercially available computers for potential computational enhancement through parallel processing on the computer clusters. This study also re-implements the trajectory optimization algorithm for further reduction of computational time through algorithm modifications and integrates that with FACET to facilitate the use of the new features which calculate time-optimal routes between worldwide airport pairs in a wind field for use with existing FACET applications. The implementations of trajectory optimization algorithms use MATLAB, Python, and Java programming languages. The performance evaluations are done by comparing their computational efficiencies and based on the potential application of optimized trajectories. The paper shows that in the absence of special privileges on a supercomputer, a cluster of commercially available computers provides a good option for computing wind-optimal trajectories for national and global air traffic system studies.

Ng, Hok K.↗

Tuning the Performance of a Computational Persistent Homology Package

In recent years, persistent homology has become an attractive method for data analysis. It captures topological features, such as connected components, holes, and voids from point cloud data and summarizes the way in which these features appear and disappear in a filtration sequence. In this project, we focus on improving the performanceof Eirene, a computational package for persistent homology. Eirene is a 5000-line open-source software library implemented in the dynamic programming language Julia. We use the Julia profiling tools to identify performance bottlenecks and develop novel methods to manage them, including the parallelization of some time-consuming functions on multicore/manycore hardware. Empirical results show that performance can be greatly improved.

Persistent Homology↗

A Flexible Multibody Approach to Space Launch System Liftoff Pad Separation with Umbilical Disconnect

A flexible multibody dynamic framework is applied to the Space Launch System (SLS) liftoff Coupled Loads Analysis (CLA), enabling computational efficiencies and systematic inclusion of components and various nonlinearities. The objective of this work is to simulate the SLS liftoff transient pad separation event inclusive of umbilical disconnects. The vehicle stacking preloads and cryogenically induced preloads, due to the fueling of the Core Stage (CS), are integrated via specialized deformed coupling procedure to ensure full capture of the liftoff transient event. The Vehicle Stabilizer System (VSS) hydraulic struts are nonlinear and provide amplitude dependent damping, significantly contributing to the liftoff transient event. Ground Extensible Columns (EC) provide additional stiffness and preloads on the Mobile Launcher (ML), also significantly contributing to the liftoff transient. An advanced Henkel-Mar algorithm, with separation and re-contact, thus tracking the potential post separation re-contact between the booster aft skirt and ML, the umbilicals and vehicle, and ground EC separation. For this system level nonlinear dynamic simulation, the flexible multibody framework provides a systematic approach for the addition of component specific algorithms to enforce nonlinearities. This multibody framework is similar to an object-oriented programming language integrating classes of associated subroutines. As such, the complexities associated with the nonlinear CLA are greatly reduced, facilitating simplified bookkeeping as well as accelerating the execution of the nonlinear time-domain simulations.

Joel W Sills Jr.↗

The Cosmic Radiation Symphony: Soundtrack for a Journey to Mars

Space radiation (SR) is a constant threat to astronauts who journey away from the Earth’s protective magnetosphere. Galactic cosmic rays (GCR) are atomic nuclei from remnants of supernovae and are omnipresent in outer space. These ionized particles travel close to the speed of light and when they traverse biological material,they leave behind a path of damage. Another space radiation threat is from our sun when solar particle events (SPEs), or bursts of energetic protons,occur. Exposure to space radiation can lead to cancer, cardiovascular disease,immune dysfunction, and cognitive and behavioral decrements. Yet humans cannot see, smell, taste, hear,or feel radiation, making it less tangible than other health threats and much more difficult to describe.This is an important gap in risk communication that the Space Radiation Element is working to close within NASA’s Human Research Program. Music and art are powerful means of communicating human emotions and feelings and are effective and creative ways to convey other types of information. In this work, the sonification process was used to transcribe or translate the physical nature of the SR environment on a 3-year mission to Mars into sound, a format perceptible to the human ear. A visual representation for the journey was also developed so the audience can both hear and envision the chronic presence of GCR and the acute and large bursts of energy present in SPEs. Data for this project were derived from the Radiation Assessment Detector on the NASA Curiosity Rover during its outbound cruise to Mars and on the Martian surface, as well as from models of the space radiation environment behind spacecraft shielding. Our data-driven audiovisual composition was realized using custom programmed digital signal processing and graphic design in the programming languages Pure Data and Processing. The data sonification was contextualized in time and space by calculating and visualizing the location of the spacecraft in relation to the other planets during the Mars mission. The finished work is a unique and powerful means of communicating the presence and risk of space radiation, accessible by people of all ages and scientific backgrounds

Richard Snow↗

A Modified Algorithm and Open-Source Computational Package for the Determination of Infrared Optical Constants Relevant to Astrophysics

Infrared (IR) telescopes, such as Spitzer and SOFIA, have revealed a rich variety of chemical species trapped in interstellar ices. The most fundamental parameters to be derived from observed IR spectra are the identity and abundance of each component. Several compounds have been conclusively or tentatively identified, but the band strengths and optical constants needed to derive accurate abundances for many of these are poorly constrained. We have developed a modified approach to the extraction of the real and imaginary parts of the refractive index (optical constants) of a thin film from a single transmission spectrum measured in the IR spectral range. Our algorithm is similar to those implemented by previous authors, with some major changes that yield results for strong absorptions where previous approaches fail: (1) an adaptive k-correction step size, (2) the use of a root-finding algorithm to obtain a more accurate k-correction at each iteration, and (3) a k-correction step that prevents non-physical results such as negative n-values that prevent convergence in the calculation algorithm. The algorithm is presented and described, with examples to show agreement with some existing results and improvements upon others. New optical-constants calculations for CH3OH, CO2, N2O, and CH4 are presented, and potential implications for the modeling of interstellar and planetary ice data from space telescopes are discussed. With the objective of being open-source and transparent, the full source code in the free Python programming language is made available along with the compiled version and the laboratory data used to produce the results shown.

Perry A. Gerakines↗

Development of VBA Tool for Document Term Search

Employees throughout different agencies such as NASA, have identified that the search of determined terms/words through documents, consume substantial research time of such. These types of searches are substantially limited towards one word in a one document identification; forward one, these usual types of searches lack efficiency & optimization through research aspects of work. Consequently, this reflects in the decrease productivity during work hours etc. The application of VBA (Visual Basic for Applications) is the programming language of Excel, which was conducted for the development of optimized tool for document term search. The project enables the search of single & multiple word/term search through single format documents for paragraph data extraction.

Ssytems Development↗

An Ontology-Based Virtual Orrery

Tutorials in this technical memorandum explain how to use the Protégé ontology editor to import data from Excel and export data from Protégé in the JavaScript Object Notation Linked Data (JSON-LD) format then how to transform the JSON-LD file into variables for web apps. These tutorials apply JavaScript and R programming languages and 3D graphics libraries. Ontologies enable standardization, data sharing, and semantic interoperability. An ontology models a domain of knowledge as taxonomies of annotated classes, data properties, relational object properties, and inference rules. This technical memorandum includes a data dictionary for a subset of the Space Situational Awareness Ontology (SSAO).

Ontologies↗

Re-Engineering JPL's Mission Planning Ground System Architecture for Cost Efficient Operations in the 21st Century

Over the last several decades, engineers at JPL have developed a vast array of analytical tools to design missions to Earth orbit, the Moon, Sun, planets, and various bodies and beyond. In recent years, advances in computer hardware, modern programming languages, and the need for faster and more efficient operations for small missions have highlighted the need to streamline, consolidate, and generalize JPL's mission planning software. This paper summerizes ongoing efforts at JPL to re-engineer the mission analysis segment of the mission planning ground system architecture.The status and goals of new developments are discussed and specific examples of cost savings and improved productivity are provided.

software↗

Adventures in cFS Unit Testing: Examining the Past to Explain the Present with an Eye toward the Future

An overview of my experiences writing unit tests for various projects with a specific focus on my work unit testing core Flight System (cFS) applications. I recount some of the direct personal experiences I have had that showed me the utility of having done unit testing for my projects. Many of the tips, tricks and pitfalls encountered during my time writing unit tests for the cFS app, CF, are examined. I also compare and contrast my cFS unit testing development with that of a parallel project, in which I write unit tests using RSpec, a testing framework for the Ruby programming language. I impart my complete methodology behind the CF app unit testing effort and the rationale for why I did it that way. Then I give some ideas for how you can do your own unit testing for cFS applications. You will also learn about my hopes for how unit testing cFS applications can be done going forward from where we are now.

"unit testing"↗

A High-Performance Computing GNSS-aware Path Planning Algorithm for Safe Urban Flight Operations

The emergence and development of advanced technologies and vehicle types have created a growing demand for new forms of flight operations. These new and increasingly complex operational paradigms, such as Advanced and Urban Air Mobility (AAM/UAM), present regulatory authorities and the aviation community with several design-and-implementation challenges – particularly for highly autonomous vehicles. An overarching and daunting task is to develop protocols that can integrate these operations without compromising safety or disrupting traditional airspace operations. A shift toward a more predictive, autonomous, risk mitigation capability becomes critical to meet this challenge. This paper proposes and evaluates a computationally-efficient path planning approach to perform pre-flight planning and autonomous in-flight re-routing to minimize exposures to selected hazards. In our evaluation, hazards associated with degraded and missing critical GPS navigation data are considered. In this paper, we first present a high-performance computing path planning approach based on an adapted Bellman-Ford algorithm, developed in the CUDA programming language. Using the adapted path planning algorithm, we test this algorithm when encountering issues with GPS quality, and deliver an implementation that can produce flight paths that minimize exposure to risks, while maintaining a low computational burden. In our evaluation, the computation of periodic and aperiodic path updates are evaluated, prioritizing specific events as triggers for updates, based on changes to satellite availability. These critical events can lead to significant exposure to navigational hazards if not dealt with correctly.

GNSS↗

A High-Performance Computing GNSS-aware Path Planning Algorithm for Safe Urban Flight Operations

The emergence and development of advanced technologies and vehicle types have created a growing demand for new forms of flight operations. These new and increasingly complex operational paradigms, such as Advanced and Urban Air Mobility (AAM/UAM), present regulatory authorities and the aviation community with several design-and-implementation challenges – particularly for highly autonomous vehicles. An overarching and daunting task is to develop protocols that can integrate these operations without compromising safety or disrupting traditional airspace operations. A shift toward a more predictive, autonomous, risk mitigation capability becomes critical to meet this challenge. This paper proposes and evaluates a computationally-efficient path planning approach to perform pre-flight planning and autonomous in-flight re-routing to minimize exposures to selected hazards. In our evaluation, hazards associated with degraded and missing critical GPS navigation data are considered. In this paper, we first present a high-performance computing path planning approach based on an adapted Bellman-Ford algorithm, developed in the CUDA programming language. Using the adapted path planning algorithm, we test this algorithm when encountering issues with GPS quality, and deliver an implementation that can produce flight paths that minimize exposure to risks, while maintaining a low computational burden. In our evaluation, the computation of periodic and aperiodic path updates are evaluated, prioritizing specific events as triggers for updates, based on changes to satellite availability. These critical events can lead to significant exposure to navigational hazards if not dealt with correctly.

GNSS↗

An Interface Specification for Urban Air Mobility Performance Models to Support Air Traffic Management Research

Performance modeling of Urban Air Mobility vehicles in support of Air Traffic Management research poses new challenges. These aircraft often rely on a combination of fixed-wing and rotorcraft performance capabilities to enable a new and still-evolving concept of high-volume operations in densely populated areas. These characteristics lead to variability in performance model format and functionality, complicating model development and leading to difficulties for users integrating the models into their applications. This paper describes an interface specification for performance models that is intended to help address this issue. The interface aims to support the core functionality of performance models while also providing the necessary flexibility to both model developers and users. The specification describes the required model documentation, required inputs to the model, and required outputs from the model in general terms that are adaptable to most programming languages. The utilization of an appropriate interface specification will support the development of an Urban Air Mobility performance model database and help to improve interoperability of these models for a broad array of user applications.

Trajectory Prediction↗

An Interface Specification for Urban Air Mobility Performance Models to Support Air Traffic Management Research

Performance modeling of Urban Air Mobility vehicles in support of Air Traffic Management research poses new challenges. These aircraft often rely on a combination of fixed-wing and rotorcraft performance capabilities to enable a new and still-evolving concept of high-volume operations in densely populated areas. These characteristics lead to variability in performance model format and functionality, complicating model development and leading to difficulties for users integrating the models into their applications. This paper describes an interface specification for performance models that is intended to help address this issue. The interface aims to support the core functionality of performance models while also providing the necessary flexibility to both model developers and users. The specification describes the required model documentation, required inputs to the model, and required outputs from the model in general terms that are adaptable to most programming languages. The utilization of an appropriate interface specification will support the development of an Urban Air Mobility performance model database and help to improve interoperability of these models for a broad array of user applications.

Trajectory Prediction↗

PY4 Four-CubeSat Swarm of PyCubed-Based Spacecraft

PY4 is a low-cost, rapid-turn-around, four-satellite technology demonstration based on the open-source PyCubed avionics framework. PyCubed is an open-source, radiation-tested CubeSat avionics platform that integrates power, computing, communication, and attitude determination and control functionality into a single low-cost module programmable entirely in the programming language Python.

Jan Michael Stupl↗

Historical Aerospace Software Errors Categorized to Influence Fault Tolerance

Since the first use of computers in space and aircraft, software errors have occurred. These errors can manifest as loss-of-life or less catastrophically. As the demand for automation increases, software in mission or safety-critical systems should be designed to be tolerant to the most likely software faults. This paper categorizes a set of 55 historic aerospace software error incidents from 1962 to 2023 to determine trends of how and where automation is most likely to fail, behaving unexpectedly. A distinction between software producing unexpected (erroneous) output versus no output (failsilent) is introduced. Of the historical incidents analyzed, 85% were from software producing wrong output rather than simply stopping. Rebooting was found to be ineffective to clear erroneous behavior, and not reliable to recover from silent failures. Error origin was within the code/logic itself in 58% of cases, 16% from configurable data, 15% from unexpected sensor input, and 11% from command/operator input. A substantial forty percent (40%) of unexpected software behavior was indicated by the absence of code, arising from unanticipated situations and missing requirements, and 16% of incidents were subjectively deemed “unknown-unknowns”. No incidents were found to be the result of programming language, compiler, tool, or operating system; and only sixteen percent (16%) of all incidents were considered errors traditional computer science/programming in nature. These findings indicate that for fault tolerance, erroneous automation behavior must be a primary consideration especially at critical moments, and reboot recoverability may not be viable. Special care should be taken to validate configurable data and commands prior to use. “Test-like-you-fly”, including hardware-in-the-loop combined with robust off-nominal testing should be used to uncover missing logic arising from unanticipated situations not covered by requirements alone. This study uniquely focuses on manifestations of unexpected flight software behavior, independent of ultimate root cause. We characterize software error behavior and origin to improve software design, test, and operations for resilience to the most common manifestations, and provide a rich dataset for further study.

Aerospace↗

Integrated In-Situ Resource Utilization Modeling of a Lunar Water Processing System

A key element of achieving a sustained surface presence, such as defined in NASA’s Artemis plan, is In-Situ Resource Utilization (ISRU). ISRU is the practice of using local resources to provide mission consumables that reduce system launch mass requirements, and regenerate resources (chiefly, water and oxygen) for propulsion and life support supporting both Lunar and Martian missions. ISRU systems require multiple complex processes, such as excavation, chemical reactors, and electrolysis subsystems that must operate in harmony to optimize the overall system process from beginning to end. The Mission Analysis and Integration Tool (MAIT) connects individual subsystem models into a customized, flexible framework for the purpose of technology downselect, optimization, and end-to-end process planning. MATLAB was favorable to use as the main software integration tool due to its ability to communicate with a vast number of other programming languages and makes up the backbone of data flow between inputs and outputs to the subsystem models. MAIT initially evaluated a suite of technologies, including but not limited to, the water processing Lunar Auger Dryer for ISRU (LADI) system and an oxygen extraction carbothermal reduction process. With individual models consolidated, the MAIT tool generated over 60,000 cases during its parametric sweeps; these system iterations produced valuable insight into the optimal LADI geometry for minimizing heater energy demands, estimating carbothermal reactor and radiator mass relationships, and calculated the power dynamics of the electrolysis unit. Efforts to update the MAIT tool are ongoing to accommodate and scale ISRU technologies supporting the Space Technology Mission Directorate’s (STMD) commercialization strategy, and increase the MAIT software capability to handle a wide array of ISRU system models beyond the Lunar environment, e.g. production of propellant for a Martian lander.

Avery Carlson↗