PyAtomDB & AtomDB
The AtomDB Project consists of a large atomic database designed for creating spectra of collisionally excited plasmas in the UV and X-ray wavebands for use in astronomy and astrophysics research. It has been successfully used for some time within several different spectral analysis suites, such as XSPEC and Sherpa.
There are two main parts to AtomDB:
- The Astrophysical Plasma Emission Database (APED)
A series of FITS files which store the atomic data necessary for modelling emission from collisional plasmas from elements from H through to Zn.
- The Astrophysical Plasma Emission Code (APEC)
Code which takes the APED and uses it to model a collisional plasma, creating emissivity files for line and continuum emission. These output files are then used in a range of models such as the
apec
,nei
andpshock
models amongst others.
Starting in 2015, PyAtomDB was developed to achieve a number of goals:
To replace the APEC code (formerly in C) with a more flexible tool for larger data sets
To allow interactive user access to the underlying database, which was always freely available but sometimes difficult to use
To enable creating more flexible spectra based on the outputs of AtomDB
To enhance the types of spectra which can be modeled in AtomDB, and astronomer interaction with these models
To facililtate inclusion of AtomDB models in other software (often python based).
Contents
- Installation
- PyAtomDB Example Scripts
- Module Documentation
- apec module
calc_brems_gaunt()
calc_cascade_population()
calc_ee_brems()
calc_full_ionbal()
calc_ioniz_popn()
calc_recomb_popn()
calc_satellite()
calc_total_coco()
compress_continuum()
continuum_append()
create_chdu_cie()
create_cparamhdu_cie()
create_lhdu_cie()
create_lhdu_nei()
create_lparamhdu_cie()
do_brems()
do_lines()
extract_gauntff()
gather_rates()
generate_apec_headerblurb()
generate_cie_outputs()
generate_datatypes()
generate_nei_outputs()
kurucz()
make_vector()
make_vector_nbins()
parse_par_file()
return_ionbal()
run_apec()
run_apec_element()
run_apec_ion()
run_wrap_run_apec()
solve_ionbal()
solve_level_pop()
wrap_ion_directly()
wrap_run_apec()
wrap_run_apec_element()
wrap_update_one_ion()
- atomic module
Z_to_mass()
Ztoelname()
Ztoelsymb()
config_to_occup()
elsymb_to_Z()
elsymb_to_z0()
get_maxn()
get_parity()
int2roman()
int_to_roman()
occup_to_cfg()
occup_to_config()
parse_config()
parse_eissner()
roman_to_int()
shorten_config()
spectroscopic_name()
spectroscopictoz0()
z0_to_mass()
z0toelname()
z0toelsymb()
- atomdb module
- const module
- spectrum module
- util module
NotImplementedError
OptionError
ReadyError
UnitsError
check_version()
convert_spec()
convert_temp()
download_atomdb_emissivity_files()
download_atomdb_nei_emissivity_files()
figcoords()
generate_equilibrium_ionbal_files()
generate_isis_files()
generate_web_fitsfiles()
generate_xspec_ionbal_files()
initialize()
keyword_check()
load_user_prefs()
make_linelist()
make_release_filetree()
make_release_tarballs()
make_vec()
md5Checksum()
mkdir_p()
question()
record_upload()
switch_version()
unique()
write_ai_file()
write_develop_data()
write_dr_file()
write_ec_file()
write_ionbal_file()
write_ir_file()
write_la_file()
write_lv_file()
write_user_prefs()
- apec module
- License
- Contact
Outline
PyAtomDB is a selection of utilities designed to interact with the AtomDB database . These utilities are under constant development. Please get in touch with any issues that arise.
There are several different modules currently. These are:
- atomdb
A series of codes for interacting with the AtomDB atomic database
- atomic
Basic atomic data routines - e.g. converting element symbols to atomic number, etc.
- const
Physical and code related constants
- spectrum
Routines for generating spectra from the published AtomDB line and continuum emissivity files
- util
Utility codes (sorting etc) that pyatomdb relies on.
- apec
The full APEC code
To report bugs or make feature requests, email the code authors or raise an issue at the github page