code: def writeSwarmDescription(self, csvPath, outPath, 
                      predictedField=None, swarmParams=None):
      
      if self._confluence is None:
        raise Exception("Missing Confluence! Cannot attempt operation requiring "
                        "data without first loading the data.")
      if predictedField is None:
        predictedField = self._predictedField
      fields = self._createFieldDescription()
      swarmDesc = createSwarmDescription(
        fields, csvPath, predictedField, swarmParams=swarmParams
      )
      with open(outPath, "w") as swarmOut:
        swarmOut.write(json.dumps(swarmDesc))
docs: Writes swarm description file (JSON).
      :param csvPath: path to CSV data
      :param outPath: absolute or relative file path to write swarm JSON file 
      :param predictedField: (string)
      :param swarmParams: (dict) overrides any swarm params