Differences between level_index, level_id and level_number
level_index
DataFrame index for each electronic energy level. Different for each ion. Third index for energy levels after atomic number and ion charge. Used in GFALL, Chianti and CMFGEN levels DataFrames.
For photoionization cross-sections, this is used to determine the lower and upper levels of cross-sections.
level_id
Global unique level_id
across all species used to assign unique IDs even for the cut level and line data.
Computed from level index. Typically has an upper and lower form to connect levels
together.
level_number
Index in the order of the level energies within each species. For example, species Si II has level_number 0 to n. Often used in a multi-index with atomic_number, ion_number. Connects upper and lower energy levels.