class_docstr: File handler for insat 3d imager data.
class_docstr_tok: ["File","handler","for","insat","3d","imager","data","."]
docstr: Get a data array.
docstr_tok: ["Get","a","data","array","."]
code: def get_dataset(self, ds_id, ds_info):
      """Get a data array."""
      resolution = ds_id["resolution"]
      ds = self.datatree[str(resolution)]
      if ds_id["name"] in ["longitude", "latitude"]:
          darr = ds[ds_id["name"].capitalize()]
  
          return darr
  
      if ds_id["calibration"] == "counts":
          calibration = ""
      elif ds_id["calibration"] == "radiance":
          calibration = "_RADIANCE"
      elif ds_id["calibration"] == "reflectance":
          calibration = "_ALBEDO"
      elif ds_id["calibration"] == "brightness_temperature":
          calibration = "_TEMP"
  
      darr = ds["IMG_" + ds_id["name"] + calibration]
  
      nlat, nlon = ds.attrs[
          "Nominal_Central_Point_Coordinates(degrees)_Latitude_Longitude"
      ]
      darr.attrs["orbital_parameters"] = dict(
          satellite_nominal_longitude=float(nlon),
          satellite_nominal_latitude=float(nlat),
          satellite_nominal_altitude=float(
              ds.attrs["Nominal_Altitude(km)"]
          ),
          satellite_actual_altitude=float(
              ds.attrs["Observed_Altitude(km)"]
          ),
      )
      darr.attrs["platform_name"] = "insat-3d"
      darr.attrs["sensor"] = "imager"
      darr = darr.squeeze()
  
      return darr
  
imports: from contextlib import suppress
  from datetime import datetime
  from functools import cached_property
  import dask.array
  import numpy
  import xarray
  from satpy.utils import import_error_helper
  from satpy.readers.file_handlers import BaseFileHandler
label_desc: Use image node_id 4 for calling the Insat3DIMGL1BH5FileHandler obj's underlying member method code with example usage: obj.get_dataset(ds_id, ds_info) and returns: darr, darr