Search NASA⌕ Search

SEARCH · Search NASA

Results for “open source codes”

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 55 records · Page 3

An Evolving Worldview: Making Open Source Easy

NASA Worldview is an interactive interface for browsing full-resolution, global satellite imagery. Worldview supports an open data policy so that academia, private industries and the general public can use NASA's satellite data to address Earth science related issues. Worldview was open sourced in 2014. By shifting to an open source approach, the Worldview application has evolved to better serve end-users. Project developers are able to have discussions with end-users and community developers to understand issues and develop new features. New developers are able to track upcoming features, collaborate on them and make their own contributions. Getting new developers to contribute to the project has been one of the most important and difficult aspects of open sourcing Worldview. A focus has been made on making the installation of Worldview simple to reduce the initial learning curve and make contributing code easy. One way we have addressed this is through a simplified setup process. Our setup documentation includes a set of prerequisites and a set of straight forward commands to clone, configure, install and run. This presentation will emphasis our focus to simplify and standardize Worldview's open source code so more people are able to contribute. The more people who contribute, the better the application will become over time.

open dat↗

Vector Radiative Transfer Code SORD: Performance Analysis and Quick Start Guide

We present a new open source polarized radiative transfer code SORD written in Fortran 9095. SORD numerically simulates propagation of monochromatic solar radiation in a plane-parallel atmosphere over a reflecting surface using the method of successive orders of scattering (hence the name). Thermal emission is ignored. We did not improve the method in any way, but report the accuracy and runtime in 52 benchmark scenarios. This paper also serves as a quick start users guide for the code available from ftp:maiac.gsfc.nasa.govpubskorkin, from the JQSRT website, or from the corresponding (first) author.

polarized radiative transfer↗

A Computational Study to Investigate the Effect of Defect Geometries on the Fatigue Crack Driving Forces in Powder-Bed AM Materials

Powder-bed additive manufacturing (AM) processes are associated with the formation of multiple types of process-specific pores, including but not limited to lack-of-fusion (LoF) and keyhole pores. The performance of an AM component is dependent on the type of pores, their density and their proximity to the free surface, and other heterogeneities in the microstructure. In order to characterize the influence of porosity on the mechanical behavior of AM materials, it is imperative to quantitatively analyze the heterogeneous strain accumulation in the vicinity of porosity. Process-specific microstructure models are generated using SPPARKS, an open-source process simulation code. Spherical keyhole or irregular LoF pores are embedded into the microstructure models, which are meshed and input into a finite element code, ScIFEN, to solve for the heterogeneous strain localization in the vicinity of the pores. Given the non-smooth geometries of LoF pores, they readily promote strain accumulation in their vicinity thereby increasing the propensity of initiating fatigue cracks.

Saikumar R Yeratapally↗

Direct Simulation Monte Carlo Studies of the Gas Sampling for the VATMOS-SR Mission Concept

VATMOS-SR (Venus ATMOSpheric - Sample Return) is a small spacecraft mission concept which would return a gas sample from the upper atmosphere of Venus to Earth for scientific analysis. This could be the first sample return mission for an extra-terrestrial atmosphere, and potentially the first sample return from an Earth-sized planet. The VATMOS-SR mission concept consists of a SmallSat atmospheric sampling probe (45 deg. sphere/cone geometry, <1 m diameter) that is designed to skim through the Venus upper atmosphere and acquire gas samples below the homopause altitude (around ~110 km altitude), where the different atmospheric gases are mixed. The velocity of the spacecraft where sampling would occur is expected to be between ~10.5 km/s and ~13.1 km/s, depending on the trajectory chosen. This presentation will discuss hypervelocity sampling in the upper atmosphere of Venus, with respect to the VATMOS-SR mission concept. VATMOS-SR would enable critical atmospheric measurements to form a full picture of how, why, and when Venus evolved to be so different from Earth and Mars. The abundances and isotopic compositions of volatile elements (such as N, C, S, O and the noble gases) in planetary atmospheres record volatile delivery during accretion, outgassing from planetary interiors, and atmospheric loss to space. Precise and accurate determinations of atmospheric volatile signatures are the key to understanding the origins and geodynamical evolution of Venus compared to the other terrestrial planets. Hypersonic sampling poses unique technical and scientific challenges. To ensure it is possible to relate the composition of the sampled gases to the free stream atmospheric composition, large-scale numerical simulations are employed to model the flow through the VATMOS-SR sampling system. In particular, an emphasis is placed on quantifying noble gas isotopic fractionation that occurs during the sample acquisition and transfer process in order to determine how measured isotopic ratios of noble gases in the sample compare to actual isotopic ratios in the Venusian atmosphere. The Direct Simulation Monte Carlo (DSMC) code SPARTA, an open source software package developed by Sandia National Laboratories, is used in this work. SPARTA, based on Bird’s DSMC method, is a molecular-level gas-kinetic technique. As SPARTA is able to model hypervelocity reacting flows in strong chemical and thermal non-equilibrium, this software package is well suited to determine relevant flow properties for the VATMOS-SR mission concept, and to numerically quantify the expected level of elemental and/or isotopic fractionation in the sample acquired by VATMOS-SR. This presentation will show results from 3D simulations correlating the noble gas isotopic fractionation in the gas acquired at hypervelocity speeds to its ambient atmosphere value. In particular, emphasis will be placed at Xenon isotopes of masses 128 and 130, as precise measurements of that ratio would yield a comparison to Earth’s atmosphere. Additionally, sensitivity studies that quantify the uncertainties due to the freestream parameters as well as the modeling parameters will be performed.

direct simulation Monte Carlo↗

High-Performance Computing Optimization for Aladyn – Adaptive Neural Network Molecular Dynamics Mini-Application

