Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “scientific software development”

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 73 records · Page 4

Software Reuse Methods to Improve Technological Infrastructure for e-Science

Social computing has the potential to contribute to scientific research. Ongoing developments in information and communications technology improve capabilities for enabling scientific research, including research fostered by social computing capabilities. The recent emergence of e-Science practices has demonstrated the benefits from improvements in the technological infrastructure, or cyber-infrastructure, that has been developed to support science. Cloud computing is one example of this e-Science trend. Our own work in the area of software reuse offers methods that can be used to improve new technological development, including cloud computing capabilities, to support scientific research practices. In this paper, we focus on software reuse and its potential to contribute to the development and evaluation of information systems and related services designed to support new capabilities for conducting scientific research.

Marshall, James J.↗

Test Driven Development of Scientific Models

Test-Driven Development (TDD), a software development process that promises many advantages for developer productivity and software reliability, has become widely accepted among professional software engineers. As the name suggests, TDD practitioners alternate between writing short automated tests and producing code that passes those tests. Although this overly simplified description will undoubtedly sound prohibitively burdensome to many uninitiated developers, the advent of powerful unit-testing frameworks greatly reduces the effort required to produce and routinely execute suites of tests. By testimony, many developers find TDD to be addicting after only a few days of exposure, and find it unthinkable to return to previous practices.After a brief overview of the TDD process and my experience in applying the methodology for development activities at Goddard, I will delve more deeply into some of the challenges that are posed by numerical and scientific software as well as tools and implementation approaches that should address those challenges.

Overview of TDD Process↗

pFUnit 3.0 Tutorial Advanced

This tutorial will introduce Fortran developers to unit-testing and test-driven development (TDD) using pFUnit. As with other unit-testing frameworks, pFUnit, simplifies the process of writing, collecting, and executing tests while providing clear diagnostic messages for failing tests. pFUnit specifically targets the development of scientific-technical software written in Fortran and includes customized features such as: assertions for multi-dimensional arrays, distributed (MPI) and thread-based (OpenMP) parallellism, and flexible parameterized tests.These sessions will include numerous examples and hands-on exercises that gradually build in complexity. Attendees are expected to have working knowledge of F90, but familiarity with object-oriented syntax in F2003 and MPI will be of benefit for the more advanced examples. By the end of the tutorial the audience should feel comfortable in applying pFUnit within their own development environment.

Test Driven using pFUnit↗

Building the Scientific Modeling Assistant: An interactive environment for specialized software design

The construction of scientific software models is an integral part of doing science, both within NASA and within the scientific community at large. Typically, model-building is a time-intensive and painstaking process, involving the design of very large, complex computer programs. Despite the considerable expenditure of resources involved, completed scientific models cannot easily be distributed and shared with the larger scientific community due to the low-level, idiosyncratic nature of the implemented code. To address this problem, we have initiated a research project aimed at constructing a software tool called the Scientific Modeling Assistant. This tool provides automated assistance to the scientist in developing, using, and sharing software models. We describe the Scientific Modeling Assistant, and also touch on some human-machine interaction issues relevant to building a successful tool of this type.

Keller, Richard M.↗

PluginPlay: Enabling exascale scientific software one module at a time

For many computational chemistry packages, being able to efficiently and effectively scale across an exascale cluster is a heroic feat. Collective experience from the Department of Energy’s Exascale Computing Project suggests that achieving exascale performance requires far more planning, design, and optimization than scaling to petascale. In many cases, entire rewrites of software are necessary to address fundamental algorithmic bottlenecks. This in turn requires a tremendous amount of resources and development time, resources that cannot reasonably be afforded by every computational science project. It thus becomes imperative that computational science transition to a more sustainable paradigm. Key to such a paradigm is modular software. While the importance of modular software is widely recognized, what is perhaps not so widely appreciated is the effort still required to leverage modular software in a sustainable manner. The present manuscript introduces PluginPlay, https://github.com/NWChemEx-Project/PluginPlay, an inversion-of-control framework designed to facilitate developing, maintaining, and sustaining modular scientific software packages. Here this manuscript focuses on the design aspects of PluginPlay and how they specifically influence the performance of the resulting package. Although, PluginPlay serves as the framework for the NWChemEx package, PluginPlay is not tied to NWChemEx or even computational chemistry. We thus anticipate PluginPlay to prove to be a generally useful tool for a number of computational science packages looking to transition to the exascale.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

