sunpy.instr.goes.calculate_radiative_loss_rate(goeslc, force_download=False, download_dir=None)[source] [edit on github]

Calculates radiative loss rate from GOES observations.

This function calculates the radiative loss rate as a function of time of solar soft X-ray-emitting plasma across all wavelengths given a LightCurve object containing GOES data. The radiative loss rate is determined from the GOES isothermal temperature and volume emission measure as a function of time, as calculated by calculate_temperature_em(). See docstring of that function for more details. If the LightCurve object does not contain the temperatures and emission measures, but only contain the GOES fluxes, then the temperature and emission measures are calculated using calculate_temperature_em(). The unit of the resulting radiative loss rates is W. Once the radiative loss rates have been found, they are returned as part of a new LightCurve object also containing the metadata, GOES fluxes and corresponding temperatures and emission measures of the input LightCurve object.

  • goeslc (LightCurve) – LightCurve object containing GOES data. The units of these data MUST be W/m^2 (flux), MK (temperature) and cm^-3 (emission measure). If LightCurve object does not contain temperature and emission measure values, they are calculated from the flux values using calculate_temperature_em().
  • force_download ((optional) bool) – If True, the GOES radiative loss data file is downloaded even if already locally stored. It is important to do this if a new version of the file has been generated due to a new CHIANTI version being released or the launch of new GOES satellites. Default=False
  • download_dir ((optional) str) – The directory to download the GOES radiative loss data file to. Default=SunPy default download directory

lc_new (LightCurve) – Contains same metadata and data as input LightCurve with the following additional data columns: - Array of temperature values [MK] - Array of volume emission measure values [cm**-3] - radiative loss rate of the coronal soft X-ray-emitting plasma across all wavelengths [W]


The GOES radiative loss rates are calculated using a csv file containing a table of radiative loss rate per unit emission measure at various temperatures. The appropriate values are then found via interpolation. This table was generated using CHIANTI atomic physics database employing the methods of [1]. Coronal abundances, a default density of 10**10 cm**-3, and ionization equilibrium of [2] were used.


[1]Cox, D.P., Tucker, W.H. 1969, ApJ, 157, 1157, DOI: 10.1086/150144
[2]Mazzotta, P., Mazzitelli, G., Colafrancesco, S., & Vittorio, N. 1998, A&AS, 133, 339, DOI: 10.1051/aas:1998330


>>> from sunpy.instr.goes import calculate_radiative_loss_rate
>>> import sunpy.lightcurve as lc
>>> time1 = "2014-01-01 00:00:00"
>>> time2 = "2014-01-01 00:00:08"
>>> goeslc = lc.GOESLightCurve.create(time1, time2)  # doctest: +REMOTE_DATA
>>>  # doctest: +REMOTE_DATA
                                    xrsa      xrsb
2014-01-01 00:00:00.421999  9.187300e-08  0.000004
2014-01-01 00:00:02.468999  9.187300e-08  0.000004
2014-01-01 00:00:04.518999  9.187300e-08  0.000004
2014-01-01 00:00:06.564999  9.298800e-08  0.000004
>>> goeslc_new = calculate_radiative_loss_rate(goeslc)  # doctest: +REMOTE_DATA
>>>   # doctest:  +REMOTE_DATA
                                    xrsa      xrsb  temperature            em  rad_loss_rate
2014-01-01 00:00:00.421999  9.187300e-08  0.000004     6.270239  6.440648e+48   5.449144e+19
2014-01-01 00:00:02.468999  9.187300e-08  0.000004     6.270239  6.440648e+48   5.449144e+19
2014-01-01 00:00:04.518999  9.187300e-08  0.000004     6.273917  6.422208e+48   5.434659e+19
2014-01-01 00:00:06.564999  9.298800e-08  0.000004     6.304001  6.350370e+48   5.382823e+19