This report provides a description and performance evaluation of the optimization techniques for high performance computing (HPC) implementation of the open source Computational Materials mini-application Aladyn (https://github.com/nasa/aladyn). Aladyn is a basic molecular dynamics code written in FORTRAN 2003, which is designed to demonstrate the use of adaptive neural networks (ANNs) in atomistic simulations. The role of ANNs is to efficiently reproduce the very complex energy landscape resulting from the atomic interactions in materials with the accuracy of the more expensive quantum mechanics-based calculations. The ANN is trained on a large set of atomic structures calculated using the density functional theory (DFT) method. While achieving orders of magnitude faster computational performance than DFT, the ANN-based approach was still very computationally demanding compared to the conventional approach of using empirically fitted energy functions. After its initial development, Aladyn was evaluated and optimized by experts at the NASA Advanced Supercomputing (NAS) division to exploit modern supercomputer architectures. The code has been optimized for execution on multicore central processing units (CPUs), including Intel® Skylake microarchitecture, and on graphic accelerators, such as Nvidia® V100 graphic processing units (GPUs), using Open Multi-Processing (OpenMP) and Open Accelerators (OpenACC) programming interfaces. The optimization achieved a speedup of 4.7 times the baseline version on CPU performance and an additional 2.4 times on CPU+GPU performance. Atomistic computer simulations are a fundamental tool in materials research to model material properties form physics-based first principles. Atomic interaction, governed by Quantum Mechanics (QM) require sophisticated and highly computationally demanding mathematical models to calculate [1]. Classical methods use approximate functional forms, empirically fitted through a set of variable parameters to emulate atomic energies as direct functions of atomic coordinates [2]. While empirical potentials are computationally much simpler, allowing simulations of large-scale systems of up to a trillion (1012) atoms [3], they are substantially less accurate compared to quantum calculations and applicable only to very specific atomic configurations or predefined crystallographic phases. A recently suggested approach is to use heuristic machine learning methods [4], such as those based on Adaptive Neural Networks (ANNs) to predict atomic energies, after being trained on a sufficiently large database of QM-calculated structures [5,6]. This approach reduces significantly the computational complexity, allowing for simulations of orders of magnitude larger systems compared to QM-based methods without compromising accuracy. Still, compared to classical methods using empirical energy functions, ANN methods remain two- to three orders of magnitude more computationally demanding. Hence, the computational cost of simulations, together with the need for extensive training of ANNs, still makes the practical implementation of ANN-based methods quite challenging. The purpose of the Aladyn mini-application software [7], available as open source at https://github.com/nasa/aladyn, is to be a testbed for exploring possible optimization strategies to develop highly scalable parallel algorithms for ANN-based atomistic simulations. Aladyn is aimed at utilizing the architecture of the high-end modern highperformance computing (HPC) hardware based on multicore central processing units (CPUs) equipped with graphic processing unit (GPU) accelerators. Specifically, the goal is to optimize the performance on a single HPC compute node, before implementing scaling to multi-node parallelization using message passing interface (MPI). At the same time, the open source code of Aladyn can serve as a training model for students and professors in academia.

Yamakov, Vesselin I.↗

The General Mission Analysis Tool (GMAT): Current Features And Adding Custom Functionality

The General Mission Analysis Tool (GMAT) is a software system for trajectory optimization, mission analysis, trajectory estimation, and prediction developed by NASA, the Air Force Research Lab, and private industry. GMAT's design and implementation are based on four basic principles: open source visibility for both the source code and design documentation; platform independence; modular design; and user extensibility. The system, released under the NASA Open Source Agreement, runs on Windows, Mac and Linux. User extensions, loaded at run time, have been built for optimization, trajectory visualization, force model extension, and estimation, by parties outside of GMAT's development group. The system has been used to optimize maneuvers for the Lunar Crater Observation and Sensing Satellite (LCROSS) and ARTEMIS missions and is being used for formation design and analysis for the Magnetospheric Multiscale Mission (MMS).

Conway, Darrel J.↗

Application of OpenFOAM to Plume Impingement in Space Environments

After 30 years of continuous human presence in low-earth orbit, NASA is returning to the moon and eventually will go to Mars. Travelling beyond low earth orbit requires NASA to learn how humans can live in Deep Space environments – beyond the protection of Earth’s magnetosphere and at distances from Earth that prevent a quick return in case of trouble. To this end, NASA is constructing the Lunar Gateway, an ISS-like space station to be put in orbit around the moon to act as a home base for Lunar exploration for NASA astronauts. The Gateway Lunar outpost will be built incrementally, via modules which will arrive at separate times and dock to the existing structure. The incremental addition of Gateway modules, and the docking of visiting vehicles, is achieved via a sequence of firings from the approaching body’s onboard reaction control system (RCS) thrusters to achieve the required approach trajectory. The typical hypergolic chemical RCS thrusters work by firing hot gases to produce adverse thrust and the needed change in velocity to safely finish the docking process. The exhaust gas from the RCS thrusters form plumes that expand into the vacuum of space and can impinge onto the outer surfaces of the Lunar Gateway, causing unwanted forces and moments, heat loads, sediment deposition, and in extreme cases, even surface erosion - all mechanisms that can damage the Lunar Gateway and must be minimized. Both permanent and visiting modules will have this RCS thruster exhaust impingement problem. This research aims to establish existing OpenFOAM solvers as a methodology for improving simulation techniques of rocket exhaust plume impingement in space environments. The flow structure of a plume in a space environment is complex; a plume that originates from a hypergolic chemical RCS thruster and expands into a vacuum will experience several regimes of rarefication. This range includes the continuum flow in the rocket nozzle through the fully rarefied free molecular flow further from the nozzle. The flow physics is different at these two extremes, and as such, the simulation approach for plumes is generally divided into a traditional computational fluid dynamics (CFD) simulation in and near the nozzle which is coupled to a subsequent direct simulation Monte Carlo (DSMC) simulation. At this time, the scope of this research is developing, verifying, and validating a method using existing solvers in the OpenFOAM framework for performing coupled CFD/DSMC calculations to determine the extent of plume impingement loading on generic space structures. This presentation will detail code-to-code comparisons between the hyStrath dsmcFoam+ solver, developed using OpenFOAM and available as open-source, and NASA’s in-house DSMC Analysis Code (DAC). Comparisons to several open-source publication findings using DAC [3,4] are presented, and advantages of using an OpenFOAM based solver are also discussed. The presentation concludes with a discussion of future work, and a plan for coupling the dsmcFoam+ solver with CFD simulations of chemical rocket engines for unified coupled plume simulation.

DSMC↗

An Automated Detection Methodology for Dry Well-Mixed Layers

The intense surface heating over arid land surfaces produces dry well-mixed layers (WML) via dry convection. These layers are characterized by nearly constant potential temperature and low, nearly constant water vapor mixing ratio. To further the study of dry WMLs, we created a detection methodology and supporting software to automate the identification and characterization of dry WMLs from multiple data sources including rawinsondes, remote sensing platforms, and model products. The software is a modular code written in Python, an open source language. Radiosondes from a network of synoptic stations in North Africa were used to develop and test the WML detection process. The detection involves an iterative decision tree that ingests a vertical profile from an input data file, performs a quality check for sufficient data density, and then searches upward through the column for successive points where the simultaneous changes in water vapor mixing ratio and potential temperature are less than the specified maxima. If points in the vertical profile meet the dry WML identification criteria, statistics are generated detailing the characteristics of each layer in the profile. At the end of the vertical profile analysis, there is an option to plot analyzed profiles in a variety of file formats. Initial results show that the detection methodology can be successfully applied across a wide variety of input data and North African environments and for all seasons. It is sensitive enough to identify dry WMLs from other types of isentropic phenomena such as subsidence layers and distinguish the current day’s dry WML from previous days.

Stephen D. Nicholls↗

InSAR Scientific Computing Environment

This computing environment is the next generation of geodetic image processing technology for repeat-pass Interferometric Synthetic Aperture (InSAR) sensors, identified by the community as a needed capability to provide flexibility and extensibility in reducing measurements from radar satellites and aircraft to new geophysical products. This software allows users of interferometric radar data the flexibility to process from Level 0 to Level 4 products using a variety of algorithms and for a range of available sensors. There are many radar satellites in orbit today delivering to the science community data of unprecedented quantity and quality, making possible large-scale studies in climate research, natural hazards, and the Earth's ecosystem. The proposed DESDynI mission, now under consideration by NASA for launch later in this decade, would provide time series and multiimage measurements that permit 4D models of Earth surface processes so that, for example, climate-induced changes over time would become apparent and quantifiable. This advanced data processing technology, applied to a global data set such as from the proposed DESDynI mission, enables a new class of analyses at time and spatial scales unavailable using current approaches. This software implements an accurate, extensible, and modular processing system designed to realize the full potential of InSAR data from future missions such as the proposed DESDynI, existing radar satellite data, as well as data from the NASA UAVSAR (Uninhabited Aerial Vehicle Synthetic Aperture Radar), and other airborne platforms. The processing approach has been re-thought in order to enable multi-scene analysis by adding new algorithms and data interfaces, to permit user-reconfigurable operation and extensibility, and to capitalize on codes already developed by NASA and the science community. The framework incorporates modern programming methods based on recent research, including object-oriented scripts controlling legacy and new codes, abstraction and generalization of the data model for efficient manipulation of objects among modules, and well-designed module interfaces suitable for command- line execution or GUI-programming. The framework is designed to allow users contributions to promote maximum utility and sophistication of the code, creating an open-source community that could extend the framework into the indefinite future.

Rosen, Paul A.↗

Investigation into Cloud Computing for More Robust Automated Bulk Image Geoprocessing

Geospatial resource assessments frequently require timely geospatial data processing that involves large multivariate remote sensing data sets. In particular, for disasters, response requires rapid access to large data volumes, substantial storage space and high performance processing capability. The processing and distribution of this data into usable information products requires a processing pipeline that can efficiently manage the required storage, computing utilities, and data handling requirements. In recent years, with the availability of cloud computing technology, cloud processing platforms have made available a powerful new computing infrastructure resource that can meet this need. To assess the utility of this resource, this project investigates cloud computing platforms for bulk, automated geoprocessing capabilities with respect to data handling and application development requirements. This presentation is of work being conducted by Applied Sciences Program Office at NASA-Stennis Space Center. A prototypical set of image manipulation and transformation processes that incorporate sample Unmanned Airborne System data were developed to create value-added products and tested for implementation on the "cloud". This project outlines the steps involved in creating and testing of open source software developed process code on a local prototype platform, and then transitioning this code with associated environment requirements into an analogous, but memory and processor enhanced cloud platform. A data processing cloud was used to store both standard digital camera panchromatic and multi-band image data, which were subsequently subjected to standard image processing functions such as NDVI (Normalized Difference Vegetation Index), NDMI (Normalized Difference Moisture Index), band stacking, reprojection, and other similar type data processes. Cloud infrastructure service providers were evaluated by taking these locally tested processing functions, and then applying them to a given cloud-enabled infrastructure to assesses and compare environment setup options and enabled technologies. This project reviews findings that were observed when cloud platforms were evaluated for bulk geoprocessing capabilities based on data handling and application development requirements.

Brown, Richard B.↗

Detecting and Characterizing Semantic Inconsistencies in Ported Code

Adding similar features and bug fixes often requires porting program patches from reference implementations and adapting them to target implementations. Porting errors may result from faulty adaptations or inconsistent updates. This paper investigates (I) the types of porting errors found in practice, and (2) how to detect and characterize potential porting errors. Analyzing version histories, we define five categories of porting errors, including incorrect control- and data-flow, code redundancy, inconsistent identifier renamings, etc. Leveraging this categorization, we design a static control- and data-dependence analysis technique, SPA, to detect and characterize porting inconsistencies. Our evaluation on code from four open-source projects shows thai SPA can dell-oct porting inconsistencies with 65% to 73% precision and 90% recall, and identify inconsistency types with 58% to 63% precision and 92% to 100% recall. In a comparison with two existing error detection tools, SPA improves precision by 14 to 17 percentage points

Ray, Baishakhi↗

Detecting and Characterizing Semantic Inconsistencies in Ported Code

Adding similar features and bug fixes often requires porting program patches from reference implementations and adapting them to target implementations. Porting errors may result from faulty adaptations or inconsistent updates. This paper investigates (1) the types of porting errors found in practice, and (2) how to detect and characterize potential porting errors. Analyzing version histories, we define five categories of porting errors, including incorrect control- and data-flow, code redundancy, inconsistent identifier renamings, etc. Leveraging this categorization, we design a static control- and data-dependence analysis technique, SPA, to detect and characterize porting inconsistencies. Our evaluation on code from four open-source projects shows that SPA can detect porting inconsistencies with 65% to 73% precision and 90% recall, and identify inconsistency types with 58% to 63% precision and 92% to 100% recall. In a comparison with two existing error detection tools, SPA improves precision by 14 to 17 percentage points.

Semantic Errors↗

Formal Requirements Elicitation with FRET

FRET is a tool for writing, understanding, formalizing and analyzing requirements. Users write requirements in an intuitive, restricted natural language, called FRETISH, with precise, unambiguous meaning. For a FRETISH requirement, FRET: 1) produces natural language and diagrammatic explanations of its exact meaning, 2) formalizes the requirement in logics, and 3) supports interactive simulation of produced logic formulas to ensure that they capture user intentions. FRET connects to analysis tools by facilitating the mapping between requirements and models/code, and by generating verification code. FRET is available open source at https://github.com/NASA-SW-VnV/fret; a video can be accessed at : https://tinyurl.com/fretForREFSQ.

