Solar Spectrum#

class SolarSpectrum(spectrum_name: str = 'sao2010', fwhm=None)[source]#

A class used to load solar irradiance spectrum. The class currently supports the following spectra:

  1. SAO2010

  2. Fontela UVIS to 3 microns

  3. Fontela UVIS to 100 micron,

The choice of solar spectrum is specified in the constructor, the default is sao2010. The other values are ‘fontela_uvis3micron` and `fontela_uvis100micron’.

The solar data are implemented as python data arrays stored in the source code and can a second or two to load. But we have written the code so the solar data are only imported in for the model you request and only when you request it.

Attributes:
max_valid_wavelength

The maximum wavelength in nanometers in the curreent table

min_valid_wavelength

The minimum wavelength in nanometers in the current table.

resolution_fwhm

The FWHM in nanometers of the instrument resolution used to measure the current solar spectrum.

sample_spacing

The spacing in nanometers between spectral samples in the table.

Methods

irradiance(nm)

Returns the solar irradiance at 1 A.U.

set_solar_distance_au(au)

Sets the distance of the sun in astronomical units (AU).

irradiance(nm: ndarray)[source]#

Returns the solar irradiance at 1 A.U. at the requested wavelengths.

Parameters:
nmnp.ndarray

An array of wavelengths in nanometers. The current solar irradiance table is linearly interpolated to the desired wavelengths. The irradiance signal is set to 0.0 for all wavelengths outside of the current solar table wavelength bounds.

Returns:
np.ndarray

The solar irradiance for each of the requested wavelengtths

property max_valid_wavelength#

The maximum wavelength in nanometers in the curreent table

property min_valid_wavelength#

The minimum wavelength in nanometers in the current table.

property resolution_fwhm: float#

The FWHM in nanometers of the instrument resolution used to measure the current solar spectrum.

property sample_spacing: float#

The spacing in nanometers between spectral samples in the table.

set_solar_distance_au(au: float)[source]#

Sets the distance of the sun in astronomical units (AU).

Parameters:
au: float

The distance of the Sun in astronomical units. The default upon initialization is 1.0