lib.io

HDF4 file I/O, radiance-to-brightness-temperature conversion, flight grouping, and grid extent computation.

HDF file I/O: reading MASTER L1B data, grouping by flight, coordinate extents.

lib.io.radiance_to_bt(radiance_um, wavelength_um)[source]

Convert spectral radiance to brightness temperature via inverse Planck.

Parameters:
  • radiance_um (ndarray) – Spectral radiance [W/m²/sr/μm] (MASTER native units).

  • wavelength_um (float) – Effective central wavelength [μm].

Returns:

Brightness temperature [K]. NaN where radiance is invalid.

Return type:

ndarray

lib.io.process_file(filepath)[source]

Load one HDF4 file and return per-pixel data as a dict.

Returns dict with keys:

T4: Brightness temperature at ~3.9 μm [K], shape (scanlines, 716). T11: Brightness temperature at ~11.25 μm [K], shape (scanlines, 716). SWIR: Calibrated radiance at ~2.16 μm [W/m²/sr/μm], shape (scanlines, 716). Red: Calibrated radiance at ~0.654 μm [W/m²/sr/μm], shape (scanlines, 716). NIR: Calibrated radiance at ~0.866 μm [W/m²/sr/μm], shape (scanlines, 716). NDVI: Normalized Difference Vegetation Index [-1, 1], shape (scanlines, 716). lat: Pixel latitude [degrees], shape (scanlines, 716). lon: Pixel longitude [degrees], shape (scanlines, 716).

Parameters:

filepath (str)

Return type:

dict[str, ndarray]

lib.io.group_files_by_flight()[source]

Group HDF files by flight number, sorted by start time within each flight.

Return type:

dict[str, dict[str, Any]]

lib.io.compute_grid_extent(files)[source]

Compute the lat/lon bounding box across all files in a flight.

Parameters:

files (list[str])

Return type:

tuple[float, float, float, float]