Source-linked AI summary

ExoCross: a general program for generating spectra from molecular line lists

Sergei N. Yurchenko, Ahmed Al-Refaie, Jonathan Tennyson

arXiv:1801.09803v2astro-ph.EPastro-ph.SRphysics.ao-ph

TL;DR

Very large molecular line lists make direct spectral calculations difficult, especially for hot molecules. ExoCross addresses this with a parallelized, vectorized program supporting diverse spectra, properties, formats, and line-profile methods, including new Voigt algorithms. It also extends processing through super-lines while retaining broad functionality for molecular spectroscopy.

  • Problem

    Line lists containing billions of transitions are impractical for direct line-by-line applications and require computationally efficient processing.

  • Method

    ExoCross processes molecular line lists with parallelized and vectorized calculations, multiple line profiles and formats, new Voigt algorithms, and super-line support.

  • Results

    The Vectorized Voigt method is around 10 to 12 times faster than the standard Humlíček method for a full opacity calculation.

  • Takeaways & Limitations

    ExoCross provides a flexible program for generating spectra and diverse molecular properties from large ExoMol and other line lists.

  • Takeaways & Limitations

    Coarse-grid sampling can underestimate opacity, while averaged cross sections may produce large integrated-flux errors in radiative-transfer applications.

Abstract

from arXiv · show

ExoCross is a Fortran code for generating spectra (emission, absorption) and thermodynamic properties (partition function, specific heat etc.) from molecular line lists. Input is taken in several formats, including ExoMol and HITRAN formats. ExoCross is efficiently parallelized showing also a high degree of vectorization. It can work with several line profiles such as Doppler, Lorentzian and Voigt and support several broadening schemes. Voigt profiles are handled by several methods allowing fast and accurate simulations. Two of these methods are new. ExoCross is also capable of working with the recently proposed method of super-lines. It supports calculations of lifetimes, cooling functions, specific heats and other properties. ExoCross can be used to convert between different formats, such as HITRAN, ExoMol and Phoenix. It is capable of simulating non-LTE spectra using a simple two-temperature approach. Different electronic, vibronic or vibrational bands can be simulated separately using an efficient filtering scheme based on the quantum numbers.

1. Introduction

ExoCross is a Fortran program for generating spectra and molecular properties from very large line lists. It addresses the computational demands of hot-molecule datasets through optimized parallel processing, flexible formats and profiles, and new Voigt algorithms.

  • ExoCross computes pressure- and temperature-dependent molecular cross sections plus lifetimes, cooling functions, partition functions, and specific heats from line lists.
  • Line lists exceeding 10 billion transitions make direct line-by-line applications impractical, motivating specialized computational handling.
  • The program processes huge datasets with optimized parallelization and vectorization, including efficient generation of large numbers of Voigt profiles.
  • Two new Voigt convolution algorithms target conservation of line area and faster opacity calculations by exploiting far-wing similarity.
  • ExoCross supports ExoMol and HITRAN inputs, multiple output formats including Phoenix, and conversion between ExoMol and HITRAN formats.

2. Main functionality

ExoCross computes line-list-based spectra, intensities, cross sections, and thermodynamic properties, while supporting multiple formats, profiles, and non-LTE temperature treatments. Its functionality includes lifetimes, cooling functions, stick spectra, partition functions, specific heats, format conversion, and quantum-number-based filtering.

  • Derived properties: The program calculates lifetimes, cooling functions, stick spectra, partition functions, and specific heats from molecular line-list data.Examples include CH4 lifetimes and specific heat, CaO stick spectra, and SO3 contributions to the partition function.
  • Spectra and intensities: ExoCross computes absorption and emission cross sections using line intensities, normalized line profiles, configurable frequency grids, and temperature-dependent partition functions.Cross sections can be generated from individual line intensities with profiles normalized to unit area.
  • Intensity selection: A dynamic HITRAN intensity cutoff is available because constant thresholds can remove important weak lines at long wavelengths.The default critical wavenumber and intensity are 2000 cm^-1 and 10^-29 cm/molecule, respectively, and can be changed in the input.
  • Data formats: ExoCross supports ExoMol, HITRAN, and Phoenix-related formats, including HITRAN input and Phoenix output with encoded spectroscopic and broadening parameters.The Phoenix format stores compact integer representations of wavelengths, oscillator strengths, energies, and broadening data.
  • Non-LTE treatment: ExoCross offers a two-temperature non-LTE treatment by separating vibrational or vibronic and rotational contributions to molecular energy.The total energy is approximated as the sum of vibrational or vibronic and rotational terms.

3. Line profiles

