# OCO907.cfg
# 
#  Launch AUV near waypoint LAUNCH N36 50.00015 W121 49.36392
#   approx 100 meters west of "ML6" buoy
#
#  Waypoints and survey lines are in ProjectLibrary X:\368000_DMO_AUV\WinFrog\OCO907
#
#  Segment A to B 16918 meters
#          B to C  5360
#          C to D 16918
#          D to E  6040
#          E to F 14327
#          F to G 17634
#  Total          80404 meters
#
#  GULPER FIRINGS all at 3 meters depth on descent
#
# 
#
#  Gulper  Lat      Long       Waypoint
#
#  0       36.8333  -121.8272  A
#  1       36.8333  -121.9033  G
#  2       36.8333  -122.0528  B
#  3       36.8816  -122.0528  C
#  4       36.8816  -121.9400  C3
#  5       36.8816  -121.8550  D
#  6       36.9272  -121.8902  E
#  7       36.9272  -121.9734  Gulp7
#  8       36.9272  -122.0528  F
#  9       36.8333  -121.9033  G
#
#should be 18 hour mission, set timer to 24 hours
#set timeout in seconds
behavior missionTimer {
timeOut = 86400;
}

behavior depthEnvelope {
  minDepth = 0;
  maxDepth = 100;
  abortDepth = 300;
  abortAltitude = 2.5;
  abortLockoutDepth = 10.0;
}

#
# Mission End
#

