Skip to main content

github

DIPPERpy: Diagnostics Inferring the Physics of Plasma and Emitted Radiation in python

Author: Philip G. Judge

Contact: judge@ucar.edu ; mauricew@ucar.edu

Summarizing if DIPPERpy is right for you

Targeted problems
tenuous plasma, "low energy" regime
LTE to optically thin plasmas
compilation of needed rate coefficients
teaching/learning spectroscopy
simple statistical equilibrium calculations
$\quad\quad$- including escape probabilities
simple non-equilibrium calculations
$\quad\quad$- evolution of atomic systems
provide "building blocks" of data and code to permit the user to make more sophisticated calculations
$\quad\quad$- e.g, detailed radiative transfer or radiation hydrodynamics
Limitations
elements lighter than Zn (nuclear charge 30)
principal quantum numbers < 10
incomplete databases
photoionization data are summed over final states, and are split approximately over fine structure
no impact line broadening
no hyperfine structure
no configuration mixing
Cannot handle
non-Maxwellian particle distributions
inner shell excitations (high energy phenomena)
atomic and spectral polarization
molecules
accurate radiative transfer

What makes DIPPERpy unique?

  • It is based upon the fast, flexible database software system written by D. Lindler for IDL, and takes some advantage of this system.
  • It works with quantum numbers for atomic levels, enabling it to perform tasks otherwise difficult or very tedious, including a variety of data checks, calculations based upon the atomic numbers, and searching and manipulating data based upon these quantum numbers.
  • In principle, DIPPERpy can handle conditions from LTE to coronal-like conditions.
  • There is some capability for estimating data for which no accurate parameters are available, and for accounting for the effects of missing atomic levels.


Requirement

  • A database of atomic quantum states and transition rates is needed. The CHIANTI atomic database has been re-organized and reformatted into an assortment of database files that is convenient for the DIPPERpy code to access it for education and research purposes.
  • The database file sizes are too large to include in this repository.
  • The files are within a tar archive compressed with gzip that can be downloaded here: DIPPERpy_dbase.tar.gz
  • Unpack the file and make note of the path location for the unpacked "dbase" directory.
$ tar -xvz -f DIPPERpy_dbase.tar.gz
    dbase/
    dbase/ar85ci.dat
    dbase/ar85ct.dat
    dbase/Barklem_dfdata.dat
    dbase/Barklem_pddata.dat
    dbase/Barklem_spdata.dat
    dbase/bass5250.txt
    dbase/bass6302.txt
    dbase/bbsql.db
    dbase/bfsql.db
    dbase/cbbsql.db
    dbase/cbfsql.db
    dbase/ctab.dat
    dbase/fal.pickle
    dbase/htab.dat
    dbase/lvlsql.db
    dbase/mooreip.dat
    dbase/pf_Kurucz.input
    dbase/rh_atoms.pickle
    dbase/shull82.dat
    dbase/shull82changes.txt
    dbase/shull82changes.txt.gz


Setting Conda Environment

It is useful to create a conda environment first, like so:

$ conda create --name dipperpy
$ conda activate dipperpy
$ conda install python numpy astropy scipy matplotlib numba
$ pip install specutils


$ conda install -c mauricewilson dipperpy

or, use pip instead...

$ pip install dipperpy 

Alternative Option: Download/clone the repository and execute (offline) installation

The DIPPERpy package can be installed via a terminal (for macOS or Linux) or command prompt (for Windows) by running the following lines of code:

$ git clone https://github.com/MWilson1/dipperpy.git
$ cd dipperpy
$ pip install dist/dipperpy-1.0.1.tar.gz


Acknowledgment

DIPPERpy is the python version of the original HAOS-DIPER code written in IDL. HAOS-DIPER grew out of a need to work with and manipulate data for neutral atoms and atomic ions to understand radiation emitted by some space plasmas, notably the solar atmosphere and stellar atmospheres. An early version was described by Judge and Meisner (1994). This IDL code can be found at www.hao.ucar.edu/modeling/haos-diper/.


Most of the radiative transfer functionality comes from Lightspinner. This Lightspinner code is a pure python, stripped-down version of the Lightweaver code, which is detailed in the Osborne and Milic (2021) paper. Both software, as well as DIPPERpy, use a copy of the 'witt.py' code written by Alexander Wittmann and translated into python by Jaime de la Cruz Rodriguez, albeit inspired by Dimitri Mihalas' Stellar Atmospheres textbook. Lastly, these codes also use the atomic data archived within the RH code. See the Uitenbroek (2001) and Rybicki and Hummer (1992) papers for further elaboration regarding the methodology of the RH code.

Metadata

Release files for dipperpy 1.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dipperpy 1.0.6
File Size Uploaded
dipperpy-1.0.6.tar.gz 81.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dipperpy 1.0.6
File Interpreter ABI Platform
dipperpy-1.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 165.7 kB

Release files / dipperpy-1.0.6.tar.gz

Download URL dipperpy-1.0.6.tar.gz
Size 81.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8cc5a5ac84b471817ab392c8b9faf9d2a0557055403b3eb79bbeab106c935123
BLAKE2b-256 checksum
How to use checksums
85a3d08c44612179e76bec3861e73edd87dae3d098fae675815dec84699b6cf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release files / dipperpy-1.0.6-py3-none-any.whl

Download URL dipperpy-1.0.6-py3-none-any.whl
Size 84.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c68b0779ba7eb4d8c6285119053b944f5ef997f8981adef83370f2e053fc851d
BLAKE2b-256 checksum
How to use checksums
90b99d981a0fe29a30a57bca5346b7a4ef0cce5f3b564d4e3238f4b2c85bdc20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release history Release notifications | RSS feed

This release

1.0.6 This release

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

0.0.1

1 release file

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page