Source-linked AI summary

TauREx III: A fast, dynamic and extendable framework for retrievals

Ahmed F. Al-Refaie, Quentin Changeat, Ingo P. Waldmann, Giovanna Tinetti

arXiv:1912.07759v2astro-ph.IMastro-ph.EP

TL;DR

As atmospheric forward models grow more complex, static retrieval suites face implementation and computational constraints. TauREx 3 uses modular, user-extensible models and dynamic fitting parameters; its benchmarks report up to 10× performance improvement over the previous version at high resolution and large wavelength ranges.

  • Problem

    Growing atmospheric-model complexity challenges implementation in static retrieval suites and limits what can practically be included in computationally intensive retrievals.

    Source: §1 · p. 2
  • Method

    TauREx 3 combines modular, user-extensible atmospheric models with dynamic determination of fitting parameters.

    Source: §1 · p. 2, §3 · pp. 4–5, §10 · p. 33
  • Results

    10× performance improvement over the previous version at R = 10,000 for large wavelength ranges.

    Source: §10 · p. 33
  • Takeaways & Limitations

    TauREx 3 can adapt to new forward models and fitting parameters, supporting rapid prototyping of new methods and retrieval regimes.

    Source: §10 · p. 33

    Discrete cloud models are generally sufficient for currently available spectroscopic data, but next-generation telescopes require more comprehensive cloud-scattering descriptions.

    Source: §4.4 · p. 11

Abstract

from arXiv · show

TauREx 3 is the next generation of the TauREx exoplanet atmospheric retrieval framework for Windows, Mac, and Linux. It is a complete rewrite with a full Python stack that makes it easy-to-use, high-performance, dynamic, and flexible. The new main TauREx program is built with modularity in mind, allowing the user to augment its functionalities with custom code and efficiently perform retrievals on custom parameters. We achieve this result by dynamic determination of fitting parameters, whereby TauREx 3 can detect new parameters for retrieval from user code through a simple interface. TauREx 3 can act as a library with a simple 'import taurex' command, providing a rich set of classes and functions related to atmospheric modelling. A 10x speedup in forward model computations is achieved as compared to the previous version with a sixfold reduction in retrieval times while maintaining robust results. TauREx 3 is intended as a standalone, all-in-one package for retrievals while the TauREx 3 Python library can build or augment a user's custom data pipeline easily.

1. INTRODUCTION

As exoplanet atmospheric models grow more complex, static retrieval suites and computational demands constrain the models that can be used, especially for next-generation telescope spectra. TauREx 3 is a Python rewrite designed to improve forward-model performance, flexibility, and dynamic fitting-parameter retrieval.

1. INTRODUCTION

  • The paper focuses on low-resolution spectroscopy, although ground-based high-resolution data can be combined with space-based observations in retrievals.The passage notes that such combined observations leverage information from both data types.Source: §1 · p. 2
  • Prior TauREx 2 cross-validation against NEMESIS and CHIMERA found good agreement down to an observational noise floor of 30 ppm.The comparison used mock forward models generated by the other codes.Source: §1 · p. 2
  • Increasing model complexity and computing demands make next-generation JWST and Ariel spectra a particular challenge for existing retrieval frameworks.The passage identifies JWST and Ariel as future missions and says their spectra will require forward models to evolve.Source: §1 · p. 2
  • TauREx 3 is a Python 3 rewrite targeting faster forward models, more flexible model construction, and dynamic retrieval of parameters.It is intended for Windows, Mac, and Linux.Source: §1 · p. 2

2. INITIAL SETUP

TauREx 3 is installed as a Python package and uses a readable, modular input format. Its custom-code interface can incorporate user extensions and automatically expose their fitting parameters.

2. INITIAL SETUP

  • A single `pip install taurex` command installs TauREx 3, with Python 3 and NumPy as minimum requirements.Equilibrium chemistry and specific Mie scattering methods require additional FORTRAN and C++ compilers; MPI nested samplers require an MPI library and compiler.Source: §2 · p. 3
  • Separate input headers such as [Temperature] and [Chemistry] make atmospheric components and retrieval choices easier to identify and customize.The example uses free chemistry and an isothermal temperature profile.Source: §2 · p. 3
  • TauREx 3 can integrate custom Python extensions into its pipeline and generate input keywords and fitting parameters from user-defined code.The user specifies a Python file and key variables; at run time, TauREx matches generated keywords to the input.Source: §2 · p. 3
  • TauREx 3 can also integrate external libraries, including samplers or equilibrium-chemistry models, by generating input keywords from class initialization arguments.The automatic keyword generation connects the custom model to the TauREx pipeline.Source: §2 · p. 4

