# Example with SEVIRI data

Let us try calculate the 3.9 micron reflectance for Meteosat-10:

    >>> sunz = 80.
    >>> tb3 = 290.0
    >>> tb4 = 282.0
    >>> from pyspectral.near_infrared_reflectance import Calculator
    >>> refl39 = Calculator('Meteosat-10', 'seviri', 'IR3.9')
    >>> print('{refl:4.3f}'.format(refl=refl39.reflectance_from_tbs(sunz, tb3, tb4)[0]))
    0.555

You can also provide the in-band solar flux from outside when calculating the reflectance, saving a few milliseconds per call:

    >>> from pyspectral.solar import (SolarIrradianceSpectrum, TOTAL_IRRADIANCE_SPECTRUM_2000ASTM)
    >>> solar_irr = SolarIrradianceSpectrum(TOTAL_IRRADIANCE_SPECTRUM_2000ASTM, dlambda=0.0005)
    >>> from pyspectral.rsr_reader import RelativeSpectralResponse
    >>> seviri = RelativeSpectralResponse('Meteosat-10', 'seviri')
    >>> sflux = solar_irr.inband_solarflux(seviri.rsr['IR3.9'])
    >>> refl39 = Calculator('Meteosat-10', 'seviri', 'IR3.9', solar_flux=sflux)
    >>> print('{refl:4.3f}'.format(refl=refl39.reflectance_from_tbs(sunz, tb3, tb4)[0]))
    0.555

By default the data are masked outside the default Sun zenith-angle (SZA) correction limit (85.0 degrees). The masking can be adjusted via masking_limit keyword argument to Calculator, and turned of by defining Calculator(…, masking_limit=None). The SZA limit can be adjusted via sunz_threshold keyword argument: Calculator(…, sunz_threshold=88.0).

## Integration with SatPy

The SatPy package integrates PySpectral so that it is very easy with only a very few lines of code to make RGB images with the 3.9 reflectance as one of the bands. Head to the PyTroll gallery pages for examples. SatPy for instance has a snow RGB using the 0.8 micron, the 1.6 micron and the 3.9 micron reflectance derived using PySpectral.