class_docstr: VIIRS L1B File Reader.
class_docstr_tok: ["VIIRS","L1B","File","Reader","."]
docstr: Adjust scaling factors.
docstr_tok: ["Adjust","scaling","factors","."]
code: def adjust_scaling_factors(self, factors, file_units, output_units):
      """Adjust scaling factors."""
      if factors is None or factors[0] is None:
          factors = [1, 0]
      if file_units == output_units:
          LOG.debug(
              "File units and output units are the same (%s)",
              file_units,
          )
          return factors
      factors = np.array(factors)
  
      if file_units == "W cm-2 sr-1" and output_units == "W m-2 sr-1":
          LOG.debug(
              "Adjusting scaling factors to convert '%s' to '%s'",
              file_units,
              output_units,
          )
          factors[::2] = np.where(
              factors[::2] != -999, factors[::2] * 10000.0, -999
          )
          factors[1::2] = np.where(
              factors[1::2] != -999, factors[1::2] * 10000.0, -999
          )
          return factors
      elif file_units == "1" and output_units == "%":
          LOG.debug(
              "Adjusting scaling factors to convert '%s' to '%s'",
              file_units,
              output_units,
          )
          factors[::2] = np.where(
              factors[::2] != -999, factors[::2] * 100.0, -999
          )
          factors[1::2] = np.where(
              factors[1::2] != -999, factors[1::2] * 100.0, -999
          )
          return factors
      else:
          return factors
  
imports: import logging
  from datetime import datetime
  import numpy
  from satpy.readers.netcdf_utils import NetCDF4FileHandler
label_desc: Use image node_id 6 for calling the VIIRSL1BFileHandler obj's underlying member method code with example usage: obj.adjust_scaling_factors(factors, file_units, output_units) and returns: factors, factors, factors, factors