pyEQUIB Python Package, an addendum to proEQUIB: IDL Library for Plasma Diagnostics and Abundance Analysis

A. Danehkar
DOI: https://doi.org/10.21105/joss.02798
2024-10-18
Abstract:The emission lines from ionized nebulae allow us to determine their physical and chemical properties, along with the interstellar extinction. "pyEQUIB" is a pure Python open-source package including several application programming interface (API) functions that can be employed for plasma diagnostics, abundance analysis of collisionally excited lines (CEL) and recombination lines (RL) in nebular astrophysics, and extinction analysis of Balmer lines. This package implements the IDL library "proEQUIB" in Python and couples it with the "AtomNeb" Python package. This package relies on the Python packages NumPy and SciPy. The API functions of this package can be used for studies of ionized nebulae by astronomers who are familiar with the high-level, general-purpose programming language Python.
Instrumentation and Methods for Astrophysics
What problem does this paper attempt to address?
This paper introduces a pure - Python open - source software package named **pyEQUIB**, which is the Python implementation of **proEQUIB** (an IDL library for plasma diagnosis and abundance analysis). Combined with **AtomNeb** (an IDL library for atomic data of ionized nebulae), **pyEQUIB** aims to solve the following problems: 1. **Plasma diagnosis**: Derive electron temperature and electron density by analyzing nebular emission lines. These parameters are crucial for understanding the physical state of the nebula. 2. **Element abundance analysis**: Determine the abundances of chemical elements in the nebula by analyzing collision - excited lines (CELs) and recombination lines (Rls). This is very important for studying the chemical composition and evolution history of the nebula. 3. **Interstellar extinction analysis**: Derive interstellar extinction by analyzing the Balmer decrements. This helps to correct the extinction effect in the observational data, so as to measure the physical parameters of celestial bodies more accurately. **pyEQUIB** provides a series of application programming interface (API) functions, which can be conveniently used for the above - mentioned analysis tasks. These functions need to obtain data such as energy levels, collision strengths, transition probabilities and recombination coefficients from the **AtomNeb** package. Therefore, **pyEQUIB** provides a powerful tool for astronomers familiar with Python to process and analyze nebular emission line data.