ExoCross supports standard Gaussian, Doppler, Lorentzian, Voigt, and box profiles, while addressing opacity loss caused by sampling on coarse frequency grids. The Voigt profile combines Doppler and Lorentzian broadening, whose widths depend on temperature, pressure, molecule, and broadeners.

  • Standard line profiles and sampling method: ExoCross implements Gaussian, Doppler, Voigt, Lorentzian, and simple box line profiles.Gaussian profiles can represent constant-width lines or microturbulent broadening.
  • Standard line profiles and sampling method: Doppler widths are determined by temperature and molecular mass, whereas Lorentzian widths use broadening parameters, reference conditions, and temperature exponents.The Lorentzian profile is commonly used for high-pressure regimes, while Voigt profiles are generally used at moderate pressures.
  • Standard line profiles and sampling method: The Voigt profile is the convolution of Doppler and Lorentzian profiles, combining temperature-related and pressure-related broadening.Lorentzian widths depend on the molecule and state and require broadener specifications and mixing ratios.
  • Standard line profiles and sampling method: Sampling-based cross sections can lose line opacity on coarse grids, motivating more rigorous alternatives to sampling and simple renormalization.The section identifies long-wavelength, sparse-line regions as a typical setting for this limitation.
  • Standard line profiles and sampling method: Coarse frequency grids can underestimate opacity because narrow lines may be partially or completely omitted during profile sampling.The problem is especially important at long wavelengths, where lines are narrow and widely separated.

3.2. Binned Gaussian profile with analytical integrals

The binned Gaussian method analytically integrates each line over a frequency bin and sums the resulting contributions. This preserves exact integrated cross sections regardless of grid density, although coarse-grid averages can distort integrated flux.

  • 3.2. Binned Gaussian profile with analytical integrals: The binned cross section for a transition is obtained by integrating its Gaussian profile between the bin limits using the error function.The scaled bin limits are defined relative to the line centre, and the line intensity supplies the normalization.
  • 3.2. Binned Gaussian profile with analytical integrals: The total cross section in each frequency bin is the sum of the analytically integrated contributions from all individual transitions.This produces an averaged cross section for the bin rather than a point-sampled profile value.
  • 3.2. Binned Gaussian profile with analytical integrals: Analytical integration over each Gaussian frequency bin preserves exact integrated cross sections independently of grid-point count or integration interval.The resulting quantity is interpreted as the average cross section within the bin.
  • 3.2. Binned Gaussian profile with analytical integrals: Coarse-grid averaged cross sections can produce large integrated-flux errors, so direct sampling is preferred for radiative-transfer applications.The binned approach is instead recommended when accurate integrated cross sections or absorption coefficients on coarse grids are required.

3.3. Binned Lorentzian profile with analytical integrals

The analytical-integral approach is extended from Gaussian to Lorentzian and Voigt profiles to avoid accuracy loss during bin integration. The Voigt formulation uses Gauss–Hermite quadrature and is presented as a new approach, typically using 30 quadrature points.

  • 3.3. Binned Lorentzian profile with analytical integrals: Analytical integration within each Lorentzian bin guarantees no accuracy loss for any number of grid points.The method applies the analytic Lorentzian integral across each frequency bin.
  • 3.4. Binned Voigt profile with analytical integrals: The Voigt formulation combines Gaussian and Lorentzian profiles using Gauss–Hermite quadrature.The quadrature-based construction extends the analytical-integral idea to the Voigt convolution.
  • 3.4. Binned Voigt profile with analytical integrals: Figure 6 evaluates absolute relative error at 4 cm−1 for H2O Voigt profiles under several pressures.The supplied figure text identifies the error measure and the 4 cm−1 offset, while the accompanying setup specifies T=5000 K and pressures of 10−20, 100, and 101 bar.
  • 3.4. Binned Voigt profile with analytical integrals: The Voigt quadrature approach is reported as previously unused and normally employs NG−H = 30 Gauss–Hermite points.The formulation can also be generalized to produce area-conserved integrals.

3.5. Vectorized Voigt approximation

The Vectorized Voigt approximation accelerates Voigt-profile calculations by reusing precomputed wing values while evaluating the standard Humlíček profile only near line centres. It reaches near-maximum speedups while preserving cross-section accuracy for the tested water spectrum.

  • 3.5. Vectorized Voigt approximation: The method is designed to reduce a major opacity bottleneck through efficient vectorization of the central and wing-profile calculations.The approach exploits the relatively stable shape of Voigt wings at distances greater than 4 cm−1 from line centres.
  • 3.5. Vectorized Voigt approximation: The method evaluates the Humlíček profile only within 4 cm−1 of each line centre and uses precomputed reference values for the wings.A boundary parameter can smooth the transition between central and wing profiles, although it is generally set to β = 1 for performance.
  • 3.5. Vectorized Voigt approximation: The speedup converges to about 11 times as the wavenumber-grid size varies in the BT2 test.Figure 7 compares Vectorized Voigt with standard Humlíček calculations over 0–300 cm−1 at T = 1900 K and P = 1 bar.
  • 3.5. Vectorized Voigt approximation: The approximation captures all tested BT2 water-spectrum features, with total opacity differing from the standard method by only 10−6 cm2 molecule−1.The comparison used T = 1900 K, P = 1 bar, no intensity threshold, and 0.1 cm−1 bins.
  • 3.5. Vectorized Voigt approximation: Around 10 to 12 times faster, the Vectorized Voigt method outperforms standard Humlíček calculations for full opacity calculations when compared like for like.The theoretical maximum speedup is 12.5 times because the computationally demanding central region occupies at most 8% of the cutoff region.

