Search NASA⌕ Search

SEARCH · Search NASA

Results for “Data refactoring”

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.

Archive Management of NASA Earth Observation Data to Support Cloud Analysis

NASA collects, processes and distributes petabytes of Earth Observation (EO) data from satellites, aircraft, in situ instruments and model output, with an order of magnitude increase expected by 2024. Cloud-based web object storage (WOS) of these data can simplify the execution of such an increase. More importantly, it can also facilitate user analysis of those volumes by making the data available to the massively parallel computing power in the cloud. However, storing EO data in cloud WOS has a ripple effect throughout the NASA archive system with unexpected challenges and opportunities. One challenge is modifying data servicing software (such as Web Coverage Service servers) to access and subset data that are no longer on a directly accessible file system, but rather in cloud WOS. Opportunities include refactoring of the archive software to a cloud-native architecture; virtualizing data products by computing on demand; and reorganizing data to be more analysis-friendly.

Lynnes, Christopher↗

Archive Management of NASA Earth Observation Data to Support Cloud Analysis

NASA collects, processes and distributes petabytes of Earth Observation (EO) data from satellites, aircraft, in situ instruments and model output, with an order of magnitude increase expected by 2024. Cloud-based web object storage (WOS) of these data can simplify the execution of such an increase. More importantly, it can also facilitate user analysis of those volumes by making the data available to the massively parallel computing power in the cloud. However, storing EO data in cloud WOS has a ripple effect throughout the NASA archive system with unexpected challenges and opportunities. One challenge is modifying data servicing software (such as Web Coverage Service servers) to access and subset data that are no longer on a directly accessible file system, but rather in cloud WOS. Opportunities include refactoring of the archive software to a cloud-native architecture; virtualizing data products by computing on demand; and reorganizing data to be more analysis-friendly. Reviewed by Mark McInerney ESDIS Deputy Project Manager.

Lynnes, Christopher↗

Introducing Object-Oriented Concepts into GSI

Enhancements are now being made to the Gridpoint Statistical Interpolation (GSI) data assimilation system to expand its capabilities. This effort opens the way for broadening the scope of GSI's applications by using some standard object-oriented features in Fortran, and represents a starting point for the so-called GSI refactoring, as a part of the Joint Effort for Data-assimilationI ntegration (JEDI) project of JCSDA.

GSI↗

An NAFP Project: Use of Object Oriented Methodologies and Design Patterns to Refactor Software Design

In the early problem-solution era of software programming, functional decompositions were mainly used to design and implement software solutions. In functional decompositions, functions and data are introduced as two separate entities during the design phase, and are followed as such in the implementation phase. Functional decompositions make use of refactoring through optimizing the algorithms, grouping similar functionalities into common reusable functions, and using abstract representations of data where possible; all these are done during the implementation phase. This paper advocates the usage of object-oriented methodologies and design patterns as the centerpieces of refactoring software solutions. Refactoring software is a method of changing software design while explicitly preserving its external functionalities. The combined usage of object-oriented methodologies and design patterns to refactor should also benefit the overall software life cycle cost with improved software.

Shaykhian, Gholam Ali↗

Improvements in Simulating a Mach 0.80 Transonic Truss-Braced Wing Configuration using the Spalart-Allmaras and k-ω SST Turbulence

