code: def set_value(self, section, variable, value):
          
          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)
docs: 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.