Search NASASearch

SEARCH · Search NASA

Results for “Python environment”

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.

Updates and Modernization of NASA’s Chemical Equilibrium with Applications (CEA) Code

NASA’s Chemical Equilibrium with Applications (CEA) code is a foundational tool for propulsion system analysis. It provides equilibrium chemistry, rocket performance, shock, and detonation calculations used across NASA and the broader aerospace community. NASA Engineering and Safety Center (NESC) Activity TI-22-01730 modernized the legacy CEA2 Fortran code into CEA v3, a Fortran 2008, object-oriented software package with expanded interface support, updated thermochemical data, improved maintainability, and substantially improved workflow integration. The modernized code preserves backward compatibility with legacy CEA input workflows while enabling direct use from modern analysis environments, including Python, C, MATLAB, and automated design studies.

Mark K Leader

Updates and Modernization of the Chemical Equilibrium with Applications (CEA) Code

NASA’s Chemical Equilibrium with Applications (CEA) code is a foundational tool for propulsion system analysis. It provides equilibrium chemistry, rocket performance, shock, and detonation calculations used across NASA and the broader aerospace community. NASA Engineering and Safety Center (NESC) Activity TI-22-01730 modernized the legacy CEA2 Fortran code into CEA v3, a Fortran 2008, object-oriented software package with expanded interface support, updated thermochemical data, improved maintainability, and substantially improved workflow integration. The modernized code preserves backward compatibility with legacy CEA input workflows while enabling direct use from modern analysis environments, including Python, C, MATLAB, and automated design studies.

Combustion

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

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

Reyes, Miguel A. De Jesus

pyam: Python Implementation of YaM

pyam is a software development framework with tools for facilitating the rapid development of software in a concurrent software development environment. pyam provides solutions for development challenges associated with software reuse, managing multiple software configurations, developing software product lines, and multiple platform development and build management. pyam uses release-early, release-often development cycles to allow developers to integrate their changes incrementally into the system on a continual basis. It facilitates the creation and merging of branches to support the isolated development of immature software to avoid impacting the stability of the development effort. It uses modules and packages to organize and share software across multiple software products, and uses the concepts of link and work modules to reduce sandbox setup times even when the code-base is large. One sidebenefit is the enforcement of a strong module-level encapsulation of a module s functionality and interface. This increases design transparency, system stability, and software reuse. pyam is written in Python and is organized as a set of utilities on top of the open source SVN software version control package. All development software is organized into a collection of modules. pyam packages are defined as sub-collections of the available modules. Developers can set up private sandboxes for module/package development. All module/package development takes place on private SVN branches. High-level pyam commands support the setup, update, and release of modules and packages. Released and pre-built versions of modules are available to developers. Developers can tailor the source/link module mix for their sandboxes so that new sandboxes (even large ones) can be built up easily and quickly by pointing to pre-existing module releases. All inter-module interfaces are publicly exported via links. A minimal, but uniform, convention is used for building modules.

Myint, Steven

Distributed Computing Framework for Synthetic Radar Application

We are developing an extensible software framework, in response to Air Force and NASA needs for distributed computing facilities for a variety of radar applications. The objective of this work is to develop a Python based software framework, that is the framework elements of the middleware that allows developers to control processing flow on a grid in a distributed computing environment. Framework architectures to date allow developers to connect processing functions together as interchangeable objects, thereby allowing a data flow graph to be devised for a specific problem to be solved. The Pyre framework, developed at the California Institute of Technology (Caltech), and now being used as the basis for next-generation radar processing at JPL, is a Python-based software framework. We have extended the Pyre framework to include new facilities to deploy processing components as services, including components that monitor and assess the state of the distributed network for eventual real-time control of grid resources.

synthetic aperture radar (SAR)

Parametric-Based Heat Rejection Trade Study for Lunar and Martian Surface Operations

