Earth and Space Science Informatics [IN]

IN11A
 MC:Hall D  Monday  0800h

Challenges for Earth Science Software Reuse Posters


Presiding:  R E Wolfe, NASA Goddard Space Flight Center; R R Downs, Columbia University

IN11A-1016

Challenges in Modernizing Legacy Scientific Software

* Norton, C D Charles.D.Norton@jpl.nasa.gov, Jet Propulsion Laboratory California Institute of Technology, 4800 Oak Grove Drive, Pasadena, CA 91109-8099, United States
Zuffada, C Cinzia.Zuffada@jpl.nasa.gov, Jet Propulsion Laboratory California Institute of Technology, 4800 Oak Grove Drive, Pasadena, CA 91109-8099, United States
Kalashnikova, O V Olga.Kalashnikova@jpl.nasa.gov, Jet Propulsion Laboratory California Institute of Technology, 4800 Oak Grove Drive, Pasadena, CA 91109-8099, United States
Decyk, V K Viktor.Decyk@jpl.nasa.gov, Jet Propulsion Laboratory California Institute of Technology, 4800 Oak Grove Drive, Pasadena, CA 91109-8099, United States

JPL has developed highly accurate 3-D vector scattering codes used to explore aerosol properties based on the combined finite-elements integral-equation technique (FE-IE), an approach established a decade ago and which made JPL a leading institution in advanced supercomputer applications for electromagnetic scattering. Airborne aerosols are known to play an important role in the Earth's radiation budget and climate, through both a direct effect and an indirect effect related to their interaction with climate. The ability to quantify these effects is limited by our knowledge of the aerosol properties determined through the available observations. To improve this understanding, scattering models capable of accurately representing optical properties of particles must be used, over a wide range of size distribution and for the appropriate class of morphology. The original PHOEBUS software was developed for the Cray T3D supercomputer system using many specific capabilities that are no longer available today. Such codes are still prevalent in the scientific community, but as new computing systems are introduced the ability to preserve this knowledge and investment is increasingly difficult. PHOEBUS used features including Cray Adaptive Fortran (CRAFT), Cray-pointers, and SHMEM for one-sided communication, shared memory space calculations, and for parallel processing. There were also a host of non-standard programming techniques applied and various schemes to improve performance that do not directly apply to current systems. Discovering such issues and establishing a plan of attack to resolve them is necessary as legacy models in various disciplines are transitioned to new systems. We will discuss the revisions applied to PHOEBUS based on modern programming standards and systems such as Fortran 95 features, intrinsics and libraries, the SGI Altix environment, MPI-2 one-sided- communication, and OpenMP allowing for discussion of the complexities in successfully reusing and migrating investments from legacy numerical software onto current platforms and the implications for development on future systems, such as multi-core parallel processing machines.

IN11A-1017

CrusDe: A plug-in based simulation framework for composable CRUStal DEformation simulations

* Grapenthin, R ronni@gi.alaska.edu, Geophysical Institute, University of Alaska, Fairbanks, 903 Koyukuk Drive, P.O. Box 757320, Fairbanks, AK 99775-7320, United States

