docs: def load_step_specifications(self, file_name, short=False,
                                   dataset_number=None):
          """ Load a table that contains step-type definitions.
  
          This function loads a file containing a specification for each step or
          for each (cycle_number, step_number) combinations if short==False. The
          step_cycle specifications that are allowed are stored in the variable
          cellreader.list_of_step_types.
          """
  
          dataset_number = self._validate_dataset_number(dataset_number)
          if dataset_number is None:
              self._report_empty_dataset()
              return
  
          # if short:
          #     # the table only consists of steps (not cycle,step pairs) assuming
          #     # that the step numbers uniquely defines step type (this is true
          #     # for arbin at least).
          #     raise NotImplementedError
  
          step_specs = pd.read_csv(file_name, sep=prms.Reader.sep)
          if "step" not in step_specs.columns:
              self.logger.info("step col is missing")
              raise IOError
  
          if "type" not in step_specs.columns:
              self.logger.info("type col is missing")
              raise IOError
  
          if not short and "cycle" not in step_specs.columns:
              self.logger.info("cycle col is missing")
              raise IOError
  
          self.make_step_table(custom_step_definition=True,
                               step_specifications=step_specs,
                               short=short)