satpy.readers.mersi_l1b module

Reader for the FY-3D MERSI-2 L1B file format.

The files for this reader are HDF5 and come in four varieties; band data and geolocation data, both at 250m and 1000m resolution.

This reader was tested on FY-3D MERSI-2 data, but should work on future platforms as well assuming no file format changes.

class satpy.readers.mersi_l1b.MERSIL1B(filename, filename_info, filetype_info)[source]

Bases: HDF5FileHandler

MERSI-2/MERSI-LL/MERSI-RM L1B file reader.

Initialize file handler.

_get_bt_dataset(data, calibration_index, wave_number)[source]

Get the dataset as brightness temperature.

Apparently we don’t use these calibration factors for Rad -> BT:

coeffs = self._get_coefficients(ds_info['calibration_key'], calibration_index)
# coefficients are per-scan, we need to repeat the values for a
# clean alignment
coeffs = np.repeat(coeffs, data.shape[0] // coeffs.shape[1], axis=1)
coeffs = coeffs.rename({
    coeffs.dims[0]: 'coefficients', coeffs.dims[1]: 'y'
})  # match data dims
data = coeffs[0] + coeffs[1] * data + coeffs[2] * data**2 + coeffs[3] * data**3
_get_coefficients(cal_key, cal_index)[source]
_get_single_slope_intercept(slope, intercept, cal_index)[source]
_mask_data(data, dataset_id, attrs)[source]

Mask the data using fill_value and valid_range attributes.

_strptime(date_attr, time_attr)[source]

Parse date/time strings.

property end_time

Time for final observation.

get_dataset(dataset_id, ds_info)[source]

Load data variable and metadata and calibrate if needed.


Get reflectance multiplier.

property sensor_name

Map sensor name to Satpy ‘standard’ sensor names.

property start_time

Time for first observation.