Teams from the NASA Ames Research Centers (ARC) and Langley Research Center (LaRC) have been working on validating their computational fluid dynamics (CFD) results for the Boeing Mach 0.80 Transonic Truss-Braced Wing (TTBW) configuration. Experimental data used for the validation were gathered from a test conducted of a 4.5% scale Mach 0.80 TTBW model in the NASA Ames Research Center 11-by 11-Foot Transonic Wind Tunnel. The CFD simulations were initially run with both LAVA and USM3D Mixed Element solvers utilizing the Spalart-Allmaras (SA) turbulence model. A discrepancy was observed between CFD and experimental loads and moments ranging on average from 0.047 to 0.063 for lift coefficient, 16.5 to 27 in drag counts, and -0.02 to -0.032 for pitching moment, varying with the solver used. With introducing the refactored version of LAVA these values dropped to 0.034 to 0.047 for lift coefficient, 7.74 to 16.5 in drag counts, and lastly -0.012 to -0.02 for pitching moment. Based on findings from Boeing, who observed an improved comparison to experimental data when using the k-ω Shear Stress Transport (SST) turbulence model, the NASA teams conducted simulations with SST to investigate turbulence modeling sensitivities. OVERFLOW and USM3D V6 solvers were used for the comparison of SST and SA simulations. CFD results using the SST turbulence model demonstrate an improvement in matching with experimental CL values, reducing the discrepancies seen by 0.021-0.055 (62-93% reduction in discrepancy respective to the OVERFLOW and USM3D V6). The SST model has varying effects on CD, based on the solver / grid paradigm; for USM3D this prediction is only improved at higher angles of attack (above the cruise design point) resulting in a reduced discrepancy of 8.8–25 drag counts However, at the mid-to-low angles of attack, SST increases the CD discrepancy by 4-55 counts, increasing at lower angles of attack. For OVERFLOW this discrepancy only exists at the low angles of attack and maxes out at 10 counts of drag. Above α = 1.5° OVERFLOW SST reduces discrepancy by 9.3 drag counts on average.

AATT↗

Smashing the Stovepipe: Leveraging the GMSEC Open Architecture and Advanced IT Automation to Rapidly Prototype, Develop and Deploy Next-Generation Multi-Mission Ground Systems

Satellite/Payload Ground Systems - Typically highly-customized to a specific mission's use cases - Utilize hundreds (or thousands!) of specialized point-to-point interfaces for data flows / file transfers Documentation and tracking of these complex interfaces requires extensive time to develop and extremely high staffing costs Implementation and testing of these interfaces are even more cost-prohibitive, and documentation often lags behind implementation resulting in inconsistencies down the road With expanding threat vectors, IT Security, Information Assurance and Operational Security have become key Ground System architecture drivers New Federal security-related directives are generated on a daily basis, imposing new requirements on current / existing ground systems - These mandated activities and data calls typically carry little or no additional funding for implementation As a result, Ground System Sustaining Engineering groups and Information Technology staff continually struggle to keep up with the rolling tide of security Advancing security concerns and shrinking budgets are pushing these large stove-piped ground systems to begin sharing resources - I.e. Operational / SysAdmin staff, IT security baselines, architecture decisions or even networks / hosting infrastructure Refactoring these existing ground systems into multi-mission assets proves extremely challenging due to what is typically very tight coupling between legacy components As a result, many "Multi-Mission" ops. environments end up simply sharing compute resources and networks due to the difficulty of refactoring into true multi-mission systems Utilizing continuous integration / rapid system deployment technologies in conjunction with an open architecture messaging approach allows System Engineers and Architects to worry less about the low-level details of interfaces between components and configuration of systems GMSEC messaging is inherently designed to support multi-mission requirements, and allows components to aggregate data across multiple homogeneous or heterogeneous satellites or payloads - The highly-successful Goddard Science and Planetary Operations Control Center (SPOCC) utilizes GMSEC as the hub for it's automation and situational awareness capability Shifts focus towards getting GS to a final configuration-managed baseline, as well as multi-mission / big-picture capabilities that help increase situational awareness, promote cross-mission sharing and establish enhanced fleet management capabilities across all levels of the enterprise.

GMSEC↗

Benchmarking GOCART-2G in the Goddard Earth Observing System (GEOS)

