Search NASA⌕ Search

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.

At least 19 records

LaRC SmartLab Apps For Instrument Control and Data Processing: Laboratory Environment Monitor

The LaRC SmartLab applications are a series of software tools to greatly enhance researcher efficiency by streamlining and automating workflows. Python scripts and applications are increasingly being used in scientific workflows, including for instrument control and data processing. Interactive Python scripting environments such as JupyterLab provide powerful tools for using Python. In some use cases, the development of standalone applications with dedicated graphical user interfaces can enhance the utility of the code and open it up to more users, including non-programmers. Here, we describe a Python based application for communicating with, and displaying data from, iTHX Temperature, Humidity, and Dew Point probes. We discuss the set up and use of the application as well as its implementation. We also highlight the use of Simulated probes to enable users and developers to familiarize with or debug the application, even when they do not have access to the physical hardware in the laboratory.

LaRC SmartLab↗

LaRC SmartLab Apps For Instrument Control And Data Processing: Optical Micrometer Data Visualizer

The LaRC Smart Lab applications are a series of software tools to greatly enhance researcher efficiency by streamlining and automating workflows. Python scripts and applications are increasingly being used in scientific workflows, including for instrument control and data processing. Interactive Python scripting environments such as Jupyter Lab provide powerful tools for using Python. In some use cases, the development of standalone applications with dedicated graphical user interfaces (GUIs) can enhance the utility of the code and open it up to more users, including non-programmers. Here, we describe a GUI based optical micrometer data visualization application developed as part of the LaRC SmartLab project. We highlight its use in visualizing experimental data and briefly discuss its implementation to give pointers to programmers who wish develop work based on this application's or similar co de.

LaRC SmartLab↗

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↗

Building a Real-Time Predictive Flood 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 Howard County government in 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 prediction model capable of hindcasting the two severe flash flood events that devastated Ellicott City, and transitioned to an Long Short-Term Memory (LSTM) 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 the Nash-Sutcliffe Efficiency (NSE). The final product, called 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 (HRRR) 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 the OEM’s 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.

Ryan Hammock↗

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↗

Meteor Shower Identification and Characterization with Python

The short development time associated with Python and the number of astronomical packages available have led to increased usage within NASA. The Meteoroid Environment Office in particular uses the Python language for a number of applications, including daily meteor shower activity reporting, searches for potential parent bodies of meteor showers, and short dynamical simulations. We present our development of a meteor shower identification code that identifies statistically significant groups of meteors on similar orbits. This code overcomes several challenging characteristics of meteor showers such as drastic differences in uncertainties between meteors and between the orbital elements of a single meteor, and the variation of shower characteristics such as duration with age or planetary perturbations. This code has been proven to successfully and quickly identify unusual meteor activity such as the 2014 kappa Cygnid outburst. We present our algorithm along with these successes and discuss our plans for further code development.

Moorhead, Althea↗

Landslide Mapping Using Object-Based Image Analysis and Open Source Tools

Availability of high-resolution optical imagery and advances in image processing technologies have significantly improved our ability to map landslides. In recent years object-based image analysis (OBIA) has been gaining in popularity for landslide mapping due to its ability to incorporate spectral, textural, morphological and topographical properties. Many studies have been conducted based on commercial software. In this study, we create an open source Semi-Automatic Landslide Detection (SALaD) system utilizing OBIA and machine learning. Configured to run in Linux environment, it uses various opensource Python packages and modules. This system was tested in 575 km2 area along the Pasang Lhamu Highway, Nepal where large numbers of landslides were triggered by the 2015 Gorkha earthquake. Comparison with a manual inventory highlighted that this system was able to detect 70% of the landslide area. The speed and efficiency with which this system was able to detect landslides makes it a viable alternative to manual techniques for landslide mapping over large areas, when establishing approximate landslide locations is of prime importance.

Open source↗

MONTE Python for Deep Space Navigation

The Mission Analysis, Operations, and Navigation Toolkit Environment (MONTE) is the Jet Propulsion Laboratory’s (JPL) signature astrodynamic computing platform. It was built to support JPL’s deep space exploration program, and has been used to fly robotic spacecraft to Mars, Jupiter, Saturn, Ceres, and many solar system small bodies. At its core, MONTE consists of low-level astrodynamic libraries that are written in C++ and presented to the end user as an importable Python language module. These libraries form the basis on which Python-language applications are built for specific astrodynamic applications, such as trajectory design and optimization, orbit determination, flight path control, and more. The first half of this paper gives context to the MONTE project by outlining its history, the field of deep space navigation and where MONTE fits into the current Python landscape. The second half gives an overview of the main MONTE libraries and provides a narrative example of how it can be used for astrodynamic analysis.