Giannakopoulou, Dimitra↗

Charged Particle Dynamics in the Lunar Environment

As the Artemis Program streams forward, organizations of scientists and engineers across the country have been coming together to solve the complex network of problems to once again achieve the milestone of successfully touching down on the moon. This project is no exception, and it has been an honor to work with the Electrostatics and Surface Physics Laboratory (ESPL), a lab within the Exploration Research and Technology Programs’ Spaceport Technologies Office (UB-G) located at the National Aeronautics and Space Administration at Kennedy Space Center (NASA KSC). The authors and their mentor James R. Phillips III3, in tandem with researchers from the Astrodynamics and Space Robotics Laboratory (ASRL) at the University of Central Florida (UCF), have been working on creating a state-of-the-art (SOA) granular gas dynamics model for particulate contamination prevention and mitigation purposes. In essence, the underlying objective for this project is to more accurately model the resulting electrodynamic interactions between lunar regolith grains with applications to dust mitigation and rocket engine plume surface interactions. To achieve this goal, the team has been expanding upon existing open source classical molecular dynamics code developed by Sandia National Laboratories (SNL). The following reports on the details of the problem at hand as well as the contributions that the authors have made towards resolution, including but not limited to the encoding of physical attributes and interactions for non-spherical polydisperse particle distributions within various bed geometries and preemptive data analysis implementations. Significant data analysis processes were utilized, and several original algorithms were created to perform critical evaluations, resulting in only a 0.006% error in discrepancy.

