Eddie has simulated
gradient climbing in 2D for three gliders
near a front, all using the ICON data.
Here, the vertical dashed
lines define the "predicted" front.
The ICON data (temperature data shown)
provides the "truth".   The "predicted" front
is clearly in error since the true front is
a couple of kilometers to the left.
The purpose of the gradient climbing
is to allow the gliders to use the observational
data to correct for the error in predicted
front location.

The gliders surface every two hours, get GPS
and establish two-way communication.
With the predicted flow data (a noisy version
of the ICON "truth" data) and the new observations
(notably glider positions and temperature measurements),
the VBAP method is used to plan the paths of the
three gliders for the next two hours.

In this plan, the virtual body which directs
the gliders is attracted to a
"daily goal-like potential" which is far "up"
along the dotted lines to make sure
the gliders don't go too far astray from
the prediction.  At the same time
the virtual body is driven to follow
a temperature gradient computed
from the temperature measurements from
the 3 gliders.  As in Clancy's earlier
notes and simulation, only the component
of the temperature gradient normal to the
virtual body motion is used so that the
virtual body will still converge to the minimum
of the attracting potential along the predicted
front.  We have put the attracting potential
far away so that the gliders can move away for
a while to find the front.

The relative weighting between the control term associated
to the attracting potential and the temperature gradient
term is a design parameter.  This should be chosen
based on trust of observations vs model (the model
error predictions might help us judge this in the future.)

Once the path for the next two hours is computed,
it is recomputed (actually this is done in parallel)
in the absence of the flow (here, we conservatively
have assumed that when underwater the gliders
take the currents to be zero when dead reckoning).
This path is then discretized into waypoints (least-squares
minimization is used).

The waypoints are passed to the glider 2nd order
dynamic simulation.  This is the 2D version which
assumes constant 40 cm/s translation but using the
heading dynamics and simple rudder control loop.

After two hours the vehicle resurface and the planning
starts again.

The simulation shows that the gliders move together
in a triangle towards the front as desired.

Note that Eddie's simulation is a 10 hour run.
The stars that you see indicate the position
at the surfacings every two hours.