示例#1
0
def create_base_db(db_fname, zeta_fname):
    """
    Create a database

    Parameters
    ----------
    db_fname : str
        Filename for the database
    zeta_fname : str
        Filename for the Zeta file
    """

    session = init_db(db_fname)
    session.commit()

    # Ingest atomic weights
    weightscomp_ingester = NISTWeightsCompIngester(session)
    weightscomp_ingester.ingest()
    session.commit()

    # Ingest ionization energies
    ioniz_energies_ingester = NISTIonizationEnergiesIngester(session,
                                                             spectra="h-zn")
    ioniz_energies_ingester.ingest(ionization_energies=True,
                                   ground_levels=True)
    session.commit()

    zeta_ingester = KnoxLongZetaIngester(session, zeta_fname)
    zeta_ingester.ingest()
    session.commit()

    return session
示例#2
0
def create_test_db(
        test_db_fname=TEST_DB_FNAME,
        gfall_fname=GFALL_FNAME,
        zeta_fname=ZETA_FNAME
        ):
    """
    Create a database for testing

    Parameters
    ----------
    test_db_fname : str
        Filename for the testing database
    gfall_fname : str
        Filename for the GFALL file
    """

    test_db_f = open(test_db_fname, "w")
    test_db_f.close()

    session = init_db('sqlite:///' + test_db_fname)
    session.commit()

    # Ingest atomic weights
    weightscomp_ingester = NISTWeightsCompIngester(session)
    weightscomp_ingester.download()
    weightscomp_ingester.ingest()
    session.commit()

    # Ingest ionization energies
    ioniz_energies_ingester = NISTIonizationEnergiesIngester(
            session,
            spectra='h-zn'
            )
    ioniz_energies_ingester.ingest(ionization_energies=True, ground_levels=True)
    session.commit()

    # Ingest zeta data
    zeta_ingester = KnoxLongZetaIngester(
            session,
            zeta_fname
            )
    zeta_ingester.ingest()
    session.commit()

    # Ingest kurucz levels and lines
    gfall_ingester = GFALLIngester(session, gfall_fname)
    gfall_ingester.ingest(levels=True, lines=True)
    session.commit()

    # Ingest chianti levels, lines and electron collisions
    chianti_ingester = ChiantiIngester(session, ions="he_2;n_6")
    chianti_ingester.ingest(levels=True, lines=True, collisions=True)
    session.commit()

    session.close()
示例#3
0
def create_test_db(test_db_fname=TEST_DB_FNAME,
                   gfall_fname=GFALL_FNAME,
                   zeta_fname=ZETA_FNAME):
    """
    Create a database for testing

    Parameters
    ----------
    test_db_fname : str
        Filename for the testing database
    gfall_fname : str
        Filename for the GFALL file
    """

    test_db_f = open(test_db_fname, "w")
    test_db_f.close()

    session = init_db('sqlite:///' + test_db_fname)
    session.commit()

    # Ingest atomic weights
    weightscomp_ingester = NISTWeightsCompIngester(session)
    weightscomp_ingester.download()
    weightscomp_ingester.ingest()
    session.commit()

    # Ingest ionization energies
    ioniz_energies_ingester = NISTIonizationEnergiesIngester(session,
                                                             spectra='h-zn')
    ioniz_energies_ingester.ingest(ionization_energies=True,
                                   ground_levels=True)
    session.commit()

    # Ingest zeta data
    zeta_ingester = KnoxLongZetaIngester(session, zeta_fname)
    zeta_ingester.ingest()
    session.commit()

    # Ingest kurucz levels and lines
    gfall_ingester = GFALLIngester(session, gfall_fname)
    gfall_ingester.ingest(levels=True, lines=True)
    session.commit()

    # Ingest chianti levels, lines and electron collisions
    chianti_ingester = ChiantiIngester(session, ions="he_2;n_6")
    chianti_ingester.ingest(levels=True, lines=True, collisions=True)
    session.commit()

    session.close()
def create_test_db(db_fname, gfall_fname, zeta_fname):
    """
    Create a database

    Parameters
    ----------
    db_fname : str
        Filename for the database
    gfall_fname : str
        Filename for the GFALL file
    """

    session = init_db(db_fname)
    session.commit()

    # Ingest atomic weights
    weightscomp_ingester = NISTWeightsCompIngester(session)
    weightscomp_ingester.ingest()
    session.commit()

    # Ingest ionization energies
    ioniz_energies_ingester = NISTIonizationEnergiesIngester(
            session,
            spectra="h-zn"
            )
    ioniz_energies_ingester.ingest(
            ionization_energies=True,
            ground_levels=True
            )
    session.commit()

    # Ingest kurucz levels and lines
    gfall_ingester = GFALLIngester(session, gfall_fname, ions='H-Zn')
    gfall_ingester.ingest(levels=True, lines=True)
    session.commit()

    # Ingest chianti levels, lines and electron collisions
    # H I, He I-II
    chianti_ingester = ChiantiIngester(session, ions='H-He')
    chianti_ingester.ingest(levels=True, lines=True, collisions=True)
    session.commit()

    zeta_ingester = KnoxLongZetaIngester(session, zeta_fname)
    zeta_ingester.ingest()

    session.close()
