#!/usr/bin/env python # coding: utf-8 # In[1]: import numpy as np import pandas as pd from carsus import init_db from carsus.model import Atom, Ion, Level, Line from carsus.io.output import AtomData from carsus.io.nist import NISTIonizationEnergiesIngester, NISTWeightsCompIngester from carsus.io.kurucz import GFALLIngester session = init_db() # # This is the usual SQL stuff # In[2]: weightscomp_ingester = NISTWeightsCompIngester(session) weightscomp_ingester.ingest() session.commit() # In[3]: ioniz_energies_ingester = NISTIonizationEnergiesIngester(session, spectra="Si") ioniz_energies_ingester.ingest(ionization_energies=True, ground_levels=True) session.commit() # In[4]: gfall_ingester = GFALLIngester(session, fname="../gfall.dat", ions="Si 1-2") gfall_ingester.ingest(levels=True, lines=True) session.commit() # In[5]: atom_data = AtomData(session, selected_atoms='Si') # In[6]: atom_data.levels.head(10) # # Now we try to replicate the same DataFrame with our new class # In[7]: from carsus.io.kurucz.gfall import GFALL # In[8]: x = GFALL('./gfall.dat', ions='Si 1-2') # In[9]: x.levels.head(10) # In[10]: atom_data.levels.eq(x.levels).sum()