satpy.tests.reader_tests.test_seviri_l1b_calibration module

Unittesting the native msg reader.

class satpy.tests.reader_tests.test_seviri_l1b_calibration.TestFileHandlerCalibrationBase[source]

Bases: object

Base class for file handler calibration tests.

_get_expected(channel, calibration, calib_mode, use_ext_coefs)[source]
counts()[source]

Provide fake image counts.

expected = {'HRV': {'counts': {'NOMINAL': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[  0,  10],        [100, 255]]) Dimensions without coordinates: y, x}, 'radiance': {'EXTERNAL': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[  nan,   45.],        [ 495., 1270.]]) Dimensions without coordinates: y, x, 'GSICS': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[  nan,  108.],        [1188., 3048.]]) Dimensions without coordinates: y, x, 'NOMINAL': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[  nan,  108.],        [1188., 3048.]]) Dimensions without coordinates: y, x}, 'reflectance': {'EXTERNAL': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[       nan,  173.02817],        [1903.31   , 4883.2397 ]]) Dimensions without coordinates: y, x, 'NOMINAL': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[        nan,   415.26767],        [ 4567.944  , 11719.775  ]]) Dimensions without coordinates: y, x}}, 'IR_108': {'brightness_temperature': {'EXTERNAL': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[       nan,  335.14236],        [ 758.6249 , 1262.7567 ]]) Dimensions without coordinates: y, x, 'GSICS': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[      nan, 189.20985],        [285.53293, 356.06668]]) Dimensions without coordinates: y, x, 'NOMINAL': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[      nan, 279.82318],        [543.2585 , 812.77167]]) Dimensions without coordinates: y, x}, 'counts': {'NOMINAL': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[  0,  10],        [100, 255]]) Dimensions without coordinates: y, x}, 'radiance': {'EXTERNAL': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[  nan,  180.],        [1980., 5080.]]) Dimensions without coordinates: y, x, 'GSICS': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[   nan,   8.19],        [ 89.19, 228.69]]) Dimensions without coordinates: y, x, 'NOMINAL': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[  nan,   81.],        [ 891., 2286.]]) Dimensions without coordinates: y, x}}, 'VIS006': {'counts': {'NOMINAL': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[  0,  10],        [100, 255]]) Dimensions without coordinates: y, x}, 'radiance': {'EXTERNAL': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[  nan,   90.],        [ 990., 2540.]]) Dimensions without coordinates: y, x, 'GSICS': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[ nan,   9.],        [ 99., 254.]]) Dimensions without coordinates: y, x, 'NOMINAL': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[ nan,   9.],        [ 99., 254.]]) Dimensions without coordinates: y, x}, 'reflectance': {'EXTERNAL': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[        nan,   418.89853],        [ 4607.8843 , 11822.249  ]]) Dimensions without coordinates: y, x, 'NOMINAL': <xarray.DataArray (y: 2, x: 2)> Size: 32B array([[       nan,   41.88985],        [ 460.7884 , 1182.2247 ]]) Dimensions without coordinates: y, x}}}
external_coefs = {'HRV': {'gain': 5, 'offset': -5}, 'IR_108': {'gain': 20, 'offset': -20}, 'VIS006': {'gain': 10, 'offset': -10}}
gains_gsics = [0, 0, 0, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 0]
gains_nominal = array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])
offsets_gsics = [0, 0, 0, -0.4, -0.5, -0.6, -0.7, -0.8, -0.9, -1.0, -1.1, 0]
offsets_nominal = array([ -1,  -2,  -3,  -4,  -5,  -6,  -7,  -8,  -9, -10, -11, -12])
platform_id = 324
radiance_types = array([2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2., 2.])
scan_time = datetime.datetime(2020, 1, 1, 0, 0)
spectral_channel_ids = {'HRV': 12, 'IR_108': 9, 'VIS006': 1}
class satpy.tests.reader_tests.test_seviri_l1b_calibration.TestSEVIRICalibrationAlgorithm(methodName='runTest')[source]

Bases: TestCase

Unit Tests for SEVIRI calibration algorithm.

Create an instance of the class that will use the named test method when executed. Raises a ValueError if the instance does not have a method with the specified name.

_classSetupFailed = False
_class_cleanups = []
setUp()[source]

Set up the SEVIRI Calibration algorithm for testing.

test_convert_to_radiance()[source]

Test the conversion from counts to radiances.

test_ir_calibrate()[source]

Test conversion from radiance to brightness temperature.

test_vis_calibrate()[source]

Test conversion from radiance to reflectance.

class satpy.tests.reader_tests.test_seviri_l1b_calibration.TestSeviriCalibrationHandler[source]

Bases: object

Unit tests for SEVIRI calibration handler.

_get_calibration_handler(calib_mode='NOMINAL', ext_coefs=None)[source]

Provide a calibration handler.

test_calibrate_exceptions()[source]

Test exceptions raised by the calibration handler.

test_get_gain_offset(calib_mode, ext_coefs, expected)[source]

Test selection of gain and offset.

test_init()[source]

Test initialization of the calibration handler.