Search NASA⌕ Search

SEARCH · Search NASA

Results for “Software Library”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 325 records · Page 18

cclib 2.0: An updated architecture for interoperable computational chemistry

Interoperability in computational chemistry is elusive, impeded by the independent development of software packages and idiosyncratic nature of their output files. The cclib library was introduced in 2006 as an attempt to improve this situation by providing a consistent interface to the results of various quantum chemistry programs. The shared API across programs enabled by cclib has allowed users to focus on results as opposed to output and to combine data from multiple programs or develop generic downstream tools. Initial development, however, did not anticipate the rapid progress of computational capabilities, novel methods, and new programs; nor did it foresee the growing need for customizability. Here, we recount this history and present cclib 2, focused on extensibility and modularity. We also introduce recent design pivots—the formalization of cclib’s intermediate data representation as a tree-based structure, a new combinator-based parser organization, and parsed chemical properties as extensible objects.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Deploying and Tracking Software with NCCS Software Provisioning

The National Center for Computational Sciences (NCCS) at Oak Ridge National Laboratory has a long history of deploying ground-breaking leadership-class supercomputers for the U.S. Department of Energy. The latest in this line of supercomputers is Frontier, the first supercomputer to break the exascale barrier (1018 floating-point operations per second) on the TOP500 list. Frontier serves a wide array of scientific domains, from traditional simulation-based workloads to newer AI and Machine Learning workloads. To best serve the NCCS user community, NCCS uses Spack to deploy a comprehensive software stack of scientific software packages, providing straightforward access to these packages through Lmod Environment Modules. Maintaining a large software stack while also including multiple new compiler releases each year is a very time-consuming task. Additionally, it is not straightforward to provide a software stack alongside existing vendor-provided software such as the HPE/Cray Programming Environment (CPE), and existing CPE, Spack, and Lmod integration does not allow for multiple versions of GPU libraries such as AMD’s ROCm to be used. To address these challenges and shortcomings, NCCS has developed the NCCS Software Provisioning tool (NSP)1, a tool for deploying and monitoring software stacks on HPC systems. NSP allows NCCS to quickly and effectively provision software stacks from the ground up using template-driven recipes and configuration files. NSP is successfully deployed on Frontier and several other NCCS clusters, enabling the NCCS software team to quickly deploy software stacks for newly-released compilers, expand current software offerings, better support GPU-based software, and monitor Lmod module usage to identify unused software packages that can be removed from the software stack. In this work, we discuss the shortcomings of the previous CPE, Spack, and Lmod usage at NCCS, provide further details on the implementation and structure of NSP, then discuss the benefits that NSP provides.

Rentschler, Asa [ORNL] (ORCID:0009000597694743)↗

A High-Availability, Distributed Hardware Control System Using Java

Two independent coronagraph experiments that require 24/7 availability with different optical layouts and different motion control requirements are commanded and controlled with the same Java software system executing on many geographically scattered computer systems interconnected via TCP/IP. High availability of a distributed system requires that the computers have a robust communication messaging system making the mix of TCP/IP (a robust transport), and XML (a robust message) a natural choice. XML also adds the configuration flexibility. Java then adds object-oriented paradigms, exception handling, heavily tested libraries, and many third party tools for implementation robustness. The result is a software system that provides users 24/7 access to two diverse experiments with XML files defining the differences

high-availability↗

Lowering and Runtime Support for Fortran’s Multi-Image Parallel Features using LLVM Flang, PRIF, and Caffeine

This paper provides an overview of the multi-image parallel features in Fortran 2023 and their implementation in the LLVM flang compiler and the Caffeine parallel runtime library. The features of interest support a Single-Program, Multiple-Data (SPMD) programming model based on executing multiple “images”, each of which is a program instance. The features also support a Partitioned Global Address Space (PGAS) in the form of “coarray” distributed data structures. The paper discusses the lowering of multi-image features to the Parallel Runtime Interface for Fortran (PRIF) and the implementation of PRIF in the Caffeine parallel runtime library. This paper also provides an early view into the design of a new multi-image dialect of the LLVM Multi-Level Intermediate Representation (MLIR). We describe validation and testing of the resulting software stack, and demonstrate that performance compares favorably to another open-source compiler and runtime library: GNU Compiler Collection (GCC) gfortran and OpenCoarrays, respectively.

Bonachea, Dan↗

