docs: def set_value(self, section, variable, value):
          """
          Set config input value directly,
          see :mod:`pyhector.emissions` for possible values.
  
          Parameters
          ----------
          section : str
              Component in Hector config.
          variable : str
              Name of emissions variable.
          value : pandas.Series, list, tuple, float, or str
              Pandas Series, list of tuple values with time, list of tuple values
              with time and unit, single tuple, float or string as in ini config
              file.
          """
          if isinstance(value, pd.Series):  # values with time as Series
              values = list(zip(value.index, value))
              for v in values:
                  self._set_timed_double(section, variable, v[0], v[1])
          elif isinstance(value, list):  # values with time
              for v in value:
                  if len(v) == 3:  # timed value with unit
                      self._set_timed_double_unit(section, variable, v[0], v[1], v[2])
                  else:  # timed value without unit
                      self._set_timed_double(section, variable, v[0], v[1])
          elif isinstance(value, tuple):  # value with unit
              self._set_double_unit(section, variable, value[0], value[1])
          elif isinstance(value, str):  # value is string
              self._set_string(section, variable, value)
          else:  # value is only double
              self._set_double(section, variable, value)