3. FRAMEWORK STRUCTURE

TauREx 3 organizes atmospheric modelling as interoperable components with defined interfaces and separates forward modelling from retrieval. This design supports replaceable models and library-based use, while component compatibility depends on data shape and dimensionality.

3. FRAMEWORK STRUCTURE

  • Abstract base classes define interfaces that let atmospheric components be mixed and matched without requiring each component to know how another is constructed.For example, a cross-section interpolator needs a temperature profile as output, not knowledge of how that profile was built.Source: §3 · p. 4
  • TauREx 3 separates the forward-model and retrieval frameworks, joined by a ForwardModel interface that lets retrieval fit observations using an arbitrary forward model.The forward model and observation must have matching overall shapes; fitting multiple spectra requires a model that returns multiple spectra.Source: §3 · p. 5
  • The ForwardModel aggregates atmospheric components and connects their dependencies, such as chemistry requiring temperature-pressure points and contribution functions requiring species mixing profiles.SimpleForwardModel provides a higher-level implementation for resolving these dependencies.Source: §3 · p. 5
  • Component interoperability depends on compatible data dimensionality; the available free-chemistry profile accepts and returns 1D profiles, while isothermal profiles can follow 1D, 2D, or 3D pressure grids.The forward model determines how components function together, and concrete implementations must handle required SI-unit conversions.Source: §3 · p. 6
  • TauREx 3 also works as a Python library, exposing ready-to-use atmospheric-modelling classes and allowing interactive model changes and use of its Bayesian retrieval framework.The library can be used at a lower level for dynamic fitting classes in a developer's own codes and models.Source: §3 · pp. 6, 8

4. FORWARD MODELS

TauREx 3 builds forward models from replaceable atmospheric components, with support for transmission and emission. Its profiles, chemistry, contributions, and spectral binning provide configurable building blocks, though some capabilities remain limited in this release.

4. FORWARD MODELS

  • Transmission and emission are the only forward models available in this release; single- and multi-scattering models are planned for future releases.The framework allows these additional model types to be implemented from external libraries.Source: §4 · p. 8
  • SimpleForwardModel connects atmospheric components for a 1D model, while implementations define a path_integral to calculate the spectrum.The base ForwardModel interface returns a native wavenumber grid, the model result, layer optical depths, and any extra information.Source: §4 · pp. 8–9

4.1. Pressure Profiles

  • SimplePressureProfile computes an equally spaced logarithmic pressure grid from user-set maximum and minimum pressures and a layer count.The central geometric pressure is computed for each layer from its boundary pressures.Source: §4.1 · p. 10

4.2. Temperature Profiles

  • TauREx 3 replaces fixed 3- and 4-point profiles with an N-point temperature profile whose user-defined points each generate retrieval parameters.The N-point profile supports an arbitrary number of pressure and temperature points; the older profiles are deprecated.Source: §4.2 · p. 10

4.3. Chemistry

  • Free chemistry supports any number of molecules, each with retrievable parameters, and extends TauREx 2's H2/He-only support to heavier atmospheres.Users can assign different vertical mixing profiles by molecule, including custom profiles implemented through a Gas class.Source: §4.3 · p. 10

4.4. Contributions

  • Contribution functions can be added or removed dynamically without modifying the transmission or emission code, but custom contributions require library use rather than input-file configuration.The cloud model is discretized by pressure layers, and the text notes that next-generation telescopes will require more comprehensive cloud-scattering descriptions.Source: §4.4 · pp. 11–12

4.5. Binning

  • FluxBinner resamples spectra using bin-occupancy weights and supports overlapping bins, non-uniform grids, and optional uncertainty propagation.It can also be used outside TauREx 3 to bin spectra with or without uncertainties.Source: §4.5 · p. 12

5. OPACITIES

TauREx 3 uses absorption cross-sections on a shared runtime-selected wavelength grid, with interpolation choices that trade accuracy against speed. It supports multiple opacity formats and lazy loading, including a streaming option that trades performance for lower memory use.

