docs: def addTable(D):
      """
      Add any table type to the given dataset. Use prompts to determine index locations and table type.
  
      :param dict D: Metadata (dataset)
      :param dict dat: Metadata (table)
      :return dict D: Metadata (dataset)
      """
  
      _swap = {
          "1": "measurement",
          "2": "summary",
          "3": "ensemble",
          "4": "distribution"
      }
  
  
      print("What type of table would you like to add?\n"
            "1: measurement\n"
            "2: summary\n"
            "3: ensemble (under development)\n"
            "4: distribution (under development)\n"
            "\n Note: if you want to add a whole model, use the addModel() function")
      _ans = input(">")
  
      if _ans in ["3", "4"]:
          print("I don't know how to do that yet.")
      # if this is a summary or measurement, split the csv into each column
      elif _ans in ["1", "2"]:
          # read in a csv file. have the user point to it
          print("Locate the CSV file with the values for this table: ")
          _path, _files = browse_dialog_file()
  
          _path = _confirm_file_path(_files)
          _values = read_csv_from_file(_path)
          _table = _build_table(_values)
          _placement = _prompt_placement(D, _swap[_ans])
          D = _put_table(D, _placement, _table)
  
      else:
          print("That's not a valid option")
  
      return D