- class eradiate.scenes.spectra.SolarIrradianceSpectrum(id=None, dataset='coddington_2021-1_nm', scale=1.0, datetime=None)#
Solar irradiance spectrum [
This scene element produces the scene dictionary required to instantiate a kernel plugin using the Sun irradiance spectrum. The data set used by this element is controlled by the
str, optional) – Identifier of the current scene element.
stror path-like, optional, default:
"coddington_2021-1_nm") – Solar irradiance spectrum dataset. If a xarray.Dataset is passed, the dataset is used as is (refer to the data guide for the format requirements of this dataset).If a path is passed, the converter tries to open the corresponding file on the hard drive; should that fail, it queries the Eradiate datastore with that path.If a string is passed, it is interpreted as a Solar irradiance spectrum identifier (see Solar irradiance spectra for the list);
str, optional) – Date for which the spectrum is to be evaluated. An ISO string can be passed and will be interpreted by
dateutil.parser.parse(). This parameter scales the irradiance spectrum to account for the seasonal variation of the Earth-Sun distance. This scaling is applied in addition to the arbitrary scaling controlled by the scale parameter.
The spectral range of the data sets shipped can vary and an attempt for use outside the supported spectral range will raise a
datetimefield is set, the spectrum is automatically scaled to account for the seasonal variations of the Earth-Sun distance using the ephemeris of
astropy.coordinates.get_sun(). The dataset is assumed to be normalized to an Earth-Sun distance of 1 AU. This will trigger the import of
astropy.coordinatesand consume a significant amount of memory (150 MiB with astropy v5.1).
scalefield can be used to apply additional arbitrary scaling. It is mostly used for debugging purposes. It can also be used to rescale user-defined spectra normalized at an Earth-Sun distance different from 1 AU.
The evaluation method depends on the active mode:
mono_*modes, the spectrum is evaluated at the spectral context wavelength;
ckd_*modes, the spectrum is evaluated as the average value over the spectral context bin (the integral is computed using a trapezoid rule).
The produced kernel dictionary automatically adjusts its irradiance units depending on the selected kernel default units.
Evaluate spectrum at a given spectral index.
This method dispatches evaluation to specialized methods depending on the spectral index type.
- eval_ckd(w, g)#
Evaluate spectrum in CKD modes.
quantity) – Evaluated spectrum as an array with shape
It is assumed that
ghave the same shape. In CKD mode, it is assumed that all spectra—except that of the absorption coefficient—are uniform over the spectral bin. These spectra are evaluated at the spectral bin center wavelength.
Evaluate spectrum in monochromatic modes.
- integral(wmin, wmax)#
Compute the integral of the spectrum on a given interval.
quantityfield is unset (i.e. left to its default value
None), the output of this method will inherit the units of value fields (the actual policy depends on the implementation, and unitless values are intepreted as dimnesionless). Note that leaving the
quantityfield unset is discouraged.
Select a subset of a spectral set.
This method is only relevant to subclasses used to represent spectral response function (the default implementation raises a
NotImplementedError). In this context, the spectral response function acts as a sort of filter that selects a subset of a spectral set, e.g. where the response is non-zero. This method is useful for
Experimentobjects to determine which spectral set is relevant for a given sensor.
Traverse this scene element and collect kernel dictionary template and parameter update map contributions.
SceneTraversal) – Callback data structure storing the collected data.
Enforce internal state consistency. This method should be called when fields are modified. It is automatically called as a post-init step.
- property objects#
Map of child objects associated with this scene element.
dict– A dictionary mapping object names to a corresponding object to be inserted in the Eradiate scene graph.
- property params#
- property template#
Kernel dictionary template contents associated with this scene element.