3.6. Binned Vectorized Voigt with the line area preserved

The area-preserving Vectorized Voigt variant renormalizes precomputed wings to preserve integrated line strength, providing accurate results even with large wavenumber bins.

  • 3.6. Binned Vectorized Voigt with the line area preserved: The implementation uses precomputed reference Voigt wings and a temporary central Humlíček array, both applied with scaled line intensity.The resulting procedure is an approximation rather than the full area-conservation treatment, but it remains accurate in the reported tests.
  • 3.6. Binned Vectorized Voigt with the line area preserved: The normalized Vectorized Voigt variant gives results within 1% of the total summed absolute intensity even for large wavenumber bins.It approximates area conservation by storing the summed wing contribution and combining it with the central Humlíček region.
  • 3.6. Binned Vectorized Voigt with the line area preserved: ExoCross supports molecule-specific pressure-broadening parameters stored in separate ExoMol .broad files, including constant, a0, and a1 schemes.These schemes can depend on quantum numbers such as J.

3.8. Mixtures of broadeners

ExoCross combines independent broadeners through weighted Lorentzian contributions and supports super-lines as temperature-dependent intensity histograms for efficient continuum treatment.

  • 3.8. Mixtures of broadeners: The total Lorentzian width is modeled as a weighted sum of contributions from independent broadeners.The weighting uses each broadener’s fractional contribution, relying on the additivity of cross sections.
  • 3.8. Mixtures of broadeners: Practical calculations apply frequency cutoffs around line centres, affecting both computation time and cross-section accuracy.A 25 cm−1 cutoff is conventional for water cross sections.
  • 3.8. Mixtures of broadeners: Super-lines aggregate transition intensities into frequency-bin histograms that can be processed as ordinary line lists.The histograms can use non-equidistant grids and need not have equal bin widths.
  • 3.8. Mixtures of broadeners: Super-lines are recommended for weaker, featureless continuum contributions, while stronger lines should remain line-by-line.Because state-specific information is lost, super-lines support only constant γ0 and nL for Voigt pressure broadening.

4. Calculation protocol

ExoCross follows a staged workflow that reads molecular-state and transition data, computes required spectroscopic quantities, applies filters, and produces spectra or derived properties.

  • 4. Calculation protocol: The workflow reads input instructions, state data, and transition data before applying filters and computing line intensities.State data include energies, quantum numbers, and statistical weights; transition data include upper/lower IDs and Einstein coefficients.
  • 4. Calculation protocol: Cross sections are then computed on a wavenumber grid, with optional calculations of partition functions, lifetimes, and cooling functions.The workflow supports these calculations conditionally rather than requiring every output for each run.
  • 4. Calculation protocol: The workflow is summarized in a dedicated ExoCross program-flow diagram.Figure 9 presents the calculation sequence visually.
  • 4. Calculation protocol: The final outputs are written to separate files, followed by time and memory reporting.Outputs can include cross sections, stick spectra, lifetimes, and cooling functions.

5. Data formats

ExoCross supports multiple molecular line-list formats and manages their processing, filtering, units, and memory requirements for spectral calculations.

  • 5. Data formats: ExoCross accepts ExoMol and HITRAN inputs and can output ExoMol, HITRAN, or Phoenix-compatible data.
  • 5.1. ExoMol format: The ExoMol format uses compact States and Transitions files containing state properties, quantum labels, and transition indexes.
  • 5.1. ExoMol format: HITRAN is implemented but is verbose, Earth-atmosphere-oriented, and comparatively inflexible for very large or non-terrestrial line lists.
  • 5.3. Improving data processing: OpenMP parallelization and chunked transition caching support concurrent filtering and line-profile computation.
  • 5.3. Improving data processing: The NaH absorption-intensity overview illustrates a spectral calculation at T=2000 K using the Rivlin et al. (2015) line list.
  • 5.4. Filters: Quantum-number filters select specific bands or states, including vibrational transitions, and remain usable when some labels are recorded as NaN.
  • 5.5. Units: Wavelength may use microns instead of default wavenumbers, while pressure units follow the units assigned to the broadening parameter P0.
  • 5.6. Memory handling: Users specify available memory so ExoCross can estimate simultaneous transition processing and report memory usage after execution.

6. Program repository

The ExoCross code, documentation, and examples are freely available, with its units summarized in a dedicated table.

  • The ExoCross code, manual, and input examples are freely available through the ExoMol website, CCPForge, and GitHub.
  • Table 7 lists the units used by ExoCross.

7. Conclusion

ExoCross is presented as a parallelized and vectorized Fortran program for molecular spectroscopic properties, with a fast Voigt algorithm and planned extensions.

  • ExoCross is optimized for parallelism and vectorization to process very large line lists, and its Vectorized Voigt algorithm is designed to be fast and accurate.
  • Users can extend ExoCross with their own line profiles or other functionality.
  • Planned developments include k-coefficients, ExoMol API integration, partition-function input from .pf files, and a non-LTE model requiring fewer quantum-number assumptions.
Loading 1801.09803v2…