Within geoscience, Green's method is an established mathematical tool to analyze the dynamics of the Earth's crust in response to the application of a mass force, e.g. a surface load. Different abstractions from the Earth's interior as well as the particular effects caused by such a force are expressed by means of a Green's function, G, which is a particular solution to an inhomogeneous differential equation with boundary conditions. Surface loads, L, are defined by real data or as analytical expressions. The response of the crust to a surface load is gained by a 2D-convolution (**) of the Green's function with this load. The crustal response can be thought of as an instantaneous displacement which is followed by a gradual transition towards the final relaxed state of displacement. A relaxation function, R, describing such a transition depends on the rheological model for the ductile layer of the crust. The 1D-convolution (*) of the relaxation function with a load history, H, allows to include the temporal evolution of the surface load into a model. The product of the two convolution results expresses the displacement (rate) of the crust, U, at a certain time t:
Ut = (R * H)t · (G ** L)
Rather than implementing a variety of specific models, approaching crustal deformation problems from the general formulation in equation~1 opens the opportunity to consider reuse of model building blocks within a more flexible simulation framework. Model elements (Green's function, load function, etc.), operators, pre- and postprocessing, and even input and output routines could be part of a framework that enables a user to freely compose software components to resemble equation~1. The simulation framework CrusDe implements equation~1 in the proposed way. CrusDe's architecture defines interfaces for generic communication between the simulation core and the model elements. Thus, exchangeability of the particular model element implementations is possible. In the presented plug-in based approach of software component composition the user gets to sample the pleasures of software reuse in a simulation framework: a XML model definition allows for quick parameter adjustment and --more importantly-- straightforward exchange of model elements. The generic communication layer coupled with a plug-in mechanism furthermore allow the user to implement new plug-ins. Here CrusDe supports the reuse of existing components within these new implementations. In this way CrusDe can be adjusted to new flavors of equation~1 without the necessity to re-implement all of the new formal model. An example would be to replace the currently included flat Earth approximations by Green's functions that support spherical geometries. The advantages of the presented approach for software reuse go beyond the comforts for single users who will spent less time on test and validation of model formulations. Opportunities to increase the transparency of research open up since CrusDe is freely available as open source software for Linux/Unix platforms and model formulations are compact enough to include them in publications. Hence, the possibilities for reproduction of model results are greatly enhanced. Due to its modular architecture parts or the whole of CrusDe could become part of other projects. For example, a free repository of Green's functions can evolve or CrusDe could be used as an isostasy module in a larger modeling context. class="ab'>

http://www.gps.alaska.edu/crusde

IN11A-1018

Geospatial Selection Using Mapx and JAZ JavaScript Libraries

* Lewis, S scott.lewis@nsidc.org, National Snow and Ice Data Center, 449 UCB University of Colorado, Boulder, CO 80309, United States

Geospatial selection widgets are becoming more prominent in many online data search tools. In order to make these selection widgets function, it is important to be able to project coordinates from the screen to the earth, and vice-versa. The JavaScript Mapx library enables these projection algorithms to be embedded into a web page, allowing the page to make use of on-the-fly projections in a client browser without having to make calls to a server. This, in turn, can greatly speed up projection calculations, and allow for more robust and interactive functionality in client web applications. The JavaScript JAZ library harnesses the power of the Mapx projections by allowing the user to easily embed a selection widget into any tool requiring a visual geospatial selection mechanism. This relatively lightweight tool provides some significant power by allowing geospatial selections to be done on images of a variety of different map projections. These images can be served from a static image library, or a more dynamic Web Map Server (WMS) setup on a host. The flexibility of this widget has made it possible to use in a variety of web search tools.

IN11A-1019

Mercury: An Example of Effective Software Reuse for Metadata Management, Data Discovery and Access

* Devarakonda, R devarakondar@ornl.gov, Oak Ridge National Laboratory, One Bethel Valley Road, Oak Ridge, TN 37831, United States
Palanisamy, G Palanisamyg@ornl.gov, Oak Ridge National Laboratory, One Bethel Valley Road, Oak Ridge, TN 37831, United States
Green, J greenjm@ornl.gov, Information International Associates Inc., 1009 Commerce Park Dr, Oak Ridge, TN 37830, United States
Wilson, B E wilsonbe@ornl.gov, Oak Ridge National Laboratory, One Bethel Valley Road, Oak Ridge, TN 37831, United States

Mercury is a federated metadata harvesting, data discovery and access tool based on both open source packages and custom developed software. Though originally developed for NASA, the Mercury development consortium now includes funding from NASA, USGS, and DOE. Mercury supports the reuse of metadata by enabling searching across a range of metadata specification and standards including XML, Z39.50, FGDC, Dublin-Core, Darwin-Core, EML, and ISO-19115. Mercury provides a single portal to information contained in distributed data management systems. It collects metadata and key data from contributing project servers distributed around the world and builds a centralized index. The Mercury search interfaces then allow the users to perform simple, fielded, spatial and temporal searches across these metadata sources. One of the major goals of the recent redesign of Mercury was to improve the software reusability across the 12 projects which currently fund the continuing development of Mercury. These projects span a range of land, atmosphere, and ocean ecological communities and have a number of common needs for metadata searches, but they also have a number of needs specific to one or a few projects. To balance these common and project-specific needs, Mercury's architecture has three major reusable components; a harvester engine, an indexing system and a user interface component. The harvester engine is responsible for harvesting metadata records from various distributed servers around the USA and around the world. The harvester software was packaged in such a way that all the Mercury projects will use the same harvester scripts but each project will be driven by a set of project specific configuration files. The harvested files are structured metadata records that are indexed against the search library API consistently, so that it can render various search capabilities such as simple, fielded, spatial and temporal. This backend component is supported by a very flexible, easy to use Graphical User Interface which is driven by cascading style sheets, which make it even simpler for reusable design implementation. The new Mercury system is based on a Service Oriented Architecture and effectively reuses components for various services such as Thesaurus Service, Gazetteer Web Service and UDDI Directory Services. The software also provides various search services including: RSS, Geo-RSS, OpenSearch, Web Services and Portlets, integrated shopping cart to order datasets from various data centers (ORNL DAAC, NSIDC) and integrated visualization tools. Other features include: Filtering and dynamic sorting of search results, book- markable search results, save, retrieve, and modify search criteria.

http://mercury.ornl.gov

IN11A-1020

Software Reuse Targeted at Community Developed Simulation Models

* Quenette, S steve@vpac.org, VPAC, 110 Victoria Street, Carlton South, Melbourne, Vic 3053, Australia

In the development of software simulations of long term geodynamics models, it becomes quickly apparent that a spectrum of fine to coarse grain software reuse is desirable. There is an extensive set of space and time scale-crossing phenomena that can be viewed as similar in their building blocks. If this view is taken, blocks can be targeted for optimisation or improvement, and new more powerful systems of blocks can be developed. Furthermore these contributions can be made by niche specialists and their communities, rather than the productive output of one. Thus achieving higher quality systems more rapidly. Presented is an approach, and the implemented StGermain platform, that encourages reuse of known common components, but systematically adapt to accept new componentry as they are contributed over time. The items for reuse span computational, numerical, constitutive and geophysical concerns. With 5years of application of the approach and platform, discussed is the uptake of derived works through programs such as AuScope and CIG, and how these contributions need an effective curation and testing process to ensure effective reuse.

IN11A-1021

Progress in the Development of a Prototype Reuse Enablement System

Marshall, J J James.J.Marshall@nasa.gov, Innovim / NASA Goddard Space Flight Center, NASA Goddard Space Flight Center Mailstop 614.9, Greenbelt, MD 20771, United States
Downs, R R rdowns@ciesin.columbia.edu, Columbia University, Center for International Earth Science Information Network (CIESIN) 61 Route 9W, Palisades, NY 10964, United States
* Gilliam, L J lgilliam@innovim.com, Innovim, 7501 Greenway Center Dr. Suite 660, Greenbelt, MD 20770, United States
Wolfe, R E Robert.E.Wolfe@nasa.gov, NASA Goddard Space Flight Center, NASA Goddard Space Flight Center Mailstop 614.5, Greenbelt, MD 20771, United States

An important part of promoting software reuse is to ensure that reusable software assets are readily available to the software developers who want to use them. Through dialogs with the community, the NASA Earth Science Data Systems Software Reuse Working Group has learned that the lack of a centralized, domain- specific software repository or catalog system addressing the needs of the Earth science community is a major barrier to software reuse within the community. The Working Group has proposed the creation of such a reuse enablement system, which would provide capabilities for contributing and obtaining reusable software, to remove this barrier. The Working Group has recommended the development of a Reuse Enablement System to NASA and has performed a trade study to review systems with similar capabilities and to identify potential platforms for the proposed system. This was followed by an architecture study to determine an expeditious and cost-effective solution for this system. A number of software packages and systems were examined through both creating prototypes and examining existing systems that use the same software packages and systems. Based on the results of the architecture study, the Working Group developed a prototype of the proposed system using the recommended software package, through an iterative process of identifying needed capabilities and improving the system to provide those capabilities. Policies for the operation and maintenance of the system are being established for the system, and the identification of system policies also has contributed to the development process. Additionally, a test plan is being developed for formal testing of the prototype, to ensure that it meets all of the requirements previously developed by the Working Group. This poster summarizes the results of our work to date, focusing on the most recent activities.

IN11A-1022

Facilitating Code Reuse for the Rapid Deployment of Web Mapping Applications at the National Renewable Energy Laboratory (NREL)

* Helm, C W chris_helm@nrel.gov, National Renewable Energy Laboratory (NREL), 1617 Cole Blvd., Golden, CO 80401,
Sparks, W witt_sparks@nrel.gov, National Renewable Energy Laboratory (NREL), 1617 Cole Blvd., Golden, CO 80401,
Levene, J johanna_levene@nrel.gov, National Renewable Energy Laboratory (NREL), 1617 Cole Blvd., Golden, CO 80401,
Hostetler, M mike.hostetler@gmail.gov, A Mountain Top, LLC, 25 South Reed Street, Lakewood, CO 80226,

The National Renewable Energy Laboratory in Golden, CO has developed a software platform that provides for the development of fully customized and unique web mapping applications that reuse a common base of software code. The application capabilities that have been developed within this platform include spatial data visualization, large-scale data retrieval and the analysis of various renewable energy resource data-sets. The platform consists of three primary components of reusable code: the back-end data storage and retrieval engine, a user-customizable Data Styling Engine, and front end user interface code. Each component of the platform represents a reusable code base from which new applications can be generated with a minimal amount of new code. This reusable code base can be thought of in the same vein as object oriented development: the reusable code is analogous to a base class that specific applications inherit from and extend. The architecture was motivated by a requirement to rapidly develop and deploy multiple web-based mapping applications for varying renewable energy and alternative fuel technologies, and for different customers. It was observed that these applications share a significant set of core features and functionality, with varying degrees of customization required for each application. A series of needs instigated the development of the architecture: * New applications should not require re-implementation of existing functionality (either through re-coding or "copy and paste" reuse) * Enhancements to the base functionality could automatically propagate through all derived applications * All applications should be able to utilize a common, internal (to NREL) Web Mapping Service (WMS), or any external WMS * The framework must support user authentication, role-based access control to specific data layers, and user customization of layer styling. This requirement led to the development of the Data Styling Engine. * A developer should be able to create a new application and begin customizing it with a minimum of effort. * The ability to quickly build and deploy a demo version of an application is invaluable for seeking funding. Several example applications will be presented including their intended uses and functional capabilities. Additionally lessons learned from previous attempts at developing a reusable software platform at NREL will be discussed.

IN11A-1023

A system for environmental model coupling and code reuse: The Great Rivers Project

* Eckman, B baeckman@us.ibm.com, IBM Big Green Innovations, 1475 Phoenixville Pike, West Chester, PA 19380, United States
Rice, J johnrice@us.ibm.com, IBM TJ Watson Research Center, 1101 Kitchawan Road, Yorktown Heights, NY 10598, United States
Treinish, L lloydt@us.ibm.com, IBM Big Green Innovations, 1101 Kitchawan Road, Yorktown Heights, NY 10598, United States
Barford, C clbarford@wisc.edu, Center for Sustainability and the Global Environment (SAGE), University of Wisconsin- Madison 1710 University Avenue, Madison, WI 53726, United States

As part of the Great Rivers Project, IBM is collaborating with The Nature Conservancy and the Center for Sustainability and the Global Environment (SAGE) at the University of Wisconsin, Madison to build a Modeling Framework and Decision Support System (DSS) designed to help policy makers and a variety of stakeholders (farmers, fish & wildlife managers, hydropower operators, et al.) to assess, come to consensus, and act on land use decisions representing effective compromises between human use and ecosystem preservation/restoration. Initially focused on Brazil's Paraguay-Parana, China's Yangtze, and the Mississippi Basin in the US, the DSS integrates data and models from a wide variety of environmental sectors, including water balance, water quality, carbon balance, crop production, hydropower, and biodiversity. In this presentation we focus on the modeling framework aspect of this project. In our approach to these and other environmental modeling projects, we see a flexible, extensible modeling framework infrastructure for defining and running multi-step analytic simulations as critical. In this framework, we divide monolithic models into atomic components with clearly defined semantics encoded via rich metadata representation. Once models and their semantics and composition rules have been registered with the system by their authors or other experts, non-expert users may construct simulations as workflows of these atomic model components. A model composition engine enforces rules/constraints for composing model components into simulations, to avoid the creation of Frankenmodels, models that execute but produce scientifically invalid results. A common software environment and common representations of data and models are required, as well as an adapter strategy for code written in e.g., Fortran or python, that still enables efficient simulation runs, including parallelization. Since each new simulation, as a new composition of model components, requires calibration of parameters (fudge factors) to produce scientifically valid results, we are also developing an autocalibration engine. Finally, visualization is a key element of this modeling framework strategy, both to convey complex scientific data effectively, and also to enable non-expert users to make full use of the relevant features of the framework. We are developing a visualization environment with a strong data model, to enable visualizations, model results, and data all to be handled similarly.