Establishing and maintaining a sustained presence on the lunar and/or Martian surfaces will require a diverse portfolio of surface elements (e.g., habitation, mobility, power generation, etc.). Many of these systems generate excess heat that must be rejected across a wide range of magnitudes, temperatures, and duty cycles and under variable environmental conditions. To identify the most promising heat rejection approaches for this diverse portfolio, a heat rejection trade study was conducted to evaluate the performance of different technology approaches across a spectrum of surface environments and heat-load requirements. The trade study consisted of three stages: (1) development of a parametric-based modeling framework, (2) creation of a database of heat rejection technologies, surface elements, and environmental conditions for the Moon and Mars, and (3) execution of a quantitative analysis of various heat rejection technologies across different operating conditions and surface elements. The modeling framework is developed in Python and Excel to prioritize small model size and hence low computational cost to enable large parametric sweeps while avoiding the reliance on proprietary software. Individual heat rejection processes are represented as simple Excel models, and a centralized Python script interfaces with the models to coordinate the parametric study. These simple sizing models were developed to take heat load requirements and environmental parameters as inputs and compute mass, power, and volume as outputs. Rather than assess each heat rejection technology separately for each surface element, a unified parametric space was developed to evaluate all technologies across all elements. This parametric space includes factors related to heat load (e.g., magnitude or temperature) and environment (e.g., surface temperature, sky temperature, solar flux). This effort generated a database containing information on over 60 heat rejection technologies and 30 surface elements. For each surface element, the expected heat rejection requirements were documented and analyzed to determine the most common needs shared across all elements. Environmental conditions at various lunar and Martian latitudes were also established for worst-case hot and worst-case cold scenarios. High-fidelity heat rejection models are currently under development. Preliminary trades between heat rejection technologies including radiators, venting technologies, convective coolers, and more have been conducted to identify promising options. This presentation will summarize the preliminary trade results and provide an overview and discussion of the expected heat loads and thermal environments for sustained surface operations on the Moon and Mars.

Heat Rejection

The InSAR Scientific Computing Environment

We have developed a flexible and extensible Interferometric SAR (InSAR) Scientific Computing Environment (ISCE) for geodetic image processing. ISCE was designed from the ground up as a geophysics community tool for generating stacks of interferograms that lend themselves to various forms of time-series analysis, with attention paid to accuracy, extensibility, and modularity. The framework is python-based, with code elements rigorously componentized by separating input/output operations from the processing engines. This allows greater flexibility and extensibility in the data models, and creates algorithmic code that is less susceptible to unnecessary modification when new data types and sensors are available. In addition, the components support provenance and checkpointing to facilitate reprocessing and algorithm exploration. The algorithms, based on legacy processing codes, have been adapted to assume a common reference track approach for all images acquired from nearby orbits, simplifying and systematizing the geometry for time-series analysis. The framework is designed to easily allow user contributions, and is distributed for free use by researchers. ISCE can process data from the ALOS, ERS, EnviSAT, Cosmo-SkyMed, RadarSAT-1, RadarSAT-2, and TerraSAR-X platforms, starting from Level-0 or Level 1 as provided from the data source, and going as far as Level 3 geocoded deformation products. With its flexible design, it can be extended with raw/meta data parsers to enable it to work with radar data from other platforms

geodetic imaging

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

Development and Validation of a High-Vacuum Thermal Conductivity Testbed for Aerospace Interface Materials

