missioncanon_esp_box{""" This mission cycles through the CANON BoxBow waypoints in the order: SE - NE - NW - SW - SE and sets the max depth for each leg. The mission can (re)start at any point within this trajectory by adjusting the `leg` parameter as needed. """arguments{# Almost every mission should start with an overall timeout and a NeedCommsTime.MissionTimeout=14hour""" Maximum duration of mission """NeedCommsTime=120minute""" How often to surface for commumications """# You probably need to change these.leg=1count""" Leg to start at (default is start at leg 1). leg 1: SE, 20m (to start position) leg 2: SE - E, 25m leg 3: E - E2, 100m leg 4: E2 - NE, 45m leg 5: NE - N, 45m leg 6: N - NW, 65m leg 7: NW - W, 65m leg 8: W - W2, 100m leg 9: W2 - SW, 65m leg 10: SW - S, 50m leg 11: S - SE, 20m leg 12: SE - ?, 20m (spare wp) """SampleInterval=4hour""" ESP sampling interval. Must be longer than the duration of a single ESP sample. """CartridgeType=-6count""" Specifies ESP cartridge type code (defaults to archive_bac: -6) """StartWithASample=true""" When true, the mission will acquire and ESP sample at the start of the mission. When false, the mission will wait for the SampleInterval before acquiring the first sample. """Lat1=36.7755degree""" Latitude of waypoint 1 (default: SE). """Lon1=-121.825degree""" Longitude of waypoint 1 (default: SE). """Lat2=36.7867degree""" Latitude of waypoint 2 (default: E). """Lon2=-121.829155degree""" Longitude of waypoint 2 (default: E). """Lat3=36.794768degree""" Latitude of waypoint 3 (default: E2). """Lon3=-121.831951degree""" Longitude of waypoint 3 (default: E2). """Lat4=36.8315degree""" Latitude of waypoint 4 (default: NE). """Lon4=-121.8457degree""" Longitude of waypoint 4 (default: NE). """Lat5=36.829608degree""" Latitude of waypoint 5 (default: N). """Lon5=-121.853778degree""" Longitude of waypoint 5 (default: N). """Lat6=36.8219degree""" Latitude of waypoint 6 (default: NW). """Lon6=-121.8856degree""" Longitude of waypoint 6 (default: NW). """Lat7=36.803838degree""" Latitude of waypoint 7 (default: W). """Lon7=-121.87895degree""" Longitude of waypoint 7 (default: W). """Lat8=36.786706degree""" Latitude of waypoint 8 (default: W2). """Lon8=-121.872579degree""" Longitude of waypoint 8 (default: W2). """Lat9=36.766degree""" Latitude of waypoint 9 (default: SW). """Lon9=-121.8649degree""" Longitude of waypoint 9 (default: SW). """Lat10=36.769648degree""" Latitude of waypoint 10 (default: S). """Lon10=-121.848834degree""" Longitude of waypoint 10 (default: S). """Lat11=36.7755degree""" Latitude of waypoint 11 (default: SE). """Lon11=-121.825degree""" Longitude of waypoint 11 (default: SE). """Lat12=NaNdegree""" Latitude of waypoint 12 (spare). """Lon12=NaNdegree""" Longitude of waypoint 12 (spare). """Speed=1meter_per_second""" Vehicle speed for the entire mission. """YoYoMinDepth=5meter""" Minimum YoYo depth for the entire mission. """YoYoMaxDepth1=20meter""" Maximum YoYo depth during leg 1. """YoYoMaxDepth2=25meter""" Maximum YoYo depth during leg 2. """YoYoMaxDepth3=100meter""" Maximum YoYo depth during leg 3. """YoYoMaxDepth4=45meter""" Maximum YoYo depth during leg 4. """YoYoMaxDepth5=45meter""" Maximum YoYo depth during leg 5. """YoYoMaxDepth6=65meter""" Maximum YoYo depth during leg 6. """YoYoMaxDepth7=65meter""" Maximum YoYo depth during leg 7. """YoYoMaxDepth8=100meter""" Maximum YoYo depth during leg 8. """YoYoMaxDepth9=65meter""" Maximum YoYo depth during leg 9. """YoYoMaxDepth10=50meter""" Maximum YoYo depth during leg 10. """YoYoMaxDepth11=20meter""" Maximum YoYo depth during leg 11. """YoYoMaxDepth12=20meter""" Maximum YoYo depth during leg 12. """YoYoMinAltitude=9meter""" Minimum altitude while performing the YoYo behavior (for bottom-terminated YoYos). """YoYoUpPitch=20degree""" Vehicle up pitch while performing the YoYo behavior. """YoYoDownPitch=-20degree""" Vehicle down pitch while performing the YoYo behavior. """# You are even less likely to need to change these.CaptureRadius=NaNmeter""" Waypoint capture radiues. """BuoyancyNeutral=Control:VerticalControl.buoyancyNeutral""" Buoyancy bladder position while performing the YoYo behavior. Defaults to buoyancyNeutral setting in the Config/Control.cfg file. Set to NaN cc for active buoyancy """MassDefault=Control:VerticalControl.massDefault""" Static setting for mass during the mission. Set to NaN mm for active mass position """MinAltitude=5meter""" Minimum height above the sea floor for the entire mission. """MaxDepth=110meter""" Maximum depth for the entire mission. """MinOffshore=2kilometer""" Minimum offshore distance for the entire mission. """}output{ElapsedSinceLastSample=0minute""" Mission variable (don't change). The mission sets this variable to reset the ESP sample timer. """ElapsedTime=0hour""" Mission variable (don't change). The mission sets this variable to reset the ESP sample timer. """FirstSample=false""" Mission variable (don't change). The mission sets this variable to trigger the first ESP sample. """}# Missions should almost always start with a timeouttimeoutduration=MissionTimeoutinsertInsert/Science.xml{""" Most missions will run the science sensors. If you don't place this aggregate above NeedComms, science instruments get turned off on the last upcast and while floating on the surface. """}# Most missions should use the NeedComms aggregate.insertInsert/NeedComms.xmlid="NeedComms"assigninsequenceNeedComms:DiveInterval=NeedCommsTime# Missions should almost always start with standard safety envelopes;# most missions should not expose the parameters of these envelopes.insertInsert/StandardEnvelopes.xmlassigninsequenceStandardEnvelopes:MinAltitude=MinAltitudeassigninsequenceStandardEnvelopes:MaxDepth=MaxDepthassigninsequenceStandardEnvelopes:MinOffshore=MinOffshoreassigninsequenceStandardEnvelopes:MaxDepth=MaxDepthassigninsequenceStandardEnvelopes:MinOffshore=MinOffshore# Automatically cycle logs every 24 hoursaggregateCycleLogs{runinparallelaggregate{runinsequencebehaviorGuidance:Wait{runinsequencesetGuidance:Wait.duration=24hour}syslogimportant"Restarting logs."behaviorGuidance:Execute{runinsequencesetGuidance:Execute.command="restart logs"}}}# Acquire ESP sample every SampleIntervalaggregateSampleTimer{runwhile(FirstSampleor(elapsed(ElapsedSinceLastSample)>SampleInterval))aggregateSampleESP{runinsequenceassigninsequenceElapsedTime=elapsed(ElapsedSinceLastSample)syslogimportant"Pre-sample comms. Elapsed time since last ESP sample: "+ElapsedTime~hourcallid="PreSampleComms"refId="NeedComms"aggregateWaitForDepth{runinsequencebreakif(Universal:depth>=YoYoMinDepth)sysloginfo"Waiting to achieve min depth of "+YoYoMinDepth~meterbehaviorGuidance:Wait{runinsequencesetGuidance:Wait.duration=30minute}}aggregateSampleESP{runinsequencebehaviorSample:AbortSample{runinparallel}syslogimportant"Sampling ESP cartridge type "+CartridgeType~countbehaviorScience:ESPCartridgeSelect{runinsequencetimeoutduration=P1MsetScience:ESPCartridgeSelect.cartridgeType=CartridgeType}readDatumid="TriggerESP"{Science:ESPComponent.sampling}readDatumid="WaitForESP"{Science:ESPComponent.sample_number}}callid="PostSampleComms"refId="NeedComms"# This assignment restarts the sample timerassigninsequenceElapsedSinceLastSample=0#<No-Units?>assigninsequenceFirstSample=false}}callid="StartingMission"refId="NeedComms"# Many missions will keep mass position and buoyancy volume fixed at defaults.behaviorGuidance:Pitch{runinparallelsetGuidance:Pitch.massPosition=MassDefault}behaviorGuidance:Buoyancy{runinparallelsetGuidance:Buoyancy.position=BuoyancyNeutral}behaviorGuidance:SetSpeed{runinparallelsetGuidance:SetSpeed.speed=Speed}behaviorGuidance:DepthEnvelope{""" Another depth envelope for the YoYo behavior. This envelope should fall within the limits of the standard safety envelopes in Insert/StandardEnvelopes.xml in order to avoid commanding high pitch angles for depth-terminated YoYos. """runinparallelsetGuidance:DepthEnvelope.minDepth=YoYoMinDepthsetGuidance:DepthEnvelope.downPitch=YoYoDownPitchsetGuidance:DepthEnvelope.upPitch=YoYoUpPitch}behaviorGuidance:AltitudeEnvelope{""" Another altitude envelope for the YoYo behavior. This envelope should fall within the limits of the standard safety envelopes in Insert/StandardEnvelopes.xml in order to avoid commanding high pitch angles for bottom-terminated YoYos. """runinparallelsetGuidance:AltitudeEnvelope.minAltitude=YoYoMinAltitudesetGuidance:AltitudeEnvelope.upPitch=YoYoUpPitch}behaviorGuidance:YoYo{runinparallelsetGuidance:YoYo.downPitch=YoYoDownPitchsetGuidance:YoYo.upPitch=YoYoUpPitch}aggregateSetWaypointsPerLegParameter{""" The following Leg2-5 aggregates adjust the Lat[] and Lon[] variables according to the `trajectory` parameter: """runinsequenceaggregateLeg2{runinsequencebreakif(leg<=1count)assigninsequenceLat1=NaNdegreeassigninsequenceLon1=NaNdegree}aggregateLeg3{runinsequencebreakif(leg<=2count)assigninsequenceLat2=NaNdegreeassigninsequenceLon2=NaNdegree}aggregateLeg4{runinsequencebreakif(leg<=3count)assigninsequenceLat3=NaNdegreeassigninsequenceLon3=NaNdegree}aggregateLeg5{runinsequencebreakif(leg<=4count)assigninsequenceLat4=NaNdegreeassigninsequenceLon4=NaNdegree}aggregateLeg6{runinsequencebreakif(leg<=5count)assigninsequenceLat5=NaNdegreeassigninsequenceLon5=NaNdegree}aggregateLeg7{runinsequencebreakif(leg<=6count)assigninsequenceLat6=NaNdegreeassigninsequenceLon6=NaNdegree}aggregateLeg8{runinsequencebreakif(leg<=7count)assigninsequenceLat7=NaNdegreeassigninsequenceLon7=NaNdegree}aggregateLeg9{runinsequencebreakif(leg<=8count)assigninsequenceLat8=NaNdegreeassigninsequenceLon8=NaNdegree}aggregateLeg10{runinsequencebreakif(leg<=9count)assigninsequenceLat9=NaNdegreeassigninsequenceLon9=NaNdegree}aggregateLeg11{runinsequencebreakif(leg<=10count)assigninsequenceLat10=NaNdegreeassigninsequenceLon10=NaNdegree}}aggregateLap{runinsequencesyslogimportant"Starting Lap"syslogimportant"Lat[1] = "+Lat1~degree+" Lon[1] = "+Lon1~degreesyslogimportant"Lat[2] = "+Lat2~degree+" Lon[2] = "+Lon2~degreesyslogimportant"Lat[3] = "+Lat3~degree+" Lon[3] = "+Lon3~degreesyslogimportant"Lat[4] = "+Lat4~degree+" Lon[4] = "+Lon4~degreesyslogimportant"Lat[5] = "+Lat5~degree+" Lon[5] = "+Lon5~degreesyslogimportant"Lat[6] = "+Lat6~degree+" Lon[6] = "+Lon6~degreesyslogimportant"Lat[7] = "+Lat7~degree+" Lon[7] = "+Lon7~degreesyslogimportant"Lat[8] = "+Lat8~degree+" Lon[8] = "+Lon8~degreesyslogimportant"Lat[9] = "+Lat9~degree+" Lon[9] = "+Lon9~degreesyslogimportant"Lat[10] = "+Lat10~degree+" Lon[10] = "+Lon10~degreesyslogimportant"Lat[11] = "+Lat11~degree+" Lon[11] = "+Lon11~degreesyslogimportant"Lat[12] = "+Lat12~degree+" Lon[12] = "+Lon12~degreeaggregateSampleOnStart{runinsequencebreakif(not(StartWithASample))# Kick off the first ESP sample.assigninsequenceFirstSample=true}# The following aggregates dispatch the waypoints behaviorsaggregateWpt1{runinsequencesyslogimportant"Navigating to box start WP. YoYoMaxDepth:"+YoYoMaxDepth1~meterbehaviorGuidance:DepthEnvelope{setGuidance:DepthEnvelope.maxDepth=YoYoMaxDepth1}behaviorGuidance:Waypoint{runinsequencesetGuidance:Waypoint.latitude=Lat1setGuidance:Waypoint.longitude=Lon1}}aggregateWpt2{runinsequencesyslogimportant"Navigating to WP2. YoYoMaxDepth: "+YoYoMaxDepth2~meterbehaviorGuidance:DepthEnvelope{setGuidance:DepthEnvelope.maxDepth=YoYoMaxDepth2}behaviorGuidance:Waypoint{runinsequencesetGuidance:Waypoint.latitude=Lat2setGuidance:Waypoint.longitude=Lon2}}aggregateWpt3{runinsequencesyslogimportant"Navigating to WP3. YoYoMaxDepth: "+YoYoMaxDepth3~meterbehaviorGuidance:DepthEnvelope{setGuidance:DepthEnvelope.maxDepth=YoYoMaxDepth3}behaviorGuidance:Waypoint{runinsequencesetGuidance:Waypoint.latitude=Lat3setGuidance:Waypoint.longitude=Lon3}}aggregateWpt4{runinsequencesyslogimportant"Navigating to WP4. YoYoMaxDepth: "+YoYoMaxDepth4~meterbehaviorGuidance:DepthEnvelope{setGuidance:DepthEnvelope.maxDepth=YoYoMaxDepth4}behaviorGuidance:Waypoint{runinsequencesetGuidance:Waypoint.latitude=Lat4setGuidance:Waypoint.longitude=Lon4}}aggregateWpt5{runinsequencesyslogimportant"Navigating to WP5. YoYoMaxDepth:"+YoYoMaxDepth5~meterbehaviorGuidance:DepthEnvelope{setGuidance:DepthEnvelope.maxDepth=YoYoMaxDepth5}behaviorGuidance:Waypoint{runinsequencesetGuidance:Waypoint.latitude=Lat5setGuidance:Waypoint.longitude=Lon5}}aggregateWpt6{runinsequencesyslogimportant"Navigating to WP6. YoYoMaxDepth:"+YoYoMaxDepth6~meterbehaviorGuidance:DepthEnvelope{setGuidance:DepthEnvelope.maxDepth=YoYoMaxDepth6}behaviorGuidance:Waypoint{runinsequencesetGuidance:Waypoint.latitude=Lat6setGuidance:Waypoint.longitude=Lon6}}aggregateWpt7{runinsequencesyslogimportant"Navigating to WP7. YoYoMaxDepth: "+YoYoMaxDepth7~meterbehaviorGuidance:DepthEnvelope{setGuidance:DepthEnvelope.maxDepth=YoYoMaxDepth7}behaviorGuidance:Waypoint{runinsequencesetGuidance:Waypoint.latitude=Lat7setGuidance:Waypoint.longitude=Lon7}}aggregateWpt8{runinsequencesyslogimportant"Navigating to WP8. YoYoMaxDepth: "+YoYoMaxDepth8~meterbehaviorGuidance:DepthEnvelope{setGuidance:DepthEnvelope.maxDepth=YoYoMaxDepth8}behaviorGuidance:Waypoint{runinsequencesetGuidance:Waypoint.latitude=Lat8setGuidance:Waypoint.longitude=Lon8}}aggregateWpt9{runinsequencesyslogimportant"Navigating to WP9. YoYoMaxDepth: "+YoYoMaxDepth9~meterbehaviorGuidance:DepthEnvelope{setGuidance:DepthEnvelope.maxDepth=YoYoMaxDepth9}behaviorGuidance:Waypoint{runinsequencesetGuidance:Waypoint.latitude=Lat9setGuidance:Waypoint.longitude=Lon9}}aggregateWpt10{runinsequencesyslogimportant"Navigating to WP10. YoYoMaxDepth: "+YoYoMaxDepth10~meterbehaviorGuidance:DepthEnvelope{setGuidance:DepthEnvelope.maxDepth=YoYoMaxDepth10}behaviorGuidance:Waypoint{runinsequencesetGuidance:Waypoint.latitude=Lat10setGuidance:Waypoint.longitude=Lon10}}aggregateWpt11{runinsequencesyslogimportant"Navigating to WP11. YoYoMaxDepth: "+YoYoMaxDepth11~meterbehaviorGuidance:DepthEnvelope{setGuidance:DepthEnvelope.maxDepth=YoYoMaxDepth11}behaviorGuidance:Waypoint{runinsequencesetGuidance:Waypoint.latitude=Lat11setGuidance:Waypoint.longitude=Lon11}}aggregateWpt12{runinsequencesyslogimportant"Navigating to WP12. YoYoMaxDepth: "+YoYoMaxDepth12~meterbehaviorGuidance:DepthEnvelope{setGuidance:DepthEnvelope.maxDepth=YoYoMaxDepth12}behaviorGuidance:Waypoint{runinsequencesetGuidance:Waypoint.latitude=Lat12setGuidance:Waypoint.longitude=Lon12}}}}
<?xml version="1.0" encoding="UTF-8"?><Missionxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="Tethys"xmlns:Units="Tethys/Units"xmlns:Control="Tethys/Control"xmlns:Guidance="Tethys/Guidance"xmlns:Sample="Tethys/Sample"xmlns:Science="Tethys/Science"xmlns:Universal="Tethys/Universal"xsi:schemaLocation="Tethys http://okeanids.mbari.org/tethys/Xml/Tethys.xsd Tethys/Units http://okeanids.mbari.org/tethys/Xml/Units.xsd Tethys/Control http://okeanids.mbari.org/tethys/Xml/Control.xsd Tethys/Sample http://okeanids.mbari.org/tethys/Xml/Sample.xsd Tethys/Science http://okeanids.mbari.org/tethys/Xml/Science.xsd Tethys/Universal http://okeanids.mbari.org/tethys/Xml/Universal.xsd Tethys/Guidance http://okeanids.mbari.org/tethys/Xml/Guidance.xsd"Id="canon_esp_box"><Description>
This mission cycles through the CANON BoxBow waypoints in the order: SE
- NE - NW - SW - SE and sets the max depth for each leg. The mission can
(re)start at any point within this trajectory by adjusting the `leg`
parameter as needed.
</Description><!-- Almost every mission should start with an overall timeout and a NeedCommsTime. --><DefineArgName="MissionTimeout"><Description>
Maximum duration of mission
</Description><Units:hour/><Value>14</Value></DefineArg><DefineArgName="NeedCommsTime"><Description>
How often to surface for commumications
</Description><Units:minute/><Value>120</Value></DefineArg><!-- You probably need to change these. --><DefineArgName="leg"><Description>
Leg to start at (default is start at leg 1). leg 1: SE, 20m (to start
position) leg 2: SE - E, 25m leg 3: E - E2, 100m leg 4: E2 - NE, 45m leg
5: NE - N, 45m leg 6: N - NW, 65m leg 7: NW - W, 65m leg 8: W - W2, 100m
leg 9: W2 - SW, 65m leg 10: SW - S, 50m leg 11: S - SE, 20m leg 12: SE -
?, 20m (spare wp)
</Description><Units:count/><Value>1</Value></DefineArg><DefineArgName="SampleInterval"><Description>
ESP sampling interval. Must be longer than the duration of a single ESP
sample.
</Description><Units:hour/><Value>4</Value></DefineArg><DefineArgName="CartridgeType"><Description>
Specifies ESP cartridge type code (defaults to archive_bac: -6)
</Description><Units:count/><Value>-6</Value></DefineArg><DefineArgName="StartWithASample"><Description>
When true, the mission will acquire and ESP sample at the start of the
mission. When false, the mission will wait for the SampleInterval before
acquiring the first sample.
</Description><True/></DefineArg><DefineArgName="Lat1"><Description>
Latitude of waypoint 1 (default: SE).
</Description><Units:degree/><Value>36.7755</Value></DefineArg><DefineArgName="Lon1"><Description>
Longitude of waypoint 1 (default: SE).
</Description><Units:degree/><Value>-121.825</Value></DefineArg><DefineArgName="Lat2"><Description>
Latitude of waypoint 2 (default: E).
</Description><Units:degree/><Value>36.7867</Value></DefineArg><DefineArgName="Lon2"><Description>
Longitude of waypoint 2 (default: E).
</Description><Units:degree/><Value>-121.829155</Value></DefineArg><DefineArgName="Lat3"><Description>
Latitude of waypoint 3 (default: E2).
</Description><Units:degree/><Value>36.794768</Value></DefineArg><DefineArgName="Lon3"><Description>
Longitude of waypoint 3 (default: E2).
</Description><Units:degree/><Value>-121.831951</Value></DefineArg><DefineArgName="Lat4"><Description>
Latitude of waypoint 4 (default: NE).
</Description><Units:degree/><Value>36.8315</Value></DefineArg><DefineArgName="Lon4"><Description>
Longitude of waypoint 4 (default: NE).
</Description><Units:degree/><Value>-121.8457</Value></DefineArg><DefineArgName="Lat5"><Description>
Latitude of waypoint 5 (default: N).
</Description><Units:degree/><Value>36.829608</Value></DefineArg><DefineArgName="Lon5"><Description>
Longitude of waypoint 5 (default: N).
</Description><Units:degree/><Value>-121.853778</Value></DefineArg><DefineArgName="Lat6"><Description>
Latitude of waypoint 6 (default: NW).
</Description><Units:degree/><Value>36.8219</Value></DefineArg><DefineArgName="Lon6"><Description>
Longitude of waypoint 6 (default: NW).
</Description><Units:degree/><Value>-121.8856</Value></DefineArg><DefineArgName="Lat7"><Description>
Latitude of waypoint 7 (default: W).
</Description><Units:degree/><Value>36.803838</Value></DefineArg><DefineArgName="Lon7"><Description>
Longitude of waypoint 7 (default: W).
</Description><Units:degree/><Value>-121.87895</Value></DefineArg><DefineArgName="Lat8"><Description>
Latitude of waypoint 8 (default: W2).
</Description><Units:degree/><Value>36.786706</Value></DefineArg><DefineArgName="Lon8"><Description>
Longitude of waypoint 8 (default: W2).
</Description><Units:degree/><Value>-121.872579</Value></DefineArg><DefineArgName="Lat9"><Description>
Latitude of waypoint 9 (default: SW).
</Description><Units:degree/><Value>36.766</Value></DefineArg><DefineArgName="Lon9"><Description>
Longitude of waypoint 9 (default: SW).
</Description><Units:degree/><Value>-121.8649</Value></DefineArg><DefineArgName="Lat10"><Description>
Latitude of waypoint 10 (default: S).
</Description><Units:degree/><Value>36.769648</Value></DefineArg><DefineArgName="Lon10"><Description>
Longitude of waypoint 10 (default: S).
</Description><Units:degree/><Value>-121.848834</Value></DefineArg><DefineArgName="Lat11"><Description>
Latitude of waypoint 11 (default: SE).
</Description><Units:degree/><Value>36.7755</Value></DefineArg><DefineArgName="Lon11"><Description>
Longitude of waypoint 11 (default: SE).
</Description><Units:degree/><Value>-121.825</Value></DefineArg><DefineArgName="Lat12"><Description>
Latitude of waypoint 12 (spare).
</Description><Units:degree/><Value>NaN</Value></DefineArg><DefineArgName="Lon12"><Description>
Longitude of waypoint 12 (spare).
</Description><Units:degree/><Value>NaN</Value></DefineArg><DefineArgName="Speed"><Description>
Vehicle speed for the entire mission.
</Description><Units:meter_per_second/><Value>1</Value></DefineArg><DefineArgName="YoYoMinDepth"><Description>
Minimum YoYo depth for the entire mission.
</Description><Units:meter/><Value>5</Value></DefineArg><DefineArgName="YoYoMaxDepth1"><Description>
Maximum YoYo depth during leg 1.
</Description><Units:meter/><Value>20</Value></DefineArg><DefineArgName="YoYoMaxDepth2"><Description>
Maximum YoYo depth during leg 2.
</Description><Units:meter/><Value>25</Value></DefineArg><DefineArgName="YoYoMaxDepth3"><Description>
Maximum YoYo depth during leg 3.
</Description><Units:meter/><Value>100</Value></DefineArg><DefineArgName="YoYoMaxDepth4"><Description>
Maximum YoYo depth during leg 4.
</Description><Units:meter/><Value>45</Value></DefineArg><DefineArgName="YoYoMaxDepth5"><Description>
Maximum YoYo depth during leg 5.
</Description><Units:meter/><Value>45</Value></DefineArg><DefineArgName="YoYoMaxDepth6"><Description>
Maximum YoYo depth during leg 6.
</Description><Units:meter/><Value>65</Value></DefineArg><DefineArgName="YoYoMaxDepth7"><Description>
Maximum YoYo depth during leg 7.
</Description><Units:meter/><Value>65</Value></DefineArg><DefineArgName="YoYoMaxDepth8"><Description>
Maximum YoYo depth during leg 8.
</Description><Units:meter/><Value>100</Value></DefineArg><DefineArgName="YoYoMaxDepth9"><Description>
Maximum YoYo depth during leg 9.
</Description><Units:meter/><Value>65</Value></DefineArg><DefineArgName="YoYoMaxDepth10"><Description>
Maximum YoYo depth during leg 10.
</Description><Units:meter/><Value>50</Value></DefineArg><DefineArgName="YoYoMaxDepth11"><Description>
Maximum YoYo depth during leg 11.
</Description><Units:meter/><Value>20</Value></DefineArg><DefineArgName="YoYoMaxDepth12"><Description>
Maximum YoYo depth during leg 12.
</Description><Units:meter/><Value>20</Value></DefineArg><DefineArgName="YoYoMinAltitude"><Description>
Minimum altitude while performing the YoYo behavior (for
bottom-terminated YoYos).
</Description><Units:meter/><Value>9</Value></DefineArg><DefineArgName="YoYoUpPitch"><Description>
Vehicle up pitch while performing the YoYo behavior.
</Description><Units:degree/><Value>20</Value></DefineArg><DefineArgName="YoYoDownPitch"><Description>
Vehicle down pitch while performing the YoYo behavior.
</Description><Units:degree/><Value>-20</Value></DefineArg><!-- You are even less likely to need to change these. --><DefineArgName="CaptureRadius"><Description>
Waypoint capture radiues.
</Description><Units:meter/><Value>NaN</Value></DefineArg><DefineArgName="BuoyancyNeutral"><Description>
Buoyancy bladder position while performing the YoYo behavior. Defaults
to buoyancyNeutral setting in the Config/Control.cfg file. Set to NaN cc
for active buoyancy
</Description><Control:VerticalControl.buoyancyNeutral/></DefineArg><DefineArgName="MassDefault"><Description>
Static setting for mass during the mission. Set to NaN mm for active
mass position
</Description><Control:VerticalControl.massDefault/></DefineArg><DefineArgName="MinAltitude"><Description>
Minimum height above the sea floor for the entire mission.
</Description><Units:meter/><Value>5</Value></DefineArg><DefineArgName="MaxDepth"><Description>
Maximum depth for the entire mission.
</Description><Units:meter/><Value>110</Value></DefineArg><DefineArgName="MinOffshore"><Description>
Minimum offshore distance for the entire mission.
</Description><Units:kilometer/><Value>2</Value></DefineArg><DefineOutputName="ElapsedSinceLastSample"><Description>
Mission variable (don't change). The mission sets this variable to reset
the ESP sample timer.
</Description><Units:minute/><Value>0</Value></DefineOutput><DefineOutputName="ElapsedTime"><Description>
Mission variable (don't change). The mission sets this variable to reset
the ESP sample timer.
</Description><Units:hour/><Value>0</Value></DefineOutput><DefineOutputName="FirstSample"><Description>
Mission variable (don't change). The mission sets this variable to
trigger the first ESP sample.
</Description><False/></DefineOutput><!-- Missions should almost always start with a timeout --><TimeoutDuration="MissionTimeout"/><InsertFilename="Insert/Science.xml"><Description>
Most missions will run the science sensors. If you don't place this
aggregate above NeedComms, science instruments get turned off on the
last upcast and while floating on the surface.
</Description></Insert><!-- Most missions should use the NeedComms aggregate. --><InsertFilename="Insert/NeedComms.xml"Id="NeedComms"/><Assign><Sequence/><ArgName="NeedComms:DiveInterval"/><ArgName="NeedCommsTime"/></Assign><!-- Missions should almost always start with standard safety envelopes; most missions should not expose the parameters of these envelopes. --><InsertFilename="Insert/StandardEnvelopes.xml"/><Assign><Sequence/><ArgName="StandardEnvelopes:MinAltitude"/><ArgName="MinAltitude"/></Assign><Assign><Sequence/><ArgName="StandardEnvelopes:MaxDepth"/><ArgName="MaxDepth"/></Assign><Assign><Sequence/><ArgName="StandardEnvelopes:MinOffshore"/><ArgName="MinOffshore"/></Assign><Assign><Sequence/><ArgName="StandardEnvelopes:MaxDepth"/><ArgName="MaxDepth"/></Assign><Assign><Sequence/><ArgName="StandardEnvelopes:MinOffshore"/><ArgName="MinOffshore"/></Assign><!-- Automatically cycle logs every 24 hours --><AggregateId="CycleLogs"><Parallel/><Aggregate><Sequence/><Guidance:Wait><Sequence/><Setting><Guidance:Wait.duration/><Units:hour/><Value>24</Value></Setting></Guidance:Wait><SyslogSeverity="Important">Restarting logs.</Syslog><Guidance:Execute><Sequence/><Setting><Guidance:Execute.command/><String>restart logs</String></Setting></Guidance:Execute></Aggregate></Aggregate><!-- Acquire ESP sample every SampleInterval --><AggregateId="SampleTimer"><While><ArgName="FirstSample"/><Or><Elapsed><ArgName="ElapsedSinceLastSample"/></Elapsed><Gt><ArgName="SampleInterval"/></Gt></Or></While><AggregateId="SampleESP"><Sequence/><Assign><Sequence/><ArgName="ElapsedTime"/><Elapsed><ArgName="ElapsedSinceLastSample"/></Elapsed></Assign><SyslogSeverity="Important">Pre-sample comms. Elapsed time since last ESP sample: <ArgName="ElapsedTime"/><Units:hour/></Syslog><CallId="PreSampleComms"RefId="NeedComms"/><AggregateId="WaitForDepth"><Sequence/><Break><Universal:depth/><Ge><ArgName="YoYoMinDepth"/></Ge></Break><SyslogSeverity="Info">Waiting to achieve min depth of <ArgName="YoYoMinDepth"/><Units:meter/></Syslog><Guidance:Wait><Sequence/><Setting><Guidance:Wait.duration/><Units:minute/><Value>30</Value></Setting></Guidance:Wait></Aggregate><AggregateId="SampleESP"><Sequence/><Sample:AbortSample><Parallel/></Sample:AbortSample><SyslogSeverity="Important">Sampling ESP cartridge type <ArgName="CartridgeType"/><Units:count/></Syslog><Science:ESPCartridgeSelect><Sequence/><TimeoutDuration="P1M"/><Setting><Science:ESPCartridgeSelect.cartridgeType/><ArgName="CartridgeType"/></Setting></Science:ESPCartridgeSelect><ReadDatumId="TriggerESP"><Science:ESPComponent.sampling/></ReadDatum><ReadDatumId="WaitForESP"><Science:ESPComponent.sample_number/></ReadDatum></Aggregate><CallId="PostSampleComms"RefId="NeedComms"/><!-- This assignment restarts the sample timer --><Assign><Sequence/><ArgName="ElapsedSinceLastSample"/><Value>0</Value></Assign><Assign><Sequence/><ArgName="FirstSample"/><False/></Assign></Aggregate></Aggregate><CallId="StartingMission"RefId="NeedComms"/><!-- Many missions will keep mass position and buoyancy volume fixed at defaults. --><Guidance:Pitch><Parallel/><Setting><Guidance:Pitch.massPosition/><ArgName="MassDefault"/></Setting></Guidance:Pitch><Guidance:Buoyancy><Parallel/><Setting><Guidance:Buoyancy.position/><ArgName="BuoyancyNeutral"/></Setting></Guidance:Buoyancy><Guidance:SetSpeed><Parallel/><Setting><Guidance:SetSpeed.speed/><ArgName="Speed"/></Setting></Guidance:SetSpeed><Guidance:DepthEnvelope><Description>
Another depth envelope for the YoYo behavior. This envelope should
fall within the limits of the standard safety envelopes in
Insert/StandardEnvelopes.xml in order to avoid commanding high pitch
angles for depth-terminated YoYos.
</Description><Parallel/><Setting><Guidance:DepthEnvelope.minDepth/><ArgName="YoYoMinDepth"/></Setting><Setting><Guidance:DepthEnvelope.downPitch/><ArgName="YoYoDownPitch"/></Setting><Setting><Guidance:DepthEnvelope.upPitch/><ArgName="YoYoUpPitch"/></Setting></Guidance:DepthEnvelope><Guidance:AltitudeEnvelope><Description>
Another altitude envelope for the YoYo behavior. This envelope
should fall within the limits of the standard safety envelopes in
Insert/StandardEnvelopes.xml in order to avoid commanding high pitch
angles for bottom-terminated YoYos.
</Description><Parallel/><Setting><Guidance:AltitudeEnvelope.minAltitude/><ArgName="YoYoMinAltitude"/></Setting><Setting><Guidance:AltitudeEnvelope.upPitch/><ArgName="YoYoUpPitch"/></Setting></Guidance:AltitudeEnvelope><Guidance:YoYo><Parallel/><Setting><Guidance:YoYo.downPitch/><ArgName="YoYoDownPitch"/></Setting><Setting><Guidance:YoYo.upPitch/><ArgName="YoYoUpPitch"/></Setting></Guidance:YoYo><AggregateId="SetWaypointsPerLegParameter"><Description>
The following Leg2-5 aggregates adjust the Lat[] and Lon[] variables
according to the `trajectory` parameter:
</Description><Sequence/><AggregateId="Leg2"><Sequence/><Break><ArgName="leg"/><Le><Units:count/><Value>1</Value></Le></Break><Assign><Sequence/><ArgName="Lat1"/><Units:degree/><Value>NaN</Value></Assign><Assign><Sequence/><ArgName="Lon1"/><Units:degree/><Value>NaN</Value></Assign></Aggregate><AggregateId="Leg3"><Sequence/><Break><ArgName="leg"/><Le><Units:count/><Value>2</Value></Le></Break><Assign><Sequence/><ArgName="Lat2"/><Units:degree/><Value>NaN</Value></Assign><Assign><Sequence/><ArgName="Lon2"/><Units:degree/><Value>NaN</Value></Assign></Aggregate><AggregateId="Leg4"><Sequence/><Break><ArgName="leg"/><Le><Units:count/><Value>3</Value></Le></Break><Assign><Sequence/><ArgName="Lat3"/><Units:degree/><Value>NaN</Value></Assign><Assign><Sequence/><ArgName="Lon3"/><Units:degree/><Value>NaN</Value></Assign></Aggregate><AggregateId="Leg5"><Sequence/><Break><ArgName="leg"/><Le><Units:count/><Value>4</Value></Le></Break><Assign><Sequence/><ArgName="Lat4"/><Units:degree/><Value>NaN</Value></Assign><Assign><Sequence/><ArgName="Lon4"/><Units:degree/><Value>NaN</Value></Assign></Aggregate><AggregateId="Leg6"><Sequence/><Break><ArgName="leg"/><Le><Units:count/><Value>5</Value></Le></Break><Assign><Sequence/><ArgName="Lat5"/><Units:degree/><Value>NaN</Value></Assign><Assign><Sequence/><ArgName="Lon5"/><Units:degree/><Value>NaN</Value></Assign></Aggregate><AggregateId="Leg7"><Sequence/><Break><ArgName="leg"/><Le><Units:count/><Value>6</Value></Le></Break><Assign><Sequence/><ArgName="Lat6"/><Units:degree/><Value>NaN</Value></Assign><Assign><Sequence/><ArgName="Lon6"/><Units:degree/><Value>NaN</Value></Assign></Aggregate><AggregateId="Leg8"><Sequence/><Break><ArgName="leg"/><Le><Units:count/><Value>7</Value></Le></Break><Assign><Sequence/><ArgName="Lat7"/><Units:degree/><Value>NaN</Value></Assign><Assign><Sequence/><ArgName="Lon7"/><Units:degree/><Value>NaN</Value></Assign></Aggregate><AggregateId="Leg9"><Sequence/><Break><ArgName="leg"/><Le><Units:count/><Value>8</Value></Le></Break><Assign><Sequence/><ArgName="Lat8"/><Units:degree/><Value>NaN</Value></Assign><Assign><Sequence/><ArgName="Lon8"/><Units:degree/><Value>NaN</Value></Assign></Aggregate><AggregateId="Leg10"><Sequence/><Break><ArgName="leg"/><Le><Units:count/><Value>9</Value></Le></Break><Assign><Sequence/><ArgName="Lat9"/><Units:degree/><Value>NaN</Value></Assign><Assign><Sequence/><ArgName="Lon9"/><Units:degree/><Value>NaN</Value></Assign></Aggregate><AggregateId="Leg11"><Sequence/><Break><ArgName="leg"/><Le><Units:count/><Value>10</Value></Le></Break><Assign><Sequence/><ArgName="Lat10"/><Units:degree/><Value>NaN</Value></Assign><Assign><Sequence/><ArgName="Lon10"/><Units:degree/><Value>NaN</Value></Assign></Aggregate></Aggregate><AggregateId="Lap"><Sequence/><SyslogSeverity="Important">Starting Lap</Syslog><SyslogSeverity="Important">Lat[1] = <ArgName="Lat1"/><Units:degree/> Lon[1] = <ArgName="Lon1"/><Units:degree/></Syslog><SyslogSeverity="Important">Lat[2] = <ArgName="Lat2"/><Units:degree/> Lon[2] = <ArgName="Lon2"/><Units:degree/></Syslog><SyslogSeverity="Important">Lat[3] = <ArgName="Lat3"/><Units:degree/> Lon[3] = <ArgName="Lon3"/><Units:degree/></Syslog><SyslogSeverity="Important">Lat[4] = <ArgName="Lat4"/><Units:degree/> Lon[4] = <ArgName="Lon4"/><Units:degree/></Syslog><SyslogSeverity="Important">Lat[5] = <ArgName="Lat5"/><Units:degree/> Lon[5] = <ArgName="Lon5"/><Units:degree/></Syslog><SyslogSeverity="Important">Lat[6] = <ArgName="Lat6"/><Units:degree/> Lon[6] = <ArgName="Lon6"/><Units:degree/></Syslog><SyslogSeverity="Important">Lat[7] = <ArgName="Lat7"/><Units:degree/> Lon[7] = <ArgName="Lon7"/><Units:degree/></Syslog><SyslogSeverity="Important">Lat[8] = <ArgName="Lat8"/><Units:degree/> Lon[8] = <ArgName="Lon8"/><Units:degree/></Syslog><SyslogSeverity="Important">Lat[9] = <ArgName="Lat9"/><Units:degree/> Lon[9] = <ArgName="Lon9"/><Units:degree/></Syslog><SyslogSeverity="Important">Lat[10] = <ArgName="Lat10"/><Units:degree/> Lon[10] = <ArgName="Lon10"/><Units:degree/></Syslog><SyslogSeverity="Important">Lat[11] = <ArgName="Lat11"/><Units:degree/> Lon[11] = <ArgName="Lon11"/><Units:degree/></Syslog><SyslogSeverity="Important">Lat[12] = <ArgName="Lat12"/><Units:degree/> Lon[12] = <ArgName="Lon12"/><Units:degree/></Syslog><AggregateId="SampleOnStart"><Sequence/><Break><Not><ArgName="StartWithASample"/></Not></Break><!-- Kick off the first ESP sample. --><Assign><Sequence/><ArgName="FirstSample"/><True/></Assign></Aggregate><!-- The following aggregates dispatch the waypoints behaviors --><AggregateId="Wpt1"><Sequence/><SyslogSeverity="Important">Navigating to box start WP. YoYoMaxDepth:<ArgName="YoYoMaxDepth1"/><Units:meter/></Syslog><Guidance:DepthEnvelope><Setting><Guidance:DepthEnvelope.maxDepth/><ArgName="YoYoMaxDepth1"/></Setting></Guidance:DepthEnvelope><Guidance:Waypoint><Sequence/><Setting><Guidance:Waypoint.latitude/><ArgName="Lat1"/></Setting><Setting><Guidance:Waypoint.longitude/><ArgName="Lon1"/></Setting></Guidance:Waypoint></Aggregate><AggregateId="Wpt2"><Sequence/><SyslogSeverity="Important">Navigating to WP2. YoYoMaxDepth: <ArgName="YoYoMaxDepth2"/><Units:meter/></Syslog><Guidance:DepthEnvelope><Setting><Guidance:DepthEnvelope.maxDepth/><ArgName="YoYoMaxDepth2"/></Setting></Guidance:DepthEnvelope><Guidance:Waypoint><Sequence/><Setting><Guidance:Waypoint.latitude/><ArgName="Lat2"/></Setting><Setting><Guidance:Waypoint.longitude/><ArgName="Lon2"/></Setting></Guidance:Waypoint></Aggregate><AggregateId="Wpt3"><Sequence/><SyslogSeverity="Important">Navigating to WP3. YoYoMaxDepth: <ArgName="YoYoMaxDepth3"/><Units:meter/></Syslog><Guidance:DepthEnvelope><Setting><Guidance:DepthEnvelope.maxDepth/><ArgName="YoYoMaxDepth3"/></Setting></Guidance:DepthEnvelope><Guidance:Waypoint><Sequence/><Setting><Guidance:Waypoint.latitude/><ArgName="Lat3"/></Setting><Setting><Guidance:Waypoint.longitude/><ArgName="Lon3"/></Setting></Guidance:Waypoint></Aggregate><AggregateId="Wpt4"><Sequence/><SyslogSeverity="Important">Navigating to WP4. YoYoMaxDepth: <ArgName="YoYoMaxDepth4"/><Units:meter/></Syslog><Guidance:DepthEnvelope><Setting><Guidance:DepthEnvelope.maxDepth/><ArgName="YoYoMaxDepth4"/></Setting></Guidance:DepthEnvelope><Guidance:Waypoint><Sequence/><Setting><Guidance:Waypoint.latitude/><ArgName="Lat4"/></Setting><Setting><Guidance:Waypoint.longitude/><ArgName="Lon4"/></Setting></Guidance:Waypoint></Aggregate><AggregateId="Wpt5"><Sequence/><SyslogSeverity="Important">Navigating to WP5. YoYoMaxDepth:<ArgName="YoYoMaxDepth5"/><Units:meter/></Syslog><Guidance:DepthEnvelope><Setting><Guidance:DepthEnvelope.maxDepth/><ArgName="YoYoMaxDepth5"/></Setting></Guidance:DepthEnvelope><Guidance:Waypoint><Sequence/><Setting><Guidance:Waypoint.latitude/><ArgName="Lat5"/></Setting><Setting><Guidance:Waypoint.longitude/><ArgName="Lon5"/></Setting></Guidance:Waypoint></Aggregate><AggregateId="Wpt6"><Sequence/><SyslogSeverity="Important">Navigating to WP6. YoYoMaxDepth:<ArgName="YoYoMaxDepth6"/><Units:meter/></Syslog><Guidance:DepthEnvelope><Setting><Guidance:DepthEnvelope.maxDepth/><ArgName="YoYoMaxDepth6"/></Setting></Guidance:DepthEnvelope><Guidance:Waypoint><Sequence/><Setting><Guidance:Waypoint.latitude/><ArgName="Lat6"/></Setting><Setting><Guidance:Waypoint.longitude/><ArgName="Lon6"/></Setting></Guidance:Waypoint></Aggregate><AggregateId="Wpt7"><Sequence/><SyslogSeverity="Important">Navigating to WP7. YoYoMaxDepth: <ArgName="YoYoMaxDepth7"/><Units:meter/></Syslog><Guidance:DepthEnvelope><Setting><Guidance:DepthEnvelope.maxDepth/><ArgName="YoYoMaxDepth7"/></Setting></Guidance:DepthEnvelope><Guidance:Waypoint><Sequence/><Setting><Guidance:Waypoint.latitude/><ArgName="Lat7"/></Setting><Setting><Guidance:Waypoint.longitude/><ArgName="Lon7"/></Setting></Guidance:Waypoint></Aggregate><AggregateId="Wpt8"><Sequence/><SyslogSeverity="Important">Navigating to WP8. YoYoMaxDepth: <ArgName="YoYoMaxDepth8"/><Units:meter/></Syslog><Guidance:DepthEnvelope><Setting><Guidance:DepthEnvelope.maxDepth/><ArgName="YoYoMaxDepth8"/></Setting></Guidance:DepthEnvelope><Guidance:Waypoint><Sequence/><Setting><Guidance:Waypoint.latitude/><ArgName="Lat8"/></Setting><Setting><Guidance:Waypoint.longitude/><ArgName="Lon8"/></Setting></Guidance:Waypoint></Aggregate><AggregateId="Wpt9"><Sequence/><SyslogSeverity="Important">Navigating to WP9. YoYoMaxDepth: <ArgName="YoYoMaxDepth9"/><Units:meter/></Syslog><Guidance:DepthEnvelope><Setting><Guidance:DepthEnvelope.maxDepth/><ArgName="YoYoMaxDepth9"/></Setting></Guidance:DepthEnvelope><Guidance:Waypoint><Sequence/><Setting><Guidance:Waypoint.latitude/><ArgName="Lat9"/></Setting><Setting><Guidance:Waypoint.longitude/><ArgName="Lon9"/></Setting></Guidance:Waypoint></Aggregate><AggregateId="Wpt10"><Sequence/><SyslogSeverity="Important">Navigating to WP10. YoYoMaxDepth: <ArgName="YoYoMaxDepth10"/><Units:meter/></Syslog><Guidance:DepthEnvelope><Setting><Guidance:DepthEnvelope.maxDepth/><ArgName="YoYoMaxDepth10"/></Setting></Guidance:DepthEnvelope><Guidance:Waypoint><Sequence/><Setting><Guidance:Waypoint.latitude/><ArgName="Lat10"/></Setting><Setting><Guidance:Waypoint.longitude/><ArgName="Lon10"/></Setting></Guidance:Waypoint></Aggregate><AggregateId="Wpt11"><Sequence/><SyslogSeverity="Important">Navigating to WP11. YoYoMaxDepth: <ArgName="YoYoMaxDepth11"/><Units:meter/></Syslog><Guidance:DepthEnvelope><Setting><Guidance:DepthEnvelope.maxDepth/><ArgName="YoYoMaxDepth11"/></Setting></Guidance:DepthEnvelope><Guidance:Waypoint><Sequence/><Setting><Guidance:Waypoint.latitude/><ArgName="Lat11"/></Setting><Setting><Guidance:Waypoint.longitude/><ArgName="Lon11"/></Setting></Guidance:Waypoint></Aggregate><AggregateId="Wpt12"><Sequence/><SyslogSeverity="Important">Navigating to WP12. YoYoMaxDepth: <ArgName="YoYoMaxDepth12"/><Units:meter/></Syslog><Guidance:DepthEnvelope><Setting><Guidance:DepthEnvelope.maxDepth/><ArgName="YoYoMaxDepth12"/></Setting></Guidance:DepthEnvelope><Guidance:Waypoint><Sequence/><Setting><Guidance:Waypoint.latitude/><ArgName="Lat12"/></Setting><Setting><Guidance:Waypoint.longitude/><ArgName="Lon12"/></Setting></Guidance:Waypoint></Aggregate></Aggregate></Mission>