skip to navigation
skip to content


AtomDB python library. This is a very early development version.


This is pre-alpha release code. Many functions have just been ripped from my hard disk and not yet fully vetted. Possibly the most complete section is the “spectrum” module. Sample code is in the docs subfolder.

Full documentation can be found at


Standard python installation: python install

Version History July 17th 2015: initial release July 21st 2015: added dummyfirst keyword to pyatomdb.spectrum.make_spectrum August 12th 2015: fixed some errors in Updated readme. August 12th 2015: fixed example script in manual. August 17th 2015: added PI cross section graphing data. Updated get_data to fetch files from remote server August 18th 2015: Fixed bug with documentation September 23rd 2015: Added significant documentation. Converted all ‘z0’ to ‘Z’ and ‘rmJ’ to ‘z1’ throught the code for consistency. September 25th 2015: Major documentation revamp. Separated datacache from settings keyword Introduced automatic install and update into util package. October 13th 2015: More documentation improvements Removed use of “curl” library, as apparently is non-standard. Replaced with wget, ftplib and requests. November 5th 2015: Many minor bugfixes. Added “switch_version” to util package to allow looking at older AtomDB version data. Added use option to get total RRC emission using integral to infinity. February 12th 2016: As ever, bugfixes. Also added ability to calculate ionization balance to apec module. April 22nd 2016: Bugfixes! Also: Major change to get_maxwell_rate interface Added ability to apply RMF and ARF to spectra in spectrum module Fixed hydrogenic RRC calculation May 23rd 2016: Bugfix:update switch_version to get NEI files too. October 07th 2016: Bugfixes! Also: APEC now included in Can create a full apec run from a par file. October 13th 2016: Bugfixes! wget was causing problems during file download due to bugs, Now fixed November 01st 2016: Removed use of sparse algebra. Wasn’t accurate enough, causing issues with suprious lines in low ionization states.

Implemented faster ionization balance calculations in “apec.solve_ionbal_eigen” November 16th 2016: Bugfix to the level population calculation for recombination. For ions with level resolved rates and PI cross sections, we were double counting. Fixed now. November 30th 2016: Bugfix to download of new files: urllib.urlcleanup now called more often. December 8th 2016: Updated to handle 3.0.7. January 16th 2017: Bugfix for installation, include joblib as a requirement January 17th 2017: Bugfix for installation, include mock as a requirement February 21st 2017: Introduced new way to calculated spectra, using the Session and Spec objects in It is intended to make this the main way to calculate spectra, as it should lead to significant speed enhancements by avoiding lots of unnecessary recalculation of the same numbers. February 21st 2017: A series of bug fixes to installation and spectral calculation routines. Closes bugs #1, 2, 5 from github March 21st 2017: Several bug fixes and enhancements to the spectrum module. Updated to handle import of mock more gracefully May 5th 2017: Several bug fixes and initial inclusion of charge exchange model May 23rd 2017: Bug fix to spectrum.apply_response, now handles response files indexed from zero (thank you Lia Corrales for finding this issue)

File Type Py Version Uploaded on Size
pyatomdb- (md5) Source 2017-05-23 138KB