5. OPACITIES

  • TauREx 3 uses absorption cross-sections rather than k-tables, which the authors report are no faster and are slower when multiple species are included.Cross-sections are temperature-pressure-wavelength grids; linear interpolation is available for temperature and pressure, alongside a more accurate temperature scheme.Source: §5 · pp. 12–13
  • ≈3.4% interpolation residuals at ΔT = 200, versus ≈11.2% for the linear scheme; at ΔT = 100, residuals are less than 1.64% for H2O.The exponential scheme takes about 3× longer than the linear scheme, which is the default.Source: §5 · p. 13
  • At runtime, the highest-resolution loaded opacity sets the forward model’s native wavenumber grid, and other opacities are resampled to it.The interpolation scheme can be selected with the input-file interpolation_mode keyword.Source: §5 · p. 13

5.1. Formats

  • HDF5 cross-sections can be streamed from disk to reduce memory use, at an approximately 5–10× performance cost; by default, cross-sections are loaded into memory.The paper estimates that an R = 100,000 opacity set spanning 0.3–15 µm with 20 temperature and 20 pressure points requires roughly 2.6 GB, limiting an 8 GB workstation to about 3–4 molecules.Source: §5.1 · p. 14

5.2. Cache

  • The opacity cache lazy-loads cross-sections from a user-defined folder; the first forward-model run may be delayed by a few seconds, while a subsequent H2O cache lookup takes 669 ns.When a path contains multiple formats, HDF5 files are prioritized.Source: §5.2 · pp. 14–15

6. DYNAMIC PARAMETERS AND RETRIEVALS

TauREx 3 dynamically discovers fitting parameters from model components, addressing the complexity of hardcoding parameters and supporting varied parameters and priors. Its optimizer manages parameter selection and space conversion, while invalid models can be rejected during sampling.

6. DYNAMIC PARAMETERS AND RETRIEVALS

  • The earlier approach struggled to scale across many parameters, varied chemistry profiles, and parameter-specific priors; TauREx 2 required molecules to share a prior.Scaling choices such as linear versus logarithmic space can also require parameter-specific implementation.Source: §6 · p. 15
  • TauREx 3 discovers fitting parameters dynamically from model components, avoiding the need to explicitly hardcode new physical parameters into the retrieval.Fittable objects advertise parameter names, getters, setters, and associated fitting metadata; the forward model collects them into a unified parameter pool.Source: §6 · pp. 15–16
  • The @fitparam decorator or add_fittable_param method lets users define parameters, including parameters that vary with the construction of a profile.The NPoint profile changes its fitting parameters with the number of temperature and pressure points.Source: §6 · pp. 16–17

6.1. Optimization

  • The optimizer collects model parameters, updates the forward model, computes likelihoods, and supports enabling or disabling fits; linear and log-10 parameter spaces are supported.Input-file-defined fitting parameters are supported, bounds remain in linear space, and only uniform priors are currently supported.Source: §6.1 · p. 18

6.2. Model Rejection

  • InvalidModelException assigns the lowest possible log-likelihood to non-physical models, which should help nested and classical MCMC sampling avoid those regions.Examples include mixing ratios above unity and multi-point profiles with inverted pressure points.Source: §6.2 · p. 18

7. INSTRUMENTS

TauREx 3 includes an instrument simulator that turns a forward-model spectrum into a binned spectrum with noise and systematics. It can also simulate observations for retrievals to assess parameter retrievability under different telescope and instrument setups.

7. INSTRUMENTS

  • The instrument simulator applies an instrument noise model to a forward-model spectrum and produces a binned spectrum with noise and systematics.The user can specify the number of observations to simulate stacking.Source: §7 · p. 18
  • The included generic SNR model adds normally distributed noise across wavelengths, while the described instrument model produces symmetric uncertainties.Users can provide custom instrument noise models.Source: §7 · pp. 18–19
  • Simulated-observation retrievals let users estimate atmospheric-parameter retrievability across telescope and instrument setups, including JWST or ARIEL configurations.Source: §7 · p. 19

8. BENCHMARK

TauREx 3’s forward-model benchmarks show substantial speed gains while retaining spectral accuracy, and retrieval benchmarks find results consistent with TauREx 2 at lower runtime. Simulated Ariel retrievals also complete within hours, supporting higher-resolution retrievals within the tested scope.

