class_docstr: Filehandler for l1 SLSTR data.
  
  By default, the calibration factors recommended by EUMETSAT are applied.
  This is required as the SLSTR VIS channels are producing slightly incorrect
  radiances that require adjustment.
  Satpy uses the radiance corrections in S3.PN-SLSTR-L1.08, checked 11/03/2022.
  User-supplied coefficients can be passed via the `user_calibration` kwarg
  This should be a dict of channel names (such as `S1_nadir`, `S8_oblique`).
  
  For example::
  
      calib_dict = {'S1_nadir': 1.12}
      scene = satpy.Scene(filenames,
                          reader='slstr-l1b',
                          reader_kwargs={'user_calib': calib_dict})
  
  Will multiply S1 nadir radiances by 1.12.
docstr: Calibrate.
docstr_tok: ["Calibrate","."]
code: def _cal_rad(rad, didx, solar_flux=None):
      """Calibrate."""
      indices = np.isfinite(didx)
      rad[indices] /= solar_flux[didx[indices].astype(int)]
      return rad
  
imports: import logging
  import os
  import re
  import warnings
  from datetime import datetime
  import dask.array
  import numpy
  import xarray
  from satpy.readers.file_handlers import BaseFileHandler
  from satpy.utils import get_legacy_chunk_size
label_desc: Use image node_id 3 for calling the NCSLSTR1B obj's underlying member method code with example usage: obj._cal_rad(rad, didx, solar_flux) and returns: rad