synphot.specio.write_fits_spec(filename, wavelengths, fluxes, pri_header={}, ext_header={}, overwrite=False, trim_zero=True, pad_zero_ends=True, precision=None, epsilon=0.00032, wave_col='WAVELENGTH', flux_col='FLUX', wave_unit=Unit('Angstrom'), flux_unit=Unit('FLAM'))[source]

Write FITS spectrum.


If data is being written out as single-precision but wavelengths are in double-precision, some rows may be omitted.


Output spectrum filename.

wavelengths, fluxesarray-like or Quantity

Wavelength and flux of the spectrum.

pri_header, ext_headerdict

Metadata to be added to primary and given extension FITS header, respectively. Do not use this to define column names and units.


Overwrite existing file. Defaults to False.


Remove rows with zero-flux. Default is True.


Pad each end of the spectrum with a row of zero flux like synphot.spectrum.BaseSpectrum.taper(). This is unnecessary if input is already tapered.

precision{None, ‘single’, ‘double’}

Precision of values in output file. Use native flux precision by default.


Single-precision \(\epsilon\) value, taken from IRAF SYNPHOT FAQ. This is the minimum separation in wavelengths necessary for SYNPHOT to read the entries as distinct single-precision numbers. This is only used if precision='single' but data are in double-precision. Default from the FAQ is 0.00032.

wave_col, flux_colstr

Wavelength and flux column names (case-insensitive).

wave_unit, flux_unitstr or Unit

Wavelength and flux units, which default to Angstrom and FLAM, respectively. These are only used if wavelengths and fluxes are not in astropy quantities.


Wavelengths and fluxes have difference shapes or value precision is not supported.