8.1. Computational

  • TauREx 3 uses a full Python stack, with NumPy vectorization, numexpr operations, Numba JIT compilation, and fused opacities to improve performance scaling.Fusing interpolated and weighted opacities into one cross-section is also applied to Rayleigh scattering and CIA; the framework does not use multithreading.Source: §8.1 · p. 19
  • Transit residuals fall from circa 15 ppm to ≈10^-5 ppm after matching masses; emission residuals are about 0.3 ppm, and quadrature precision cuts them by two orders of magnitude.The emission comparison first matches the higher-precision masses; increasing TauREx 2 quadrature-point precision then further reduces residuals.Source: §8.1 · pp. 20–21, Figure 7 · p. 22, Figure 8 · p. 23
  • At large layer counts, TauREx 3 cross-sections are 1.1–2× faster than TauREx 2 k-tables and around 54× faster than its older cross-section code.The comparison uses increasing numbers of atmospheric layers; TauREx 3 provides around a 10× boost over the older cross-section code overall.Source: §8.1 · p. 21, Table 8 · p. 24
  • As molecule counts increase, TauREx 3 gains 2–8× over TauREx 2 k-tables and 8–100× over the older cross-section code.These benchmarks fix the atmosphere at 100 layers and increase the number of molecules.Source: §8.1 · p. 21, Table 9 · p. 24

8.2. Retrieval Benchmark: HD 209458 b

  • The real-data comparison uses HST/WFC3 transmission and emission spectra, retrieves five molecular abundances, and excludes Spitzer points from the emission analysis.The authors state that their goal is benchmarking consistency and computation time, not a comprehensive study or reinterpretation of HD 209458 b.Source: §8.2 · p. 24
  • For TauREx 2 and 3, best-fit spectra agree within 1 σ; retrievals find H2O at log mixing ratios 3.36 (dayside) and 3.52 (terminator), cloud pressure about 10^-2 bar, and dayside CH4 peaking near 10^-4, temperature-degenerate.Source: §8.2 · p. 25
  • TauREx 3 matches TauREx 2 while improving retrieval runtime sixfold; higher-resolution JWST/Ariel retrievals are reported feasible within a couple of hours.For simulated Ariel spectra, TauREx 3 transit and eclipse retrievals took 2 and 3 hours, versus 11 and 20 hours for TauREx 2.Source: §8.2 · pp. 25, 30, 33, Table 13 · p. 29
  • For simulated Ariel spectra, most retrieved parameters are well constrained and within 1 σ of their truth values, although Pclouds, log CO, and log CO2 lie outside that range.CO has no visible features in the simulated spectrum, so the retrieval recovers only an upper limit and its mean and 1-σ depend on the prior.Source: §8.2 · p. 30, Figure 13 · p. 30

9. FUTURE WORK

The authors outline applications built on TauREx 3’s flexible framework, spanning scattering models, population studies, solar-system analysis, and phase curves. They also aim to reduce the effort required for other groups to add their own models and schemes.

9. FUTURE WORK

  • Planned applications include two- and multi-stream scattering, population-scale retrievals, solar-system occultation and nadir models, Mars Climate Database chemistry, and phase-curve models.These applications are described as future work, including work then in preparation.Source: §9 · p. 33
  • The framework aims to make it easier for other groups to add chemistry, cloud, forward-model, and temperature schemes, with open-source BSD licensing supporting community development.The authors hope TauREx 3 will become a community-wide tool for retrieval-code development.Source: §9 · p. 33

10. SUMMARY

TauREx 3 combines a modular retrieval framework with a Python library and dynamically determined fitting parameters. The reported benchmarks show agreement with TauREx 2, faster forward models, and reduced retrieval times for simulated Ariel observations.

10. SUMMARY

  • TauREx 3 can be used as a standalone retrieval program or imported as a Python library of ready-to-use atmospheric-modelling classes.The library includes cross-section interpolators, temperature profiles, chemistry models, contribution functions, and optimizers.Source: §10 · p. 33
  • User-defined codes can extend the framework, and TauREx 3 dynamically generates appropriate fitting parameters when the forward model changes.The authors describe this as supporting rapid prototyping of methods and retrieval regimes, including observation geometry and model hyper-parameters.Source: §10 · p. 33
  • Benchmarks report up to 10× forward-model performance improvement at large wavelength ranges, retrievals consistent with TauREx 2, and simulated Ariel retrievals completed in a couple of hours.The framework is open source under a BSD license.Source: §10 · p. 33
Loading 1912.07759v2…