aerospace↗

Open-source Numerical Modeling of Solidification Cracking Susceptibility: Application to Refractory Alloy Systems

Introduction. Alloys such as aluminum, nickel-base, and austenitic stainless steels are susceptible to solidification cracking during welding and 3D printing. Compositional optimization is one method used to effectively mitigate solidification cracking of those alloy systems. With the surge in hypersonic and in-space propulsion activities, refractory metals (Nb, Mo, Ta, W, and Re) and their alloy derivatives are increasing in importance due to their extreme high melting point and retention of high-temperature strength; however, their chemistry was most typically optimized to promote ductility during mechanical operations such as drawing and forming. Welding of such alloys has been a challenge due to a number of issues including solidification cracking, atmospheric contamination (O, C, and N), as well as a shift in ductile-to-brittle transition to higher temperature following grain growth induced by welding. Compositional optimization of refractory alloys for solidification cracking resistance in particular is desirable as their usage increases with the advent of advanced manufacturing methods such as 3D printing. This work evaluates the effect of compositional variation in refractory metal systems on the solidification cracking susceptibility with the goals of optimizing existing alloys and joining process techniques, and formulating new alloys with increased solidification cracking resistance. Experimental Procedures. A python code was developed in a Jupyter notebook environment (Michael and Sowards, 2023) to facilitate the calculation of crack susceptibility index proposed by Kou (2015). Composition is entered as a single point, or as a 1-D or 2-D array. The notebook calls pycalphad (Otis and Liu, 2017 and Bocklund et al, 2020) to calculate the evolution of fraction solid as a function of temperature (under either Scheil or equilibrium assumptions) and then evaluates steepness of the fraction solid curve near the terminal stage of solidification to predict solidification cracking resistance. Open source thermodynamic databases available at online repositories are used (van de Walle). The process is setup in an automated fashion to generate plots that show variation in solidification cracking susceptibility according to composition on 1-D line plots or 2-D contour plots. The Jupyter notebook and crack susceptibility algorithm was also integrated with a widely used commercial CALPHAD code for validation and alloy exploration. Results and Discussion. The crack susceptibility model was first validated against a series of refractory alloy compositions evaluated in past work which utilized a specialized Varestraint test built inside a vacuum chamber environment (Lessman and Gold, 1971). The alloys tested in the Varestraint apparatus included T-111 (Ta-8W-2Hf), ASTAR-811C (Ta-8W-1Re-0.7Hf-0.025C), FS-85 (Nb-27Ta-10W-1Zr), T-222 (Ta-9.6W-2.4Hf-0.01C), Ta-10W, B-66 (Nb-5Mo-5V-1Zr), and SCb-291 (Nb-10W-10Ta). The initial test of the model showed a strong correlation with empirical Varestraint data, i.e., a Spearman rank correlation between model predictions and hot cracking measurements was observed to be greater than 0.8. Following the validation, a set of refractory metal binary mixtures was investigated to evaluate sensitivity of Nb, Mo, W, and Ta to C, N, and O content. A series of plots were produced that suggest ppmw ranges of C, N, and O where solidification cracking increases significantly and reaches a maximum. Also comparative ranking of each primary refractory metal to each interstitial was produced. For example C produces greater cracking response in Mo whereas O produces greater cracking response in Ta and Nb. Such compositional values have utility in setting limits on pickup of these interstitial elements during welding and printing rather than using a one-size-fits-all approach. Furthermore, the results have use in determining additive powder recycling requirements, which is especially pertinent for refractory metal powders due to their high cost compared to conventional alloys. Another application created thousands of hypothetical alloys within the nominal specified composition range of two widely used refractory alloys C103 (Nb-10Hf-1Ti) and TZM (Mo-0.5Ti-0.1Zr). The cracking index was calculated for the alloys and results were fed into machine learning regression techniques including Multiple Linear Regression, Ridge Regression, and Lasso Regression to determine relative potency each alloying element had on computed solidification cracking index. A series of linear equations were produced that relate composition of C103 and TZM to solidification cracking index. The crack susceptibility of C103 for example is described by an equation of the form: cracking index ~ O + 0.667*C + 0.635*N + 0.00037*Ta – 0.0008*Hf (in wt.%) From that equation, it is clear that O has strong propensity to induce solidification cracking. Interestingly, Hf is shown to reduce calculated cracking response. Finally, realizing the potential of this method to discover new refractory alloy formulations across the period table that have low solidification cracking sensitivity, the code was applied to new untested alloy systems including W-Zr-C, W-Ta-C, and others. Conclusions. In summary, an open source numerical method has been developed using Python code to calculate Kou’s crack susceptibility index. The method was applied to refractory metals which are inherently difficult to study from a weldability testing standpoint since inert shielding gas is not sufficient and welding is typically done in vacuum, especially in light of findings presented here where oxygen has profound influence on solidification cracking. This work revealed the effect of compositional variations on a series of refractory metals and showed the framework defined here will be useful in 1) the development of new alloys that have improved weldability and 3D printability, 2) placing compositional limits on existing alloys, and 3) ensuring adequate controls of manufacturing processes such as 3D printing where powder reuse is critical. Keywords. pycalphad; Python; refractory metals; solidification cracking. References. B. Bocklund et. al. (2020) http://doi.org/10.5281/zenodo.3630657. S. Kou. (2015) https://doi.org/10.1016/j.actamat.2015.01.034. G.G. Lessmann and R.E. Gold. Welding Journal, issue 1, pp. 1-s – 8-s (1971). F.N. Michael and J.W. Sowards. NASA/TM-20230002218 (2023). R. Otis and Z.-K. Liu. (2017) http://doi.org/10.5334/jors.140. A. Van de Wallle et. al. (2018) https://doi.org/10.1016/j.calphad.2018.04.003.

