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
- class satpy.readers.viirs_sdr.VIIRSSDRFileHandler(filename, filename_info, filetype_info, use_tc=None, **kwargs)[source]
VIIRS SDR HDF5 File Reader.
Initialize file handler.
- 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:
- class satpy.readers.viirs_sdr.VIIRSSDRReader(config_files, use_tc=None, **kwargs)[source]
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.
- _abc_impl = <_abc._abc_data object>
Get the coordinate dataset keys for dsid.
Wraps the base class method in order to load geolocation files from the geo reference attribute in the datasets file.
Load filenames from the N_GEO_Ref attribute of a dataset’s file.
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 a detailed report of the missing data.
N/A: not applicable MISS: required value missing at time of processing OBPT: onboard pixel trim (overlapping/bow-tie pixel removed during SDR processing) OGPT: on-ground pixel trim (overlapping/bow-tie pixel removed during EDR processing) ERR: error occurred during processing / non-convergence ELINT: ellipsoid intersect failed / instrument line-of-sight does not intersect the Earth’s surface VDNE: value does not exist / processing algorithm did not execute SOUB: scaled out-of-bounds / solution not within allowed range