class_docstr: AHI gridded format reader.
  
  This data is flat binary, big endian unsigned short.
  It covers the region 85E -> 205E, 60N -> 60S at variable resolution:
  - 0.005 degrees for Band 3
  - 0.01 degrees for Bands 1, 2 and 4
  - 0.02 degrees for all other bands.
  These are approximately equivalent to 0.5, 1 and 2km.
  
  Files can either be zipped with bz2 compression (like the HSD format
  data), or can be uncompressed flat binary.
docstr: Load calibration from LUT and apply.
docstr_tok: ["Load","calibration","from","LUT","and","apply","."]
code: def _calibrate(self, data):
      """Load calibration from LUT and apply."""
      lut = self._load_lut()
  
      # LUT may truncate NaN values, so manually set those in data
      lut_len = len(lut)
      data = np.where(data < lut_len - 1, data, np.nan)
      return lut[data.astype(np.uint16)]
  
imports: import logging
  import os
  import dask.array
  import numpy
  import xarray
  from appdirs import AppDirs
  from pyresample import geometry
  from satpy.readers.file_handlers import BaseFileHandler
  from satpy.readers.utils import unzip_file
  from satpy.utils import get_legacy_chunk_size
label_desc: Use image node_id 4 for calling the AHIGriddedFileHandler obj's underlying member method code with example usage: obj._calibrate(data) and returns: lut