pycalphad↗

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↗

The Profile Envision and Splicing Tool (PRESTO): Developing an Atmospheric Wind Analysis Tool for Space Launch Vehicles Using Python

Launch vehicle programs require vertically complete atmospheric profiles. Many systems at the ER to make the necessary measurements, but all have different EVR, vertical coverage, and temporal coverage. MSFC Natural Environments Branch developed a tool to create a vertically complete profile from multiple inputs using Python. Forward work: Finish Formal Testing Acceptance Testing, End-to-End Testing. Formal Release

Orcutt, John M.↗

GES DISC Data Recipes in Jupyter Notebooks

The Earth Science Data and Information System (ESDIS) Project manages twelve Distributed Active Archive Centers (DAACs) which are geographically dispersed across the United States. The DAACs are responsible for ingesting, processing, archiving, and distributing Earth science data produced from various sources (satellites, aircraft, field measurements, etc.). In response to projections of an exponential increase in data production, there has been a recent effort to prototype various DAAC activities in the cloud computing environment. This, in turn, led to the creation of an initiative, called the Cloud Analysis Toolkit to Enable Earth Science (CATEES), to develop a Python software package in order to transition Earth science data processing to the cloud. This project, in particular, supports CATEES and has two primary goals. One, to transition data recipes created by the Goddard Earth Science Data and Information Service Center (GES DISC) into an interactive and educational environment using JupyterNotebooks. Two, to acclimate Earth scientists to cloud computing. To accomplish these goals, we create JupyterNotebooks to compartmentalize the different steps of data analysis and help users obtain and parse data from the command line. We also develop a Docker container, comprised of Jupyter Notebooks, Python dependencies, and command line tools, and configure it into an easy-to-deploy package. The end result is an end-to-end product that simulates the use case of end users working in the cloud computing environment.

discoverability↗

Heatshield Entry Modeling Using a Design, Analysis, and Optimization Toolbox

The Mars Science Laboratory (MSL) was protected during its Mars atmospheric entry by an instrumented heatshield that used NASA's Phenolic Impregnated Carbon Ablator (PICA). PICA is a lightweight carbon fiber/polymeric resin material that offers excellent performances for protecting probes during planetary entry. The Mars Entry Descent and Landing Instrument (MEDLI) suite on MSL offers unique in-flight validation data for models of atmospheric entry and material response. MEDLI recorded, among others, time-resolved in-depth temperature data of PICA using thermocouple sensors assembled in the MEDLI Integrated Sensor Plugs (MISP). The objective of this work is to showcase the capability of the Design, Analysis, and Optimization of Thermal Protection Materials (DAOTPM) software. DAO-TPM is a Python based framework that works as a link between mission design, aerothermal and radiative environment computation, Thermal Protection Systems (TPS) microstructure analysis, material response and optimization tools. The toolbox has a Graphical User Interface (GUI) that allows the user to build as well as run the various software and utilities used to design, analyze and optimize a heatshield during atmospheric entry.

Meurisse, Jeremie B. E.↗

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↗

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