NPP Science Data Segment Reuse Case Study

Based on the 2007 IEEE Aerospace Conference paper by Shahin Samadi, Ryan Gerard, Mary Hunter, James J. Marshall, Robert J. Schweiss, Robert E. Wolfe, and Edward J. Masuoka and the presentation of the paper by Robert E. Wolfe


Introduction

NASA is saving resources and reducing risk in the development of the Science Data Segment (SDS) of the National Polar-orbiting Operational Environmental Satellite System (NPOESS) Preparatory Project (NPP) by reusing many components of data systems developed for NASA's Earth Observing System (EOS). Reuse allows scientists and developers to devote their efforts to new requirements and innovation. All of the SDS elements leverage off of existing processing centers and systems such as the Sea-viewing Wide Field of-view Sensor (SeaWiFS) Ocean Data Processing System (ODPS), the Ozone Monitoring Instrument Data Processing System (OMIDAPS), and the Atmospheric Infrared Sounder (AIRS). However, this case study focuses on the reuse of the Moderate Resolution Imaging Spectroradiometer (MODIS) Adaptive Processing System (MODAPS) by two elements of the SDS.

The NPP will serve the meteorological and global climate change scientific communities by obtaining remotely-sensed atmosphere, land, ocean, ozone, and sounder data. It also provides risk reduction for NPOESS. NPP will be one of the missions that will contribute to and participate in the Global Earth Observation System of Systems (GEOSS), collaborating with others to share lessons learned about reuse and methods for implementing software reuse.

The purpose of the Science Data Segment (SDS) of NPP is to assess and verify the quality of NPP products to accomplish climate research, and to receive and evaluate Raw Data Records (RDRs), Sensor Data Records (SDRs), and Environmental Data Records (EDRs). It is composed of nine elements:

  • SDS Data Distribution and Depository Element (SD3E)
  • Integration and Test System Element (I&TSE)
  • Project Science Office Element (PSOE)
  • NPP Instrument Calibration Support Element (NICSE)
  • 5 Product Evaluation and Analysis Tools Elements (PEATEs)

The following diagram shows the basic connection between these elements of the SDS and their links with other external segments/elements (not described here).

Simplified SDS diagram


Background of MODAPS

The Moderate Resolution Imaging Spectroradiometer (MODIS) Adaptive Processing System (MODAPS) was developed to produce global products for the MODIS instrument on the Terra and Aqua spacecraft. It has a history of reuse, having been used with the Land Remote-Sensing Satellites (Landsats) and the NOAA 7 through NOAA 14 spacecraft. Most of the development was spent in refining software to produce improved science products. Only minor effort was expended on modifying the overall processing and distribution framework of MODAPS.

The main subsystems of MODAPS are:

  • Ingest and Metadata, used to ingest data products
  • Operator GUI and Database, used to archive and access data products
  • Scheduler, Loader, and Data Production, used to control the storage, processing and distribution of data products
  • Land Data Operational Product Evaluation (LDOPE), used for quality assurance and assessment
  • Land and Atmosphere Archive and Distribution System (LAADS), Archiver, and Export, used to search, order, and deliver products from the archive

More information about MODAPS can be found on the following web sites:


Land PEATE – Reuse of MODAPS for NPPDAPS

MODAPS was reused to help create the NPP Data Adaptive Processing System (NPPDAPS) for the Land PEATE because the Visible Infrared Imager Radiometer Suite (VIIRS) instrument that collects data used by the Land PEATE and associated algorithms have heritage from the MODIS instrument and similar processing is required to produce VIIRS EDRs. The Land PEATE reused the following MODAPS subsystems: Ingest, Operator (OPS) Graphical User Interface (GUI), Database, Export, Scheduler, LAADS, LDOPE, Process Data, and Quality Assessment (Q/A) web site. The following diagram shows the MODAPS subsystems.

MODAPS block diagram

Approximately 97% of the core software components were reused without modification, and no modification was required for the OPS GUI, Database, Scheduler, Product Generation, LAADS, and Export subsystems. The primary reason modifications were required in the other subsystems was to account for differences between the MODIS and VIIRS data products. Development effort estimates showed that with reuse, approximately 55 staff-months were required to develop NPPDAPS, while without reuse approximately 730 staff-months would have been required – more than 10 times the effort with reuse.


SD3E – Reuse of MODAPS

The SD3E has four main subsystems:

  • Scheduler, to manage all tasks and processes
  • Ingest Controller, to verify received data products and make them available to PEATEs via FTP server
  • Interface Controller, to handle subscriptions and ad-hoc requests for data products
  • Utilities, to monitor the health of and maintain the SD3E

The SD3E reused the Ingest, Operator (OPS) Graphical User Interface (GUI), Scheduler, Export, and Database subsystems from MODAPS, as well as its general architecture – the local inbound and outbound FTP directory structure was reused, and the choice of SD3E hardware was made based on MODAPS experiences. The following diagram shows the SD3E subsystem reuse:

SD3E subsystem reuse diagram

Approximately 53% of the code in the SD3E was reused with very little or no modification. The primary reasons modifications were required include interfacing with new external interfaces, adapting to different data products and mission-specific requirements, and storing NPP data products locally for 32 days. Some of the key modifications were using PostgreSQL for the database instead of Sybase, adding new routines/functionality to the SD3E Utilities subsystem to read metadata from Hierarchical Data Format (HDF) files, and using new database tables to support the new external interfaces. Development effort estimates showed that with reuse, approximately 7.5 staff-months were required to develop the SD3E, while without reuse approximately 16 staff-months would have been required – more than twice the effort with reuse.


Summary

The reuse of existing systems with some new development and some modification greatly reduces the level of effort, schedule, and risk to create the NPP SDS data system. The general functions and software of NPP SDS will be applicable to systems that are included in GEOSS. The lessons learned from this example of reusing existing software will be valuable to the future missions that are included in the GEOSS plan. Realizing the benefits of existing expertise will allow future developers to devote the time and effort necessary to accommodating additional GEOSS requirements (e.g., near real-time data distribution).

For more details on this case study, please see the Reusing Software to Build Data Processing Systems paper and the slides used to present this paper at the 2007 IEEE Aerospace Conference.