ESBO-ETC/tests/optical_component/test_Atmosphere.py

25 lines
1.2 KiB
Python
Raw Permalink Normal View History

2020-04-14 14:30:02 +02:00
from unittest import TestCase
from esbo_etc import Atmosphere, FileTarget, SpectralQty
import numpy as np
import astropy.units as u
class TestAtmosphere(TestCase):
def setUp(self):
2020-07-21 15:37:49 +02:00
self.target = FileTarget("tests/data/target/target_demo_1.csv", np.arange(200, 208) << u.nm)
2020-09-30 21:53:09 +02:00
self.atmosphere = Atmosphere(parent=self.target,
transmittance="tests/data/atmosphere/atmosphere_transmittance_1.csv",
emission="tests/data/atmosphere/atmosphere_emission_1.csv")
2020-04-14 14:30:02 +02:00
def test_calcSignal(self):
2020-04-28 17:21:26 +02:00
self.assertEqual(self.atmosphere.calcSignal()[0],
2020-07-14 12:00:22 +02:00
SpectralQty(np.arange(200, 208) << u.nm,
2020-04-17 09:57:13 +02:00
np.array([1.10e-15, 1.20e-15, 1.30e-15, 1.26e-15, 1.20e-15, 1.12e-15, 1.02e-15,
2020-07-14 12:00:22 +02:00
0.9e-15]) << u.W / (u.m ** 2 * u.nm)))
2020-04-14 14:30:02 +02:00
2020-09-30 21:53:09 +02:00
def test_calcBackground(self):
self.assertEqual(self.atmosphere.calcBackground(),
2020-04-17 09:57:13 +02:00
SpectralQty(np.arange(200, 208) << u.nm,
np.array([1.1e-16, 1.2e-16, 1.3e-16, 1.4e-16, 1.5e-16, 1.6e-16, 1.7e-16,
1.8e-16]) << u.W / (u.m ** 2 * u.nm * u.sr)))