satpy.readers.viirs_sdr module

Interface to VIIRS SDR format.

This reader implements the support of VIIRS SDR files as produced by CSPP and CLASS. It is comprised of two parts:

  • A subclass of the YAMLFileReader class to allow handling all the files

  • A filehandler class to implement the actual reading

Format documentation:

class satpy.readers.viirs_sdr.VIIRSSDRFileHandler(filename, filename_info, filetype_info, use_tc=None, **kwargs)[source]

Bases: HDF5FileHandler

VIIRS HDF5 File Reader.

Initialize file handler.


Generate dataset info and their availablity.

See satpy.readers.file_handlers.BaseFileHandler.available_datasets() for details.

concatenate_dataset(dataset_group, var_path)[source]

Concatenate dataset.

property end_orbit_number

Get end orbit number.

property end_time

Get end time.

static expand_single_values(var, scans)[source]

Expand single valued variable to full scan lengths.


Get the bounding box of this file.

get_dataset(dataset_id, ds_info)[source]

Get the dataset corresponding to dataset_id.

The size of the return DataArray will be dependent on the number of scans actually sensed, and not necessarily the regular 768 scanlines that the file contains for each granule. To that end, the number of scans for each granule is read from: Data_Products/...Gran_x/N_Number_Of_Scans.

get_file_units(dataset_id, ds_info)[source]

Get file units from metadata.

mask_fill_values(data, ds_info)[source]

Mask fill values.

property platform_name

Get platform name.

scale_swath_data(data, scaling_factors, dataset_group)[source]

Scale swath data using scaling factors and offsets.

Multi-granule (a.k.a. aggregated) files will have more than the usual two values.

property sensor_name

Get sensor name.

property start_orbit_number

Get start orbit number.

property start_time

Get start time.

class satpy.readers.viirs_sdr.VIIRSSDRReader(config_files, use_tc=None, **kwargs)[source]

Bases: FileYAMLReader

Custom file reader for finding VIIRS SDR geolocation at runtime.

Initialize file reader and adjust geolocation preferences.

  • config_files (iterable) – yaml config files passed to base class

  • use_tc (boolean) – If True use the terrain corrected files. If False, switch to non-TC files. If None (default), use TC if available, non-TC otherwise.


Filter out file using metadata from the filenames.

This sorts out the different lon and lat datasets depending on TC is desired or not.

get_right_geo_fhs(dsid, fhs)[source]

Find the right geographical file handlers for given dataset ID dsid.

satpy.readers.viirs_sdr.split_desired_other(fhs, prime_geo, second_geo)[source]

Split the provided filehandlers fhs into desired filehandlers and others.