The Goddard Chemistry Aerosol Radiation and Transport (GOCART) model, which controls the sources sinks and chemistry within the Goddard Earth Observing System, recently underwent a major refactoring and update to the representation of physical processes. The code refactoring increases flexibility such multiple instances of an aerosol species can be run and interact with radiation and cloud microphysics, in addition to the output of multiple wavelength aerosol optical properties in support of data assimilation. From a science perspective, a new radiatively active tracer, brown carbon, was added to distinguish smoke from other sources of organic aerosol thereby improving optical properties entering the radiative calculations. A four-year benchmark simulation was evaluated using in situ and space borne measurements to develop a baseline and prioritize future development. A comparison of simulated aerosol optical depth between GOCART-2G and MODIS retrievals indicates the model captures the overall spatial pattern and seasonal cycle of aerosol optical depth but overestimates aerosol extinction over dusty regions and underestimates aerosol extinction over northern hemisphere boreal forests, requiring further tuning of emissions. This MODIS-based analysis is corroborated by comparisons to MISR and selected AERONET stations. Despite the underestimate of aerosol optical depth in biomass burning regions in GEOS, there is an overestimate in the surface mass of organic carbon in the United States, especially during the summer months.

Allison Collow↗

Benchmarking GOCART-2G in the Goddard Earth Observing System (GEOS)

The Goddard Chemistry Aerosol Radiation and Transport (GOCART) model, which controls the sources sinks and chemistry within the Goddard Earth Observing System, recently underwent a major refactoring and update to the representation of physical processes. This paper serves to document code changes that were included in GOCART 2nd Generation (GOCART-2G) and establishes a benchmark simulation that is to be used for future development of the system. The code refactoring increases flexibility such multiple instances of an aerosol species can be run and interact with radiation and cloud microphysics, in addition to the output of multiple wavelength aerosol optical properties in support of data assimilation. From a science perspective, a new radiatively active tracer, brown carbon, was added to distinguish smoke from other sources of organic aerosol thereby improving optical properties entering the radiative calculations. A four-year benchmark simulation was evaluated using in situ and space borne measurements to develop a baseline and prioritize future development. A comparison of simulated aerosol optical depth between GOCART-2G and MODIS retrievals indicates the model captures the overall spatial pattern and seasonal cycle of aerosol optical depth but overestimates aerosol extinction over dusty regions and underestimates aerosol extinction over northern hemisphere boreal forests, requiring further tuning of emissions. This MODIS-based analysis is corroborated by comparisons to MISR and selected AERONET stations. Despite the underestimate of aerosol optical depth in biomass burning regions in GEOS, there is an overestimate in the surface mass of organic carbon in the United States, especially during the summer months.

Allison B Collow↗

Recent Developments to the Porous Microstructure Analysis (PuMA) Software

The Porous Microstructure Analysis (PuMA) software is a suite of tools for the analysis of porous materials and generation of material microstructures. From microstructural data, often obtained through X-ray microtomography, PuMA can determine a number of effective material properties and perform material response simulations. Version 2.2 includes capabilities for computing volume fractions, porosity, specific surface area, effective thermal and electrical conductivities, and continuum and rarefied diffusive tortuosity. PuMA can also simulate competitive diffusion/reaction processes at the micro-scale, such as surface oxidation. In this poster, recent advancements to the PuMA software are detailed, including the full refactoring of PuMA into v3.0, a new module to compute heat conduction in anisotropic materials, a particle method for simulating molecular beam experiments, a new finite-volume Laplace solver, complex fibrous material generation, woven material generation, and a coupling of PuMA with the DAKOTA software for advanced statistics.

PuMA↗

Research Report: Progress on Building a File Observatory for Secure Parser Development

