class_docstr: NetCDF4 reader for VIIRS Active Fires.
class_docstr_tok: ["NetCDF4","reader","for","VIIRS","Active","Fires","."]
docstr: Initialize the geo filehandler.
docstr_tok: ["Initialize","the","geo","filehandler","."]
code: def __init__(self, filename, filename_info, filetype_info, **kwargs):
      """Initialize the geo filehandler."""
      super(VIIRSJRRFileHandler, self).__init__(
          filename, filename_info, filetype_info
      )
      # use entire scans as chunks
      row_chunks_m = max(
          get_chunk_size_limit() // 4 // M_COLS, 1
      )  # 32-bit floats
      row_chunks_i = row_chunks_m * 2
      self.nc = xr.open_dataset(
          self.filename,
          decode_cf=True,
          mask_and_scale=True,
          chunks={
              "Columns": -1,
              "Rows": row_chunks_m,
              "Along_Scan_375m": -1,
              "Along_Track_375m": row_chunks_i,
              "Along_Scan_750m": -1,
              "Along_Track_750m": row_chunks_m,
          },
      )
  
      # For some reason, no 'standard_name' is defined in some netCDF files, so
      # here we manually make the definitions.
      if "Latitude" in self.nc:
          self.nc["Latitude"].attrs.update(
              {"standard_name": "latitude"}
          )
      if "Longitude" in self.nc:
          self.nc["Longitude"].attrs.update(
              {"standard_name": "longitude"}
          )
  
      self.algorithm_version = filename_info["platform_shortname"]
      self.sensor_name = "viirs"
  
imports: from __future__ import annotations
  import logging
  from typing import Iterable
  import dask.array
  import xarray
  from satpy import DataID
  from satpy.readers.file_handlers import BaseFileHandler
  from satpy.utils import get_chunk_size_limit
label_desc: Use image node_id 1 to create a new VIIRSJRRFileHandler object from inherited base classes: BaseFileHandler with example: obj = VIIRSJRRFileHandler(filename, filename_info, filetype_info)