4.2. VIIRS L1B Reader

The VIIRS Level 1B Reader operates on NASA Level 1B (L1B) NetCDF files from the Suomi National Polar-orbiting Partnership’s (NPP) 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:

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 --fornav-D parameter is set to 40 and the --fornav-d 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_satellite_zenith_angle

I Band Satellite Zenith Angle

i_satellite_azimuth_angle

I Band Satellite Azimuth Angle

solar_zenith_angle

M Band Solar Zenith Angle

solar_azimuth_angle

M Band Solar Azimuth Angle

satellite_zenith_angle

M Band Satellite Zenith Angle

satellite_azimuth_angle

M Band Satellite Azimuth Angle

dnb_solar_zenith_angle

DNB Band Solar Zenith Angle

dnb_lunar_zenith_angle

DNB Band Lunar Zenith Angle

true_color

Ratio sharpened rayleigh corrected true color

false_color

Ratio sharpened rayleigh corrected natural 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.

4.2.1. Command Line Arguments

usage: polar2grid.sh viirs_l1b <writer> [-h] [--list-products]
                                        [--day-fraction DAY_FRACTION]
                                        [--night-fraction NIGHT_FRACTION]
                                        [--sza-threshold SZA_THRESHOLD]
                                        [-p PRODUCTS [PRODUCTS ...]]
                                        [--i-bands] [--m-bands] [--true-color]
                                        [--false-color]

4.2.1.1. Frontend Initialization

swath extraction initialization options

--list-products

List available frontend products and exit

Default: False

--day-fraction

Fraction of day required to produce reflectance products

Default: 0.1

--night-fraction

Fraction of night required to produce products like fog

Default: 0.1

--sza-threshold

Angle threshold of solar zenith angle used when deciding day or night

Default: 100.0

4.2.1.2. Frontend Swath Extraction

swath extraction options

-p, --products

Specify frontend products to process

--i-bands

Add all I-band raw products to list of products

--m-bands

Add all M-band raw products to list of products

--true-color

Add the True Color product to the list of products

--false-color

Add the False Color product to the list of products

Examples:

$POLAR2GRID_HOME/bin/polar2grid.sh viirs_l1b gtiff -h

polar2grid.sh viirs_l1b gtiff --list-products -f ../l1b/*.nc

polar2grid.sh viirs_l1b gtiff -p m01 -f /data/VL1BM_snpp_d20170117_t191800_c20170118003207.nc /data/VGEOM_snpp_d20170117_t191800_c20170118003158.nc

polar2grid.sh viirs_l1b scmi -g lcc_conus_300 --sector-id LCC --compress --letters -p adaptive_dnb dynamic_dnb --night-fraction=.04 -f /data

polar2grid.sh viirs_l1b gtiff -p true_color false_color -f /viirs_l1b/*.nc