Simultaneous optimal system and controller design for multibody systems with joint friction using direct sensitivities

Abstract Real-world multibody systems are often subject to phenomena like friction, joint clearances, and external events. These phenomena can significantly impact the optimal design of the system and its controller. This work addresses the gradient-based optimization methodology for multibody dynamic systems with joint friction using a direct sensitivity approach. The Brown–McPhee model has been used to characterize the joint friction in the system. This model is suitable for the study due to its accuracy for dynamic simulation and its compatibility with sensitivity analysis. This novel methodology supports codesign of the multibody system and its controller, which is especially relevant for applications like robotics and servo-mechanical systems, where the actuation and design are highly dependent on each other. Numerical results are obtained using a software package written in Julia with state-of-the-art libraries for automatic differentiation and differential equations. Three case studies are provided to demonstrate the attractive properties of simultaneous optimal design and control approach for certain applications.

Verulkar, Adwait↗

IPyOverlay

IPyOverlay is a Python library that provides several IPyWidget components for use within the Jupyter software ecosystem. These components add novel UI capabilities to enable details-on-demand interaction paradigms by providing the ability to render widgets on top of other widgets with arbitrary and controllable positioning. This capability enables adding click-and-draggable overlay windows containing other widgets, right-click context menus, and more complex tooltip functionality.

