# mission timer set to 120% of estimated time of mission
behavior missionTimer {
timeOut = 90000;
}

# depth envelope set to commanded + 5 m, abort at commanded + 10
behavior depthEnvelope {
 minDepth = 0;
 maxDepth     = 255;
 abortDepth   = 260;
 abortAltitude  = 2.5;
}


# Eighth leg of run from waypoint M1.5 to C1.5 (near head of canyon), will probably be short
# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for end of mission
# Waypoint Chavez_Survey_Start
behavior waypoint_yoyo {
latitude     = 36.773;
longitude     = -121.9348;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 200;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 70;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 70;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}



# Seventh leg of run from waypoint M1.5 to C1.5 (near head of canyon)
# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 23.1 km downrange
# Waypoint ACI_7
behavior waypoint_yoyo {
latitude     = 36.7702;
longitude     = -121.9496;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 200;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 70;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 70;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# Sixth leg of run from waypoint M1.5 to C1.5 (deep water)
# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 19.8 km downrange
# Waypoint ACI_6
behavior waypoint_yoyo {
latitude     = 36.7633;
longitude     = -121.9854;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 70;
pitch        = -15;
speed        = 1.6;
maxDepth     = 10;
duration     = 90;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 70;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}



# Fifth leg of run from waypoint M1.5 to C1.5 (deep water)
# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 16.5 km downrange
# Waypoint ACI_5
behavior waypoint_yoyo {
latitude     = 36.7564;
longitude     = -122.0214;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 70;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 70;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}


# Fourth leg of run from waypoint M1.5 to C1.5 (deep water)
# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 13.2 km downrange
# Waypoint ACI_4
behavior waypoint_yoyo {
latitude     = 36.7497;
longitude     = -122.0573;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 70;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 70;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# Third leg of run from waypoint M1.5 to C1.5 (deep water)
# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 9.9 km downrange.
# Waypoint ACI_3
behavior waypoint_yoyo {
latitude     = 36.7427;
longitude     = -122.0932;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 70;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 70;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}


# Second leg of run from waypoint M1.5 to C1.5 (deep water)
# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 6.6 km downrange.
# Waypoint ACI_2
behavior waypoint_yoyo {
latitude     = 36.7357;
longitude     = -122.1290;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 70;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 70;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}


# First leg of run from waypoint M1.5 to C1.5 (deep water)
# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 3.3 km downrange.
# Waypoint ACI_1
behavior waypoint_yoyo {
latitude     = 36.7290;
longitude     = -122.1649;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 70;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 70;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Leg 1 to waypoint: ChavezSurveyEnd
# N36 43.3200 W122 12.0420
behavior waypoint_yoyo {
latitude     = 36.7220;
longitude     = -122.2007;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 3.3 km downrange.
# Waypoint ACI_1
behavior waypoint_yoyo {
latitude     = 36.7290;
longitude     = -122.1649;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 6.6 km downrange.
# Waypoint ACI_2
behavior waypoint_yoyo {
latitude     = 36.7357;
longitude     = -122.1290;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 9.9 km downrange.
# Waypoint ACI_3
behavior waypoint_yoyo {
latitude     = 36.7427;
longitude     = -122.0932;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 13.2 km downrange
# Waypoint ACI_4
behavior waypoint_yoyo {
latitude     = 36.7497;
longitude     = -122.0573;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 16.5 km downrange
# Waypoint ACI_5
behavior waypoint_yoyo {
latitude     = 36.7564;
longitude     = -122.0214;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 19.8 km downrange
# Waypoint ACI_6
behavior waypoint_yoyo {
latitude     = 36.7633;
longitude     = -121.9854;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 23.1 km downrange
# Waypoint ACI_7
behavior waypoint_yoyo {
latitude     = 36.7702;
longitude     = -121.9496;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 200;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 180;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 180;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# Eighth leg of run from waypoint M1.5 to C1.5 (near head of canyon), will probably be short
# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for end of mission
# Waypoint Chavez_Survey_Start
behavior waypoint_yoyo {
latitude     = 36.773;
longitude     = -121.9348;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 200;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 70;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 70;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}



# Seventh leg of run from waypoint M1.5 to C1.5 (near head of canyon)
# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 23.1 km downrange
# Waypoint ACI_7
behavior waypoint_yoyo {
latitude     = 36.7702;
longitude     = -121.9496;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 200;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 70;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 70;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# Sixth leg of run from waypoint M1.5 to C1.5 (deep water)
# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 19.8 km downrange
# Waypoint ACI_6
behavior waypoint_yoyo {
latitude     = 36.7633;
longitude     = -121.9854;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 70;
pitch        = -15;
speed        = 1.6;
maxDepth     = 10;
duration     = 90;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 70;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}



# Fifth leg of run from waypoint M1.5 to C1.5 (deep water)
# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 16.5 km downrange
# Waypoint ACI_5
behavior waypoint_yoyo {
latitude     = 36.7564;
longitude     = -122.0214;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 70;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 70;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}


# Fourth leg of run from waypoint M1.5 to C1.5 (deep water)
# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 13.2 km downrange
# Waypoint ACI_4
behavior waypoint_yoyo {
latitude     = 36.7497;
longitude     = -122.0573;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 70;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 70;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# Third leg of run from waypoint M1.5 to C1.5 (deep water)
# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 9.9 km downrange.
# Waypoint ACI_3
behavior waypoint_yoyo {
latitude     = 36.7427;
longitude     = -122.0932;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 70;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 70;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}


# Second leg of run from waypoint M1.5 to C1.5 (deep water)
# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 6.6 km downrange.
# Waypoint ACI_2
behavior waypoint_yoyo {
latitude     = 36.7357;
longitude     = -122.1290;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 70;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 70;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}


# First leg of run from waypoint M1.5 to C1.5 (deep water)
# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 3.3 km downrange.
# Waypoint ACI_1
behavior waypoint_yoyo {
latitude     = 36.7290;
longitude     = -122.1649;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 70;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 70;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Leg 1 to waypoint: ChavezSurveyEnd
# N36 43.3200 W122 12.0420
behavior waypoint_yoyo {
latitude     = 36.7220;
longitude     = -122.2007;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 3.3 km downrange.
# Waypoint ACI_1
behavior waypoint_yoyo {
latitude     = 36.7290;
longitude     = -122.1649;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 6.6 km downrange.
# Waypoint ACI_2
behavior waypoint_yoyo {
latitude     = 36.7357;
longitude     = -122.1290;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 9.9 km downrange.
# Waypoint ACI_3
behavior waypoint_yoyo {
latitude     = 36.7427;
longitude     = -122.0932;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 13.2 km downrange
# Waypoint ACI_4
behavior waypoint_yoyo {
latitude     = 36.7497;
longitude     = -122.0573;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 16.5 km downrange
# Waypoint ACI_5
behavior waypoint_yoyo {
latitude     = 36.7564;
longitude     = -122.0214;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 19.8 km downrange
# Waypoint ACI_6
behavior waypoint_yoyo {
latitude     = 36.7633;
longitude     = -121.9854;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 250;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point 23.1 km downrange
# Waypoint ACI_7
behavior waypoint_yoyo {
latitude     = 36.7702;
longitude     = -121.9496;
captureRadius = 10;
duration     = 2200;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 200;
minAltitude    = 50;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 256;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 256;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration  = 1200;
horizontalMode   = rudder;
horizontal       = 10;
pitch            = 20;
speed            = 1.6;
endDepth         = 2;
}

# waypoint behavior
# Aiming for point chavez_start. Second 45 minute leg
behavior waypoint_yoyo {
latitude     = 36.773;
longitude     = -121.9348;
captureRadius = 10;
duration     = 1000;
speed        = 1.6;
minDepth       = 3;
maxDepth       = 100;
minAltitude    = 7.5;
maxCycles      = 1000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode   = heading;
horizontal      = 180;
pitch        = -15;
speed        = 1.6;
maxDepth     = 5;
duration     = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration     = 30;
heading      = 180;
speed        = 1.6;
verticalMode = pitch;
pitch        = 0;
}

# acquire gps fix
behavior getgps {
duration = 300;
minHits = 30;
abortOnTimeout = True;
}