# acquire gps fix
behavior getgps {
duration = 7200;
minHits = 45;
abortOnTimeout = False;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = rudder;
horizontal = 2;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

# Descend behavior to 10 meters
behavior descend {
horizontalMode = rudder;
horizontal = 2;
pitch = -15;
speed = 1.5;
maxDepth = 10;
minAltitude = 9;
duration = 120;
}

# Fire gulper 09 at 3 m depth
behavior FireTheGulper {
        duration = 2;
        gulperToFire = 9;
}

# Descend behavior to 3 meters
behavior descend {
horizontalMode = rudder;
horizontal = 2;
pitch = -15;
speed = 1.5;
maxDepth = 3;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 128;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = rudder;
horizontal = 2;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint G
#N36 49.99800 W121 54.19800
# water depth 71 meters
# leg distance 1000 meters
behavior waypoint_yoyo {
latitude = 36.8333;
longitude = -121.9033;
captureRadius = 10;
duration = 1000;
speed = 1.35;
minDepth = 2.0;
maxDepth = 66;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 128;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 128;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 128;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint F5
#N36 50.33260 W121 54.72966
# water depth 71 meters
# leg distance 2700 meters
behavior waypoint_yoyo {
latitude = 36.8389;
longitude = -121.9122;
captureRadius = 10;
duration = 2700;
speed = 1.35;
minDepth = 2.0;
maxDepth = 66;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 128;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 128;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 128;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint F4
#N36 51.23092 W121 56.15740
# water depth 64 meters
# leg distance 3300 meters
behavior waypoint_yoyo {
latitude = 36.8538;
longitude = -121.9360;
captureRadius = 10;
duration = 3300;
speed = 1.35;
minDepth = 2.0;
maxDepth = 59;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 128;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 128;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 128;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint F3
#N36 52.33165 W121 57.90836
# water depth 36 meters
# leg distance 3300 meters
behavior waypoint_yoyo {
latitude = 36.8722;
longitude = -121.9651;
captureRadius = 10;
duration = 3300;
speed = 1.35;
minDepth = 2.0;
maxDepth = 31;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 128;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 128;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 128;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint F2
#N36 53.43370 W121 59.66312
# water depth 36 meters
# leg distance 3300 meters
behavior waypoint_yoyo {
latitude = 36.8906;
longitude = -121.9944;
captureRadius = 10;
duration = 3300;
speed = 1.35;
minDepth = 2.0;
maxDepth = 31;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 128;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 128;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 128;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint F1
#N36 54.53306 W122 01.41515
# water depth 29 meters
# leg distance 3300 meters
behavior waypoint_yoyo {
latitude = 36.9089;
longitude = -122.0235;
captureRadius = 10;
duration = 3300;
speed = 1.35;
minDepth = 2.0;
maxDepth = 24;
minAltitude = 6.5;
maxCycles = 2000;
}

# Fire gulper 08 at 3 m depth
behavior FireTheGulper {
        duration = 2;
        gulperToFire = 8;
}

# Descend behavior to 3 meters
behavior descend {
horizontalMode = heading;
horizontal = 128;
pitch = -15;
speed = 1.5;
maxDepth = 3;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 128;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = rudder;
horizontal = 2;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint F
#N36 55.63200 W122 03.16800
# water depth 31 meters
# leg distance 1000 meters
behavior waypoint_yoyo {
latitude = 36.9272;
longitude = -122.0528;
captureRadius = 10;
duration = 1000;
speed = 1.35;
minDepth = 2.0;
maxDepth = 26;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 270;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 270;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 270;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint E4
#N36 55.63262 W122 02.48450
# water depth 25 meters
# leg distance 3400 meters
behavior waypoint_yoyo {
latitude = 36.9272;
longitude = -122.0414;
captureRadius = 10;
duration = 3400;
speed = 1.35;
minDepth = 2.0;
maxDepth = 20;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 270;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 270;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 270;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint E3
#N36 55.63345 W122 00.19369
# water depth 23 meters
# leg distance 2660 meters
behavior waypoint_yoyo {
latitude = 36.9272;
longitude = -122.0032;
captureRadius = 10;
duration = 2660;
speed = 1.35;
minDepth = 2.0;
maxDepth = 18;
minAltitude = 6.5;
maxCycles = 2000;
}

# Fire gulper 07 at 3 m depth
behavior FireTheGulper {
        duration = 2;
        gulperToFire = 7;
}

# Descend behavior to 3 meters
behavior descend {
horizontalMode = heading;
horizontal = 270;
pitch = -15;
speed = 1.5;
maxDepth = 3;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 270;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 270;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint Gulp7
#N36 55.63200 W121 58.40400
# water depth 23 meters
# leg distance 1900 meters
behavior waypoint_yoyo {
latitude = 36.9272;
longitude = -121.9734;
captureRadius = 10;
duration = 3300;
speed = 1.35;
minDepth = 2.0;
maxDepth = 18;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 270;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 270;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 270;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint E2
#N36 55.63317 W121 57.02540
# water depth 22 meters
# leg distance 1900 meters
behavior waypoint_yoyo {
latitude = 36.9272;
longitude = -121.9504;
captureRadius = 10;
duration = 1900;
speed = 1.35;
minDepth = 2.0;
maxDepth = 17;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 270;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 270;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 270;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint E1
#N36 55.63318 W121 55.74357
# water depth 16 meters
# leg distance 3300 meters
behavior waypoint_yoyo {
latitude = 36.9272;
longitude = -121.9291;
captureRadius = 10;
duration = 3300;
speed = 1.35;
minDepth = 2.0;
maxDepth = 11;
minAltitude = 6.5;
maxCycles = 2000;
}

# Fire gulper 06 at 3 m depth
behavior FireTheGulper {
        duration = 2;
        gulperToFire = 6;
}

# Descend behavior to 3 meters
behavior descend {
horizontalMode = heading;
horizontal = 270;
pitch = -15;
speed = 1.5;
maxDepth = 3;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 270;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = rudder;
horizontal = 2;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint E
#N36 55.63200 W121 53.52000
# water depth 16 meters
# leg distance 1000 meters
behavior waypoint_yoyo {
latitude = 36.9272;
longitude = -121.8920;
captureRadius = 10;
duration = 1000;
speed = 1.35;
minDepth = 2.0;
maxDepth = 11;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 327;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 327;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 327;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint D2
#N36 55.17459 W121 53.14856
# water depth 16 meters
# leg distance 1700 meters
behavior waypoint_yoyo {
latitude = 36.9196;
longitude = -121.8858;
captureRadius = 10;
duration = 1700;
speed = 1.35;
minDepth = 2.0;
maxDepth = 11;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 327;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 327;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 327;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint D1
#N36 54.39602 W121 52.51666
# water depth 16 meters
# leg distance 3300 meters
behavior waypoint_yoyo {
latitude = 36.9066;
longitude = -121.8753;
captureRadius = 10;
duration = 3300;
speed = 1.35;
minDepth = 2.0;
maxDepth = 11;
minAltitude = 6.5;
maxCycles = 2000;
}

# Fire gulper 05 at 3 m depth
behavior FireTheGulper {
        duration = 2;
        gulperToFire = 5;
}

# Descend behavior to 3 meters
behavior descend {
horizontalMode = heading;
horizontal = 327;
pitch = -15;
speed = 1.5;
maxDepth = 3;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 327;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = rudder;
horizontal = 2;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint D
#N36 52.89600 W121 51.30000
# water depth 18 meters
# leg distance 1100 meters
behavior waypoint_yoyo {
latitude = 36.8816;
longitude = -121.8550;
captureRadius = 10;
duration = 1100;
speed = 1.35;
minDepth = 2.0;
maxDepth = 13;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 90;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 90;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 90;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint C5
#N36 52.89654 W121 52.04044
# water depth 20 meters
# leg distance 3300 meters
behavior waypoint_yoyo {
latitude = 36.8816;
longitude = -121.8673;
captureRadius = 10;
duration = 3300;
speed = 1.35;
minDepth = 2.0;
maxDepth = 15;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 90;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 90;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 90;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint C4
#N36 52.89800 W121 54.26525
# water depth 34 meters
# leg distance 3200 meters
behavior waypoint_yoyo {
latitude = 36.8816;
longitude = -121.9044;
captureRadius = 10;
duration = 3200;
speed = 1.35;
minDepth = 2.0;
maxDepth = 29;
minAltitude = 6.5;
maxCycles = 2000;
}

# Fire gulper 04 at 3 m depth
behavior FireTheGulper {
        duration = 2;
        gulperToFire = 4;
}

# Descend behavior to 3 meters
behavior descend {
horizontalMode = heading;
horizontal = 90;
pitch = -15;
speed = 1.5;
maxDepth = 3;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 90;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 90;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint C3
#N36 52.89843 W121 56.49027
# water depth 38 meters
# leg distance 3450 meters
behavior waypoint_yoyo {
latitude = 36.8816;
longitude = -121.9400;
captureRadius = 10;
duration = 3450;
speed = 1.35;
minDepth = 2.0;
maxDepth = 33;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 90;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 90;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 90;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint C2
#N36 52.89840 W121 58.71711
# water depth 44 meters
# leg distance 3300 meters
behavior waypoint_yoyo {
latitude = 36.8816;
longitude = -121.9786;
captureRadius = 10;
duration = 3300;
speed = 1.35;
minDepth = 2.0;
maxDepth = 39;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 90;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 90;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 90;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint C1
#N36 52.89751 W122 00.93867
# water depth 55 meters
# leg distance 3300 meters
behavior waypoint_yoyo {
latitude = 36.8816;
longitude = -122.0156;
captureRadius = 10;
duration = 3300;
speed = 1.35;
minDepth = 2.0;
maxDepth = 50;
minAltitude = 6.5;
maxCycles = 2000;
}

# Fire gulper 03 at 3 m depth
behavior FireTheGulper {
        duration = 2;
        gulperToFire = 3;
}

# Descend behavior to 3 meters
behavior descend {
horizontalMode = heading;
horizontal = 90;
pitch = -15;
speed = 1.5;
maxDepth = 3;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 90;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = rudder;
horizontal = 2;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint C
#N36 52.89600 W122 03.16800
# water depth 64 meters
# leg distance 1000 meters
behavior waypoint_yoyo {
latitude = 36.8816;
longitude = -122.0528;
captureRadius = 10;
duration = 1000;
speed = 1.35;
minDepth = 2.0;
maxDepth = 59;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 7;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 7;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 7;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint B2
#N36 52.35476 W122 03.16771
# water depth 73 meters
# leg distance 2650 meters
behavior waypoint_yoyo {
latitude = 36.8726;
longitude = -122.05280;
captureRadius = 10;
duration = 2650;
speed = 1.35;
minDepth = 2.0;
maxDepth = 68;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 7;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 7;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 7;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint B1
#N36 51.46915 W122 03.16795
# water depth 87 meters
# leg distance 2700 meters
behavior waypoint_yoyo {
latitude = 36.8578;
longitude = -122.0528;
captureRadius = 10;
duration = 2700;
speed = 1.35;
minDepth = 2.0;
maxDepth = 82;
minAltitude = 6.5;
maxCycles = 2000;
}

# Fire gulper 02 at 3 m depth
behavior FireTheGulper {
        duration = 2;
        gulperToFire = 2;
}

# Descend behavior to 3 meters
behavior descend {
horizontalMode = heading;
horizontal = 7;
pitch = -15;
speed = 1.5;
maxDepth = 3;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 7;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = rudder;
horizontal = 2;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint B
#N36 49.99800 W122 03.16800
# water depth 91 meters
# leg distance 1000 meters
behavior waypoint_yoyo {
latitude = 36.8333;
longitude = -122.0528;
captureRadius = 10;
duration = 1000;
speed = 1.35;
minDepth = 2.0;
maxDepth = 86;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 270;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 270;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 270;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint A6
#N36 49.99880 W122 02.49536
# water depth 89 meters
# leg distance 2600 meters
behavior waypoint_yoyo {
latitude = 36.8333;
longitude = -122.0416;
captureRadius = 10;
duration = 2600;
speed = 1.35;
minDepth = 2.0;
maxDepth = 84;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 270;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 270;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 270;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint A5
#N36 49.99967 W122 00.76467
# water depth 85 meters
# leg distance 3300 meters
behavior waypoint_yoyo {
latitude = 36.8333;
longitude = -122.0127;
captureRadius = 10;
duration = 3300;
speed = 1.35;
minDepth = 2.0;
maxDepth = 81;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 270;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 270;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}


# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 270;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint A4
#N36 50.00098 W121 58.54250
# water depth 80 meters
# leg distance 3300 meters
behavior waypoint_yoyo {
latitude = 36.8333;
longitude = -121.9757;
captureRadius = 10;
duration = 3300;
speed = 1.35;
minDepth = 2.0;
maxDepth = 75;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 270;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 270;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 270;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint A3
#N36 50.00160 W121 56.32056
# water depth 40 meters
# leg distance 3200 meters
behavior waypoint_yoyo {
latitude = 36.8333;
longitude = -121.9387;
captureRadius = 10;
duration = 3200;
speed = 1.35;
minDepth = 2.0;
maxDepth = 35;
minAltitude = 6.5;
maxCycles = 2000;
}

# Fire gulper 01 at 3 m depth
behavior FireTheGulper {
        duration = 2;
        gulperToFire = 1;
}

# Descend behavior to 3 meters
behavior descend {
horizontalMode = heading;
horizontal = 270;
pitch = -15;
speed = 1.5;
maxDepth = 3;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 270;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 270;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint G.
#N36 49.99800 W121 54.19800
# water depth 40 meters
# leg distance 3450 meters
behavior waypoint_yoyo {
latitude = 36.8333;
longitude = -121.9033;
captureRadius = 10;
duration = 3450;
speed = 1.35;
minDepth = 2.0;
maxDepth = 35;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 270;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 270;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 270;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Leg to waypoint A1
#N36 49.99980  W121 51.85665
# water depth 25 meters
# leg distance 3300 meters
behavior waypoint_yoyo {
latitude = 36.8333;
longitude = -121.8643;
captureRadius = 10;
duration = 3300;
speed = 1.35;
minDepth = 2.0;
maxDepth = 20;
minAltitude = 6.5;
maxCycles = 2000;
}

# Fire gulper 00 at 3 m depth
behavior FireTheGulper {
        duration = 2;
        gulperToFire = 0;
}

# Descend behavior to 3 meters
behavior descend {
horizontalMode = heading;
horizontal = 270;
pitch = -15;
speed = 1.5;
maxDepth = 3;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 270;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 45;
abortOnTimeout = True;
}

# ascend behavior
behavior ascend {
duration = 1200;
horizontalMode = heading;
horizontal = 270;
pitch = 20;
speed = 1.5;
endDepth = 2;
}

#Initial leg to waypoint A - start of line
#N36 49.9980  W121 49.6320
# water depth 18 meters
# leg distance 400 meters
behavior waypoint_yoyo {
latitude = 36.8333;
longitude = -121.8272;
captureRadius = 10;
duration = 600;
speed = 1.35;
minDepth = 2.0;
maxDepth = 13;
minAltitude = 6.5;
maxCycles = 2000;
}

# Descend behavior to 5 meters
behavior descend {
horizontalMode = heading;
horizontal = 270;
pitch = -15;
speed = 1.5;
maxDepth = 5;
minAltitude = 9;
duration = 60;
}

# setpoint on surface to gather momentum
behavior setpoint {
duration = 30;
heading = 270;
speed = 1.5;
verticalMode = pitch;
pitch = 0;
}

# acquire gps fix
behavior getgps {
duration = 600;
minHits = 30;
abortOnTimeout = False;
}