CodeScribe Agent

SF-26-086 CodeScribe introduces a structured, multi-stage pipeline that combines deterministic program analysis with LLM-powered translation to enable incremental, testable Fortran-to-C++ migration. First, `code-scribe index` traverses the project directory tree and produces `scribe.yaml` metadata files recording all modules, subroutines, and functions at each level, giving the LLM accurate structural context instead of a hallucinated codebase model. Second, `code-scribe draft` performs the deterministic portion of translation — converting Fortran types to C++ equivalents, replacing `use` statements with `#include` and `using namespace` directives, and detecting constructs requiring special handling — while embedding`scribe-prompt` annotations that guide the LLM through non-trivial cases such as statement-function-to-lambda conversions and `extern "C"` wrapper generation. Third, `code-scribe translate` applies project-specific TOML-based few-shot prompt templates and submits the composed prompt to a pluggable LLM backend (OpenAI, Anthropic, Argonne ARGO, any OpenAI-compatible endpoint, or local Hugging Face checkpoints), producing a C++ source file, a header, and a Fortran-C++ interface file for each translated routine so the codebase compiles and runs correctly throughout the migration. Beyond translation, CodeScribe includes a tool-using coding agent (`code-scribe agent`) with read, bash, edit, and write capabilities, and a bounded loop mode (`code-scribe loop`) that runs repeated stateless agent sessions over a task file with restricted tool access — enabling sustained, auditable software development workflows for broader scientific computing tasks.