Annelisa B Esparza↗

The VATMOS-SR Mission Concept: DSMC Studies of the Gas Sampling

VATMOS-SR (Venus ATMOSpheric - Sample Return) is a small spacecraft mission concept that would return a gas sample from the upper atmosphere of Venus to Earth for scientific analysis. This could be the first sample return mission for an extra-terrestrial atmosphere and potentially the first sample return from an Earth-sized planet. The VATMOS-SR mission concept consists of a SmallSat atmospheric sampling probe (45 deg. sphere/cone geometry, <1 m diameter) that is designed to skim through the Venus upper atmosphere and acquire gas samples below the homopause altitude (around ~110 km altitude), where the different atmospheric gases are mixed. The velocity of the spacecraft where sampling would occur is expected to be between ~10.5 km/s and ~13.1 km/s, depending on the trajectory chosen. This presentation will discuss hypervelocity sampling in the upper atmosphere of Venus with respect to the VATMOS-SR mission concept. VATMOS-SR would enable critical atmospheric measurements to form a complete picture of how, why, and when Venus evolved to be so different from Earth and Mars. The abundances and isotopic compositions of volatile elements (such as N, C, S, O, and the noble gases) in planetary atmospheres record volatile delivery during accretion, outgassing from planetary interiors, and atmospheric loss to space. Precise and accurate determinations of volatile atmospheric signatures are the key to understanding the origins and geodynamical evolution of Venus compared to the other terrestrial planets. Hypersonic sampling poses unique technical and scientific challenges. To ensure it is possible to relate the composition of the sampled gases to the free stream atmospheric composition, large-scale numerical simulations are employed to model the flow through the VATMOS-SR sampling system. In particular, an emphasis is placed on quantifying noble gas isotopic fractionation that occurs during the sample acquisition and transfer process to determine how measured isotopic ratios of noble gases in the sample compared to actual isotopic ratios in the Venusian atmosphere. The Direct Simulation Monte Carlo (DSMC) code SPARTA, an open-source software package developed by Sandia National Laboratories, is used in this work. SPARTA, based on Bird’s DSMC method, is a molecular-level gas-kinetic technique. As SPARTA is able to model hypervelocity reacting flows in strong chemical and thermal non-equilibrium, this software package is well suited to determine relevant flow properties for the VATMOS-SR mission concept and to numerically quantify the expected level of elemental and/or isotopic fractionation in the sample acquired by VATMOS-SR. This presentation will show results from 3D simulations correlating the noble gas isotopic fractionation in the gas acquired at hypervelocity speeds to its ambient atmosphere value. In particular, emphasis will be placed on Xenon isotopes of masses 128 and 130, as precise measurements of that ratio would yield comparison to Earth’s atmosphere. Additionally, sensitivity studies that quantify the uncertainties due to the freestream parameters, as well as the modeling parameters, will be performed.

