docs: def ts_to_df(metadata):
      """
      Create a data frame from one TimeSeries object
      :param dict metadata: Time Series dictionary
      :return dict: One data frame per table, organized in a dictionary by name
      """
      logger_dataframes.info("enter ts_to_df")
      dfs = {}
  
      # Plot the variable + values vs year, age, depth (whichever are available)
      dfs["paleoData"] = pd.DataFrame(_plot_ts_cols(metadata))
  
      # Plot the chronology variables + values in a data frame
      dfs["chronData"] = _get_key_data(metadata, "chronData_df")
  
      # Take out the chronData pandas data frame object if it exists in the metadata
      # Otherwise, the data frame renderer gets crazy and errors out.
      if "chronData_df" in metadata:
          del metadata["chronData_df"]
      s = collections.OrderedDict(sorted(metadata.items()))
  
      # Put key-vars in a data frame to make it easier to visualize
      dfs["metadata"] = pd.DataFrame(list(s.items()), columns=['Key', 'Value'])
  
      logger_dataframes.info("exit ts_to_df")
      return dfs