Thermal Interface Materials (TIMs) are critical components in spacecraft thermal management systems, where thermal performance is strongly influenced by vacuum conditions, interface contact resistance, and layered metallic joint behavior. However, manufacturer-reported thermal conductivity values are often derived under idealized conditions and may not accurately represent performance within operational aerospace applications. To address this limitation, the Testbed for Advanced Interface Materials in Vacuum (TAIMV) was developed as a modular vacuum-compatible thermal conductivity characterization platform capable of evaluating aerospace-relevant TIM configurations under both ambient and high-vacuum environments. The testbed was derived from the ASTM C1044-16 guarded hot plate methodology and incorporates interchangeable layers of stainless steel coupon geometries, independently controlled main and guard heaters, embedded resistance temperature detectors (RTDs), thermocouples, multi-layer insulation (MLI), and a temperature-controlled cold plate to characterize through-thickness thermal gradients across layered interfaces. In the current configuration, interface compression is limited to the nominal contact pressure generated by the experimental stack assembly. Initial experimental campaigns were conducted at ambient pressure and below 1×10-5 torr for vacuum cases using multiple interface materials including Braycote 601EF and Krytox-based greases across a range of thermal operating conditions. In parallel, a coupled numerical Python thermal model was developed to predict temperature distribution throughout the stack while accounting for conduction, radiation, and parasitic heat transfer pathways and effective interface resistance effects. Experimental measurements and numerical predictions showed consistent thermal trends across multiple operating conditions and environmental states. Results also revealed measurable differences between ambient and vacuum thermal behavior, demonstrating the importance of interface resistance, parasitic heat transfer mechanisms, and stack geometry in determining effective thermal performance within layered thermal interfaces. The presented work establishes a foundation for future thermal model correlation efforts and expanded characterization of aerospace thermal interface materials under representative environmental conditions. Future work will focus on the integration of a load cell system to enable controlled pressure-dependent characterization of thermal interface materials under compressive loading. This capability will allow investigation of the influence of contact pressure on effective thermal conductivity, interface resistance, and thermal performance within layered aerospace thermal interfaces under representative operational conditions.

Thermal Development Testing

XMOS XC-2 Development Board for Mechanical Control and Data Collection

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 realtime 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 an FPGA(fieldprogrammable gate array)-based setup, a processor development kit manufactured by XMOS was chosen. The XMOS architecture allows parallel execution of multiple tasks on separate threads, making it ideal for this application. It 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. A simple approach to control the chopper, calibration mirror, and gimbal for the airborne SMLS was needed. The XMOS board allows for multiple threads and real-time data acquisition. The XC-2 development kit is an attractive choice for synchronized, real-time, event-driven applications. The XMOS is based on the transputer microprocessor architecture developed for parallel computing, which is being revamped in this new platform. The XMOS device has multiple cores capable of running parallel applications on separate threads. The threads communicate with each other via user-defined channels capable of transmitting data within the device. XMOS provides a C-based development environment using XC, which eliminates the need for custom tool kits associated with FPGA programming. The XC-2 has four cores and necessary hardware for Ethernet I/O.

Jarnot, Robert F.

Mission Analysis, Operations, and Navigation Toolkit Environment (Monte) Version 040

Monte is a software set designed for use in mission design and spacecraft navigation operations. The system can process measurement data, design optimal trajectories and maneuvers, and do orbit determination, all in one application. For the first time, a single software set can be used for mission design and navigation operations. This eliminates problems due to different models and fidelities used in legacy mission design and navigation software. The unique features of Monte 040 include a blowdown thruster model for GRAIL (Gravity Recovery and Interior Laboratory) with associated pressure models, as well as an updated, optimalsearch capability (COSMIC) that facilitated mission design for ARTEMIS. Existing legacy software lacked the capabilities necessary for these two missions. There is also a mean orbital element propagator and an osculating to mean element converter that allows long-term orbital stability analysis for the first time in compiled code. The optimized trajectory search tool COSMIC allows users to place constraints and controls on their searches without any restrictions. Constraints may be user-defined and depend on trajectory information either forward or backwards in time. In addition, a long-term orbit stability analysis tool (morbiter) existed previously as a set of scripts on top of Monte. Monte is becoming the primary tool for navigation operations, a core competency at JPL. The mission design capabilities in Monte are becoming mature enough for use in project proposals as well as post-phase A mission design. Monte has three distinct advantages over existing software. First, it is being developed in a modern paradigm: object- oriented C++ and Python. Second, the software has been developed as a toolkit, which allows users to customize their own applications and allows the development team to implement requirements quickly, efficiently, and with minimal bugs. Finally, the software is managed in accordance with the CMMI (Capability Maturity Model Integration), where it has been ap praised at maturity level 3.

Sunseri, Richard F.