direct simulation Monte Carlo↗

3D Cloud Tomography and Droplet Size Retrieval from Multi-Angle Polarimetric Imaging of Scattered Sunlight from Above

Tomography aims to recover a three-dimensional (3D) density map of a medium or an object. In medical imaging,it is extensively used for diagnostics via X-ray computed tomography (CT). We define and derive a tomographyof cloud droplet distributions via passive remote sensing. We use multi-view polarimetric images to fit a 3Dpolarized radiative transfer (RT) forward model. Our motivation is 3D volumetric probing of vertically-developedconvectively-driven clouds that are ill-served by current methods in operational passive remote sensing. Currenttechniques are indeed based on strictly 1D RT modeling and applied to a single cloudy pixel, where cloud geometrydefaults to that of a plane-parallel slab. Incident unpolarized sunlight, once scattered by cloud droplets, changesits polarization state according to droplet size. Therefore, polarimetric measurements in the rainbow and gloryangular regions can be used to infer the droplet size distribution. This work defines and derives a framework for afull 3D tomography of cloud droplets for both their mass concentration in space and their distribution across arange of sizes. This gridded 3D retrieval of key microphysical properties is made tractable by our novel approachthat involves a restructuring and partial linearization of an open-source polarized 3D RT code to accommodate aspecial two-step iterative optimization technique. Physically-realistic synthetic clouds are used to demonstrate themethodology with rigorous uncertainty quantification, while a real-world cloud imaged by AirMSPI is processedto illustrate the new remote sensing capability