Parsing untrusted data is notoriously challenging.Failure to handle maliciously crafted data correctly can (anddoes) lead to a wide range of vulnerabilities. The Languagetheoretic security (LangSec) philosophy seeks to obviate the needfor developers to apply ad hoc solutions by, instead, offeringformally correct and verifiable input handling throughout thesoftware development lifecycle. One of the key components indeveloping secure parsers is a broad coverage corpus that enablesdevelopers to understand the problem space for a given formatand to use, potentially, as seeds for fuzzing and other automatedtesting. In this paper, we offer an update on work reportedat the LangSec 2021 conference on the development of a fileobservatory to gather and enable analysis on a diverse collectionof files at scale. The initial focus of the observatory is on PortableDocument Format (PDF) files and file formats typically embeddedin PDFs. In this paper, we report on refactoring the ingestprocess, applying new analytic methods, and improving the User Interface.

Stonebraker, Ryan↗

The Representation of Aerosols in GMAO’s Newest Reanalyses

Over the past few years, NASA’s Global Modelling and Assimilation Office has been working on the configuration and production of three new reanalysis products, GEOS-IT, GiOcean, and MERRA-21C. GEOS-IT, or the Goddard Earth Observing System for Instrument Teams, is a 3D variational data assimilation system that runs in a near real time framework however retrospectively provides data back through 1998 to deliver a consistent view of the Earth-atmosphere system for the production of observational NASA products. Retrospective production for GEOS-IT is complete and the meteorology has since been used to produce the one way weakly coupled GiOcean reanalysis. Due to differences in the atmospheric model, particularly related to scavenging, aerosols are not identical in GEOS-IT and GiOcean. MERRA-21C, or the Modern Era Restrospective analysis for Research and Applications in the 21st century, is a hybrid 4D ensemble variational system at a finer horizontal resolution of 0.25 degrees. Although different in their intended use, and therefore configuration, these systems prominently feature coupling between meteorology and aerosols. The differences and similarities in the aerosol configuration between the three systems will be discussed, covering biomass burning and anthropogenic emissions as well as observations used for the assimilation of aerosol optical depth. A large emphasis will be placed on the version of the underlying aerosol module, GOCART, which underwent a complete refactoring and the addition of radiatively active brown carbon between GEOS-IT and MERRA-21C. Independent observations will be used to evaluate the performance of aerosols in both reanalyses, focusing on aerosol optical depth, surface particulate matter, and vertical profiles of aerosol backscatter.

Allison Collow↗

Regression Verification Using Impact Summaries

