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 37 records · Page 2

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

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

Fostering Better Collaboration in Software Development Cycles Between Scientists and Programmers to Ensure the Integrity of and Promote the Development of New Scientific Data Products.

Misaligned incentives lead to reduced interaction between scientists and programmers on modern NASA science data-product development teams. Typically, situations arise where the scientist is not incentivized to learn modern coding practices and the programmer does not understand the science algorithms in the code. A programmer is responsible for the deliverable code thus setting a tradeoff between the desire for code improvement versus fear of compromising the integrity of data-product while the scientist continues to rely on their legacy codebases owing to the complexity of using the delivered code outside the processing environment and lack of validation modules. The NASA/CERES-TISA project has adopted a collaborative approach, with scientists and programmers both utilizing the same software repository with multiple branches, some optimized for delivery to a processing datacenter and others for scientific product development and validation. A team of scientists and programmers jointly review any new science code updates for integration into the codebase and strive to improve practices through promoting algorithm understanding, better institutional knowledge exchange and documentation, modularization, and developing data processing flow-dictated validation and debugging methods. This leads to a reduction in the personnel single point failures and reduced development time for creation of new science data-products.

CERES↗

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↗

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

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↗

Testing Scientific Software: Challenges and Remedies

Over the past two decades, the emergence of highly effective software testing frameworks has greatly simplified the development and use of unit tests and has led to new software development paradigms such as test driven development (TDD). However, scientific computing introduces a number of unique testing challenges, including numerical algorithms, distributed parallelism, and exascale environments. This presentation will begin with a brief introduction to unit testing, testing frameworks, and some simple examples using pFUnit, a unit testing framework for Fortran + MPI. I will then take a closer look at several of the obstacles one faces when testing technical software and suggest methodologies that can mitigate these difficulties.

Clune, Tom↗

A toolbox and record for scientific models

Computational science presents a host of challenges for the field of knowledge-based software design. Scientific computation models are difficult to construct. Models constructed by one scientist are easily misapplied by other scientists to problems for which they are not well-suited. Finally, models constructed by one scientist are difficult for others to modify or extend to handle new types of problems. Construction of scientific models actually involves much more than the mechanics of building a single computational model. In the course of developing a model, a scientist will often test a candidate model against experimental data or against a priori expectations. Test results often lead to revisions of the model and a consequent need for additional testing. During a single model development session, a scientist typically examines a whole series of alternative models, each using different simplifying assumptions or modeling techniques. A useful scientific software design tool must support these aspects of the model development process as well. In particular, it should propose and carry out tests of candidate models. It should analyze test results and identify models and parts of models that must be changed. It should determine what types of changes can potentially cure a given negative test result. It should organize candidate models, test data, and test results into a coherent record of the development process. Finally, it should exploit the development record for two purposes: (1) automatically determining the applicability of a scientific model to a given problem; (2) supporting revision of a scientific model to handle a new type of problem. Existing knowledge-based software design tools must be extended in order to provide these facilities.

Ellman, Thomas↗

Software-Reconfigurable Processors for Spacecraft

A report presents an overview of an architecture for a software-reconfigurable network data processor for a spacecraft engaged in scientific exploration. When executed on suitable electronic hardware, the software performs the functions of a physical layer (in effect, acts as a software radio in that it performs modulation, demodulation, pulse-shaping, error correction, coding, and decoding), a data-link layer, a network layer, a transport layer, and application-layer processing of scientific data. The software-reconfigurable network processor is undergoing development to enable rapid prototyping and rapid implementation of communication, navigation, and scientific signal-processing functions; to provide a long-lived communication infrastructure; and to provide greatly improved scientific-instrumentation and scientific-data-processing functions by enabling science-driven in-flight reconfiguration of computing resources devoted to these functions. This development is an extension of terrestrial radio and network developments (e.g., in the cellular-telephone industry) implemented in software running on such hardware as field-programmable gate arrays, digital signal processors, traditional digital circuits, and mixed-signal application-specific integrated circuits (ASICs).

Farrington, Allen↗

Constructing an advanced software tool for planetary atmospheric modeling

Scientific model building can be an intensive and painstaking process, often involving the development of large and complex computer programs. Despite the effort involved, scientific models cannot be easily distributed and shared with other scientists. In general, implemented scientific models are complex, idiosyncratic, and difficult for anyone but the original scientist/programmer to understand. We believe that advanced software techniques can facilitate both the model building and model sharing process. In this paper, we describe a prototype for a scientific modeling software tool that serves as an aid to the scientist in developing and using models. This tool includes an interactive intelligent graphical interface, a high level domain specific modeling language, a library of physics equations and experimental datasets, and a suite of data display facilities. Our prototype has been developed in the domain of planetary atmospheric modeling, and is being used to construct models of Titan's atmosphere.

Keller, Richard M.↗