docs: def _put_table(D, name, table):
      """
      Use the dataset and name to place the new table data into the dataset.
  
      :param dict D: Dataset
      :param str name: Table name / path to store new table
      :param dict table: Newly created table data
      :return dict D: Dataset
      """
  
      try:
          # print("Placing table: {}".format(name))
          table["tableName"] = name
          m = re.match(re_table_name, name)
          if m:
              _pc = m.group(1) + "Data"
              _section = m.group(1) + m.group(2)
              # place a measurement table
              if m.group(3) == "measurement":
                  # This shouldn't happen. User chose one of our options. That should be an empty location.
                  if name in D[_pc][_section]["measurementTable"]:
                      print("Oops. This shouldn't happen. That table path is occupied in the dataset")
                  # Place the data
                  else:
                      D[_pc][_section]["measurementTable"][name] = table
              # place a model table type
              else:
                  _model = _section + m.group(3) + m.group(4)
                  _tt = m.group(5) + "Table"
                  if name in D[_pc][_model][_tt]:
                      print("Oops. This shouldn't happen. That table path is occupied in the dataset")
                  else:
                      D[_pc][_model][_tt][name] = table
  
          else:
              print("Oops. This shouldn't happen. That table name doesn't look right. Please report this error")
              return
  
      except Exception as e:
          print("addTable: Unable to put the table data into the dataset, {}".format(e))
  
      return D