def test_invariants(*args, **kwargs): """ Ensures adding 0 or multiplying by 1 does not change the spectra """ from radis import load_spec from radis.test.utils import getTestFile s = load_spec(getTestFile("CO_Tgas1500K_mole_fraction0.01.spec")) s.update() s = Radiance_noslit(s) assert s.compare_with( add_constant(s, 0, "W/cm2/sr/nm"), plot=False, spectra_only="radiance_noslit" ) assert s.compare_with(multiply(s, 1), plot=False, spectra_only="radiance_noslit") assert 3 * s / 3 == s assert (1 + s) - 1 == s
def test_multiplyAndAddition(verbose=True, plot=False, *args, **kwargs): s = load_spec(getTestFile("CO_Tgas1500K_mole_fraction0.01.spec"), binary=True) s.update("radiance_noslit", verbose=False) s.apply_slit(0.1) s = Radiance(s) assert s.units["radiance"] == "mW/cm2/sr/nm" s_bis = add_constant(s, 1, "mW/cm2/sr/nm") w, Idiff = get_diff(s_bis, s, "radiance") test = Idiff[1] - 1 assert np.all(test < 1e-10) s_ter = multiply(multiply(s, 50), 1 / 50) # plot_diff(s_ter, s_5) diff = get_diff(s_ter, s, "radiance") ratio = abs(np.trapz(diff[1], x=diff[0]) / s.get_integral("radiance")) assert ratio < 1e-10