__init__
- SRF.__init__(f, W)[source]
Initialise SRF object.
You can either initialise an SRF from scratch, or use the classmethod fromArtsXML to read it from a file.
A toy example on initiating it from scratch:
>>> from typhon.physics.units.common import ureg >>> from typhon.physics.units.em import SRF >>> srf = SRF(ureg.Quantity(numpy.array([200, 200.1, 200.2, 200.3, 200.4, 200.5]), 'GHz'), numpy.array([0, 0.5, 1, 1, 0.5, 0])) >>> R_300 = srf.blackbody_radiance(ureg.Quantity(300, 'K')) >>> print(R_300) [ 3.63716781e-15] watt / hertz / meter ** 2 / steradian >>> print(R_300.to("K", "radiance", srf=srf)) [ 300.] kelvin
You can also pass in other spectroscopic units (wavenumber, wavelength) that will be converted internally to frequency:
>>> srf = SRF(ureg.Quantity(numpy.array([10.8, 10.9, 11.0, 11.1, 11.2, 11.3]), 'um'), numpy.array([0, 0.5, 1, 1, 0.5, 0])) >>> R_300 = srf.blackbody_radiance(ureg.Quantity(numpy.atleast_1d(250), 'K')) >>> print(R_300) [ 1.61922509e-12] watt / hertz / meter ** 2 / steradian >>> print(R_300.to("cm * mW / m**2 / sr", "radiance")) [ 48.54314703] centimeter * milliwatt / meter ** 2 / steradian >>> print(R_300.to("K", "radiance", srf=srf)) [ 300.] kelvin
- Parameters:
f (ndarray) – Array of frequencies. Can be either a pure ndarray, which will be assumed to be in Hz, or a ureg quantity.
W (ndarray) – Array of associated weights.