Schechner, Yoav Y.↗

XML-Based Generator of C++ Code for Integration With GUIs

An open source computer program has been developed to satisfy a need for simplified organization of structured input data for scientific simulation programs. Typically, such input data are parsed in from a flat American Standard Code for Information Interchange (ASCII) text file into computational data structures. Also typically, when a graphical user interface (GUI) is used, there is a need to completely duplicate the input information while providing it to a user in a more structured form. Heretofore, the duplication of the input information has entailed duplication of software efforts and increases in susceptibility to software errors because of the concomitant need to maintain two independent input-handling mechanisms. The present program implements a method in which the input data for a simulation program are completely specified in an Extensible Markup Language (XML)-based text file. The key benefit for XML is storing input data in a structured manner. More importantly, XML allows not just storing of data but also describing what each of the data items are. That XML file contains information useful for rendering the data by other applications. It also then generates data structures in the C++ language that are to be used in the simulation program. In this method, all input data are specified in one place only, and it is easy to integrate the data structures into both the simulation program and the GUI. XML-to-C is useful in two ways: 1. As an executable, it generates the corresponding C++ classes and 2. As a library, it automatically fills the objects with the input data values.

Hua, Hook↗

Code Sharing and Collaboration: Experiences from the Scientist's Expert Assistant Project and their Relevance to the Virtual Observatory

In the Virtual Observatory (VO), software tools will perform the functions that have traditionally been performed by physical observatories and their instruments. These tools will not be adjuncts to VO functionality but will make up the very core of the VO. Consequently, the tradition of observatory and system independent tools serving a small user base is not valid for the VO. For the VO to succeed, we must improve software collaboration and code sharing between projects and groups. A significant goal of the Scientist's Expert Assistant (SEA) project has been promoting effective collaboration and code sharing between groups. During the past three years, the SEA project has been developing prototypes for new observation planning software tools and strategies. Initially funded by the Next Generation Space Telescope, parts of the SEA code have since been adopted by the Space Telescope Science Institute. SEA has also supplied code for SOFIA, the SIRTF planning tools, and the JSky Open Source Java library. The potential benefits of sharing code are clear. The recipient gains functionality for considerably less cost. The provider gains additional developers working with their code. If enough users groups adopt a set of common code and tools, defacto standards can emerge (as demonstrated by the success of the FITS standard). Code sharing also raises a number of challenges related to the management of the code. In this talk, we will review our experiences with SEA - both successes and failures - and offer some lessons learned that may promote further successes in collaboration and re-use.

Jones, Jeremy↗