1.5.1.1.7.1.24. polar2grid.readers.viirs_l1b module

The VIIRS Level 1B Reader operates on NASA Level 1B (L1B) NetCDF files.

The files are from the Visible/Infrared Imager Radiometer Suite (VIIRS) instrument. The VIIRS L1B reader analyzes the user provided filenames to determine if a file can be used. Files usually have the following naming scheme (example from the SNPP VIIRS instrument):

VL1BI_snpp_d20160101_t185400_c20160301041812.nc

The VIIRS L1B reader supports all instrument spectral bands, identified as the products shown below. Geolocation files must be included when specifying filepaths to readers and polar2grid.sh. Therefore, the creation of The VIIRS L1B frontend can be specified to the Polar2Grid glue script with the frontend name viirs_l1b.

The list of supported products includes true and false color imagery. These are created by means of a python based atmospheric Rayleigh Scattering algorithm that is executed as part of the Polar2Grid VIIRS L1B reader.

Note

The VIIRS L1B reader only supports the NASA L1B version 2.0 file format. Previous and future versions may work for some products, but are not guaranteed.

This reader’s default resampling algorithm is ewa for Elliptical Weighted Averaging resampling. The --weight-delta-max parameter is set to 40 and the --weight-distance-max parameter is set to 2.

Product Name

Description

i01

I01 Reflectance Band

i02

I02 Reflectance Band

i03

I03 Reflectance Band

i04

I04 Brightness Temperature Band

i05

I05 Brightness Temperature Band

m01

M01 Reflectance Band

m02

M02 Reflectance Band

m03

M03 Reflectance Band

m04

M04 Reflectance Band

m05

M05 Reflectance Band

m06

M06 Reflectance Band

m07

M07 Reflectance Band

m08

M08 Reflectance Band

m09

M09 Reflectance Band

m10

M10 Reflectance Band

m11

M11 Reflectance Band

m12

M12 Brightness Temperature Band

m13

M13 Brightness Temperature Band

m14

M14 Brightness Temperature Band

m15

M15 Brightness Temperature Band

m16

M16 Brightness Temperature Band

DNB

Raw DNB Band (not useful for images)

histogram_dnb

Histogram Equalized DNB Band

adaptive_dnb

Adaptive Histogram Equalized DNB Band

dynamic_dnb

Dynamic DNB Band from Steve Miller and Curtis Seaman. Uses erf to scale the data

hncc_dnb

Simplified High and Near-Constant Contrast Approach from Stephan Zinke

ifog

Temperature difference between I05 and I04

i_solar_zenith_angle

I Band Solar Zenith Angle

i_solar_azimuth_angle

I Band Solar Azimuth Angle

i_sat_zenith_angle

I Band Satellite Zenith Angle

i_sat_azimuth_angle

I Band Satellite Azimuth Angle

m_solar_zenith_angle

M Band Solar Zenith Angle

m_solar_azimuth_angle

M Band Solar Azimuth Angle

m_sat_zenith_angle

M Band Satellite Zenith Angle

m_sat_azimuth_angle

M Band Satellite Azimuth Angle

dnb_solar_zenith_angle

DNB Band Solar Zenith Angle

dnb_solar_azimuth_angle

DNB Band Solar Azimuth Angle

dnb_sat_zenith_angle

DNB Band Satellite Zenith Angle

dnb_sat_azimuth_angle

DNB Band Satellite Azimuth Angle

dnb_lunar_zenith_angle

DNB Band Lunar Zenith Angle

dnb_lunar_azimuth_angle

DNB Band Lunar Azimuth Angle

true_color

Ratio sharpened rayleigh corrected true color

false_color

Ratio sharpened rayleigh corrected false color

For reflectance/visible products a check is done to make sure that at least 10% of the swath is day time. Data is considered day time where solar zenith angle is less than 100 degrees.

class polar2grid.readers.viirs_l1b.ReaderProxy(scn: Scene, user_products: list[str])[source]

Bases: ReaderProxyBase

Provide Polar2Grid-specific information about this reader’s products.

property _aliases: dict[str, DataQuery]
get_all_products() list[str][source]

Get all polar2grid products that could be loaded.

get_default_products() list[str][source]

Get products to load if users hasn’t specified any others.

is_polar2grid_reader: bool = True
polar2grid.readers.viirs_l1b._process_legacy_products(satpy_names, band_aliases)[source]

Map all lowercase band names to uppercase names and add radiance product.

polar2grid.readers.viirs_l1b.add_reader_argument_groups(parser: ArgumentParser, group: _ArgumentGroup | None = None) tuple[_ArgumentGroup | None, _ArgumentGroup | None][source]

Add reader-specific command line arguments to an existing argument parser.

If group is provided then arguments are added to this group. If not, a new group is added to the parser and arguments added to this new group.