lime_tbx.business.lime_algorithms.lime.lime module

This module calculates the extra-terrestrial lunar disk irradiance.

It exports the following classes:
  • ILIME - Interface that contains the methods of this module.

  • LIME - Class that implements the methods exported by this module.

It follows equations described in the following papers: - Kieffer and Stone, 2005: The spectral irradiance of the Moon. - Barreto et al., 2019: Evaluation of night-time aerosols measurements and lunar irradiance models in the frame of the first multi-instrument nocturnal intercomparison campaign. - Roman et al., 2020: Correction of a lunar-irradiance model for aerosol optical depth retrieval and comparison with a star photometer.

class lime_tbx.business.lime_algorithms.lime.lime.ILIME[source]

Bases: ABC

Interface that contains the methods of this module.

It exports the following functions:
  • get_elis_from_elrefs: Calculates the extra-terrestrial lunar irradiance in Wm⁻²/nm

    from reflectance data.

  • get_elrefs: Calculates the extra-terrestrial lunar reflectance in fractions of unity for some

    given parameters.

abstract static get_elis_from_elrefs(elref_spectrum: SpectralData, moon_data: MoonData, srf_type: str, skip_uncs: bool = False) SpectralData[source]

Calculation of Extraterrestrial Lunar Irradiance following Eq 3 in Roman et al., 2020, without using the Apollo Coefficients.

Allow users to simulate lunar observation for any observer/solar selenographic latitude and longitude.

Returns the data in Wm⁻²/nm

Parameters:
  • elref_spectrum (SpectralData) – Reflectance data.

  • moon_data (MoonData) – Moon data needed to calculate Moon’s irradiance.

  • srf_type (str) – SRF type that is going to be used. Can be ‘cimel’, ‘asd’ or ‘interpolated’.

  • skip_uncs (bool) – Flag for skipping the calculation of uncertainties.

Returns:

elis – The extraterrestrial lunar irradiances calculated.

Return type:

SpectralData

abstract static get_elis_from_elrefs_and_integrate(elref_spectrum: SpectralData, moon_data: MoonData, srf_type: str, int: ISpectralIntegration, srf: SpectralResponseFunction, skip_uncs: bool = False) Tuple[SpectralData, List[float] | List[List[float]], List[float] | List[List[float]]][source]

Calculation of Extraterrestrial Lunar Irradiance following Eq 3 in Roman et al., 2020, without using the Apollo Coefficients. It also calculates the integrated irradiance.

Allow users to simulate lunar observation for any observer/solar selenographic latitude and longitude.

Returns the data in Wm⁻²/nm

Parameters:
  • elref_spectrum (SpectralData) – Reflectance data.

  • moon_data (MoonData) – Moon data needed to calculate Moon’s irradiance.

  • srf_type (str) – SRF type that is going to be used. Can be ‘cimel’, ‘asd’ or ‘interpolated’.

  • int (ISpectralIntegration) – Spectral integrator that will be used for integration.

  • srf (SpectralResponseFunction) – Spectral response function that will be used for integration.

  • skip_uncs (bool) – Flag for skipping the calculation of uncertainties.

Returns:

  • elis (SpectralData) – The extraterrestrial lunar irradiances calculated.

  • signals (List of float | List of list of float) – Signals calculated

  • unc_signals (List of float | List of list of float) – Uncertainties of the calculated signals

abstract static get_elrefs(coefficients: ReflectanceCoefficients, moon_data: MoonData, skip_uncs: bool = False) SpectralData[source]

Calculation of Extraterrestrial Lunar Reflectance following Eq 3 in Roman et al., 2020 for the calculation of the irradiance, without using the Apollo Coefficients.

Allow users to simulate lunar observation for any observer/solar selenographic latitude and longitude.

Returns the data in fractions of unity.

Parameters:
  • coefficients (ReflectanceCoefficients) – Needed coefficients for the simulation

  • moon_data (MoonData) – Moon data needed to calculate Moon’s irradiance.

  • skip_uncs (bool) – Flag for skipping the calculation of uncertainties.

Returns:

The extraterrestrial lunar reflectances calculated.

Return type:

SpectralData

class lime_tbx.business.lime_algorithms.lime.lime.LIME[source]

Bases: ILIME

Class that implements the methods of this module.

static get_elis_from_elrefs(elref_spectrum: SpectralData, moon_data: MoonData, srf_type: str, skip_uncs: bool = False) SpectralData[source]

Calculation of Extraterrestrial Lunar Irradiance following Eq 3 in Roman et al., 2020, without using the Apollo Coefficients.

Allow users to simulate lunar observation for any observer/solar selenographic latitude and longitude.

Returns the data in Wm⁻²/nm

Parameters:
  • elref_spectrum (SpectralData) – Reflectance data.

  • moon_data (MoonData) – Moon data needed to calculate Moon’s irradiance.

  • srf_type (str) – SRF type that is going to be used. Can be ‘cimel’, ‘asd’ or ‘interpolated’.

  • skip_uncs (bool) – Flag for skipping the calculation of uncertainties.

Returns:

elis – The extraterrestrial lunar irradiances calculated.

Return type:

SpectralData

static get_elis_from_elrefs_and_integrate(elref_spectrum: SpectralData, moon_data: MoonData, srf_type: str, int: ISpectralIntegration, srf: SpectralResponseFunction, skip_uncs: bool = False) Tuple[SpectralData, List[float] | List[List[float]], List[float] | List[List[float]]][source]

Calculation of Extraterrestrial Lunar Irradiance following Eq 3 in Roman et al., 2020, without using the Apollo Coefficients. It also calculates the integrated irradiance.

Allow users to simulate lunar observation for any observer/solar selenographic latitude and longitude.

Returns the data in Wm⁻²/nm

Parameters:
  • elref_spectrum (SpectralData) – Reflectance data.

  • moon_data (MoonData) – Moon data needed to calculate Moon’s irradiance.

  • srf_type (str) – SRF type that is going to be used. Can be ‘cimel’, ‘asd’ or ‘interpolated’.

  • int (ISpectralIntegration) – Spectral integrator that will be used for integration.

  • srf (SpectralResponseFunction) – Spectral response function that will be used for integration.

  • skip_uncs (bool) – Flag for skipping the calculation of uncertainties.

Returns:

  • elis (SpectralData) – The extraterrestrial lunar irradiances calculated.

  • signals (List of float | List of list of float) – Signals calculated

  • unc_signals (List of float | List of list of float) – Uncertainties of the calculated signals

static get_elrefs(coefficients: ReflectanceCoefficients, moon_data: MoonData, skip_uncs: bool = False, keep_err_corr_mats: bool = True) SpectralData[source]

Calculation of Extraterrestrial Lunar Reflectance following Eq 3 in Roman et al., 2020 for the calculation of the irradiance, without using the Apollo Coefficients.

Allow users to simulate lunar observation for any observer/solar selenographic latitude and longitude.

Returns the data in fractions of unity.

Parameters:
  • coefficients (ReflectanceCoefficients) – Needed coefficients for the simulation

  • moon_data (MoonData) – Moon data needed to calculate Moon’s irradiance.

  • skip_uncs (bool) – Flag for skipping the calculation of uncertainties.

Returns:

The extraterrestrial lunar reflectances calculated.

Return type:

SpectralData