示例#5
0
def create_test_db(db_fname, gfall_fname, zeta_fname):
    """
    Create a database

    Parameters
    ----------
    db_fname : str
        Filename for the database
    gfall_fname : str
        Filename for the GFALL file
    """

    session = init_db(db_fname)
    session.commit()

    # Ingest atomic weights
    weightscomp_ingester = NISTWeightsCompIngester(session)
    weightscomp_ingester.ingest()
    session.commit()

    # Ingest ionization energies
    ioniz_energies_ingester = NISTIonizationEnergiesIngester(session,
                                                             spectra="h-zn")
    ioniz_energies_ingester.ingest(ionization_energies=True,
                                   ground_levels=True)
    session.commit()

    # Ingest kurucz levels and lines
    gfall_ingester = GFALLIngester(session, gfall_fname, ions='H-Zn')
    gfall_ingester.ingest(levels=True, lines=True)
    session.commit()

    # Ingest chianti levels, lines and electron collisions
    # H I, He I-II
    chianti_ingester = ChiantiIngester(session, ions='H-He')
    chianti_ingester.ingest(levels=True, lines=True, collisions=True)
    session.commit()

    zeta_ingester = KnoxLongZetaIngester(session, zeta_fname)
    zeta_ingester.ingest()

    session.close()
示例#6
0
def create_base_db(db_fname, zeta_fname):
    """
    Create a database

    Parameters
    ----------
    db_fname : str
        Filename for the database
    zeta_fname : str
        Filename for the Zeta file
    """

    session = init_db(db_fname)
    session.commit()

    # Ingest atomic weights
    weightscomp_ingester = NISTWeightsCompIngester(session)
    weightscomp_ingester.ingest()
    session.commit()

    # Ingest ionization energies
    ioniz_energies_ingester = NISTIonizationEnergiesIngester(
            session,
            spectra="h-zn"
            )
    ioniz_energies_ingester.ingest(
            ionization_energies=True,
            ground_levels=True
            )
    session.commit()

    zeta_ingester = KnoxLongZetaIngester(session, zeta_fname)
    zeta_ingester.ingest()
    session.commit()

    return session
""" Example script to create an HDFStore from the database """

from carsus import init_db
from carsus.io.output import AtomData
from carsus.model import DataSource


# Name of the database file to export
dbname = "sqlite:///../databases/kurucz_cd23_chianti_all.db"

# Name of the output file
storename = "../hdfstores/kurucz_atom_chianti_many.h5"

chianti_ions = 'H-He; Si II; Ca II; Mg II; S II'

session = init_db(dbname)

# Chianti database version
chianti_short_name = (
            session.
            query(DataSource.short_name).
            filter(DataSource.short_name.like('chianti%'))
            ).one()[0]


print('Initializing AtomData')
ad = AtomData(
        session,
        selected_atoms='H-Zn',
        chianti_ions=chianti_ions,
        chianti_short_name=chianti_short_name
示例#8
0
def memory_session():
    session = init_db('sqlite://')
    session.commit()
    return session
示例#9
0
""" Example script to create an HDFStore from the database """

from carsus import init_db
from carsus.io.output import AtomData
from carsus.model import DataSource

# Name of the database file to export
dbname = "sqlite:///../databases/kurucz_cd23_chianti_all.db"

# Name of the output file
storename = "../hdfstores/kurucz_cd23_chianti_H_He.h5"

chianti_ions = 'H; He'

session = init_db(dbname)

# Chianti database version
chianti_short_name = (session.query(DataSource.short_name).filter(
    DataSource.short_name.like('chianti%'))).one()[0]

print('Initializing AtomData')
ad = AtomData(session,
              selected_atoms='H-Zn',
              chianti_ions=chianti_ions,
              chianti_short_name=chianti_short_name)

print('Exporting to hdf.')
ad.to_hdf(storename,
          store_atom_masses=True,
          store_ionization_energies=True,
          store_levels=True,
示例#10
0
def memory_session():
    session = init_db()
    session.commit()
    return session
示例#11
0
def test_engine():
    session = init_db(url=test_db_url)
    session.commit()
    session.close()
    return session.get_bind()