loading page

Why Robust Software Engineering Matters for Atmospheric Composition Retrievals
  • +6
  • James McDuffie,
  • Mike Smyth,
  • Sebastian Val,
  • Vijay Natraj,
  • Kevin Bowman,
  • Jonathan Hobbs,
  • Sébastien Roche,
  • Joseph Mendonca,
  • Edwin Sarkissian
James McDuffie
NASA Jet Propulsion Laboratory

Corresponding Author:[email protected]

Author Profile
Mike Smyth
NASA Jet Propulsion Laboratory
Author Profile
Sebastian Val
NASA Jet Propulsion Laboratory
Author Profile
Vijay Natraj
Jet Propulsion Laboratory, California Institute of Technology
Author Profile
Kevin Bowman
Jet Propulsion Laboratory, California Institute of Technology
Author Profile
Jonathan Hobbs
Jet Propulsion Laboratory
Author Profile
Sébastien Roche
University of Toronto
Author Profile
Joseph Mendonca
Environment and Climate Change Canada
Author Profile
Edwin Sarkissian
NASA Jet Propulsion LAboratory
Author Profile

Abstract

The retrieval of atmospheric composition from remote sensing measurements is a complex process that requires the integration of cross cutting domain knowledge into a coherent software package. The complexity is increased many times over when the software has to handle multiple types of instruments, operating in different spectral regions, each with their own peculiarities. This is further compounded when trying to combine information from multiple instruments for joint retrievals. Yet, there is enough overlap between the radiative transfer and retrieval techniques used by various missions that it is wasteful to continually reinvent the wheel every time. The Reusable Framework for Atmospheric Composition (ReFRACtor) is an extensible multi-instrument atmospheric composition retrieval framework that supports and facilitates data fusion of radiance measurements from different instruments in the ultraviolet, visible, near- and thermal-infrared. This framework is being developed to provide a community available software package that uses robust software engineering practices with well tested, community accepted algorithms and techniques. ReFRACtor is geared not only for the creation of end to end production systems, but also towards independent investigative scientists who need a software package to help answer atmospheric composition questions. We will explain how the use of succint interfaces between components provides advantages for future proofing, flexibility and reusability. Examples will be given for translating the logical separation of mathematical and scientific concepts into software components. We will describe how having a Python interface to fast compiled algorithms is helpful for rapid prototyping of new systems. The experience of early adopter scientists will also be discussed to give a perspective from outside the software development team.