Martindale, Nathan [Oak Ridge National Laboratory ↗

BASIN-3D Data Integration for Selected ARM Data Field Campaign Report

The purpose of this data services request was to demonstrate integration of the Atmospheric Radiation Measurement (ARM) User Facility’s “met” datastreams with time series data from other earth science data sources using the BASIN-3D data synthesis software tool. BASIN-3D is an open-source Python library that enables researchers to integrate data across configured public and private data sources. It provides a common query language for researchers to request measurement locations and time series data based on specified locations, variables, time period, statistics, aggregation, and data quality. BASIN-3D acquires the data that match the query from each configured data source and translates the results into harmonized vocabularies, thus reducing researchers' data-wrangling effort. In addition, because the queries are executed on demand, researchers can easily regenerate their synthesized data sets as new data and/or data updates become available, eliminating one-off data products. BASIN-3D can output data using a variety of different data structures for end-user applications including Python pandas data frames and hdf5 output formats.

54 ENVIRONMENTAL SCIENCES↗

Automated software development workstation

Engineering software development was automated using an expert system (rule-based) approach. The use of this technology offers benefits not available from current software development and maintenance methodologies. A workstation was built with a library or program data base with methods for browsing the designs stored; a system for graphical specification of designs including a capability for hierarchical refinement and definition in a graphical design system; and an automated code generation capability in FORTRAN. The workstation was then used in a demonstration with examples from an attitude control subsystem design for the space station. Documentation and recommendations are presented.

Source record↗

Visualization software for a global three-dimensional upper atmosphere model

A software environment has been developed to assist in analysis and visualization of numerical outputs from NCAR's thermospheric general circulation models. The codes produce vector graphics, raster imagery, and time dependent animation of model results, with provision for comparison with empirical models and relevant data from satellite and ground based instruments. Separate programs are executed on the NCAR CRAY YMP8/864 and HAO divisional Sun workstations, providing both large volume highspeed batch and custom interactive computing environments. The visualization system assembles a suite of existing software packages including NCAR Graphics, IDL, netCDF, and the Xt intrinsics library with the Athena widget set.

Foster, Benjamin T.↗

Spatial Data Management System (SDMS)

The Spatial Data Management System (SDMS) is a testbed for retrieval and display of spatially related material. SDMS permits the linkage of large graphical display objects with detail displays and explanations of its smaller components. SDMS combines UNIX workstations, MIT's X Window system, TCP/IP and WAIS information retrieval technology to prototype a means of associating aggregate data linked via spatial orientation. SDMS capitalizes upon and extends previous accomplishments of the Software Technology Branch in the area of Virtual Reality and Automated Library Systems.

Hutchison, Mark W.↗

Petabyte Class Storage at Jefferson Lab (CEBAF)

By 1997, the Thomas Jefferson National Accelerator Facility will collect over one Terabyte of raw information per day of Accelerator operation from three concurrently operating Experimental Halls. When post-processing is included, roughly 250 TB of raw and formatted experimental data will be generated each year. By the year 2000, a total of one Petabyte will be stored on-line. Critical to the experimental program at Jefferson Lab (JLab) is the networking and computational capability to collect, store, retrieve, and reconstruct data on this scale. The design criteria include support of a raw data stream of 10-12 MB/second from Experimental Hall B, which will operate the CEBAF (Continuous Electron Beam Accelerator Facility) Large Acceptance Spectrometer (CLAS). Keeping up with this data stream implies design strategies that provide storage guarantees during accelerator operation, minimize the number of times data is buffered allow seamless access to specific data sets for the researcher, synchronize data retrievals with the scheduling of postprocessing calculations on the data reconstruction CPU farms, as well as support the site capability to perform data reconstruction and reduction at the same overall rate at which new data is being collected. The current implementation employs state-of-the-art StorageTek Redwood tape drives and robotics library integrated with the Open Storage Manager (OSM) Hierarchical Storage Management software (Computer Associates, International), the use of Fibre Channel RAID disks dual-ported between Sun Microsystems SMP servers, and a network-based interface to a 10,000 SPECint92 data processing CPU farm. Issues of efficiency, scalability, and manageability will become critical to meet the year 2000 requirements for a Petabyte of near-line storage interfaced to over 30,000 SPECint92 of data processing power.

Chambers, Rita↗

Architecture Adaptive Computing Environment

Architecture Adaptive Computing Environment (aCe) is a software system that includes a language, compiler, and run-time library for parallel computing. aCe was developed to enable programmers to write programs, more easily than was previously possible, for a variety of parallel computing architectures. Heretofore, it has been perceived to be difficult to write parallel programs for parallel computers and more difficult to port the programs to different parallel computing architectures. In contrast, aCe is supportable on all high-performance computing architectures. Currently, it is supported on LINUX clusters. aCe uses parallel programming constructs that facilitate writing of parallel programs. Such constructs were used in single-instruction/multiple-data (SIMD) programming languages of the 1980s, including Parallel Pascal, Parallel Forth, C*, *LISP, and MasPar MPL. In aCe, these constructs are extended and implemented for both SIMD and multiple- instruction/multiple-data (MIMD) architectures. Two new constructs incorporated in aCe are those of (1) scalar and virtual variables and (2) pre-computed paths. The scalar-and-virtual-variables construct increases flexibility in optimizing memory utilization in various architectures. The pre-computed-paths construct enables the compiler to pre-compute part of a communication operation once, rather than computing it every time the communication operation is performed.

Dorband, John E.↗

Computer Technology for Industry

In this age of the computer, more and more business firms are automating their operations for increased efficiency in a great variety of jobs, from simple accounting to managing inventories, from precise machining to analyzing complex structures. In the interest of national productivity, NASA is providing assistance both to longtime computer users and newcomers to automated operations. Through a special technology utilization service, NASA saves industry time and money by making available already developed computer programs which have secondary utility. A computer program is essentially a set of instructions which tells the computer how to produce desired information or effect by drawing upon its stored input. Developing a new program from scratch can be costly and time-consuming. Very often, however, a program developed for one purpose can readily be adapted to a totally different application. To help industry take advantage of existing computer technology, NASA operates the Computer Software Management and Information Center (COSMIC)(registered TradeMark),located at the University of Georgia. COSMIC maintains a large library of computer programs developed for NASA, the Department of Defense, the Department of Energy and other technology-generating agencies of the government. The Center gets a continual flow of software packages, screens them for adaptability to private sector usage, stores them and informs potential customers of their availability.

Source record↗

Development of Level of Detail System and First-Person Camera for the GCAS Visualization Suite

The use of data-driven simulations has become standard practice as part of planning for future space missions. These simulations allow visualizing the data interactively to show what the data represents, as well as the importance of the data in the context of the mission. Using this visualized data can enhance users’ understanding of it and accelerate analysis efforts related to missions planned around it. Three-dimensional (3D) visualization software was developed to allow creating 3D representations of various communication systems, as well as the physical terrain of the Moon, for upcoming missions. The goal of this software development effort was to create interactive visualization capabilities in the Glenn Research Center Communication Analysis Suite (GCAS) using data exported from MATLAB® (MathWorks, Inc.) scripts. This software had the functionality to visualize the line of sight and dynamic link margins of the communication satellites orbiting the Earth and the Moon. One important addition to this was the visualization of the terrain data located within the GeoTIFF files, which were produced in an effort to understand the Moon’s terrain. Proper displacement values of this data have to be visualized to showcase where craters are located and how the shadow casting works with said craters at different points of the day, as well as analysis of possible landing sites for future lunar expeditions. The graphics library coded in JavaScript, three.js, had been previously selected for developing this visualization software. The software was revised to conform to modern standards, then further developed to convert the MATLAB® data into JavaScript 3D objects and Blender GL Transmission Format Binary file (GLB) objects, which were to be imported into the scene. In the process, a variety of other testing projects were created to be combined with this project at a later point; these included the first-person camera movements around spherical objects to portray human movement around the Moon, GeoTIFF loading methods, data transfer methods for incorporating the elevation data into the scene, and level of detail (LOD) capabilities to decrease memory usage and rendering time.

Visualization↗

Generalized Support Software: Domain Analysis and Implementation

For the past five years, the Flight Dynamics Division (FDD) at NASA's Goddard Space Flight Center has been carrying out a detailed domain analysis effort and is now beginning to implement Generalized Support Software (GSS) based on this analysis. GSS is part of the larger Flight Dynamics Distributed System (FDDS), and is designed to run under the FDDS User Interface / Executive (UIX). The FDD is transitioning from a mainframe based environment to systems running on engineering workstations. The GSS will be a library of highly reusable components that may be configured within the standard FDDS architecture to quickly produce low-cost satellite ground support systems. The estimates for the first release is that this library will contain approximately 200,000 lines of code. The main driver for developing generalized software is development cost and schedule improvement. The goal is to ultimately have at least 80 percent of all software required for a spacecraft mission (within the domain supported by the GSS) to be configured from the generalized components.

Stark, Mike↗

Modeling and investigative studies of Jovian low frequency emissions

Jovian decametric (DAM) and hectometric (HOM) emissions were first observed over the entire spectrum by the Voyager 1 and 2 flybys of the planet. They display unusual arc-like structures on frequency-versus-time spectrograms. Software for the modeling of the Jovian plasma and magnetic field environment was performed. In addition, an extensive library of programs was developed for the retrieval of Voyager Planetary Radio Astronomy (PRA) data in both the high and low frequency bands from new noise-free, recalibrated data tapes. This software allows the option of retrieving data sorted with respect to particular sub-Io longitudes. This has proven to be invaluable in the analyses of the data. Graphics routines were also developed to display the data on color spectrograms.

Menietti, J. D.↗

Development of the engineering design integration (EDIN) system: A computer aided design development

The EDIN (Engineering Design Integration) System which provides a collection of hardware and software, enabling the engineer to perform man-in-the-loop interactive evaluation of aerospace vehicle concepts, was considered. Study efforts were concentrated in the following areas: (1) integration of hardware with the Univac Exec 8 System; (2) development of interactive software for the EDIN System; (3) upgrading of the EDIN technology module library to an interactive status; (4) verification of the soundness of the developing EDIN System; (5) support of NASA in design analysis studies using the EDIN System; (6) provide training and documentation in the use of the EDIN System; and (7) provide an implementation plan for the next phase of development and recommendations for meeting long range objectives.

Glatt, C. R.↗

Zemax Modeling of a Self-aligned Focusing Schlieren System with Simulated Compressible Flow

A self-aligned focusing schlieren system is simulated in the ANSYS Zemax OpticStudio software environment. The model uses a custom scatter-defining dynamic link library on the retroreflective background in order to scatter rays in the direction of the incident ray rather than the specular ray. Simulated compressible flow refractive index fields are imported into Zemax by use of the grid gradient object and a workaround to the maximum point limit is introduced. The Ronchi ruling is built as a high resolution bitmap image in MATLAB and set in Zemax as a slide object allowing the bitmap image to either transmit or terminate rays at each line pair. The Zemax simulations are compared to computational numerical schlieren and experimental conventional, path-integrated schlieren results from a hypersonic stagnation point injection flow configuration and an experimental image of a shock wave from a laser-induced breakdown. In the stagnation point injection simulations, the Zemax schlieren images capture complex flow features such as the Mach disk, shear layers, contact surface, and bow shock well, but contains long, curved features (striations) between the model and the bow shock that are not present in the synthetic schlieren image from the CFD or the experimental image. The image from Zemax of the spark-induced shock wave captures the shape and curvature of the shock but appears blurry due to grid discretization in the computational data.

Nicholas A Mejia↗