Search
SOFTWARE CATALOG
LEW-19857-1
NPSS Electrical Power System Analysis Toolbox
An electrical power system analysis tool that can integrate with traditional combustion based propulsion models to analyze the potential benefits of aircraft electrification in the NPSS environment. This toolbox basic (text book based) electrical power system component models and an electrical port which connects these component models together to ensure the correct data is available to each model. The toolbox sizes the electrical power system based on required load demand at the design point and determines the power available to the loads in off-design.
Open Source
LAR-19767-1
Coordinate systems class library
Library of classes representing various coordinate systems and providing the transformations between them. Coordinate systems represented are: East-North-Up (ENU), Downrange-Crossrange-Above (DCA), Latitude-Longitude-Altitude (LLA), Earth-Centered-Fixed (ECF), and Azimuth-Elevation-Range (AER).
Open Source
ARC-17735-1
Prognostics Algorithm Library
The Prognostics Algorithm Library is a suite of algorithms implemented in the MATLAB programming language for model-based prognostics (remaining life computation). It includes algorithms for state estimation and prediction, including uncertainty propagation. The algorithms take as inputs component models developed in Matlab, and perform estimation and prediction functions. The library allows the rapid development of prognostics solutions for given models of components and systems. Different algorithms can be easily swapped to do comparative studies and evaluations of different algorithms to select the best for the application at hand.
Open Source
ARC-18082-1
Random Variable Library
The Random Variable Library is a C++ software library that provides a framework for uncertainty representation using probability distributions. The presence of uncertainty poses significant challenges for calculating predictions and decision-making, particularly in the context of operation of engineering systems. Many existing tools for prediction do not include the impact of uncertainty or make assumptions regarding the different sources of uncertainty. The Random Variable Library presents a solution to overcome these challenges and represent various forms of uncertainty. In particular, standard parametric distributions such Gaussian, Lognormal, etc. are supported, in addition to non-parametric representations such as unweighted/weighted samples, percentiles, etc. It is extendable, allowing for the addition of additional distributions. Beyond representation, the library includes basic capabilities for multivariate sampling and fitting using several methods. This can be used to facilitate certain uncertainty management activities such as uncertainty propagation and likelihood calculations.
Open Source
ARC-17736-1
Prognostics Model Library
The Prognostics Model Library is a modeling framework focused on defining and building models for prognostics (computation of remaining useful life) of engineering systems, and provides a set of prognostics models for select components developed within this framework, suitable for use in prognostics applications for these components. The library currently includes models for valves, pumps, and batteries. The Prognostics Model Library is implemented in MATLAB. The implementation consists of a set of utilities for defining a model (specifying variables, parameters, and equations), simulating the model, and embedding it within common model-based prognostics algorithms. A user can use existing models within the library or construct new models with the provided framework.
Open Source
NPO-51963-1
Waveport Scattering Library
The Waveport Scattering Library is a collection of equations, derivations, and Matlab codes on selected topics in electromagnetic scattering. While this field is rich with problems that have been solved ana- lytically and numerically, coding these solutions from papers and textbooks can be quite difficult. As a result, many useful methods and tools are out of reach to all but the most practiced investigators. This work started with a personal collection of notes and codes with the idea of creating a consistent library with which analysis and new routines could be completed and checked more quickly.
The topics of the library follow closely the textbooks of Chew, Tsang, Kong, and Ulaby: - Green's functions
- Spherical wave functions
- Spherical wave function rotation and translation
- S-matrix and T-matrix scattering
- Facet scattering under the Kirchhoff approximation - Fast Multipole Method operators
- Generation of rough surfaces and random objects
- Geometric (ray-tracing) scattering solutions
- Coordinate transforms and special functions.
Open Source
MFS-32397-1
Sun Format Database (SunAcc) File Read/Write Library
The Sun Format Database (SunAcc) was developed to fulfill a need for local native storage of Space Shuttle Main Engine (SSME) test data. While the file format itself is native to the Sun UNIX platform, the read/write library was developed to be a cross-platform tool and is compatible with a variety of UNIX and Windows platforms.
U.S. Release Only
LAR-19278-1
NASA Auralization Framework Advanced Plugin Libraries (NAF APL)
The NASA Auralization Framework (NAF), LAR-18541-1, is an open architecture for auralization components. It is structured as a set of common building blocks in the form of dynamically linked libraries. There are several libraries provided as part of the Framework: a Core Library, a Pathfinder library, a Scene Generator library, a Synthesis library, and a Signal Processing library. Each library contains a usable but very simple set of capabilities. Additional capabilities are available within the NAF Advanced Plugin Libraries (APL). The NAF APL provide additional means for source noise synthesis, propagation effects, and interfaces to NASAs Aircraft Noise Prediction Program 2 (ANOPP2), LAR-18567-1.
General Public Release
LAR-18541-1
NASA Auralization Framework (NAF)
The NASA Auralization Framework (NAF) is an open architecture for auralization components. It is structured as a set of common building blocks in the form of dynamically linked libraries, and will serve as the basis for future auralization capabilities. There are several libraries provided as part of the Framework: a Core Library, a Pathfinder library, a Scene Generator library, a Synthesis library, a Signal Processing library, and a Scheduler library. Each library contains a usable but very simple set of capabilities. An example application and several test cases provided with the Framework demonstrate how to use the libraries together to perform auralization tasks. It is expected that users will build their own customizations on the provided libraries, making use of the underlying framework, to create plugins for NAF that perform more complex operations.
General Public Release
GSC-18318-1
The Bundle Protocol Library
The Bundle Protocol Library (bplib) implements a subset of the RFC5050 Bundle Protocol necessary for embedded space flight applications. The library uses the concept of a bundle channel to manage the process of encapsulating application data in bundles, and extracting application data out of bundles. A channel specifies how the bundles are created (e.g. primary block fields), and how bundles are processed. Bplib contains no threads and relies entirely on the calling application for its execution context, and implements a thread-safe synchronous I/O model where no call-backs are necessary and requested operations will either block according to the provided timeout, or return an error code immediately if the operation cannot be performed.
Open Source
ARC-14467-1B
CFD Utility Software Library
A collection of ~200 software applications build upon two dozen subroutine libraries, mostly for manipulating the grids and flow solutions associated with computational fluid dynamics (CFD). These application programs, Fortran 90 modules, and library subroutines are generalized as far as possible with reuse and portability in mind. They are applicable to all flight regimes - subsonic, transonic, supersonic, and hypersonic. They operate on files in PLOT3D and/or Tecplot format, which represent de facto standards at many sites within academia, NASA, and industry. All such sites should have comparable utilities but typically lack this kind of comprehensive collection of well designed, well implemented and efficient utilities maintained for general use.
Open Source
NPO-52220-1
Stellar: A Web-based Design System for Information Dense Applications in Spacecraft Operations
Modern web applications use a variety of popular libraries for user-interface design. The most common today include Material by Google, and Bootstrap by Twitter. These libraries expose common elements of a standardized design that can be used across applications (e.g. button, input field, etc.). When building applications for spacecraft operations the main problem that arises with these libraries is they are optimized for mobile, and their elements take up more screen space than necessary. The Stellar software aims to solve this problem by providing design and implementation of elements that are more efficient with screen space so more information can be displayed in smaller screen areas. This increases overall usability, as more data is available without having to scroll or increase the screen size.
Open Source
GSC-17847-1
Perl6 LibCurl
A Perl 6 interface to the C libcurl library (http://curl.haxx.se/libcurl). This module includes Perl 6 nativecall bindings for accessing the functionality in the widely used free and open source libcurl library. It also includes a Perl 6 Object Oriented layer on top the make accessing the library easier.
Open Source
GSC-19143-1
CCMC CAMEL Validation Skill Scores Library
CCMC Validation Skill Scores Library is part of the overall CAMEL framework. The library of skill score calculation is used for calcuting various types of skill scores with the purpose of comparing observation data with model output within the heliophysics community.
Open Source
ARC-17898-1
Metrics Library for Prognostics Performance Evaluation
The Metrics Library for Prognostics Performance Evaluation is a suite of algorithms implemented in MATLAB for evaluating the performance of prognostics algorithms that predict the remaining useful life (RUL) of engineering systems. It includes alpha-lambda, beta metrics that compare the ground truth RUL against continuous predictions; these predictions can either be point-value or be a probability distribution (that depicts the uncertainty regarding the prediction of RUL). The library can be used for a variety of applications and performs different types of evaluations depending upon how the ground truth and the predictions are available. The library is also suitable for a variety of prognostics algorithms.
Open Source
GSC-17810-1
Static Loader Library for Real Time Embedded Systems
The Static Loader Library for Real Time Embedded Systems is a small software Library written in the C programming language that is designed to allow individual software components to be linked to a specific memory location and loaded from an embedded file system.
It is used as a lightweight replacement for the Dynamic loader provided in many operating systems.
U.S. Government Purpose Release
GSC-15013-1
ODL-to-XML Converter
This command-line Java-based utility converts ODL Hierarchical Data Format-Earth Observing Satellite (HDFEOS) metadata file to an HDFEOS XML file. The tool utilizes an all-Java ODL library that includes a syntax and grammar parser. The software can be downloaded at: http://opensource.gsfc.nasa.gov/projects/ODL_XML/index.php
Open Source
LEW-20091-1
An Encoding and Decoding Library for the Bundle Protocol
As part of the implementation of a high-rate DTN, it was necessary to implement a standards-compliant software library that is capable of parsing various versions of protocol headers. This library could offer some benefit to other NASA centers (and possibly academia / industry) who are interested in implementing the same, and thus could be a good candidate for more widespread release.
Open Source
LEW-19644-1
Portable C/C++ STRS Operating Environment Library and Reference Implementation
A portable software library which implements the fundamental components of the Space Telecommunications Radio System (STRS) operating environment as described in the latest revision of NASA standard 4009 (NASA-STD-4009A).
This software library is intended to reduce the development cost associated with implementing an STRS operating environment by providing a C/C++ standards-compliant reference implementation of the basic functions described in the architecture document.
U.S. and Foreign Release
GSC-15008-1
HDF-EOS2 and HDF-EOS5 Compatibility Library
This software library provides uniform access to HDF-EOS2 and HDF-EOS5 files through one set of application program interface (API) calls. Without the library, programs would have to be written twice to cover both HDF-EOS2 and HDF-EOS5 files. http://opensource.gsfc.nasa.gov/projects/HDF-EOS2/index.php
Open Source
MFS-33558-1
ISS_Camera_Geolocate
This is a Python software library that facilitates the geolocation of photographs and video frames from the International Space Station (ISS). The library provides functions that take camera and pointing information along with publicly available ISS position information, and then will geolocate every pixel of the photograph in latitude and longitude. This enables geospatial analysis of astronaut photography from Earth, including pictures of clouds, lightning, coastlines, city lights, etc. Many images are available from https://earth.jsc.nasa.gov/ and can be fully geolocated using this software.
Open Source
NPO-51130-1
PDS4 Java Library and Tools
Software for accessing PDS4 data objects including selected transformations to common formats. This software is packaged as a Java library with an example driver program and is called by the Validate Tool to assist in validation and by the Transform Tool to transform PDS4 products into common formats. The PDS4 Tools software was developed using Java and will run on any platform with a supported Java Runtime Environment (JRE).
Open Source
ARC-14467-1A
Computational Fluid Dynamics (CFD) Utility Software Library
A collection of utility programs and reusable subroutine libraries supports computational fluid dynamics, particularly on multiblock structured grids. The technology is applicable to all flight regimes-subsonic, transonic, supersonic, and hypersonic.
Open Source
LEW-20246-1
Mphys: Library for Coupling High Fidelity Codes in OpenMDAO
A modular multi-physics coupling library, built on OpenMDAO, for use with design optimization. This software can compute coupled analytic derivatives for multi-physics models built from a series of PDE solvers, for applications such as aeropropulsive, aerothermal, or aerostructural design.
Open Source
GSC-18241-1
Perl 6 Libarchive, Interface to libarchive multi-format archive and compression library
Provides a Perl 6 interface to the widely used libarchive (https://libarchive.org) multi-format archive and compression library.
The functionality is supplied by the underlying library. This module just provides a very easy to use high-level interface to that existing functionality.
Open Source
MFS-33187-2
Project Cost Estimating Capability (PCEC)
The Project Cost Estimating Capability (PCEC) is a parametric tool for estimating the cost of unmanned spacecraft, landers, launch vehicles, crewed systems, and in-space transportation systems. It is an Excel add-in with a simple, robust, and transparent collection of cost-estimating relationships (CERs), their associated statistics, work breakdown structures, estimating templates, and other cost estimating artifacts. PCEC facilitates the investigation, selection, and use of these artifacts towards the creation of a parametric estimate for a space flight hardware system in an Excel workbook.
General Public Release
GSC-14921-1
Operating System Abstraction Layer (OSAL)
The OSAL library isolates embedded application software from a Real-Time Operating System (RTOS). The technology provides a well-defined, generic interface to RTOS services; a generic interface to hardware services; and an implementation for several current RTO systems. By using the library, an embedded application can remain portable among multiple operating systems on multiple platforms. Please visit the following URL for additional information: http://opensource.gsfc.nasa.gov/projects/osal/
Open Source
GSC-18186-1
libbrace
C/C++ library for performing shell style brace expansions.
Open Source
NPO-51600-1
mrcal - a toolkit to precisely solve calibration and structure-from-motion problems
Mrcal contains a C library for 3D geometry operations and lens projection/unprojection operations, supporting many camera models, including JPL-specific ones that nobody else supports. Functions report the values and the gradients in respect to the input variables. The C library has higher-level functions that wrap the core in a nonlinear optimization to be able to fit models and geometries to data. This is a core for camera calibration and SFM problems. The optimization is thorough. It solves for the geometry of the world and/or of the cameras and/or for the lens parameters of the cameras and/or for the shape of the object being observed. The optimization propagates all the uncertainties, and returns the uncertainties of the solution.
There's a Python library to read/write camera models from/to disk, and to manipulate them invarious ways. There's a Python wrapper for the main components of the C library. These wrappers provide lots and lots of feedback to allow the user to quantify the uncertainty of the solution. Lots of tools are available to produce all sorts of visualizations about calibrations, camera models, their differences, and so on.
There are lots of command line tools that generally exercise the Python library. These allow the user to quickly process their data.
Open Source
NPO-53032-1
TetherCAD: a Python library to aid in systems engineering for tether designs.
TetherCAD is a set of analysis tools to aid in the design of electromechanical tethers. These tethers can be used for robotics, space systems and more! The tool set is presented as a python library to promote ease-of-use and allow compatibility with a number of different systems. This library aims to help the user quickly and concisely answer the high-level questions involved in a tether's or tethered-system's design.
General Public Release
GSC-14993-1
Consultative Committee for Space Data Systems (CCSDS) File Delivery Protocol (CFDP) Software Library, Version 3.1
This library provides for the reliable transfer of large data blocks to and from spacecrafts. It implements the international standard CFDP protocol, can be used from mission to mission, and supports both ground and flight software.
U.S. Government Purpose Release
NPO-52608-1
POMM Planetary Orbital Mosaicking and Mapping Software Toolset
POMM is a set of software tools (with User Interface) supporting the automation of Earth and Planetary orbital image mosaicking and mapping, including 1) The ability of co-register (stack) multiple orbital map images over the same location for time series analysis; 2) Mosaic mulitiple adjacent overlapping orbital images to create large-area basemap coverages and regional overviews; and 3) Create map-projected orbital satellite images from selected sensors and bands provided in PDS (Planetary Data System) format. As a subset of the AFIDS software environment (NTR 52175), POMM also provides a large variety of general purpose image processing tools for performing change detection, time series, and related satellite scene analyses.
General Public Release
ARC-16764-1
Network-Form Game Software Library (libnfg)
The libnfg software library describes how humans interact with their environment and with other humans. The tool provides a Monte Carlo analysis of user-specified "network-form games," which are flexible modeling methodologies that combine Bayes nets and game theory to model complex systems.
Open Source
GSC-17742-1
Fortran Template Library (gFTL) for managing collections of objects via software containers.
This innovation creates the capability for Fortran software developers to routinely declare and use specialized software containers for arbitrary types of data. The capability is somewhat analogous to that of the C Standard Template Library but with important differences. Although the number of containers are expected to grow, the current supported cases are Vector, Map, and Set. Contained items can be of any intrinsic type or user-defined derived type. The user can also indicate that the contained objects are polymorphic and/or pointers with corresponding implications for the semantics of using those containers.
Open Source
MFS-33409-1
pyCMR
Python client library (pyCMR) abstracts CMR search API (Application Program Interface) calls to a simple set of python functions that can be incorporated in client applications. The search responses are stored in the python dictionary for easy manipulation on the client side.
Open Source
ARC-18618-1
SimuPy Flight Vehicle Toolkit
This software library leverages open source scientific computing tools to implement an efficient simulation framework for flight vehicles in Python. Equations of motion are composed in blocks using the SimuPy library, an open source Python alternative to Simulink, and integrated using SciPys wrappers for standard Fortran implementations of ordinary differential equation solvers. Dynamics equations of the inertial state variables for the position, orientation, and their corresponding rates for integration are developed using the SymPy symbolic library and implemented using code generation. Kinematics equations are implemented through symbolic definition and code generation as well as leveraging other open source software that implements useful functions, such as the solutions to the inverse geodesy problem.
Open Source
NPO-53286-1
mrcam - a toolkit for camera preview, logging and replay using aravis
mrcam allows users to read images from genicam cameras, to control the various camera parameters, to log the data produced by the camera and to replay those logs. mrcam provides both prebuilt tools AND libraries that could be utilized to build new applications. The prebuilt tools shipped in th edistribution are the preview/log/replay tool and a "focus" tool, to get live feedback about image sharpness to let the user focus a camera with immediate feedback.
General Public Release
NPO-52010-1
LithoSphere - A tiled, 3D planetary web-based GIS library
Lithosphere is a web-based 3D visualization tool capable of rendering raster and vector open source planetary datasets.
The software supports viewing any spherical planetary body (Earth, Mars, Europa, etc.) in three dimensions (3D)
including both raster and vector datasets. It is a standalone web-based viewer that supports open source formats like Tile Map Service (TMS), 3D tiles, meshes, and GeoJSON formats. It supports mapping 2D vectors to the 3D surface or rendering vectors using their own 3D coordinates. This software does not rely on commercial data providers.
Open Source
LAR-19151-1
Hydrological Anomaly Engine (HAE)
Using the cloud-based computing power of Google Earth Engine (GEE), the Hydrologic Anomaly Index (HAE) is capable of uploading and analyzing large amounts of Earth observation climate data for the purpose of hydrologic analysis and monitoring. The end-user will be able to pull from and modify a library of scripts that are stored in Earth Engine, as well as upload and access data stored on a private data catalog. The final stage of development of the tool will include a more user-friendly application built using Googles App Engine, in which users will be able to display data products and interactive maps.
Open Source
MSC-27734-1
Electronic Procedure Application Software Suite (EPASS) Library Administration (LibAdmin) 1.1 and Subs (1.XX)
The EPASS LibAdmin application allows users to manage Artemis procedures libraries used by ground flight controllers, onboard crew members, and onboard the eProc display on various vehicle avionics system.
U.S. Government Purpose Release
GSC-14911-1
Architecture Adaptive Computing Environment (ACE)
The Architecture Adaptive Computing Environment (ACE) is a parallel computing language, compiler, and runtime library. The purpose of ACE is to allow a programmer to more easily write parallel programs for a wide variety of parallel computer architectures.
Open Source
LAR-17481-1
Knife v1.0 Boolean Substraction Library for Polyhedra
The Knife library calculates the boolean subtraction of arbitrary watertight triangular polyhedral in order to make near-field sonic boom predictions.
Open Source
GSC-18031-1
Perl 6 DBPg PostgreSQL module
PostgreSQL (https://www.postgresql.org) is an Open Source Relational Database Management System (RDBMS). It includes a C library (libpq) for interacting with the server over the network (https://www.postgresql.org/docs/10/static/libpq.html).
This module provides a rich interface to the PostgreSQL libpq library for Perl 6. It includes capabilities for prepared query caching, database connection caching, exception handling, flexible type conversion (including Boolean, Date, DateTime, Byte Arrays, etc. as well as custom types), bulk data copy in and out, listen/notify, transactions, and cursors for large query processing.
Open Source
NPO-47703-1
Ndarts
Ndarts is designed as a general purpose dynamics library that can be used for the modeling of robotic platforms, space vehicles, molecular dynamics and such applications. All NASA space vehicles use such capabilities.
U.S. Government Purpose Release
LEW-19702-1
SGNDI (Separable Grid N-Dimensional Interpolator)
This is a software library for multidimensional numerical data interpolation, in an arbitrary number of dimensions. Analytical gradients are supported.
Open Source
NPO-50793-1
SpiceyJS - Time conversion library based on NAIF's CSPICE
Spicey is a time conversion library based on NAIF's CSPICE. In order to accomplish this, we automatically converted the C source code into Javascript via Emscripten. In order for them to work in a much more user friendly and Javascript-like way, we have created wrapper functions that interact with the resulting simulated C program, allocating and deallocating memory as necessary. This project only includes wrappers for the functions relevant to time conversion and some light time calculations. If you are looking to use CSPICE's extensive telemetry, etc. functionality, instead look at spice.js. This project is an offshoot of spice.js. A great deal below deals with the loading and furnishing of kernels. If you do not wish to do any time conversions involving specific spacecraft or planets, the default included kernels are sufficient and you may ignore these sections. The default kernels are enough to refer to most NAIF ID's, a planetary constants kernel, and a leap seconds kernel. See spicey_example.html for a simple demo of spicey working.
Open Source
LEW-19643-1
STRS Flight Computer Interface (FCI) app for Core Flight System
This software implements an application that executes within the NASA core flight system (cFS) that provides required STRS operating environment components using cFS and the corresponding Operating System Abstraction Layer (OSAL). This software utilizes the portable C/C++ STRS OE implementation described in a separate software package titled "Portable C/C++ STRS Operating Environment Library"as the basis for the fundamental STRS API calls.
The combination of this interface application with the underlying library provide a complete STRS operating environment within the NASA core flight system.
U.S. and Foreign Release
GSC-15007-1
Hierarchical Data Format-Earth Observing System (HDF-EOS) to NetCDF Converter
This C-language computer program accepts a set of scientific data/metadata from an Earth Observing System (EOS) satellite and converts it from the format in which it was created and delivered into another format for data processing and exchange on Earth. The converter can be downloaded at: http://www.hdfeos.org/software/convert_hdfeos5.php
Open Source
GSC-18396-1
core Flight Software (cFS) Software Bus Network Client
The Software Bus Network Client communicates with the core Flight System (cFS) Software Bus Network (SBN) application. Its main purpose it to facilitate two-way communication from the cFS Software Bus service to an external application (i.e. an application that is not a child task of cFS). It implements the SBN communication protocol. The Software Bus Network Client provides the external application with all of the relevant Software Bus functionality without a separate cFS core. This is implemented as a C library and wrappers are provided so that existing cFS applications may use the library in place of the standard cFS Software Bus service.
Open Source
GSC-17829-1
Perl6 Eredis bindings module
Perl 6 bindings and modules for interacting with the Eulerian Technologies Eredis library (https://github.com/EulerianTechnologies/eredis) for interacting with the Redis database system.
Open Source
NPO-52251-1
Library for Leader Election and Spanning Tree Distributed Construction
NASA's Cooperative Autonomous Distributed Robotic Explorers (CADRE) project is developing a network of shoe-box-sized mobile robots that could enable future autonomous robotic exploration of the Moon, Mars, and beyond.
Each robot contains an onboard computer with a wireless radio for communication and a stereo camera which has multiple lenses and image sensors for sensing the environment in front of it and capturing 3D imagery. NASA's JPL is developing the robotic scouts, designing them to explore as a group and collect data in hard-to-reach places such as craters and caves on the Moon. Multiple small, autonomous robots could cover more ground, potentially helping us map unexplored regions on the Moon.
Open Source
NPO-52886-1
pyDownLinkParser: multi-mission CCSDS packet parser
This library parses binary files containing CCSDS packets of various structures (APID) and distribute them in pandas dataframes. It is modular and configurable for multiple missions.
General Public Release
MFS-33231-1
libSPRITE
A set of libraries used in the development of software applications. libSPRITE was specifically designed for real-time systems that operate on a single computational node (but may be multi-core) to systematically address common coding errors, provide for multi-threaded programming to produce the exact same results regardless of the number of cores on the host compute node, and offer support for in-operation reconfigurability (parameter and control flow modifications). Components include engineering unit encoders, math functions, a task scheduler built on top of pthreads, a publish/subscribe data distribution system, and a Lua scripting language interface.
Open Source
MSC-27059-1
Astromaterials 3D Website and Explorer Application
This is the first virtual library of NASAs collections of Apollo Lunar and Antarctic meteorite samples. This web-based custom visualization tool presents each extraterrestrial rock in a visually stunning.
General Public Release
LEW-19165-1
Toolbox for the Modeling and Analysis of Thermodynamic Systems (T-MATS)
T-MATS is open source software code. The Toolbox for the Modeling and Analysis of Thermodynamic Systems (T-MATS) is a Simulink toolbox intended for use in the modeling and simulation of thermodynamic systems and their controls. T-MATS contains generic thermodynamic and controls components that may be combined with a variable input iterative solver and optimization algorithm to create complex systems to meet the needs of a developer. Developement of this tool was completed on behalf of the NASA Aviation Safety Program's Vehicle Systems Safety Technologies (VSST) project located at the Glenn Research Center in Cleveland, OH.
Open Source
LAR-18268-1
Kodiak: A Software Library for Verifying Nonlinear Arithmetic Statements
Kodiak is a software implementation of an algorithm for verifying expressions involving nonlinear real arithmetic. It includes an optimizer for nonlinear real functions, a solver for nonlinear inequalities, and an application programming interface (API) for integrating other software verification tools.
Open Source
LAR-19156-1
Regional Incendiary Fuel Risk Assessment Framework (RIFRAF)
Climate data from the Google Earth Engine library was leveraged in a script to calculate the fire potential in the Missouri River Basin. Variables instrumental to fire potential were drought conditions, temperature, relative humidity, precipitation, wind speed, and fuel moisture.
Open Source
ARC-15193-1
Geometry Manipulation Protocol (GMP) for ComputationalFluid Dynamics (CFD) Applications, Version 1.0
GMP serializes datatypes between XML and ANSI C data structures to support CFD applications. The library currently provides a description of geometric configurations, general moving-body scenarios (prescribed and/or 6-DOF), and control surface settings.
Open Source
ARC-15016-1A
TPSSizer (aka TPSSZR) - Vehicle TPS sizing program using FIAT
TPSSizer is a Thermal Protection System (TPS) sizing tool developed at ARC for use in conceptual level through detailed design level analysis. TPS sizing methodologies and data exchange interfaces with supporting disciplines were developed for TPSSizer. Additionally, the tool introduced improvement to prior art with the automatic generation of TPS stackups, automatic generation of aerothermal environment files, maintenance of consistent material properties descriptions, the capability to simultaneously evaluate multiple nominal and abort flight trajectories and the development of methodologies for the application of appropriate design margins.
U.S. and Foreign Release
ARC-14400-1
PLOT3D, Version 4.1
PLOT3D is a computer graphics program designed to visualize the grid and solutions of structured computational fluid dynamics (CFD) datasets. Version 4.1 uses the OpenGL/GLUT graphics library. Several new features have been added to the code. These include: automatic computation of grid coordinate minimum/maximum; an orphan point plotting function; the ability to read double-precision unformatted data; negative grid index processing; random specification of colors for different walls; and simultaneous specification of walls and subsets for all zones.
U.S. Release Only
GSC-17111-1
"Worldview" satellite imagery browsing and downloading tool
Worldview is a software tool designed for interactively browsing and downloading imagery from NASA's Earth observing satellites. Building upon a set of open source mapping and user interface libraries, it provides an environment to visually discover interesting phenomena as observed by NASA satellites, then download the data for further analysis. It was originally designed to address the needs of the near real time applications community to provide relevant information for time-critical scenarios such as wildfire and flood management. As such, satellite imagery is available to be viewed in Worldview within four hours of observation, the imagery can be viewed in its highest, or native, resolution, and the imagery can be panned and zoomed rapidly through space and time to find the most relevant/cloud-free/etc information available.
Open Source
MSC-27334-1
Advanced Graphics for Engineering Analysis (AGEA) version 5.7.3
AGEA is a three-dimensional visualization and analysis application that provides modeling and animation tools for real-time and pre-rendered simulations. It is a front-end application that relies on a collection of functions known as the IGOAL Graphics Library (IGL).
U.S. Release Only
NPO-52175-1
AFIDS Automated Fusion of Image Data System
AFIDS Open Source AbstractAFIDS (Automated Fusion of Image Data System) is a library subset of the JPL VICAR (Video Image Communication and Retrieval) image processing system. VICAR began development in the 1960s in support of NASA/JPL's mission to explore the solar system. AFIDS forked in 2000 to focus on Earth orbital image co-registration in support of the NASA Earth Sciences program. Today, the effort is to re-integrate AFIDS back into VICAR and release it through the VICAR Open Source program. -AFIDS brings the concept of "georeferenced map images" to VICAR through the AFIDS "VicarGT" format (a compatible version of the industry standard "GeoTIFF" format). - AFIDS provides the ability to Ortho-Rectify and Co-Register orbital satellite imagery (using automated and customizable software).- AFIDS provides the image processing tools to perform scientific analysis and research of co-registered imagery (for example: Precision Change Detection).- AFIDS is rooted in Earth Science (supporting MISR, MAIA, CloudSat, EMIT, ECOSTRESS, OCO2, more), but also provides mapping support for Mars and Planetary orbital datasets (e.g., Mars Nest; AFIDS Mosaicking).AFIDS is a library collection of 200+ vicar-based programs and scripts, but also relies upon JPL and external 3rd party libraries including GDAL, GeoTIFF, Python, JPL GEOCAL, NASA NAIF/SPICE, and a variety of global databases.
General Public Release
ARC-17093-1
NASA Tensegrity Robotics Toolkit (NTRT) v1
The NASA Tensegrity Robotics Toolkit (NTRT) is a collection of C++ and MATLAB software modules for the modeling, simulation, and control of Tensegrity Robots. Tensegrity Robots are a biologically inspired approach to building robots based on the tension networks of tensegrity structures, which have no rigid connections between elements. The NTRT was created to enable: the rapid co-exploration of structures and controls in a physics based simulation environment; the development of tensegrity robotics algorithms such as structural analysis, kinematics, and motion planning; and the validation of the algorithms and controls on hardware prototypes of the tensegrity robots.
Open Source
MSC-25810-1
Input Device Framework (IDF)
Framework for mapping physical input devices (joysticks, gaming controllers, custom control panels, etc) to application-specific virtual controller interfaces. Pattern for writing device-independent code.
Open Source
GSC-18331-1
The Bundle Protocol Core Flight System Application (BP)
The BP cFS application uses the Bundle Protocol Library (bplib) to implement Delay Tolerant Networking. The application
targets the cFE 6.5 release and provides out of the box integration with the cFS CFDP application (CF), and a POSIX
compliant file system when provided. The implementation conforms to the CCSDS Blue Book recommendation 734.2-B-1
issued September 2015, which is based on RFC 5050.
U.S. Government Purpose Release
GSC-18816-1
radbelt: Astropy-friendly wrapper for the AE-8/AP-8 Van Allen belt model
This is small Python library to model the fluxes of charged particles trapped in the Van Allen belt. It provides a fast, simple, and convenient Python interface to the International Geomagnetic Reference Field (IGRF) model and NASA's AE-8/AP-8 models of electron and proton fluxes, which are both implemented in Fortran.
Open Source
MFS-31858-1
ROCet Engine Transient Simulation Software (ROCETS)
The Rocket Engine Transient Simulation (ROCETS) software consists of a library of rocket engine component software modules for combustion chambers, nozzles, turbines, pumps, valves, lines, etc. The tool can be used to analyze both steady-state and transient performance under various operating conditions in a variety of environments.
U.S. Release Only
NPO-53083-1
Thermal correction of HVM3 imaging spectrometer data
We apply a Bayesian model inversion approach to disentangle the temperature-dependent thermal emission signal and the solar-reflected portion, enabling thermally-corrected surface reflectance maps for instruments like JPL's High Resolution Volatiles and Minerals Mapper for the Moon (HVM3). The Bayesian strategy makes the ill-posed problem tractable by introducing background information about "legal" surface reflectance values in the form of a loose statistical prior developed from library spectra.
General Public Release
NPO-50785-1
PDSC: Planetary Data System Coincidences
The PDSC library allows for quickly querying coincident observations by constructing a set of special databases and index structures during the ingestion process. The first database constructed is simply a SQL version of the PDS cumulative index. The second set of index structures holds geometric information used for coincidence queries
Open Source
GSC-14730-1
Space Physics Data Facility (SPDF) Web Services
These Web services provide a distributed programming interface to a portion of the Space Physics Data Facility (SPDF) software. The technology conforms to all applicable Web service specifications of the World Wide Web Consortium. Please visit the following URL for additional information: http://spdf.gsfc.nasa.gov/
Open Source
LEW-20150-1
Zappy - A Load Flow Modeling Tool For Power System Design With Gradient Based Optimization
Zappy is a software library build on top of the OpenMDAO framework written in the Python Programming language. It provides a modular software code enabling a user to perform standard power system studies, while also providing analytic derivative (sensitivity) calculations to the end user. These analytic derivatives make Zappy efficient when used by (or incorporated within) external software programs performing broader multidisciplinary optimization of electrical power systems.
Open Source
GSC-14912-1
Java Astrodynamics Toolkit (JAT)
The Java Astrodynamics Toolkit (JAT) is a collection of Java components that aid flight dynamics engineers in performing space mission design; trajectory optimization; and spacecraft navigation, attitude-determination, and control systems analysis. Current capabilities include orbit propagation, orbit determination, maneuver planning, spacecraft attitude simulation, and 3D orbit and attitude visualization.
Open Source
ARC-16680-1A
Porous material Analysis Toolbox based on OpenFoam (PATO)
The Porous material Analysis Toolbox (PATO) is a modular analysis platform for multiphase porous reactive materials. It can be run as a simple Fourier heat transfer code or include more advanced features as internal decomposition (pyrolysis, vaporization), gas-gas and gas-solid chemical interactions (combustion, cracking, coking), gas species transport (convection, diffusion), and solid morphology evolutions (internal density changes, surface ablation).
PATO is implemented as a C top level module of the open source (GNU GPL) computational fluid dynamics software program OpenFOAM. This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM and OpenCFD trademarks. PATO also uses the open source (GNU LGPL) thermodynamics, transport, and chemistry library Mutation produced by the von Karman Institute for Fluid Dynamics.
Open Source
LEW-20282-1
Plot3D PreProcessing and PostProcessing Libraries in Julia and Python
Plot3D is a widely used format for storing grid data for numerical computation particularly in CFD. This free open source python library enables researchers to have programmatic access to read, write, combine, plot3D files to build a 3D domain. One of the main challenges with simulations using Plot3D is finding the connection of blocks of I,J,K indexing representing X,Y,Z coordinates in space. This tool contains functionality to automatically finds matching faces of each block and exports the results as a human readable dictionary or JSON format.
Open Source
LEW-19288-1
PyCycle - An Cycle Modeling Tool For Design With Gradient Based Optimization
PyCycle is a novel software library written in the Python Programming language. It allows a user to perform standard engine cycle analysis, while also providing analytic derivative (sensitivity) calculations to the end user. This allows Pycycle to be very efficiently used by (or incorporated within) external software programs performing broader simulation, analysis, and optimization.
Open Source
GSC-18656-1
exoscene
Exoscene is a Python software library of classes and utility functions for simulating direct images of exoplanetary systems. Exoscene can model the orbital position and Lambert sphere phase function of an exoplanet based on its user-defined Keplerian orbit and observing date (or series of observing dates). It enables a user to visualize the time-dependent, sky-projected position and relative brightness of an exoplanet observed in reflected starlight. Exoscene also provides functions for resampling model images to different spatial resolutions and for applying statistical noise models to simulate detector exposures. The package was developed by Neil Zimmerman (NASA/GSFC), with source code contributions from Maxime Rizzo and Christopher Stark.
Open Source
GSC-18370-1
Operating System Abstraction Layer
The OS Abstraction Layer (OSAL) project is a small software library that isolates embedded software from the underlying operating system. The OSAL does this by providing an Application Program Interface (API) to an abstract real time operating system. The OSAL then provides implementations of this API for two Real Time Operating Systems: vxWorks and RTEMS. In addition, an implementation is provided for Linux/POSIX for embedded Linux projects, and desktop development and testing. To facilitate the use of these APIs, the project also includes a directory structure and set of makefiles that facilitate building a project for a particular OS and hardware platform. Unit tests and several examples are included.
Open Source
ARC-16564-1
NASA Technology Transfer System (NTTS)
The NASA Technology Transfer System (NTTS) is NASA's enterprise system that captures NASA technologies. NTTS supports various technology transfer related activities and business processes.
U.S. Government Purpose Release
MFS-31864-1
Bearing Analysis Tool (BAT)
The Bearing Analysis Tool (BAT) allows detailed design of rolling element bearings rocket engine turbopumps and other applications. It includes a graphical user interface that greatly reduces the effort required to define analytical models for simulation and design.
U.S. Release Only
ARC-16019-1
Viewpoints: Software for Visualization of Multivariate Data
A software application that allows the interactive visualization of multivariate data using a variety of standard techniques, Viewpoints can be used with extremely large data sets.
Open Source
GSC-16689-1
Assert-Based Unit Test Tools
The ut-assert unit test tools provide a unit test framework and a collection of utilities that are designed to facilitate unit testing. These tools implement an assertion-based testing philosophy that requires the developer to explicitly write verification statements that assert whether a condition is true or false. This approach is much different than the Flight Software Branch's historical approach to unit testing that creates a log file that requires developer analysis in order to determine whether a test passed or failed. In order to use the tools a developer populates the framework with their unit tests and links with the ut-asssert library to create an executable.
Open Source
MSC-25379-1
Failure Modes and Effects Analysis Tool (FMEA)
The scope of this project is to develop a prototype failure analysis software tool. The tool models a system's components, their connective relationships, and functions in order to assist in Failure Modes and Effect analysis (FMEA) early in the design lifecycle.
The purpose of the tool is to semi-automatically generate a model with functions and failure modes to support FMEA. This will be accomplished by:
A graphical component-connection model is created by arranging and connecting components selected from the Master Equipment list.
For each component, a pick-list user interface asks a few questions to narrow down potential failure modes. This uses a failure mode library in MS Excel based on standard failure modes and associated component functions and features.
Pick-lists for types failure mode causes and immediate effects help the analyst complete initial draft FMEA worksheets, which link to the components in the model.
The graphical model, which is marked with redundant components and paths, shows upstream/downstream dependencies, to help the analyst add further effects and criticality to the FMEA worksheets.
This tool is innovative because it saves analysis time and provides a standardized and systematic approach in failure analysis, thereby enabling risk mitigation early in system design. There are also potential benefits of tool use during the operations phase to identify the cause(s) of a fault or failure.
General Public Release
LEW-19703-1
Ozone: ODE and Optimal Control Solver
Ozone is a Python software package that facilitates the solution of ordinary differential equations (ODEs) and optimal control problems. It is unique among similar libraries because of its capability to compute derivatives of the ODEs integrated outputs with respect to parameters, initial conditions, and the time interval. This is implemented in a manner that allows Ozone-based ODE models to be integrated in larger, potentially multidisciplinary models while using adjoint-type methods to compute derivatives for the larger model. In terms of the ODE integration, Ozone adopts the general linear methods (GLM) equations, allowing it to easily support a large library of Runge-Kutta and linear multistep methods. Ozone also supports multiple integration formulations, consisting of time-marching, solver-based, and optimizer-based approaches to solving the ODE. Ozone is built on top of NASAs OpenMDAO software framework.
Open Source
LEW-20017-1
Electrical Power System - Sizing and Analysis Tool (EPS-SAT)
The Electrical Power System - Sizing and Analysis Tool (EPS-SAT) is a tool whose purpose is to analyze electrical power system architectures in order to better direct investment dollars and to expose the strengths and weaknesses of various designs. The software uses on- and off-design modes to complete this analysis. In on-design, the electrical power system components are sized (to estimate system mass, loss, and efficiency). In off-design, the system's performance (such as loss, and efficiency) is calculated at points in the power system's operating range. EPS-SAT includes a Newton-Raphson solver, basic and detailed electrical power system components, and a library of study tools. By using these elements of EPS-SAT, a user can size an electrical power system, perform system trade studies, and examine system response at off-nominal design points.
U.S. Release Only
ARC-16680-1C
Porous material Analysis Toolbox based on OpenFOAM (PATO)
PATO (Porous material Analysis Toolbox based on OpenFOAM) is a modular research and development platform for multiphase porous reactive materials submitted to high-temperature environments or other unusual conditions. It can be run as a simple Fourier heat transfer code or include more advanced features such as internal decomposition (pyrolysis, vaporization), gas-gas and gas-solid chemical interactions (combustion, cracking, coking), gas species transport (convection, diffusion), and solid morphology evolutions (internal density changes, surface ablation). PATO is implemented as a C++ top-level module of the open-source (GNU GPL) Computational Fluid Dynamics software OpenFOAM. This offering is not approved or endorsed by OpenCFD Limited, the producer of the OpenFOAM software and owner of the OPENFOAM and OpenCFD trademarks. PATO also uses the open-source (GNU LGPL) thermodynamics, transport, and chemistry library Mutation++ produced by the von Karman Institute for Fluid Dynamics.
Open Source
MFS-33888-1
Global Reference Atmospheric Model (GRAM) Suite
The Global Reference Atmospheric Model (GRAM) Suite is an engineering-oriented atmospheric model that estimates mean values and statistical variations of atmospheric properties for planetary destinations. GRAM outputs include atmospheric density, temperature, pressure, winds, and chemical composition along a user-defined path. The GRAMs have been rearchitected from Fortran to a common object-oriented C++ framework. This new architecture creates a common GRAM library of data models and utilities. The GRAM ephemeris has been upgraded to the NASA Navigation and Ancillary Information Facility (NAIF) Spacecraft Planet Instrument C-matrix Events (SPICE) toolkit. The GRAM Suite also contains improved methodology that computes the ratio of specific heats in run-time for the current constituent combination, resulting in more accurate speed of sound calculations. The GRAM Suite consists of Earth-GRAM, Mars-GRAM, Venus-GRAM, Neptune-GRAM, Titan-GRAM, Uranus-GRAM and Jupiter-GRAM.
General Public Release
NPO-50136-1
OMINAS (OPEN-SOURCE MODULAR IMAGE NAVIGATION AND ANALYSIS SYSTEM) astronomical data processing software
The primary motivation for the development of this software was to separate the analysis part of the problem from the data-specific part. This allows the exact same software to be used for multiple missions as needed; the only requirement for new mission input is the creation of a translator specific to that data source. Provides an API and for developing tools for astronomical data analysis.
Open Source
GSC-15016-1
Hierarchical Data Format Earth Observing System (HDF-EOS) XML Document-Type Definitions and Schemas
An XML standard has been developed for the HDF-EOS5 file format using document-type definitions and schemas. Users can transform HDF5 files into XML format and vice versa. For more information, please visit: http://opensource.gsfc.nasa.gov/projects/XML_DTD_Schemas/index.php
Open Source
NPO-43129-1
Spectral Analysis Tool (SAT), Version 6.2
The SAT computer program calculates signal spectra, bandwidths, and interference effects for several families of modulation schemes found commonly in radio, satellites, and space communications. It is primarily used for spectrum management purposes to examine the effects of radio frequency interference on a satellite communication system.
U.S. Government Purpose Release
LAR-19282-1
Detect and Avoid Alerting Logic for Unmanned Systems (DAIDALUS) with Dynamic Well-Clear Separation Volumes
DAIDALUS (Detect and AvoID Alerting Logic for Unmanned Systems) is a software library that implements a detect-and-avoid concept for unmanned aircraft systems. At the core of the concept, there is a mathematical definition of the well-clear concept. Two aircraft are considered to be well clear of each other if appropriate distance and time variables determined by the relative aircraft states remain outside a set of predefined threshold values. The main functionality provided by DAIDALUS are: detection logic, maneuver guidance logic (include loss of well-clear recovery), and alerting logic. DAIDALUS 1.0 is the RTCA DO-365 reference implementation of a detect and avoid concept intended to support the integration of Unmanned Aircraft Systems into civil airspace. DAIDALUS 2.0 supports a detect and avoid concept for both Phase I (en-route), but also enables the use multiple well-clear volumes, for example for Phase II (terminal-area) operations.
Open Source
NPO-50821-1
TilePredictor: Image and Pixelwise Classification with Tile-based Convolutional Neural Networks (CNNs)
TilePredictor is a python library designed to rapidly construct and evaluate CNN-based image classifiers for image and pixelwise classification problems. In particular, TilePredictor is designed to generate pixelwise predictions using image-based CNN classifiers which generate a single prediction per image for large images such as those typically encountered in remote sensing and astronomy. TilePredictor generates pixelwise predictions by efficiently spatially aggregating predictions generated by convolving an image-based CNN over tiles extracted from a target image. Additionally, TilePredictor wraps essential CNN training and validation functions to enable rapid construction, evaluation and deployment of both pre-trained and newly-instantiated image-based CNN models to new image data with minimal effort.
Open Source
NPO-52029-1
Kawin: A Kampmann-Wagner Numerical (KWN) phase precipitation and coarsening modeling code
Kawin is an open-source Python library for simulating precipitation behavior in alloys using the Kampmann-Wagner Numerical (KWN) model coupled with Calphad-based thermodynamics. The Calphad coupling is done through the open-source PyCalphad software, which allows for the usage of .TDB databases for thermodynamic and mobility parameters; however, this package also allows the user the define their own thermodynamic calculations. Methods for creating surrogate models on top of the thermodynamic calculations are also introduced in this package, which can greatly reduce computational time. The usage of surrogate models expands the applications of the KWN model by allowing for quicker exploration and/or calibration of model parameters and incorporation into larger scale simulations.
Open Source
LAR-18232-1
Hypatheon-Searchable Database Capability for Formalized Mathematics
The Hypatheon suite of software tools provide a searchable database capability for the specialized domain of formalized mathematics. The technology is designed to be a companion to a specific tool called PVS, which supports an emerging type of advanced software verification intended for safety-critical systems. Hypatheon aims to enhance PVS users' productivity by first indexing the mathematical theories rendered in the PVS specification language, then making their contents searchable by an interactive software tool.
Open Source
LAR-18488-1
KSOPT - An Indirect Method for Numerical Optimization using the Kreisselmeier-Steinhauser Function - Version 3.1
This is a technique for converting a constrained optimization problem into an unconstrained problem. The technique transforms one or more objective functions into reduced objective functions analogous to goal constraints used in the goal programming method. The reduced objective
functions are appended to the set of constraints and an envelope of the entire function set is computed using the Kreisselmeier-Steinhauser function. This envelope function is then searched for an unconstrained minimum. The technique may be categorized as a SUMT algorithm. Version 3.1 is written in the FORTRAN 90/95 standard and improves upon the robustness of the code by preventing potential memory allocation errors.
U.S. Release Only
MFS-33237-1
Python Turbulence Detection Algorithm (PyTDA)
PyTDA, an MSFC-based implementation of the National Center for Atmospheric Research (NCAR) Turbulence Detection Algorithm (NTDA), can be used for convective-scale analysis, situational awareness, and forensic meteorology. The software provides Python functions that will estimate turbulence from Doppler radar data. It is written in the Python programming language.
Open Source
LAR-18938-1
Abaqus User Subroutine Verification (abaverify)
abaverify is a collection of Python scripts that is used for testing and verifying the behavior of user subroutines for the commercial finite element code Abaqus.
Open Source
LAR-20549-1
Program to Optimize Simulated Trajectories II (POST2) v5.0, Government Edition
The Program to Optimize Simulated Trajectories II (POST2) is a generalized point mass, discrete parameter targeting and optimization trajectory simulation program. POST2 provides the capability to target and optimize point mass trajectories for multiple powered or unpowered vehicles near an arbitrary rotating, oblate planet. POST2 has been used successfully to solve a wide variety of atmospheric ascent and reentry problems, as well as exo-atmospheric orbital transfer problems. This flexible simulation capability is augmented by an efficient discrete parameter optimization capability that includes equality and inequality constraints. This version of the software has been overhauled to be thread-safe, enabling usage of multiple compute threads when running optimization problems. A variety of production and development code modules are included that facilitate integration with user-defined terrain and atmosphere. Additionally, an application programming interface (API) provides the ability to call POST2 from other codebases as a library, enabling more applications and use cases. The Government Edition includes several feature modules, such as NPSOL, not included in the Commercial Edition.
U.S. Government Purpose Release
ARC-17749-1
RACE - Runtime for Airspace Concept Evaluation
RACE is a software architecture and framework for configurable, highly concurrent and distributed message based systems. RACE can be used to rapidly build simulations that span several machines (including synchronized displays), interface existing hardware simulators and other live data feeds, and incorporate sophisticated visualization components such as NASAs WorldWind viewer. RACE is implemented as a distributed actor system that runs within Java virtual machines.
Open Source
LAR-18741-1
Low Fidelity Space Systems Analysis Tools-Body Centric Insertion Tool
This tool is intended to support mission architecture designers design simple orbits for vehicles entering into sphere of influence of a planet from heliocentric space. It allows architects to put in information about the dV or C3 energy state and provide information about the desired parking orbit. From either C3 or dV, it calculates the remainder dV required to take the vehicle and place it in the desired orbit based on the planet and its sphere of influence.
U.S. Release Only
LAR-19572-1
Higher-Order Design Environment (HOrDE): A geometry-centric, multi-disciplinary, multi-fidelity process for conceptual aircraft analysis and design
The purpose of this software is to facilitate the creation of analysis and design processes for the conceptual-level aircraft configurations. At its core, the software contains a set of Java classes for defining the geometry, handling the analysis data associated with the geometry, executing external analysis methods, and pre- and post-processing analysis results. Users of this software will have the ability to use the library of geometry and data classes, through its API, to create wrappers for performing analysis, or for interfacing with external analysis methods. A pre-defined set of wrappers has been created for several software codes used by NASA. These wrappers have also been integrated into several process models for performing analysis and design of conceptual-level aircraft concepts in preparation for additional analysis using higher-order methods. Users of the software will be able to use the API to create wrappers for their own analysis methods, and to use both built-in and custom wrappers to create their own process models for the conceptual-level analysis and design processes used by their organization.
U.S. and Foreign Release
NPO-50715-1
Fast Linearized Coronagraph Optimizer (FALCO)
The Fast Linearized Coronagraph Optimizer (FALCO) is a free toolbox of routines for coronagraphic focal plane wavefront correction. The goal of FALCO is to provide a modular, open-source framework for the simulation and/or testbed operation of several common types of coronagraphs. FALCO includes routines for pair-wise probing estimation of the complex electric field and Electric Field Conjugation (EFC) control, and we ask the community to contribute other wavefront correction algorithms. FALCO utilizes and builds upon PROPER, an established optical propagation library. The key innovation in FALCO is the rapid computation of the linearized response matrix for each deformable mirror (DM), which facilitates re-linearization after each control step for faster DM-integrated coronagraph design and wavefront correction experiments. FALCO will be available on Github as source code in MATLAB and Python.
Open Source
GSC-15594-1
Range Safety Algorithm Software Module for an Autonomous Flight Safety System
This software library was developed to mitigate the public safety risks of hazards associated with the flight of expendable launch vehicles and other unmanned flight vehicles. The software encapsulates the various constructs and algorithms required to accomplish Time Space Position Information (TSPI) data management from multiple tracking sources. At its core, the technology evaluates various user-configurable rule sets that govern the qualification of TSPI data sources; provides a pre-launch autonomous hold-launch function; performs flight-monitoring/flight-termination functions; and provides end-of-mission safing.
General Public Release
LEW-20210-1
Python Ground Station for a Core Flight System with CCSDS Electronic Data Sheets Support
This software package primarily consists of a python based graphical user interface (GUI) which serves as a generic telemetry and telecommand system for any mission that uses core flight systems (cFS) with CCSDS Electronic Data Sheets (EDS) support. The GUI utilizes python bindings to automatically read all of the information contained in the mission's EDS Library and Core Flight Executive (CFE) Mission Library.
On the telecommand side this allows instance names, topic names, and subcommand names to be automatically populated in drop-down menus. Command that require a payload will produce text boxes or drop-down menus for user entry. Finally, completed commands are packed and sent to the desired core flight instance.
On the telemetry side, the GUI will continuously listen for messages. When messages arrive, they are decoded, the contents are displayed to the screen, sorted by topic, and saved internally. Telemetry messages can be saved to binary files for further processing.
Also included are several utility python scripts. Two such scripts perform the command sending and telemetry decoding functionality of the GUI. The third reads in the saved telemetry data files and converts the messages into a CSV format which can be loaded in an Excel type program.
Open Source
ARC-17748-1A
Generic Software Architecture for Prognostics (GSAP)
The Generic Software Architecture for Prognostics (GSAP) is a generic, extendable, flexible, modular framework for applying prognostics technologies. GSAP manages top-level control, communications, logging, configuration, integration, and other general activities. A simple, standard interface is provided for integrating prognostics algorithms and models, minimizing the work required to deploy prognostics technologies. The standard interface allows for prognosers developed for GSAP to be reused anywhere GSAP is used.
Open Source
LAR-17678-1
PLOT3D Export Tool for Tecplot
The PLOT3D Export Tecplot addon is a runtime library linked into Tecplot at the time of startup of the Tecplot software. It enables Tecplot users the ability to output PLOT3D style files from Tecplot as a grid, grid and solution, or grid and function file for use by another computer code. Existing functionality of Tecplot only offers input of PLOT3D data and output of image data or Tecplot proprietary formatted data. The PLOT3D Exporter addon thus enables the use of Tecplot as a generation and manipulation of grid and solution data for output to flow solvers. In this capacity, Tecplot can be used to interpolate old solutions onto new grids imported into Tecplot or created within the Tecplot software. The output of PLOT3D data also enables use of Tecplot to convert solutions from other flow solvers into a standard PLOT3D data set. Thus, the PLOT3D Export addon significantly enhances Tecplot capabilities for use by computational science applications.
General Public Release
NPO-52595-1
Automated Colorization of M2020 SHERLOC Context Images
This technology is a script, written in Python, that uses functions from the OpenCV library to automatically detect keypoints within images from two subsystems of SHERLOC, the ACI and WATSON imagers. These keypoints are then matched and used to warp the WATSON image to the ACI, resulting in a "colorized" ACI. This ACI is co-boresighted with the SHERLOC spectrometer, and the resulting image product can allow for analysis of spectral, textural, and color information of observed rock surfaces. It can be used as a standalone script and the resulting colorized ACIs can be integrated into the Loupe software (created by K. Uckert) for SHERLOC data analysis.
General Public Release
ARC-16295-1A
Portable Environment for Quick Image Processing (QuIP)
The QuIP interpreter, a software environment for QUick image processing, uses an interactive scripting language designed to facilitate use by non-expert users, through features such as context-sensitive automatic response completion and integrated documentation. The package includes a number of script packages that implement high-, medium-, and low-level functions (e.g., analysis of eye images for human gaze tracking, feature tracking, and image filtering). The environment also includes facilities for displaying images on screen, drawing and overlaying graphics, and constructing graphical user interfaces using the scripting language. Currently supported platforms are *NIX (tested on Mac OS X and Linux), and Apple iOS.
Open Source
MFS-33236-1
Marshall MRMS Mosaic Python Toolkit (MMM-Py)
MMM-Py reads, analyzes, and displays three-dimensional national mosaicked reflectivity data produced by NOAA's National Severe Storms Laboratory (NSSL). MMM-Py can read MRMS mosaics from either their unique binary format or their converted NetCDF format; it can also read and properly interpret the current mosaic design (4 regional tiles) as well as mosaics produced prior to late July 2013 (8 tiles). The technology can easily stitch multiple tiles together to provide a larger regional or national picture of precipitating weather systems. Composites, horizontal/vertical cross-sections, and combinations thereof are easily displayed using as little as one line of code.
Open Source
NPO-51335-1
Webification of Earth Science Guidance Documentation
The goal of this technology is to provide a full stack web application to convert legacy PODAAC user guide documentation from DOCX to HTML, create standardized structure and intelligently manipulate the content of the documents. The web app is to be used as an internal tool for PODAAC Data Engineers. The web application builds upon an open source Python 3 library called Mammoth, which converts DOCX to simple and clean HTML. After conversion to HTML, the application parses the HTML using Beautiful Soup 4, adds Bootstrap CSS styling, wraps all img and table tags in responsive CSS classes, converts any unsupported images to PNGs, converts all FTP links to HTTPS PODAAC Drive links and dynamically creates a hyperlinked table of contents. The HTML output is responsive, mobile friendly and fully self contained in one file. The application is containerized using Docker and orchestrated via Docker Compose. The application uses React for the frontend, Flask for the backend and Nginx as a reverse proxy server.
Open Source
GSC-16669-1
Global Precipitation Measurement (GPM) Spacecraft Flight Software (FSW) Version 4.7.2
The Global Precipitation Measurement (GPM) spacecraft (S/C) flight software (FSW) controls and coordinates all aspects of the spacecraft's operation in nominal and anomolous conditions. It distributes commands to, and collects data from, all spacecraft subsystems and the science instruments. The FSW controls high gain antenna pointing to TDRSS satellites and manages communications with the ground controllers in real time to receive commands (during SSA contacts) and send housekeeping telemetry data during SSA and MA contacts. It sends science data using the Class-2 CCSDS File Delivery Protocol (CFDP). The GPM FSW monitors the health of most orbiter subsystems and takes corrective actions when necessary.
The GPM FSW controls the pointing of the spacecraft/instruments to the earth's surface, the orientation of the solar arrays to collect power, and the pointing of the high gain antenna to communicate with TDRSS. The GPM FSW uses the propulsion system to perform orbit station keeping and re-entry upon mission completion. The GPM FSW also implements a safehold controller and can perform "yaw maneuvers" to re-orient the spacecraft velocity vector by 180 degrees.
The GPM FSW uses Goddard's Operating System Abstration Layer (OSAL) and the Core Flight Executive (cFE) software. Ten Core Flight System (CFS) applications were co-developed by GPM and Code 582 and are now available in the Code 582 library for future mission use.
U.S. Government Purpose Release
ARC-17647-1
Desktop Exploration of Remote Terrain (DERT)
Desktop Exploration of Remote Terrain (DERT) is a software tool for exploring large Digital Terrain Models (DTMs) in 3D. It aids in understanding topography and spatial relationships of terrain features, as well as performing simple analysis tasks relevant to the planetary science community.
Open Source
SSC-00321
Phenological Parameters Estimation Tool (PPET)
The Phenological Parameters Estimation Tool (PPET) is a set of algorithms implemented in MATLAB that estimates key vegetative phenological parameters. For a given year, the PPET software package takes in temporally processed vegetation index data (3-D spatio-temporal arrays) generated by the Time Series Product Tool (TSPT) and outputs spatial grids (2-D arrays) of vegetation phenological parameters. As a precursor to PPET, the TSPT uses quality information for each pixel of each date to remove bad or suspect data, and then interpolates and digitally filters the time series to produce a continuous, smoothed vegetation index product in which data voids are eliminated. Both the TSPT and PPET use Moderate Resolution Imaging Spectroradiometer (MODIS) satellite multi-spectral data as a default, but each software package is easily modifiable and could be used with any high-temporal-rate remote sensing system that is capable of producing vegetation indices.
Unlike other known plant phenological parameter estimation software, the PPET produces not only common phenological parameters but also real-time and custom parameters without a priori assumptions about the shape of the phenological cycle. Common phenological parameters, like those produced in PPET, are associated with the annual vegetation growth cycle. They quantitatively describe vegetative states related to annual cyclical growing seasons, such as green-up, maturity, senescence, and dormancy, by analyzing the temporal shape of given vegetation index time series. The real-time phenological and custom parameters are formed from a cumulative sum (integral) produced at a fixed temporal interval. In addition, a cumulative vegetation index and time-specific/pest-specific phenological parameters can be designed to optimize the detection of vegetation damage from specific pests and diseases. These problem-specific phenological parameters have the potential to be integrated into near real-time, predictive surveillance systems (i.e. early warning systems) and, with improved vegetative state information, could assist decision makers in making intelligent vegetation and associated land resource management choices.
MATLAB, MATLAB Runtime Library and ERDAS IMAGINE are required to run the software.
U.S. Government Purpose Release
ARC-18132-1
Wikimoji - the Internet of Management Things (IoMT)
Wikimoji - The Internet of Management Things (IoMT) are enhancements to the NASA ARC Context Based Configuration Management System (CBCMS) invention, Patent Grant US7672969 B1. IoMT fills the gap between the Industrial Internet of Things (IIoT) and the consumer Internet of Things (IoT), by covering the critical human elements and organizational gaps that help manage, navigate and control systems of systems. It expands the CBCMS objects by dynamically giving them wiki-page like features as theyre shared in E-mails, or PowerPoint briefings, or Excel Worksheets, or Microsoft Word documents or linked to other entities. Furthermore, these Wikimojis: Wiki + Emoji (configuration and management icons of standard business operations -> Emoji portion plus the automatic communications, configuration, management tracking blog/link type entries for any Microsoft .Net API based interactions or links to other Wikimojis -> Wiki portion) allow for efficient tracking, from informal to formal configuration management levels, of key organizational and management activities in regards to business operations and integration of systems of systems (including IIoT and IoT). Wikimojis can be grouped into channels that have a common association points or topics. Lastly Wikimojis can be set to autonomously conduct data mining/information crawling on targeted information systems (the Internet, corporate clouds, organizational e-mail systems, etc.) searching for related events, discussions, and/or data points, making links as appropriate and become a living data entity reaching its full potential as an Internet of Management Thing. IoMT covers a crucial aspect of daily complex system operations by capturing the human and organizational elements, decisions, intent and feedback that today are haphazardly captured in non-systematic ways or not captured at all.
Additionally, the quality and range of icons have been expanded substantially forming an ontology of management functions packaged into an online drag and drop library for ease of use.
U.S. Release Only
LAR-19195-1
Simple Analysis of Vegetative Trends in Earth Engine (SAVeTrEE)
SAVeTrEE is a script within Google Earth Engine for classifying areas of vegetation mortality. It prompts the user for a year, duration, and spectral index for which a mortality map should be produced, then fits a trend line to an imagery time sequence of vegetative spectral index values calculated from Landsat multispectral data. The slope of the trend line, as well as the spectral index values, are used in determining the final classification of each pixel within the study area. Classification categories are: 1) Growing 2) Mortality (declining) 3) Stable Vegetation and 4) Stable Barren.
Open Source
LAR-18464-1
Detect and Avoid Alerting Logic for Unmanned Systems (DAIDALUS)
DAIDALUS (Detect and AvoID Alerting Logic for Unmanned Systems) is a software library that implements a detect-and-avoid concept for unmanned aircraft systems. At the core of the concept, there is a mathematical definition of the well-clear concept. Two aircraft are considered to be well clear of each other if appropriate distance and time variables determined by the relative aircraft states remain outside a set of predefined threshold values. These distance and time variables are closely related to variables used in the Resolution Advisory (RA) logic of the Traffic Alert and Collision Avoidance System Version II (TCAS II).
DAIDALUS includes algorithms for determining the current well-clear status between two aircraft and for predicting a well-clear violation within a lookahead time, assuming non-maneuvering trajectories. DAIDALUS implements algorithms for computing maneuver guidance, assuming a simple kinematic trajectory model for the ownship. Maneuver guidance is computed in the form of range of track, ground speed, vertical speed, and altitude values called bands. These bands represent areas in the airspace the ownship has to avoid in order to maintain well-clear with respect to traffic aircraft. In the case of a loss of well-clear, or when a well-clear violation is unavoidable, the maneuver guidance algorithms provide well-clear recovery bands. Recovery bands represents areas in the airspace that allow the ownship to regain well-clear status in a timely manner according to its performance limits. Recovery bands are designed so that they also protect against a user-specified minimum horizontal and vertical separation. DAIDALUS also implements a pair-wise alerting logic that is based on a list of increasingly conservative alert levels.
DAIDALUS is implemented in C++ and Java. The definition of a family of well-clear volumes is also available in Matlab. The software library is modular and highly configurable. The functional requirements of DAIDALUS algorithms have been formally specified in the Prototype Verification System (PVS). The correctness of these algorithms with respect to their functional requirements has been formally verified in PVS. Furthermore, the software implementations have been validated against the formal models using stressing test cases.
Open Source
MSC-26230-1
TrickFMI: A Functional Mockup Interface (FMI) Standard Implementation for Trick Base Models and Simulations
This software supports Functional Mockup Interface (FMI) based model exchange with Trick based simulations.
Open Source
GSC-17778-1
General Mission Analysis Tool (V. R2016a)
The GMAT development team is pleased to announce the release of GMAT version R2016a. The General Mission Analysis Tool (GMAT) is the worlds only enterprise, multi-mission, open source software system for space mission design, optimization, and navigation. The system supports missions in flight regimes ranging from low Earth orbit to lunar, libration point, and deep space missions. GMAT is developed by a team of NASA, private industry, public, and private contributors and is used for real-world mission support, engineering studies, as a tool for education, and public engagement.
For a complete list of new features, compatibility changes, and bug fixes, see the Release Notes. Below are just some of the new capabilities contained in this release.
Production quality orbit determination (Operational Certification expected in November, 2016)
Code 500 ephemeris propagator
STK ephemeris file output
Write command to save GMAT configurations during execution
Include macro to load GMAT configurations from external sources during execution
Many new built in math functions and parameters
130 pages of new user documentation
Open Source
LAR-19464-1
LAngley Stability and TRansition Analysis Code (LASTRAC) Version 3.0
LASTRAC3.0 is the first US release of the LASTRAC series of software for chemically reacting flows. The code is designed to be backward compatible to the original LASTRAC release since 2004. Users of the original release are strongly encouraged to upgrade to LASTRAC3.0 as the new software has improved functionality and new Python utility scripts available for either perfect or reacting gas applications. In short, LASTRAC3.0 can handle boundary layers or shear layers with perfect, equilibrium, chemical nonequilibrium, or thermal nonequilibrium (two-temperature) chemistry effects. Users can choose between the default publicly available widely-used five-species air and any user-defined chemistry compositions/models in a table or dynamically-linked-library format. Solution methods allowed for the user-provided perfect or reacting mean flows include Linear Stability Theory (LST), linear/nonlinear Parabolized Stability Equations (PSE) for 2D/axisymmetric/infinite swept wing or full 3D boundary layers. Nonlinear PSE functionalities in this release is restricted to perfect gases only. Future release will include that for reacting flows.
U.S. Government Purpose Release
MFS-33219-1
Python Advanced Microwave Precipitation Radiometer Data Toolkit (PyAMPR)
This toolkit will read geolocated brightness temperature data (in ASCII format) from any flight of the AMPR airborne instrument. A python script will pull out timing, brightness temperatures, and other information from each channel/geolocation and store them as attributes using the appropriate type of numpy array. The approach consists of ingesting the entire file as a text string and then parsing and converting as necessary. The file is read and the data are populated when the class is instantiated with the full path and name of an AMPR file. Numerous visualization methods are provided, including track plots, strip charts, and Google Earth KMZs. In addition, polarization deconvolution is available.
Open Source
ARC-17994-1B
Astrobee Control Station Binary
The Astrobee Control Station is an extension of the Visual Environment for Remote Virtual Exploration (VERVE) that has been customized to operate the Astrobee robot on the International Space Station (ISS). The Astrobee robot has two purposes: it is a remotely-operated mobile camera and survey instrument for ground controllers, and it is an extensible zero gravity research platform for guest scientists. Ground controllers use the Astrobee Control Station to fly Astrobee, control its instruments, watch live video from its cameras, monitor its position and other telemetry, and download and delete collected data. Guest Scientists use the Astrobee Control Station to start and stop their experiments onboard Astrobee, and to monitor custom data and telemetry from their experiments. Though some Astrobee functions will require other tools, the Astrobee Control Station is the primary way that most users will interact with Astrobee.
U.S. and Foreign Release
MFS-32929-1
Generalized Fluid System Simulation Program (GFSSP), Version 702 (Educational Version)
The Generalized Fluid System Simulation Program (GFSSP) is a general-purpose computer program for analyzing steady state and time-dependent flowrates, pressures, temperatures, and concentrations in a complex flow network. The program is capable of modeling phase changes, compressibility, mixture thermodynamics, and external body forces such as gravity and centrifugal forces. GFSSP was developed at Marshall Space Flight Center for flow analysis of Rocket Engine Turbopumps and Propulsion Systems. GFSSP was the recipient of the NASA Software of the Year Award in 2001.
GFSSP is a network flow solver. The thermo-fluid system to be analyzed is discretized into a network of nodes connected by branches. Conservation of mass and energy is solved in the nodes to calculate fluid pressures and temperatures. The momentum equation is solved in the branches for flow rates. Conjugate Heat Transfer may be added to the model through the use of solid nodes connected by conductors. A graphical user interface, MIG (Modeling Interface for GFSSP), allows users to build models by pointing and clicking.
Properties for common fluids in propulsion applications are provided by the GASP/WASP and GASPAK property packages. Users can also supply fluid property interpolation tables. A library of common fluid components such as pipes, orifices, and valves is provided. Built-in advanced options include pressure and flow regulators, valve opening/closing, and propellant tank pressurization/draining. Thirty-two example problems demonstrate the use of the various capabilities of the code.
U.S. and Foreign Release
LAR-18567-1
(ANOPP2v1.5.0) Aircraft NOise Prediction Program (ANOPP2)
The next generation Aircraft NOise Prediction Program (ANOPP), called ANOPP2, provides the capability and a framework to integrate acoustic approaches for aircraft noise component prediction, propulsion system installation effects, and overall sound propagation to the far-field. The predictions from ANOPP2 include the fidelity and flexibility required to predict outside the current experience base. A focal point of ANOPP2 is a combination of acoustic approaches; that is, to offer several options depending on requested fidelity and execution speed. This allows ANOPP2 to include fast prediction methods for design optimization while including the fidelity required for understanding and provide insight into controlling noise physics. In addition, ANOPP2 facilitates design by including complex differentiated versions of the library and peripheral software and, in some cases, algorithmic differentiation of prediction and derived metric capability. While ANOPP is not required to run ANOPP2, it is strongly recommended. In addition, ANOPP2 is also designed to run on large computing systems, such as clusters, and takes advantage of Message Passing Interface (MPI) in many applications.
U.S. and Foreign Release
ARC-16789-1
Inference Kernel for Open Static (IKOS) Analyzers: A High-Performance Static Analysis Engine to Build Automated Code Analysis Tools for the Formal Verification of Critical Software Properties
IKOS is a kernel for the construction of open-static analyzers based on Patrick Cousot and Radhia Cousot's theory of abstract interpretation, which states that computations can be abstracted and reduced to a generalized set of objects and still exhibit the same critical properties of the parent program. By reducing the set of objects through abstraction, IKOS is scalable to large complex computer programs and presents a sound approach to verification of such programs.
Open Source
MFS-33019-1
Generalized Fluid System Simulation Program (GFSSP), Version 702
The Generalized Fluid System Simulation Program (GFSSP) is a general-purpose computer program for analyzing steady state and time-dependent flowrates, pressures, temperatures, and concentrations in a complex flow network. The program is capable of modeling phase changes, compressibility, mixture thermodynamics, and external body forces such as gravity and centrifugal forces. GFSSP was developed at Marshall Space Flight Center for flow analysis of Rocket Engine Turbopumps and Propulsion Systems. GFSSP was the recipient of the NASA Software of the Year Award in 2001.
GFSSP is a network flow solver. The thermo-fluid system to be analyzed is discretized into a network of nodes connected by branches. Conservation of mass and energy is solved in the nodes to calculate fluid pressures and temperatures. The momentum equation is solved in the branches for flow rates. Conjugate Heat Transfer may be added to the model through the use of solid nodes connected by conductors. A graphical user interface, MIG (Modeling Interface for GFSSP), allows users to build models by pointing and clicking. Customized branch options or new model logic may be added to the code through Fortran user subroutines.
Properties for common fluids in propulsion applications are provided by the GASP/WASP and GASPAK property packages. Users can also supply fluid property interpolation tables. A library of common fluid components such as pipes, orifices, and valves is provided. Built-in advanced options include pressure and flow regulators, valve opening/closing, and propellant tank pressurization/draining. Thirty-two example problems demonstrate the use of the various capabilities of the code.
U.S. and Foreign Release
ARC-16457-1A
Visual Environment for Remote Virtual Exploration (VERVE), Version 2
VERVE is a 3D visualization system that provides situational awareness, science analysis tools, and data understanding capabilities for robotics researchers and exploration science operations. The technology is highly modular and extensible and includes a 3D scene-graph database, an interactive 3D viewer, and associated graphical user interfaces to OSGI plugin-based applications.
Open Source
GSC-15874-1
Goddard Satellite Data Simulation Unit
The Goddard Satellite Data Simulation Unit (SDSU) is a comprehensive unified system of multi-sensor satellite instrumental simulators. Skill of weather forecasting models can be evaluated in terms of satellite-observed multi-sensor radiance levels. Alternatively, the remote sensing community can more readily utilize atmospheric model simulations to develop and test their retrieval algorithms for application of Earth science.
Open Source
LAR-18720-1
Scalable Implementation of Finite Elements by NASA (ScIFEN)
The Scalable Implementation of Finite Elements by NASA (ScIFEN) package is a parallel finite element analysis code written in C++. It is designed to enable scalable solutions to computational mechanics problems by leveraging several open-source high performance computing libraries for numerical linear algebra routines and parallel input/output. ScIFEN supports several different finite element types, nonlinear material models, and boundary conditions and contains both implicit and explicit time integration procedures called ScIFEi and ScIFEx, respectively.
U.S. Release Only