Python 3.6+ Build Status Coverage Status Codacy Badge PyPI version

Welcome to Eniric’s documentation!

Eniric is a Python 3.6+ software written to calculate the theoretical Radial Velocity (RV) precision of Near-InfraRed (NIR) stellar spectra. Eniric is an overhaul and extension to the code initially used in Figueira et al. 2016 to analysis the precision of M-dwarf stars in the NIR, extending its ability to use any synthetic spectra from the PHOENIX-ACES and BT-Settl libraries, or user provided spectra, and making it easier and faster to use. Extending the performance and usability, it is able to be used on any synthetic spectra from the PHOENIX-ACES and BT-Settl (CIFIST2011-2015) libraries.

To get started see the Installation, or the Basic Usage.


Eniric contains a number of tools to transform and analyse synthetic or observed spectra.

  • Spectral broadening:

    Allows for Rotational and Instrumental broadening of synthetic spectra given a rotation speed vsini and resolution R.

  • Atmospheric transmission masking:

    Analyzing the RV precision attainable under the different masking conditions presented in Figueira et al. 2016.

    The three conditions specifically treated are:
    • No contamination or treatment of atmospheric transmission
    • Masking all regions affected by atmospheric absorption of a given depth % over the course of the year.
    • Assuming perfect telluric correction in which the variance of the measured flux is impacted.
  • Spectral Resampling

    Allows for resampling of synthetic spectra to N pixels per FWHM. Default is 3.

  • SNR normalization

    Normalize spectral flux to a defined SNR level.

  • Photometric band selection

    Analysis splitable into individual photometric bands Z, Y, J, H, K. User definable.

  • Theoretical RV precision

    Compute spectral RV precision and spectral quality.

  • Incremental quality/precision

    Determine the RV precision and spectral quality on narrow wavelength slices across the entire spectrum, similar to that present in Figure 1 of both Bouchy et al.(2001) and Artigau et al. (2018).

  • Analyse relative precision of synthetic libraries

    The RV precision of are present relative to a specified SNR per pixel in the center of a photometric band. The default as used in Figueira et al. 2016 is a SNR of 100 at the center of the J-band.

Example relative precisions

Precision achieved with eniric as a function of spectral band for stars with a rotational velocity of vsini=1.0 km/s and temperatures 3900 K, 3500 K, 2800 K, 2600 K, corresponding to spectral types M0, M3, M6, and M9 respectively. The dashed line represents the theoretical limits imposed by condition 1, and the filled area represents the values within the limits set by conditions 2 (circles) and 3 (triangles); blue, green, and red represent the results obtained for resolutions of 60000, 80000, and 100000, respectively. The spectra were normalized to have a SNR of 100 per resolution element as measured at the center of the J-band. This is similar to Figure 1 from Figueira et al. 2016 but with updated precision values.


The theoretical background and first version of the code used in Eniric was presented in Figueira et al. 2016.

P. Figueira, V. Zh. Adibekyan, M. Oshagh, J. J. Neal, B. Rojas-Ayala, C. Lovis, C. Melo, F. Pepe, N. C. Santos, M. Tsantaki, 2016,
Radial velocity information content of M dwarf spectra in the near-infrared,
Astronomy and Astrophysics, 586, A101

After Installation and Configuration the updated results for Figueira et al. 2016 can be reproduced by eniric with the following command. -t 3900 3500 2800 2600 -l 4.5 -m 0.0 -r 60000 80000 100000 -v 1.0 5.0 10.0 -b Z Y J H K


If you are having issues, please let us know.

You can submit an issue on Github.


The project is licensed under the MIT License.

Indices and tables