Repository navigation
v0.4.0
utu.spectrum
New: synthesize(), the spectral radiance of each line (#14). It spreads each line of contribution_function() into a Gaussian in bins of velocity around its rest wavelength.
- Width: the thermal width of the ion added in quadrature to a nonthermal width.
- Center: the line-of-sight velocity of the plasma.
- Temperature: each temperature has its own profile, and the profiles are summed with the emission measure.
- Maps: every other axis of the emission measure, such as the two axes of a map, is carried through. The shift and the nonthermal width can vary along any of them.
- Conservation: each bin gets the integral of the profile across it, so a line's radiance is conserved on coarse grids, and its far wings don't round to zero.
- Memory: the result is filled in blocks, so large maps with many lines fit in memory.
The emission measure is per bin of temperature, not a DEM per unit log T. It is ∫n_e n_H dh, because fiasco's contribution functions leave out n_H/n_e. The docs of lines() and contribution_function() now say so too, and the tutorial has a new section on line profiles.
Fixed: ions(hdf5_dbase_root=...) lists the ions of the database it is given (#13). It used to list them from fiasco's default database, so an ion that only the given database has was never returned.
Dependencies: synthesize() needs SciPy, which is now a dependency.
What's Changed
- List the ions of the database
utu.spectrum.ions()is given by @roytsmart in #13 - Add
utu.spectrum.synthesize, the spectral radiance of each line by @roytsmart in #14
Full Changelog: v0.3.1...v0.4.0