Dhruv, Akash [Argonne National Laboratory (ANL), A↗

Statistical analysis of trigonometric parallaxes

The present project was initiated with two specific medium-term goals: first, to develop a novel approach, based on global modeling and maximum likelihood, to the study of databases of stellar data, with specific attention to the results to be obtained by the Hipparcos mission; and second, to apply and test the methodology developed to existing ground-based data. The long-term goal was of course to integrate the methodology and the ground-based data into a global study of the results of the Hipparcos mission, which were expected to be made available in 1995 or 1996. The closing of the project is due to the recent change of home institution of the PI, who has moved from the University of Illinois to Johns Hopkins University. As a consequence of this move, the three scientists involved in this project will be in close proximity, thereby hopefully improving their ability to collaborate and increasing the productivity of the project. Continued funding for the project has been requested from Johns Hopkins University. This report describes briefly the results obtained so far both on the technical aspect of software development and on the scientific side of applications to existing ground-based data. Significant progress has been made on both counts, with several papers published in (or submitted to) refereed journals and in conference proceedings. Because it is hoped that the project can be successfully continued with NASA support, the report of the progress in each area includes also an assessment of how the current results fit in the expected continuation of the project. Our results to date include: code development (essentially completed); a detailed study of the kinematics and dynamics of stars escaping from the Hyades cluster, relevant to the question of membership in the Hyades; a study of the kinematics and luminosity calibration of nearby dwarfs; an assessment of the quality of the photometry included in the Hipparcos Input Catalog; and two studies of properties of nearby clusters, including a moving-cluster determination of the distance to Praesepe. The bibliography includes three papers submitted to refereed journals, two of which have already been published, and four contributions to conference proceedings. Finally, the work so far has also provided a very good introduction to stellar dynamics and astrometry for an undergraduate student, with educational benefits that had not been foreseen in the original proposal.

Casertano, Stefano↗

GRIDVIEW: Recent Improvements in Research and Education Software for Exploring Mars Topography

We have developed an Interactive Data Language (IDL) scientific visualization software tool called GRIDVIEW that can be used in research and education to explore and study the most recent Mars Orbiter Laser Altimeter (MOLA) gridded topography of Mars (http://denali.gsfc.nasa.gov/mola_pub/gridview). Additional information is contained in the original extended abstract.

Roark, J. H.↗

Development of a tool-set for simultaneous, multi-site observations of astronomical objects

A network of ground and space based telescopes can provide continuous observation of astronomical objects. In a 'Target of Opportunity' scenario triggered by the system, any telescope on the network may request supporting observations. We propose to develop a set of data collection and display tools to support these observations. We plan to demonstrate the usefulness of this toolset for simultaneous multi-site observations of astronomical targets. Possible candidates for the proposed demonstration include the Extreme Ultraviolet Explorer, International Ultraviolet Explorer, ALEXIS, and sounding rocket experiments. Ground based observations, operated by the University of California, Berkeley; the Jet Propulsion Laboratory; and Fairborn Observatory, Mesa, Arizona will be used to demonstrate the proposed concept. Although the demonstration will involve astronomical investigations, these tools will be applicable to a large number of scientific disciplines. the software tools and systems developed as a result of our work will be made available to the scientific community.

Chakrabarti, Supriya↗

Development of a tool-set for simultaneous, multi-site observations of astronomical objects

A network of ground and space based telescopes can provide continuous observation of astronomical objects. In a 'Target of Opportunity' scenario triggered by the system, any telescope on the network may request supporting observations. We propose to develop a set of data collection and display tools to support these observations. We plan to demonstrate the usefulness of this tool set for simultaneous multi-site observations of astronomical targets. Possible candidates for the proposed demonstration include the Extreme Ultraviolet Explorer, International Ultraviolet Explorer, ALEXIS, and sounding rocket experiments. Ground based observations operated by the University of California, Berkeley; the Jet Propulsion Laboratory; and Fairborn Observatory, Mesa, Arizona will be used to demonstrate the proposed concept. Although the demonstration will involve astronomical investigations, these tools will be applicable to a large number of scientific disciplines. The software tools and systems developed as a result of our work will be made available to the scientific community.

Chakrabarti, Supriya↗

Analysis of TRMM Microphysical Measurements: Tropical Rainfall Measuring Mission (TRMM)

SPEC Incorporated participated in three of the four TRMM field campaigns (TEFLUN-A, TEFLUN-B and KWAJEX), installing and operating a cloud particle imager (CPI) and a high volume precipitation spectrometer (HVPS) on the SPEC Learjet in TEFLUN-A, the University of North Dakota Citation in TEFLUN-B and KWAJEX, and a CPI on the NASA DC-8 in KWAJEX. This report presents and discusses new software tools and algorithms that were developed to analyze microphysical data collected during these field campaigns, as well as scientific interpretations of the data themselves. Software algorithms were developed to improve the analysis of microphysical measurements collected by the TRMM aircraft during the field campaigns. Particular attention was paid to developing and/or improving algorithms used to compute particle size distributions and ice water content. Software was also developed in support of production of the TRMM Common Microphysical Product (CMP) data files. CMP data files for TEFLUN-A field campaign were produced and submitted to the DAAC. Typical microphysical properties of convective and stratiform regions from TEFLUN-A and KWAJEX clouds were produced. In general, it was found that in the upper cloud region near -20 to -25 C, stratiform clouds contain very high (greater than 1 per cubic centimeter) concentrations of small ice particles, which are suspected to be a residual from homogeneous freezing and sedimentation of small drops in a convective updraft. In the upper cloud region near -20 to -25 C, convective clouds contain aggregates, which are not found lower in the cloud. Stratiform clouds contain aggregates at all levels, with the majority in the lowest levels. Convective cloud regions contain much higher LWC and drop concentrations than stratiform regions at all levels, and higher LWC in the middle and upper regions. Stratiform clouds contain higher IWC than convective clouds only at the lowest level. Irregular shaped ice particles are found in very high concentrations throughout both convective and stratiform cloud regions. A striking difference in particle shape in cirrus formed in situ, cirrus formed from maritime anvils and cirrus formed from continental anvils. Over 50% of the mass of in situ cirrus ice particles is composed of bullet rosettes, while bullet rosettes are virtually non-existent in maritime and tropical anvils. Tropical anvils are composed of mostly singular, plates, capped columns, and blocky irregular shapes, while continental anvils have a much higher percentage of aggregates, some of which are chains of small spheroidal particles that appear to result from homogeneous freezing of drops. A correlation between high electric fields in continental anvils and the formation of aggregates is hypothesized.

Source record↗

Test Driven Development of Scientific Models

Test-Driven Development (TDD) is a software development process that promises many advantages for developer productivity and has become widely accepted among professional software engineers. As the name suggests, TDD practitioners alternate between writing short automated tests and producing code that passes those tests. Although this overly simplified description will undoubtedly sound prohibitively burdensome to many uninitiated developers, the advent of powerful unit-testing frameworks greatly reduces the effort required to produce and routinely execute suites of tests. By testimony, many developers find TDD to be addicting after only a few days of exposure, and find it unthinkable to return to previous practices. Of course, scientific/technical software differs from other software categories in a number of important respects, but I nonetheless believe that TDD is quite applicable to the development of such software and has the potential to significantly improve programmer productivity and code quality within the scientific community. After a detailed introduction to TDD, I will present the experience within the Software Systems Support Office (SSSO) in applying the technique to various scientific applications. This discussion will emphasize the various direct and indirect benefits as well as some of the difficulties and limitations of the methodology. I will conclude with a brief description of pFUnit, a unit testing framework I co-developed to support test-driven development of parallel Fortran applications.

Clune, Thomas L.↗

AstroNet: A Tool Set for Simultaneous, Multi-Site Observations of Astronomical Objects

Earth-based, fully automatic "robotic" telescopes have been in routine operation for a number of years. As their number grows and their distribution becomes global, increasing attention is being given to forming networks of various sorts that will allow them, as a group, to make observations 24 hours a day in both hemispheres. We have suggested that telescopes based in space be part of this network. We further suggested that any telescope on this network be capable of asking, almost in real time, that other robotic telescopes perform support observations for them. When a target of opportunity required support observations, the system would determine which telescope(s) in the network would be most appropriate to make the observations and formulate a request to do so. Because the network would be comprised of telescopes located in widely distributed regions, this system would guarantee continuity of observations This report summarizes our efforts under this contract. We proposed to develop a set of data collection and display tools to aid simultaneous observation of astronomical targets from a number of observing sites. We planned to demonstrate the usefulness of this toolset for simultaneous multi-site observation of astronomical targets. Possible candidates or the proposed demonstration included the Extreme Ultraviolet Explorer (EUVE), International Ultraviolet Explorer (IUE), and ALEXIS, sounding rocket experiments. Ground-based observatories operated by the University of California, Berkeley, the Jet Propulsion Laboratory, and Fairborn Observatory in Mesa, Arizona were to be used to demonstrate the proposed concept. Although the demonstration was to have involved astronomical investigations, the tools were to have been applicable to a large number of scientific disciplines. The software tools and systems developed as a result of the work were to have been made available to the scientific community.

Chakrabarti, Supriya↗

Blueprint for DOE Quantum Supercomputing: Ensuring U.S. Leadership in the Quantum Decade

Quantum computing stands at the threshold of a transformative decade, where the field will evolve from small-scale demonstrations toward practical scientific computing at scale. This Blueprint identifies fault-tolerant quantum computers (FTQCs) as a viable, scalable, and broadly applicable path to achieving “quantum scientific utility,” defined as solving scientifically valuable problems beyond the reach of conventional, classical computers. This capability is expected to show scientific demonstrations in the late 2020s and to mature in the early-to-mid 2030s. This Blueprint outlines a strategy to prepare the U.S. Department of Energy (DOE) for FTQCs and their integration into the U.S. national scientific computing infrastructure. Its purpose is to identify the steps, milestones, and research directions necessary for DOE to enable initial deployment of FTQCs in 2028 as a scientific tool for the nation and mature this capability into the 2030s. DOE has a long history of supporting quantum information science and technology, contributing significantly to research advancements, training a quantum-ready workforce, and providing access to early small-scale quantum hardware. Given recent demonstrations of logical operations on error-corrected logical qubits and the advancement of commercial hardware roadmaps, DOE should begin preparations for large-scale, fault-tolerant quantum computing deployment for DOE science missions. This Blueprint proposes that DOE focus on (1) deploying first-generation scientifically relevant quantum computers with at least 100 logical qubits and performing at least 10,000 to 100,000 hard logical operations in scientifically relevant calculations; (2) developing essential FTQC programming competencies, system software, and facility readiness; and (3) investing in cutting edge focused R&D that fosters breakthroughs in scientific applications, algorithms, and logical architectures needed to accelerate the advent of scientific utility. This effort will position DOE to transition to larger systems: production-scale quantum computers that comprise 1,000 to 10,000 logical qubits, perform 1 to 10 billion hard logical operations, and execute scientifically useful computations at scale. Achieving these goals will require DOE facilities to evolve with urgency to support scientific campaigns that integrate quantum and classical computing resources into efficient workflows, novel software and firmware environments for compiling and routing quantum programs on FTQC machines, and suitable infrastructure for quantum hardware. It will also require further development and optimization of scientific applications from the fields of materials science, quantum chemistry, and high-energy and nuclear physics. The Blueprint calls for transformative R&D and collective action to accelerate the advent of scientific quantum utility and bring it within reach by 2028.

97 MATHEMATICS AND COMPUTING↗

Administrative automation in a scientific environment

Although the scientific personnel at GSFC were advanced in the development and use of hardware and software for scientific applications, resistance to the use of automation or purchase of terminals, software and services, specifically for administrative functions was widespread. The approach used to address problems and constraints and plans for administrative automation within the Space and Earth Sciences Directorate are delineated. Accomplishments thus far include reduction of paperwork and manual efforts; improved communications through telemail and committees; additional support staff; increased awareness at all levels on ergonomic concerns and the need for training; better equipment; improved ADP skills through experience; management commitment; and an overall strategy for automating.

Jarrett, J. R.↗

Minimizing development costs for efficient many-core visualization using MCD3

Scientific visualization software increasingly needs to support many-core architectures. However, development time is a significant challenge due to the breadth and diversity of both visualization algorithms and architectures. With this work, we introduce a development environment for visualization algorithms on many-core devices that extends the traditional data-parallel primitive (DPP) approach with several existing constructs and an important new construct: meta-DPPs. We refer to our approach as MCD 3 — Meta-DPPs, Convenience routines, Data management, DPPs, and Devices. The twin goals of MCD 3 are to reduce developer time and to deliver efficient performance on many-core architectures, and our evaluation considers both of these goals. For development time, we study 57 algorithms implemented in the VTK-m software library and determine that MCD 3 leads to significant savings. For efficient performance, we survey ten studies looking at individual algorithms and determine that the MCD 3 hardware-agnostic approach leads to performance comparable to hardware-specific approaches: sometimes better, sometimes worse, and better in the aggregate. In total, we find that MCD 3 is an effective approach for scientific visualization libraries to support many-core architectures.

97 MATHEMATICS AND COMPUTING↗

Prioritizing Scientific Data for Transmission

A software system has been developed for prioritizing newly acquired geological data onboard a planetary rover. The system has been designed to enable efficient use of limited communication resources by transmitting the data likely to have the most scientific value. This software operates onboard a rover by analyzing collected data, identifying potential scientific targets, and then using that information to prioritize data for transmission to Earth. Currently, the system is focused on the analysis of acquired images, although the general techniques are applicable to a wide range of data modalities. Image prioritization is performed using two main steps. In the first step, the software detects features of interest from each image. In its current application, the system is focused on visual properties of rocks. Thus, rocks are located in each image and rock properties, such as shape, texture, and albedo, are extracted from the identified rocks. In the second step, the features extracted from a group of images are used to prioritize the images using three different methods: (1) identification of key target signature (finding specific rock features the scientist has identified as important), (2) novelty detection (finding rocks we haven t seen before), and (3) representative rock sampling (finding the most average sample of each rock type). These methods use techniques such as K-means unsupervised clustering and a discrimination-based kernel classifier to rank images based on their interest level.

Castano, Rebecca↗