docs: def _extract_columns(d, tmp_tso, pc):
      """
      Extract data from one paleoData column
      :param dict d: Column dictionary
      :param dict tmp_tso: TSO dictionary with only root items
      :return dict: Finished TSO
      """
      logger_ts.info("enter extract_columns")
      for k, v in d.items():
          if isinstance(v, dict):
              flat_data = _extract_nested(pc + "_" + k, v, {})
              for n,m in flat_data.items():
                  tmp_tso[n] = m
          else:
              # Assume if it's not a special nested case, then it's a string value
              tmp_tso[pc + '_' + k] = v
      return tmp_tso