How to unit test this method?
As far as testing the method itself:
In most testing frameworks, you would create parameterized tests that provide the inputs and expected outputs.

NUnit example below (omitting setup code to build ObjectUnderTest):

[TestCaseSource ("GetPrepTestData")]
public void TestPrepareAndScheduleFlowJob (string inputCoords, FlowJob expectedJob)
{
   var  outputJob = ObjectUnderTest.PrepareAndScheduleFlowModelJob (inputCoords);
   Assert.That (outputJob, Is.EqualTo (expectedJob));
}

private static IEnumerable&lt;TestCaseData&gt; GetPrepTestData ()
{
   yield return new TestCaseData ("some coord string", new FlowJob (expectedId)).SetName ("first test");
   yield break;
}


The private method calls can largely be ignored unless they have external dependencies, in which case you should add some injection and mocking with your parent object.  This will allow you to ensure your private method calls inside PrepareAndScheduleFlowJob execute quickly and return expected results.

edit:
The above solution requires that you override Object.Equals.  You could change the assert to a set of asserts for testing equality, but Object.Equals overrides are preferable, as it will cover FlowJob and any future/current subclasses in addition to providing equality check capability to anyone using the class.  Additionally, in a framework like NUnit, overriding Object.ToString is highly recommended, as many test frameworks will call ToString when printing assert failures, and having something more than just the type name is useful when assessing why your tests may have failed.