Compare reference data¶

Installation¶

  • Edit .git/configure to set up upstream remote:
[remote "upstream"]
    url = <URL of GitHub repository or Azure mirror>
    fetch = +refs/heads/*:refs/remotes/upstream/*
    fetch = +refs/pull/*/head:refs/remotes/upstream/pr/*
  • Initialize LFS hooks and fetch references from upstream:

    $ git lfs install
    $ git fetch upstream
  • This notebook uses the bokeh plotting backend by default. Install it alongside your tardis environment by doing:

    $ conda activate tardis
    $ conda install bokeh -c conda-forge --no-update-deps

Usage¶

  • Run this notebook inside the tardis-refdata/notebooks directory.
  • ReferenceComparer object loads two versions of the reference data by passing at least one Git label (e.g. hash, tag, branch name). If either is set to None it will just use the current data in the directory. For example:

    comparer = ReferenceComparer(ref1_hash=None, ref2_hash='upstream/master')
    

    compares unit_test_data.h5 from your local repository against the HEAD of the upstream remote.

    Please set the labels you want to compare now:

In [1]:
REF1_HASH_DEFAULT = None
REF2_HASH_DEFAULT = 'upstream/master'
  • This feature is specially useful for CI pipelines: ref1_hash and ref2_hash parameters can be passed as environment variables before running the notebook, overwriting the defaults defined in the above cell.

    export REF2_HASH='upstream/master'
  • If you want to switch to the matplotlib backend pass the mpl_backend=True option to the compare_output_nu and compare_spectrum function.

  • Use .teardown() method to delete temporary files.

In [2]:
import os
import sys
import shutil
import tempfile
import subprocess
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from bokeh.plotting import figure, show, ColumnDataSource
from bokeh.layouts import gridplot
from bokeh.models.tools import HoverTool
from bokeh.io import output_notebook

output_notebook()
Loading BokehJS ...

Make sure you are in the root of tardis-refdata after running the following cell.

In [3]:
cd ..
/home/vsts/work/1/s/tardis-refdata

Define classes and functions¶

In [4]:
# data pickled with protocol 5 can't be opened with `python<3.8.3`, use the backport

if sys.version_info < (3, 8, 3):
    import pickle5

    sys.modules["pickle"] = pickle5
In [5]:
def highlight_missing(val):
    if val == True:
        return 'background-color: #BCF5A9'
    else:
        return 'background-color: #F5A9A9'
    
def highlight_relative_difference(val):
    ret = 'background-color: #BCF5A9'
    if val is None:
        ret = 'background-color: #BCF5A9'
    elif val > 1e-2:
        ret = 'background-color: #F2F5A9'
    elif val > 1e-1:
        ret = 'background-color: #F5D0A9'
    elif val > 1:
        ret = 'background-color: #F5A9A9'
    return ret
In [6]:
class ReferenceComparer(object):

    def __init__(self, ref1_hash=None, ref2_hash=None, compare_path='unit_test_data.h5'):
        assert not ((ref1_hash is None) and (ref2_hash is None)), "One hash can not be None"
        self.ref1_hash = ref1_hash
        self.ref2_hash = ref2_hash
        self.compare_path = compare_path
        self.tmp_dir = None
        self.setup()
    
    def setup(self):
        self.tmp_dir = tempfile.mkdtemp()
        print('Created temporary directory at {0}. Delete after use with .teardown'.format(self.tmp_dir))
        for ref_id, ref_hash in enumerate([self.ref1_hash, self.ref2_hash]):
            ref_id += 1
            if ref_hash is not None:
                self._copy_data_from_hash(ref_hash, 'ref{0}_'.format(ref_id))
            else:
                subprocess.Popen('cp {0} {1}'.format(self.compare_path, 
                                                     os.path.join(self.tmp_dir, 
                                                                  'ref{0}_{1}'.format(ref_id, self.compare_path))), 
                                                     shell=True)
            setattr(self, 'ref{0}_fname'.format(ref_id), 
                    os.path.join(self.tmp_dir, 'ref{0}_{1}'.format(ref_id, self.compare_path)))

    def teardown(self):
        shutil.rmtree(self.tmp_dir)

    def _copy_data_from_hash(self, ref_hash, prefix):
        git_cmd = ['git']
        git_cmd.append('--work-tree={0}'.format(self.tmp_dir))
        git_cmd += ['checkout', ref_hash, self.compare_path]
        p = subprocess.Popen(git_cmd)
        p.wait()
        shutil.move(os.path.join(self.tmp_dir, self.compare_path), 
                    os.path.join(self.tmp_dir, prefix + self.compare_path))

    def generate_test_table(self):
        rd1_hdfs = pd.HDFStore(self.ref1_fname, mode='r')
        rd2_hdfs = pd.HDFStore(self.ref2_fname, mode='r')
        rd1_keys = rd1_hdfs.keys()
        rd2_keys = rd2_hdfs.keys()
        rd1_hdfs.close()
        rd2_hdfs.close()
        rd1_df = pd.DataFrame(index=rd1_keys, columns=['exists'])
        rd2_df = pd.DataFrame(index=rd2_keys, columns=['exists'])
        rd1_df['exists'] = True
        rd2_df['exists'] = True
        joined_df = rd1_df.join(rd2_df, how='outer', lsuffix='_1', rsuffix='_2')
        joined_df = joined_df.fillna(False)
        return joined_df
    
    def compare_refdata(self, test_table):
        test_table['match'] = None
        test_table['abs_diff_mean'] = None
        test_table['abs_diff_max'] = None
        test_table['rel_diff_mean'] = None
        test_table['rel_diff_max'] = None
        for row_id, row in test_table.iterrows():
            
            if row[['exists_1', 'exists_2']].all():
                ref1_df = pd.read_hdf(self.ref1_fname, row_id)
                ref2_df = pd.read_hdf(self.ref2_fname, row_id)
                
                if isinstance(ref1_df, pd.Series):
                    try:
                        pd.testing.assert_series_equal(ref1_df, ref2_df)
                    except AssertionError:
                        test_table.loc[row_id, 'match'] = False
                        abs_diff = np.fabs(ref1_df - ref2_df)
                        rel_diff = (abs_diff / np.fabs(ref1_df))[ref1_df != 0]
                        test_table.loc[row_id, 'abs_diff_mean'] = abs_diff.mean()
                        test_table.loc[row_id, 'abs_diff_max'] = abs_diff.max()
                        test_table.loc[row_id, 'rel_diff_mean'] = rel_diff.mean()
                        test_table.loc[row_id, 'rel_diff_max'] = rel_diff.max()
                    else:
                        test_table.loc[row_id, 'match'] = True

                elif isinstance(ref1_df, pd.DataFrame):
                    try:
                        pd.testing.assert_frame_equal(ref1_df, ref2_df)
                    except AssertionError:
                        test_table.loc[row_id, 'match'] = False
                        abs_diff = np.fabs(ref1_df - ref2_df)
                        rel_diff = (abs_diff / np.fabs(ref1_df))[ref1_df != 0]
                        test_table.loc[row_id, 'abs_diff_mean'] = abs_diff.mean(skipna=True).mean()
                        test_table.loc[row_id, 'abs_diff_max'] = abs_diff.max(skipna=True).max()
                        test_table.loc[row_id, 'rel_diff_mean'] = rel_diff.mean(skipna=True).mean()
                        test_table.loc[row_id, 'rel_diff_max'] = rel_diff.max(skipna=True).max()
                    else:
                        test_table.loc[row_id, 'match'] = True

                else:
                    raise ValueError('Needs to be a Series or DataFrame but is' + str(type(ref1_df)))
        return test_table
                

Load data¶

Check if REF1_HASH and REF2_HASH are environment variables. If not defined (or empty), use the defaults defined above.

In [7]:
try:
    REF1_HASH = os.environ['REF1_HASH']

    if not REF1_HASH:
        raise ValueError

except (KeyError, ValueError):
    REF1_HASH = REF1_HASH_DEFAULT

try:
    REF2_HASH = os.environ['REF2_HASH']

    if not REF2_HASH:
        raise ValueError

except (KeyError, ValueError):
    REF2_HASH = REF2_HASH_DEFAULT
In [8]:
REF1_HASH, REF2_HASH
Out[8]:
(None, 'upstream/master')
In [9]:
comparer = ReferenceComparer(ref1_hash=REF1_HASH, ref2_hash=REF2_HASH)
Created temporary directory at /tmp/tmp3e0sl9br. Delete after use with .teardown
Updated 1 path from c42fa06

Test table¶

In [10]:
tt = comparer.generate_test_table()
In [11]:
tt = comparer.compare_refdata(tt)
In [12]:
tt[["exists_1", "exists_2", 'rel_diff_mean', 'rel_diff_max', 'match']].style.applymap(
    highlight_missing, subset=['exists_1', 'exists_2', 'match']).applymap(
    highlight_relative_difference, subset=['rel_diff_mean', 'rel_diff_max'])
Out[12]:
exists_1 exists_2 rel_diff_mean rel_diff_max match
/test_simulation/dilution_factor True True None None True
/test_simulation/iterations_electron_densities True True None None True
/test_simulation/iterations_t_inner True True None None True
/test_simulation/iterations_t_rad True True None None True
/test_simulation/iterations_w True True None None True
/test_simulation/j_estimator True True None None True
/test_simulation/nu_bar_estimator True True None None True
/test_simulation/output_energy True True None None True
/test_simulation/output_nu True True None None True
/test_simulation/t_radiative True True None None True
/test_runner_simple_integral_macroatom_interp/j_blue_estimator True True None None True
/test_runner_simple_integral_macroatom_interp/spectrum_integrated/_frequency True True None None True
/test_runner_simple_integral_macroatom_interp/spectrum_integrated/luminosity True True None None True
/test_runner_simple_integral_macroatom_interp/spectrum_integrated/luminosity_density_lambda True True None None True
/test_runner_simple_integral_macroatom_interp/spectrum_integrated/scalars True True None None True
/test_runner_simple_integral_macroatom_interp/spectrum_integrated/wavelength True True None None True
/test_runner_simple_integral_macroatom_interp/spectrum/_frequency True True None None True
/test_runner_simple_integral_macroatom_interp/spectrum/luminosity True True None None True
/test_runner_simple_integral_macroatom_interp/spectrum/luminosity_density_lambda True True None None True
/test_runner_simple_integral_macroatom_interp/spectrum/scalars True True None None True
/test_runner_simple_integral_macroatom_interp/spectrum/wavelength True True None None True
/test_runner_simple_integral_macroatom/j_blue_estimator True True None None True
/test_runner_simple_integral_macroatom/spectrum_integrated/_frequency True True None None True
/test_runner_simple_integral_macroatom/spectrum_integrated/luminosity True True None None True
/test_runner_simple_integral_macroatom/spectrum_integrated/luminosity_density_lambda True True None None True
/test_runner_simple_integral_macroatom/spectrum_integrated/scalars True True None None True
/test_runner_simple_integral_macroatom/spectrum_integrated/wavelength True True None None True
/test_runner_simple_integral_macroatom/spectrum/_frequency True True None None True
/test_runner_simple_integral_macroatom/spectrum/luminosity True True None None True
/test_runner_simple_integral_macroatom/spectrum/luminosity_density_lambda True True None None True
/test_runner_simple_integral_macroatom/spectrum/scalars True True None None True
/test_runner_simple_integral_macroatom/spectrum/wavelength True True None None True
/test_runner_simple_integral_downbranch_interp/j_blue_estimator True True None None True
/test_runner_simple_integral_downbranch_interp/spectrum_integrated/_frequency True True None None True
/test_runner_simple_integral_downbranch_interp/spectrum_integrated/luminosity True True None None True
/test_runner_simple_integral_downbranch_interp/spectrum_integrated/luminosity_density_lambda True True None None True
/test_runner_simple_integral_downbranch_interp/spectrum_integrated/scalars True True None None True
/test_runner_simple_integral_downbranch_interp/spectrum_integrated/wavelength True True None None True
/test_runner_simple_integral_downbranch_interp/spectrum/_frequency True True None None True
/test_runner_simple_integral_downbranch_interp/spectrum/luminosity True True None None True
/test_runner_simple_integral_downbranch_interp/spectrum/luminosity_density_lambda True True None None True
/test_runner_simple_integral_downbranch_interp/spectrum/scalars True True None None True
/test_runner_simple_integral_downbranch_interp/spectrum/wavelength True True None None True
/test_runner_simple_integral_downbranch/j_blue_estimator True True None None True
/test_runner_simple_integral_downbranch/spectrum_integrated/_frequency True True None None True
/test_runner_simple_integral_downbranch/spectrum_integrated/luminosity True True None None True
/test_runner_simple_integral_downbranch/spectrum_integrated/luminosity_density_lambda True True None None True
/test_runner_simple_integral_downbranch/spectrum_integrated/scalars True True None None True
/test_runner_simple_integral_downbranch/spectrum_integrated/wavelength True True None None True
/test_runner_simple_integral_downbranch/spectrum/_frequency True True None None True
/test_runner_simple_integral_downbranch/spectrum/luminosity True True None None True
/test_runner_simple_integral_downbranch/spectrum/luminosity_density_lambda True True None None True
/test_runner_simple_integral_downbranch/spectrum/scalars True True None None True
/test_runner_simple_integral_downbranch/spectrum/wavelength True True None None True
/test_runner_simple/j_blue_estimator True True None None True
/test_runner_simple/spectrum_virtual/_frequency True True None None True
/test_runner_simple/spectrum_virtual/luminosity True True None None True
/test_runner_simple/spectrum_virtual/luminosity_density_lambda True True None None True
/test_runner_simple/spectrum_virtual/scalars True True None None True
/test_runner_simple/spectrum_virtual/wavelength True True None None True
/test_runner_simple/spectrum/_frequency True True None None True
/test_runner_simple/spectrum/luminosity True True None None True
/test_runner_simple/spectrum/luminosity_density_lambda True True None None True
/test_runner_simple/spectrum/scalars True True None None True
/test_runner_simple/spectrum/wavelength True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/abundance True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/atomic_mass True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/beta_rad True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/beta_sobolev True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/density True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/electron_densities True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/excitation_energy True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/f_lu True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/g True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/g_electron True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/ion_number_density True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/ionization_data True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/j_blues True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/level_number_density True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/levels True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/lines True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/metastability True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/nu True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/number_density True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/partition_function True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/phi True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/scalars True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/selected_atoms True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/t_electrons True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/t_rad True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/tau_sobolevs True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/transition_probabilities True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/w True True None None True
/plasma_unittest/_radiative_rates_type_dilute-blackbody/plasma/wavelength_cm True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/abundance True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/atomic_mass True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/beta_rad True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/beta_sobolev True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/density True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/electron_densities True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/excitation_energy True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/f_lu True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/g True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/g_electron True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/ion_number_density True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/ionization_data True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/j_blue_estimator True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/j_blues True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/j_blues_norm_factor True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/level_number_density True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/levels True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/lines True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/metastability True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/nu True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/number_density True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/partition_function True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/phi True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/r_inner True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/scalars True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/selected_atoms True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/t_electrons True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/t_rad True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/tau_sobolevs True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/transition_probabilities True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/volume True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/w True True None None True
/plasma_unittest/_radiative_rates_type_detailed_w_epsilon_1e-10/plasma/wavelength_cm True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/abundance True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/atomic_mass True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/beta_rad True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/beta_sobolev True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/density True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/electron_densities True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/excitation_energy True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/f_lu True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/g True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/g_electron True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/ion_number_density True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/ionization_data True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/j_blue_estimator True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/j_blues True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/j_blues_norm_factor True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/level_number_density True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/levels True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/lines True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/metastability True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/nu True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/number_density True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/partition_function True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/phi True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/r_inner True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/scalars True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/selected_atoms True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/t_electrons True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/t_rad True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/tau_sobolevs True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/transition_probabilities True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/volume True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/w True True None None True
/plasma_unittest/_radiative_rates_type_detailed/plasma/wavelength_cm True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/abundance True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/atomic_mass True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/beta_rad True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/beta_sobolev True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/density True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/electron_densities True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/excitation_energy True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/f_lu True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/g True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/g_electron True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/ion_number_density True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/ionization_data True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/j_blues True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/level_number_density True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/levels True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/lines True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/metastability True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/nu True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/number_density True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/partition_function True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/phi True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/scalars True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/selected_atoms True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/t_electrons True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/t_rad True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/tau_sobolevs True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/transition_probabilities True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/w True True None None True
/plasma_unittest/_radiative_rates_type_blackbody/plasma/wavelength_cm True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/abundance True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/atomic_mass True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/beta_rad True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/beta_sobolev True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/density True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/electron_densities True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/excitation_energy True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/f_lu True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/g True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/g_electron True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/ion_number_density True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/ionization_data True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/j_blues True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/level_number_density True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/levels True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/lines True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/metastability True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/nu True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/number_density True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/partition_function True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/phi True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/previous_beta_sobolev True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/previous_electron_densities True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/scalars True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/selected_atoms True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/t_electrons True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/t_rad True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/tau_sobolevs True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/transition_probabilities True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/w True True None None True
/plasma_unittest/_nlte_coronal_approximation/plasma/wavelength_cm True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/abundance True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/atomic_mass True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/beta_rad True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/beta_sobolev True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/density True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/electron_densities True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/excitation_energy True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/f_lu True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/g True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/g_electron True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/ion_number_density True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/ionization_data True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/j_blues True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/level_number_density True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/levels True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/lines True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/metastability True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/nu True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/number_density True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/partition_function True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/phi True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/previous_beta_sobolev True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/previous_electron_densities True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/scalars True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/selected_atoms True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/t_electrons True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/t_rad True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/tau_sobolevs True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/transition_probabilities True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/w True True None None True
/plasma_unittest/_nlte_classical_nebular/plasma/wavelength_cm True True None None True
/plasma_unittest/_nlte/plasma/abundance True True None None True
/plasma_unittest/_nlte/plasma/atomic_mass True True None None True
/plasma_unittest/_nlte/plasma/beta_rad True True None None True
/plasma_unittest/_nlte/plasma/beta_sobolev True True None None True
/plasma_unittest/_nlte/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_nlte/plasma/density True True None None True
/plasma_unittest/_nlte/plasma/electron_densities True True None None True
/plasma_unittest/_nlte/plasma/excitation_energy True True None None True
/plasma_unittest/_nlte/plasma/f_lu True True None None True
/plasma_unittest/_nlte/plasma/g True True None None True
/plasma_unittest/_nlte/plasma/g_electron True True None None True
/plasma_unittest/_nlte/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_nlte/plasma/ion_number_density True True None None True
/plasma_unittest/_nlte/plasma/ionization_data True True None None True
/plasma_unittest/_nlte/plasma/j_blues True True None None True
/plasma_unittest/_nlte/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_nlte/plasma/level_number_density True True None None True
/plasma_unittest/_nlte/plasma/levels True True None None True
/plasma_unittest/_nlte/plasma/lines True True None None True
/plasma_unittest/_nlte/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_nlte/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_nlte/plasma/metastability True True None None True
/plasma_unittest/_nlte/plasma/nu True True None None True
/plasma_unittest/_nlte/plasma/number_density True True None None True
/plasma_unittest/_nlte/plasma/partition_function True True None None True
/plasma_unittest/_nlte/plasma/phi True True None None True
/plasma_unittest/_nlte/plasma/previous_beta_sobolev True True None None True
/plasma_unittest/_nlte/plasma/previous_electron_densities True True None None True
/plasma_unittest/_nlte/plasma/scalars True True None None True
/plasma_unittest/_nlte/plasma/selected_atoms True True None None True
/plasma_unittest/_nlte/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_nlte/plasma/t_electrons True True None None True
/plasma_unittest/_nlte/plasma/t_rad True True None None True
/plasma_unittest/_nlte/plasma/tau_sobolevs True True None None True
/plasma_unittest/_nlte/plasma/transition_probabilities True True None None True
/plasma_unittest/_nlte/plasma/w True True None None True
/plasma_unittest/_nlte/plasma/wavelength_cm True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/abundance True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/atomic_mass True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/beta_rad True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/density True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/electron_densities True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/excitation_energy True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/f_lu True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/g True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/g_electron True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/ion_number_density True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/ionization_data True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/j_blues True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/level_number_density True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/levels True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/lines True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/metastability True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/nu True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/number_density True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/partition_function True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/phi True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/scalars True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/selected_atoms True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/t_electrons True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/t_rad True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/tau_sobolevs True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/w True True None None True
/plasma_unittest/_line_interaction_type_scatter/plasma/wavelength_cm True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/abundance True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/atomic_mass True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/beta_rad True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/beta_sobolev True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/density True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/electron_densities True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/excitation_energy True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/f_lu True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/g True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/g_electron True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/ion_number_density True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/ionization_data True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/j_blues True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/level_number_density True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/levels True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/lines True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/metastability True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/nu True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/number_density True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/partition_function True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/phi True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/scalars True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/selected_atoms True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/t_electrons True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/t_rad True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/tau_sobolevs True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/transition_probabilities True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/w True True None None True
/plasma_unittest/_line_interaction_type_macroatom/plasma/wavelength_cm True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/abundance True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/atomic_mass True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/beta_rad True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/beta_sobolev True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/density True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/electron_densities True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/excitation_energy True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/f_lu True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/g True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/g_electron True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/ion_number_density True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/ionization_data True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/j_blues True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/level_number_density True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/levels True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/lines True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/metastability True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/nu True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/number_density True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/partition_function True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/phi True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/scalars True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/selected_atoms True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/t_electrons True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/t_rad True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/tau_sobolevs True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/transition_probabilities True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/w True True None None True
/plasma_unittest/_line_interaction_type_downbranch/plasma/wavelength_cm True True None None True
/plasma_unittest/_ionization_nebular/plasma/abundance True True None None True
/plasma_unittest/_ionization_nebular/plasma/atomic_mass True True None None True
/plasma_unittest/_ionization_nebular/plasma/beta_electron True True None None True
/plasma_unittest/_ionization_nebular/plasma/beta_rad True True None None True
/plasma_unittest/_ionization_nebular/plasma/beta_sobolev True True None None True
/plasma_unittest/_ionization_nebular/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_ionization_nebular/plasma/delta True True None None True
/plasma_unittest/_ionization_nebular/plasma/density True True None None True
/plasma_unittest/_ionization_nebular/plasma/electron_densities True True None None True
/plasma_unittest/_ionization_nebular/plasma/excitation_energy True True None None True
/plasma_unittest/_ionization_nebular/plasma/f_lu True True None None True
/plasma_unittest/_ionization_nebular/plasma/g True True None None True
/plasma_unittest/_ionization_nebular/plasma/g_electron True True None None True
/plasma_unittest/_ionization_nebular/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_ionization_nebular/plasma/ion_number_density True True None None True
/plasma_unittest/_ionization_nebular/plasma/ionization_data True True None None True
/plasma_unittest/_ionization_nebular/plasma/j_blues True True None None True
/plasma_unittest/_ionization_nebular/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_ionization_nebular/plasma/level_number_density True True None None True
/plasma_unittest/_ionization_nebular/plasma/levels True True None None True
/plasma_unittest/_ionization_nebular/plasma/lines True True None None True
/plasma_unittest/_ionization_nebular/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_ionization_nebular/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_ionization_nebular/plasma/metastability True True None None True
/plasma_unittest/_ionization_nebular/plasma/nu True True None None True
/plasma_unittest/_ionization_nebular/plasma/number_density True True None None True
/plasma_unittest/_ionization_nebular/plasma/partition_function True True None None True
/plasma_unittest/_ionization_nebular/plasma/phi True True None None True
/plasma_unittest/_ionization_nebular/plasma/scalars True True None None True
/plasma_unittest/_ionization_nebular/plasma/selected_atoms True True None None True
/plasma_unittest/_ionization_nebular/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_ionization_nebular/plasma/t_electrons True True None None True
/plasma_unittest/_ionization_nebular/plasma/t_rad True True None None True
/plasma_unittest/_ionization_nebular/plasma/tau_sobolevs True True None None True
/plasma_unittest/_ionization_nebular/plasma/transition_probabilities True True None None True
/plasma_unittest/_ionization_nebular/plasma/w True True None None True
/plasma_unittest/_ionization_nebular/plasma/wavelength_cm True True None None True
/plasma_unittest/_ionization_nebular/plasma/zeta_data True True None None True
/plasma_unittest/_ionization_lte/plasma/abundance True True None None True
/plasma_unittest/_ionization_lte/plasma/atomic_mass True True None None True
/plasma_unittest/_ionization_lte/plasma/beta_rad True True None None True
/plasma_unittest/_ionization_lte/plasma/beta_sobolev True True None None True
/plasma_unittest/_ionization_lte/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_ionization_lte/plasma/density True True None None True
/plasma_unittest/_ionization_lte/plasma/electron_densities True True None None True
/plasma_unittest/_ionization_lte/plasma/excitation_energy True True None None True
/plasma_unittest/_ionization_lte/plasma/f_lu True True None None True
/plasma_unittest/_ionization_lte/plasma/g True True None None True
/plasma_unittest/_ionization_lte/plasma/g_electron True True None None True
/plasma_unittest/_ionization_lte/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_ionization_lte/plasma/ion_number_density True True None None True
/plasma_unittest/_ionization_lte/plasma/ionization_data True True None None True
/plasma_unittest/_ionization_lte/plasma/j_blues True True None None True
/plasma_unittest/_ionization_lte/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_ionization_lte/plasma/level_number_density True True None None True
/plasma_unittest/_ionization_lte/plasma/levels True True None None True
/plasma_unittest/_ionization_lte/plasma/lines True True None None True
/plasma_unittest/_ionization_lte/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_ionization_lte/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_ionization_lte/plasma/metastability True True None None True
/plasma_unittest/_ionization_lte/plasma/nu True True None None True
/plasma_unittest/_ionization_lte/plasma/number_density True True None None True
/plasma_unittest/_ionization_lte/plasma/partition_function True True None None True
/plasma_unittest/_ionization_lte/plasma/phi True True None None True
/plasma_unittest/_ionization_lte/plasma/scalars True True None None True
/plasma_unittest/_ionization_lte/plasma/selected_atoms True True None None True
/plasma_unittest/_ionization_lte/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_ionization_lte/plasma/t_electrons True True None None True
/plasma_unittest/_ionization_lte/plasma/t_rad True True None None True
/plasma_unittest/_ionization_lte/plasma/tau_sobolevs True True None None True
/plasma_unittest/_ionization_lte/plasma/transition_probabilities True True None None True
/plasma_unittest/_ionization_lte/plasma/w True True None None True
/plasma_unittest/_ionization_lte/plasma/wavelength_cm True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/abundance True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/atomic_mass True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/beta_rad True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/beta_sobolev True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/density True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/electron_densities True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/excitation_energy True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/f_lu True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/g True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/g_electron True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/ion_number_density True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/ionization_data True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/j_blues True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/level_number_density True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/levels True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/lines True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/metastability True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/nu True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/number_density True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/partition_function True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/phi True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/scalars True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/selected_atoms True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/t_electrons True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/t_rad True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/tau_sobolevs True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/transition_probabilities True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/w True True None None True
/plasma_unittest/_initial_t_rad_10000 K/plasma/wavelength_cm True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/abundance True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/atomic_mass True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/beta_rad True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/beta_sobolev True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/density True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/electron_densities True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/excitation_energy True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/f_lu True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/g True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/g_electron True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/ion_number_density True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/ionization_data True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/j_blues True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/level_number_density True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/levels True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/lines True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/metastability True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/nu True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/number_density True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/partition_function True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/phi True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/scalars True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/selected_atoms True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/t_electrons True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/t_rad True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/tau_sobolevs True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/transition_probabilities True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/w True True None None True
/plasma_unittest/_initial_t_inner_10000 K/plasma/wavelength_cm True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/abundance True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/atomic_mass True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/beta_electron True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/beta_rad True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/beta_sobolev True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/delta True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/density True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/electron_densities True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/excitation_energy True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/f_lu True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/g True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/g_electron True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/helium_population True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/helium_population_updated True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/ion_number_density True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/ionization_data True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/j_blues True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/level_number_density True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/levels True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/lines True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/metastability True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/nu True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/number_density True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/partition_function True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/phi True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/scalars True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/selected_atoms True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/t_electrons True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/t_rad True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/tau_sobolevs True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/transition_probabilities True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/w True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/wavelength_cm True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte_delta_treatment_0.5/plasma/zeta_data True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/abundance True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/atomic_mass True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/beta_electron True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/beta_rad True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/beta_sobolev True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/delta True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/density True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/electron_densities True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/excitation_energy True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/f_lu True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/g True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/g_electron True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/helium_population True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/helium_population_updated True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/ion_number_density True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/ionization_data True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/j_blues True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/level_number_density True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/levels True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/lines True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/metastability True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/nu True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/number_density True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/partition_function True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/phi True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/scalars True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/selected_atoms True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/t_electrons True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/t_rad True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/tau_sobolevs True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/transition_probabilities True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/w True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/wavelength_cm True True None None True
/plasma_unittest/_helium_treatment_recomb-nlte/plasma/zeta_data True True None None True
/plasma_unittest/_excitation_lte/plasma/abundance True True None None True
/plasma_unittest/_excitation_lte/plasma/atomic_mass True True None None True
/plasma_unittest/_excitation_lte/plasma/beta_rad True True None None True
/plasma_unittest/_excitation_lte/plasma/beta_sobolev True True None None True
/plasma_unittest/_excitation_lte/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_excitation_lte/plasma/density True True None None True
/plasma_unittest/_excitation_lte/plasma/electron_densities True True None None True
/plasma_unittest/_excitation_lte/plasma/excitation_energy True True None None True
/plasma_unittest/_excitation_lte/plasma/f_lu True True None None True
/plasma_unittest/_excitation_lte/plasma/g True True None None True
/plasma_unittest/_excitation_lte/plasma/g_electron True True None None True
/plasma_unittest/_excitation_lte/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_excitation_lte/plasma/ion_number_density True True None None True
/plasma_unittest/_excitation_lte/plasma/ionization_data True True None None True
/plasma_unittest/_excitation_lte/plasma/j_blues True True None None True
/plasma_unittest/_excitation_lte/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_excitation_lte/plasma/level_number_density True True None None True
/plasma_unittest/_excitation_lte/plasma/levels True True None None True
/plasma_unittest/_excitation_lte/plasma/lines True True None None True
/plasma_unittest/_excitation_lte/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_excitation_lte/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_excitation_lte/plasma/metastability True True None None True
/plasma_unittest/_excitation_lte/plasma/nu True True None None True
/plasma_unittest/_excitation_lte/plasma/number_density True True None None True
/plasma_unittest/_excitation_lte/plasma/partition_function True True None None True
/plasma_unittest/_excitation_lte/plasma/phi True True None None True
/plasma_unittest/_excitation_lte/plasma/scalars True True None None True
/plasma_unittest/_excitation_lte/plasma/selected_atoms True True None None True
/plasma_unittest/_excitation_lte/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_excitation_lte/plasma/t_electrons True True None None True
/plasma_unittest/_excitation_lte/plasma/t_rad True True None None True
/plasma_unittest/_excitation_lte/plasma/tau_sobolevs True True None None True
/plasma_unittest/_excitation_lte/plasma/transition_probabilities True True None None True
/plasma_unittest/_excitation_lte/plasma/w True True None None True
/plasma_unittest/_excitation_lte/plasma/wavelength_cm True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/abundance True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/atomic_mass True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/beta_rad True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/beta_sobolev True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/density True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/electron_densities True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/excitation_energy True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/f_lu True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/g True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/g_electron True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/ion_number_density True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/ionization_data True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/j_blues True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/level_number_density True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/levels True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/lines True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/metastability True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/nu True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/number_density True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/partition_function True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/phi True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/scalars True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/selected_atoms True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/t_electrons True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/t_rad True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/tau_sobolevs True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/transition_probabilities True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/w True True None None True
/plasma_unittest/_excitation_dilute-lte/plasma/wavelength_cm True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/abundance True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/atomic_mass True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/beta_rad True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/beta_sobolev True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/density True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/electron_densities True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/excitation_energy True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/f_lu True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/g True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/g_electron True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/ion_number_density True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/ionization_data True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/j_blues True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/level_number_density True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/levels True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/lines True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/metastability True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/nu True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/number_density True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/partition_function True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/phi True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/scalars True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/selected_atoms True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/t_electrons True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/t_rad True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/tau_sobolevs True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/transition_probabilities True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/w True True None None True
/plasma_unittest/_disable_electron_scattering_True/plasma/wavelength_cm True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/abundance True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/atomic_mass True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/beta_rad True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/beta_sobolev True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/continuum_interaction_species True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/density True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/electron_densities True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/excitation_energy True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/f_lu True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/g True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/g_electron True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/general_level_boltzmann_factor True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/ion_number_density True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/ionization_data True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/j_blues True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/level_boltzmann_factor True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/level_number_density True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/levels True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/lines True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/lines_lower_level_index True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/lines_upper_level_index True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/metastability True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/nu True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/number_density True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/partition_function True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/phi True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/scalars True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/selected_atoms True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/stimulated_emission_factor True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/t_electrons True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/t_rad True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/tau_sobolevs True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/transition_probabilities True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/w True True None None True
/plasma_unittest/_disable_electron_scattering_False/plasma/wavelength_cm True True None None True
/packet_unittest/blackbody True True None None True

Detailed inspection of the reference data¶

If parts of the reference data show differences between revisions, you should invest some time examining these differences in detail. Often, visualizing the relevant data blocks already helps.

You can use the following plotting routines as a blueprint and adjust and extend them to your needs.

In [13]:
def compare_output_nu(df1, df2, mpl_backend=False):
    nu_min = np.min([df1.min(), df2.min()])
    nu_max = np.max([df1.max(), df2.max()])
    
    if mpl_backend:
        plt.figure(figsize=(14, 6))
        plt.subplot(121)
        plt.plot(df1, df2, ',')
        plt.xlabel("output_nu, ref 1")
        plt.ylabel("output_nu, ref 2")
        plt.subplot(122)
        plt.hist(df1, bins=np.linspace(nu_min, nu_max, 100), histtype="step", label="ref 1")
        plt.hist(df2, bins=np.linspace(nu_min, nu_max, 100), histtype="step", label="ref 2")
        plt.xlabel("output_nu")
        plt.legend(frameon=False)
        
        return

    
    TOOLTIPS = [("(x,y)", "(@x, @y)")]
    hover = HoverTool(tooltips=TOOLTIPS)
    
    p = figure()
    output_nu = ColumnDataSource(pd.DataFrame.from_records({'x': df1.values, 
                                                            'y': df2.values}))
    p.circle('x', 'y', size=1, source=output_nu)
    p.xaxis.axis_label = "output_nu, ref 1"
    p.yaxis.axis_label = "output_nu, ref 2"
    p.xaxis.formatter.precision = 1
    p.yaxis.formatter.precision = 1
    p.add_tools(hover)

    # Step lines are hacky way to make histograms with Bokeh
    arr_hist1, edges1 = np.histogram(df1.values, 
                                     bins = 100, 
                                     range = [nu_min, nu_max])
    arr_hist2, edges2 = np.histogram(df1.values, 
                                     bins = 100, 
                                     range = [nu_min, nu_max])
    
    hist1 = ColumnDataSource(pd.DataFrame.from_records({'x': np.linspace(nu_min, nu_max, 100),
                                                        'y': arr_hist1}))
    hist2 = ColumnDataSource(pd.DataFrame.from_records({'x': np.linspace(nu_min, nu_max, 100),
                                                        'y': arr_hist2}))
    q = figure()
    q.step('x', 'y', source=hist1, legend_label='ref 1')
    q.step('x', 'y', source=hist2, legend_label='ref 2', color='#ff7f0e')
    q.xaxis.axis_label = "output_nu"
    q.xaxis.formatter.precision = 1
    q.legend.click_policy="hide"
    
    # Currently HoverTool does not work for step line glyph. See: https://github.com/bokeh/bokeh/issues/7419
    q.add_tools(hover)
    
    plot = gridplot([p, q], ncols=2, plot_width=420, plot_height=360)
    
    show(plot)
In [14]:
def compare_spectrum(ref1_nu, ref1_L, ref2_nu, ref2_L, mpl_backend=False):
    
    if mpl_backend:
        plt.figure(figsize=(14, 6))
        plt.subplot(121)
        plt.plot(ref1_nu, ref1_L, label="ref 1")
        plt.plot(ref2_nu, ref2_L, label="ref 2")
        plt.xlabel("nu")
        plt.ylabel("L")
        plt.legend(frameon=False)
        plt.subplot(122)
        plt.plot(ref1_nu, ref1_L / ref2_L)
        plt.xlabel("nu")
        plt.ylabel("L ref 1 / L ref 2")
        
        return
    
    
    TOOLTIPS = [("(x,y)", "(@x, @y)")]
    hover = HoverTool(tooltips=TOOLTIPS)
    
    p = figure()
    spectrum1 = ColumnDataSource(pd.DataFrame.from_records({'x': ref1_nu.values, 
                                                            'y': ref1_L}))
    spectrum2 = ColumnDataSource(pd.DataFrame.from_records({'x': ref2_nu.values, 
                                                            'y': ref2_L}))
    p.line('x', 'y', source=spectrum1, legend_label='ref 1')
    p.line('x', 'y', source=spectrum2, legend_label='ref 2', color='#ff7f0e')
    p.xaxis.axis_label = "L"
    p.yaxis.axis_label = "nu"
    p.xaxis.formatter.precision = 1
    p.yaxis.formatter.precision = 1
    p.legend.click_policy="hide"
    p.add_tools(hover)
    
    q = figure()
    lum_ratio = ColumnDataSource(pd.DataFrame.from_records({'x': ref1_nu.values, 
                                                            'y': ref1_L.values/ref2_L.values}))
    q.circle('x', 'y', size=1, source=lum_ratio)
    q.xaxis.axis_label = "nu"
    q.yaxis.axis_label = "L ref 1 / L ref 2"
    q.xaxis.formatter.precision = 1
    q.yaxis.formatter.precision = 1
    q.add_tools(hover)
    
    
    plot = gridplot([p, q], ncols=2, plot_width=420, plot_height=360)
    
    show(plot)

Get the data and find all the entries for which differences exist:

In [15]:
tmp1 = pd.HDFStore(comparer.ref1_fname, "r")
tmp2 = pd.HDFStore(comparer.ref2_fname, "r")

diff_entries = tt.loc[(tt["match"] == False) & (tt["exists_1"] == True) & (tt["exists_2"] == True)].index

Results¶

In [16]:
compare_output_nu(tmp1['/test_simulation/output_nu'], tmp2['/test_simulation/output_nu'])
In [17]:
compare_spectrum(tmp1['/test_runner_simple/spectrum/_frequency'][:-1], 
                 tmp1['/test_runner_simple/spectrum/luminosity'],
                 tmp2['/test_runner_simple/spectrum/_frequency'][:-1], 
                 tmp2['/test_runner_simple/spectrum/luminosity'])
/usr/share/miniconda/envs/tardis/lib/python3.7/site-packages/ipykernel_launcher.py:38: RuntimeWarning: invalid value encountered in true_divide
In [18]:
compare_spectrum(tmp1['/test_runner_simple_integral_macroatom_interp/spectrum/_frequency'][:-1], 
                 tmp1['/test_runner_simple_integral_macroatom_interp/spectrum_integrated/luminosity'],
                 tmp2['/test_runner_simple_integral_macroatom_interp/spectrum/_frequency'][:-1], 
                 tmp2['/test_runner_simple_integral_macroatom_interp/spectrum_integrated/luminosity'])
In [19]:
compare_spectrum(tmp1['/test_runner_simple_integral_macroatom/spectrum/_frequency'][:-1], 
                 tmp1['/test_runner_simple_integral_macroatom/spectrum_integrated/luminosity'],
                 tmp2['/test_runner_simple_integral_macroatom/spectrum/_frequency'][:-1], 
                 tmp2['/test_runner_simple_integral_macroatom/spectrum_integrated/luminosity'])
In [20]:
compare_spectrum(tmp1['/test_runner_simple_integral_downbranch/spectrum/_frequency'][:-1], 
                 tmp1['/test_runner_simple_integral_downbranch/spectrum_integrated/luminosity'],
                 tmp2['/test_runner_simple_integral_downbranch/spectrum/_frequency'][:-1], 
                 tmp2['/test_runner_simple_integral_downbranch/spectrum_integrated/luminosity'])
In [21]:
compare_spectrum(tmp1['/test_runner_simple/spectrum_virtual/_frequency'][:-1], 
                 tmp1['/test_runner_simple/spectrum_virtual/luminosity'],
                 tmp2['/test_runner_simple/spectrum_virtual/_frequency'][:-1], 
                 tmp2['/test_runner_simple/spectrum_virtual/luminosity'])
/usr/share/miniconda/envs/tardis/lib/python3.7/site-packages/ipykernel_launcher.py:38: RuntimeWarning: invalid value encountered in true_divide
In [22]:
comparer.teardown()