Regression verification techniques are used to prove equivalence of syntactically similar programs. Checking equivalence of large programs, however, can be computationally expensive. Existing regression verification techniques rely on abstraction and decomposition techniques to reduce the computational effort of checking equivalence of the entire program. These techniques are sound but not complete. In this work, we propose a novel approach to improve scalability of regression verification by classifying the program behaviors generated during symbolic execution as either impacted or unimpacted. Our technique uses a combination of static analysis and symbolic execution to generate summaries of impacted program behaviors. The impact summaries are then checked for equivalence using an o-the-shelf decision procedure. We prove that our approach is both sound and complete for sequential programs, with respect to the depth bound of symbolic execution. Our evaluation on a set of sequential C artifacts shows that reducing the size of the summaries can help reduce the cost of software equivalence checking. Various reduction, abstraction, and compositional techniques have been developed to help scale software verification techniques to industrial-sized systems. Although such techniques have greatly increased the size and complexity of systems that can be checked, analysis of large software systems remains costly. Regression analysis techniques, e.g., regression testing [16], regression model checking [22], and regression verification [19], restrict the scope of the analysis by leveraging the differences between program versions. These techniques are based on the idea that if code is checked early in development, then subsequent versions can be checked against a prior (checked) version, leveraging the results of the previous analysis to reduce analysis cost of the current version. Regression verification addresses the problem of proving equivalence of closely related program versions [19]. These techniques compare two programs with a large degree of syntactic similarity to prove that portions of one program version are equivalent to the other. Regression verification can be used for guaranteeing backward compatibility, and for showing behavioral equivalence in programs with syntactic differences, e.g., when a program is refactored to improve its performance, maintainability, or readability. Existing regression verification techniques leverage similarities between program versions by using abstraction and decomposition techniques to improve scalability of the analysis [10, 12, 19]. The abstractions and decomposition in the these techniques, e.g., summaries of unchanged code [12] or semantically equivalent methods [19], compute an over-approximation of the program behaviors. The equivalence checking results of these techniques are sound but not complete-they may characterize programs as not functionally equivalent when, in fact, they are equivalent. In this work we describe a novel approach that leverages the impact of the differences between two programs for scaling regression verification. We partition program behaviors of each version into (a) behaviors impacted by the changes and (b) behaviors not impacted (unimpacted) by the changes. Only the impacted program behaviors are used during equivalence checking. We then prove that checking equivalence of the impacted program behaviors is equivalent to checking equivalence of all program behaviors for a given depth bound. In this work we use symbolic execution to generate the program behaviors and leverage control- and data-dependence information to facilitate the partitioning of program behaviors. The impacted program behaviors are termed as impact summaries. The dependence analyses that facilitate the generation of the impact summaries, we believe, could be used in conjunction with other abstraction and decomposition based approaches, [10, 12], as a complementary reduction technique. An evaluation of our regression verification technique shows that our approach is capable of leveraging similarities between program versions to reduce the size of the queries and the time required to check for logical equivalence. The main contributions of this work are: - A regression verification technique to generate impact summaries that can be checked for functional equivalence using an off-the-shelf decision procedure. - A proof that our approach is sound and complete with respect to the depth bound of symbolic execution. - An implementation of our technique using the LLVMcompiler infrastructure, the klee Symbolic Virtual Machine [4], and a variety of Satisfiability Modulo Theory (SMT) solvers, e.g., STP [7] and Z3 [6]. - An empirical evaluation on a set of C artifacts which shows that the use of impact summaries can reduce the cost of regression verification.

Backes, John↗

Adoption of Test Driven Development and Continuous Integration for the Development of the Trick Simulation Toolkit

This paper describes the adoption of a Test Driven Development approach and a Continuous Integration System in the development of the Trick Simulation Toolkit, a generic simulation development environment for creating high fidelity training and engineering simulations at the NASA/Johnson Space Center and many other NASA facilities. It describes what was learned and the significant benefits seen, such as fast, thorough, and clear test feedback every time code is checked-in to the code repository. It also describes a system that encourages development of code that is much more flexible, maintainable, and reliable. The Trick Simulation Toolkit development environment provides a common architecture for user-defined simulations. Trick builds executable simulations using user-supplied simulation-definition files (S_define) and user supplied "model code". For each Trick-based simulation, Trick automatically provides job scheduling, checkpoint / restore, data-recording, interactive variable manipulation (variable server), and an input-processor. Also included are tools for plotting recorded data and various other supporting tools and libraries. Trick is written in C/C++ and Java and supports both Linux and MacOSX. Prior to adopting this new development approach, Trick testing consisted primarily of running a few large simulations, with the hope that their complexity and scale would exercise most of Trick's code and expose any recently introduced bugs. Unsurprising, this approach yielded inconsistent results. It was obvious that a more systematic, thorough approach was required. After seeing examples of some Java-based projects that used the JUnit test framework, similar test frameworks for C and C++ were sought. Several were found, all clearly inspired by JUnit. Googletest, a freely available Open source testing framework, was selected as the most appropriate and capable. The new approach was implemented while rewriting the Trick memory management component, to eliminate a fundamental design flaw. The benefits became obvious almost immediately, not just in the correctness of the individual functions and classes but also in the correctness and flexibility being added to the overall design. Creating code to be testable, and testing as it was created resulted not only in better working code, but also in better-organized, flexible, and readable (i.e., articulate) code. This was, in essence the Test-driven development (TDD) methodology created by Kent Beck. Seeing the benefits of Test Driven Development, other Trick components were refactored to make them more testable and tests were designed and implemented for them.

Penn, John M.↗