sunkit_instruments.goes_xrs.calculate_temperature_em(goes_ts, abundance='coronal')[source]#

This function calculates the isothermal temperature and corresponding volume emission measure of the solar soft X-ray emitting plasma observed by GOES/XRS.

These are calculated based on methods described in White et al. 2005 [1] (see notes) for which the GOES fluxes and channel ratios are used together with look-up tables of CHIANTI atomic models to estimate isothermal temperature and emission measure. Technically speaking, the method interpolates on the channel flux ratio using pre-calcuated tables for the fluxes at a series of temperatures for fixed emission measure.

The method here is almost an exact replica of what is available in SSWIDL, namely,, and it has been tested against that for consistency.

It now also works for the GOES-16 and -17 data, and for the re-processed netcdf GOES/XRS files for GOES 13-15.

Also note that this has only been tested on the high resolutions 1s/2s/3s data of GOES/XRS.

  • goes_ts (XRSTimeSeries) – The GOES/XRS timeseries containing the data of both the xrsa and xrsb channels (in units of W/m**2).

  • abundance ({"coronal", "photospheric"}, optional) – Which abundances to use for the calculation, the default is “coronal”.


Contains the temperature and emission measure calculated from the input goes_ts time series.

Return type:



>>> from sunpy import timeseries as ts
>>> import  
>>> from sunkit_instruments import goes_xrs
>>> goes_ts = ts.TimeSeries( 
>>> goes_flare = goes_ts.truncate("2011-06-07 06:20", "2011-06-07 07:30") 
>>> goes_temp_emiss = goes_xrs.calculate_temperature_em(goes_flare) 


This function works with both the NOAA-provided netcdf files, for which the data is given in “true” fluxes and with the older FITS files provided by the SDAC, for which the data are scaled to be consistent with GOES-7. The routine determines from the sunpy.timeseries.XRSTimeSeries metadata whether the SWPC scaling factors need to be removed (which are present in the FITS data).

See also:

In regards to the re-processed GOES 8-15 data, please refer to the documentation here:

For the GOES-R data please refer to here: