<?xml version="1.0" encoding="UTF-8"?>
<Mission xmlns="Tethys"
       xmlns:Control="Tethys/Control" 
       xmlns:Derivation="Tethys/Derivation"
       xmlns:Guidance="Tethys/Guidance"
       xmlns:Trigger="Tethys/Trigger"       
       xmlns:Sensor="Tethys/Sensor"       
       xmlns:Science="Tethys/Science"
       xmlns:Sample="Tethys/Sample"
       xmlns:Units="Tethys/Units"
       xmlns:Universal="Tethys/Universal"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="Tethys http://okeanids.mbari.org/tethys/Xml/Tethys.xsd
                           Tethys/Control http://okeanids.mbari.org/tethys/Xml/Control.xsd
                           Tethys/Derivation http://okeanids.mbari.org/tethys/Xml/Derivation.xsd
                           Tethys/Guidance http://okeanids.mbari.org/tethys/Xml/Guidance.xsd
                           Tethys/Trigger http://okeanids.mbari.org/tethys/Xml/Trigger.xsd
                           Tethys/Sensor http://okeanids.mbari.org/tethys/Xml/Sensor.xsd
                           Tethys/Sample http://okeanids.mbari.org/tethys/Xml/Sample.xsd
                           Tethys/Science http://okeanids.mbari.org/tethys/Xml/Science.xsd
                           Tethys/Units http://okeanids.mbari.org/tethys/Xml/Units.xsd
                           Tethys/Universal http://okeanids.mbari.org/tethys/Xml/Universal.xsd"
       Id="TrackAndSample">

<!-- Almost every mission should start with an overall timeout and a NeedCommsTime. Drift Missions will have an acoustic timeout instead of a NeedCommsTime. -->

<!-- You probably need to change these. -->

    <DefineArg Name="NumSamplers"><Description>
        Total number of ESP cartridges (Maximum 60) or CANON samplers. Set to 0
        to disable sampling.
    </Description><Units:count/><Value>1</Value></DefineArg>

    <DefineArg Name="StartIndex"><Description>
        Start index in ESP settings. If re-running mission, can skip settings of
        already-completed samples. Default is 1 (no skipping).
    </Description><Units:count/><Value>1</Value></DefineArg>

    <DefineArg Name="CANONSamplerRotateOnly"><Units:bool/><Value>0</Value></DefineArg>

    <DefineArg Name="MissionTimeout"><Description>
        Maximum duration of mission
    </Description><Units:hour/><Value>20</Value></DefineArg>

    <DefineArg Name="AcousticTrackingTimeout"><Description>
        If the vehicle does not receive an acoustic signal for more than this
        length of time, it will surface for communications. Set longer than
        MissionTimeout to effectively disable.
    </Description><Units:hour/><Value>240</Value></DefineArg>

    <DefineArg Name="NeedCommsTimeInTransit"><Description>
        On yo-yo transects, how often to surface for commumications
    </Description><Units:minute/><Value>60</Value></DefineArg>

    <DefineArg Name="NeedCommsTimePatchTracking"><Description>
        Maximum time between surfacings for communications during patch
        tracking. This is checked only on every NumRoundsBtnCrossLegSurfacings
        rounds of CrossLeg.
    </Description><Units:minute/><Value>300</Value></DefineArg>

    <DefineArg Name="NeedCommsTimeMarginPatchTracking"><Description>
        In case vehicle does not surface on periodic rounds of InLeg or
        CrossLeg, vehicle will be forced to surface at
        NeedCommsTimePatchTracking+NeedCommsTimeMarginPatchTracking.
    </Description><Units:minute/><Value>60</Value></DefineArg>

    <DefineArg Name="WaitAfterBouncing"><Description>
        During tracking, after the vehicle bounces off the boundary (defined by
        minimum distance to shore or polygon sides), wait this long before
        re-checking the distance.
    </Description><Units:minute/><Value>5</Value></DefineArg>

    <DefineArg Name="MaxWaitNoFiring"><Description>
        If no firing after more than MaxWaitNoFiring, terminate mission.
    </Description><Units:hour/><Value>2</Value></DefineArg>

    <DefineArg Name="MaxWaitNotAchievingDepth"><Description>
        Maximum wait time the vehicle cannot reach the targeted depth.
    </Description><Units:hour/><Value>0.5</Value></DefineArg>

    <DefineArg Name="LatPatchTrackingStart"><Description>
        Latitude of patch tracking start location. If nan, transit is skipped.
    </Description><Units:degree/><Value>NaN</Value></DefineArg>

<!--debug    
    </Description><Units:degree/><Value>36.810</Value></DefineArg>
-->

    <DefineArg Name="LonPatchTrackingStart"><Description>
        Longitude of patch tracking start location. If nan, transit is skipped.
    </Description><Units:degree/><Value>NaN</Value></DefineArg>

<!--debug    
    </Description><Units:degree/><Value>-121.855</Value></DefineArg>
-->

    <DefineArg Name="SendSampleStatusAndData"><Description>
        Whether to senddata to acoustic modem.
    </Description><True/></DefineArg>

<!--debug    
    </Description><False/></DefineArg>
-->

    <DefineArg Name="SendDataToMultipleModems"><Description>
        Whether to senddata to more than one modem.
<!--debug
    </Description><True/></DefineArg>
-->
    </Description><False/></DefineArg>

    <DefineArg Name="modemId1"><Description>
        Modem ID1. Initialized to 1.
    </Description><Units:enum/><Value>1</Value></DefineArg>

    <DefineArg Name="modemId2"><Description>
        Modem ID2. Initialized to 4.
    </Description><Units:enum/><Value>4</Value></DefineArg>

    <DefineArg Name="SampleAtPeakChl"><Description>
        Whether to sample at peak-chl
    </Description><False/></DefineArg>

<!--debug    
    </Description><True/></DefineArg>
-->

    <DefineArg Name="InitialDiveDuration"><Description>
        On the first dive for looking for the chl max, run at SpeedInitialDive
        for this duration (e.g., 1 m/s spiral to dive fast).
    </Description><Units:minute/><Value>1.0</Value></DefineArg>

    <DefineArg Name="SpeedTransit"><Description>
        Vehicle speed when transiting.
    </Description><Units:meter_per_second/><Value>1.0</Value></DefineArg>

    <DefineArg Name="SpeedInitialDive"><Description>
        Vehicle speed during initial dive (for looking for the chl max). 0.0 for
        drift mode (prop off); 1.0 for spiral mode (prop on). Initialized to 1
        m/s.
    </Description><Units:meter_per_second/><Value>1.0</Value></DefineArg>

    <DefineArg Name="SpeedSampling"><Description>
        Vehicle speed during sampling: 0.0 for drift mode (prop off); 1.0 for
        donut mode (prop on). Initialized to 1 m/s.
    </Description><Units:meter_per_second/><Value>1.0</Value></DefineArg>

<!--debug    
    </Description><Units:meter_per_second/><Value>0</Value></DefineArg>
-->

    <DefineArg Name="RudderAngleInitialDive"><Description>
        Rudder angle in initial spiral-down to leave surface. Initialized to 9
        degrees.
    </Description><Units:degree/><Value>9</Value></DefineArg>

    <DefineArg Name="RudderAngleDonutSampling"><Description>
        Rudder angle during donut sampling.
    </Description><Units:degree/><Value>13</Value></DefineArg>

    <DefineArg Name="MaxDepth"><Description>
        Maximum depth for the entire mission.
    </Description><Units:meter/><Value>50</Value></DefineArg>

    <DefineArg Name="MinWaterDepth"><Description>
        Minimum water depth for the entire mission.
    </Description><Units:meter/><Value>10</Value></DefineArg>

    <DefineArg Name="MinAltitude"><Description>
        Minimum altitude for the entire mission.
    </Description><Units:meter/><Value>7</Value></DefineArg>

    <DefineArg Name="MinOffshore"><Description>
        Minimum offshore distance for the entire mission.
    </Description><Units:kilometer/><Value>2</Value></DefineArg>

    <DefineArg Name="MarginMinOffshore"><Description>
        If closer than MinOffshore+MarginMinOffshore, turn back from shore.
    </Description><Units:meter/><Value>100</Value></DefineArg>

    <DefineArg Name="MinDistFromPolygonSides"><Description>
        If a operational safety polygon is specified and the vehicle is closer
        than this minimum distance to the polygon sides, turn back.
    </Description><Units:meter/><Value>200</Value></DefineArg>

    <DefineArg Name="DeepBoundSampler"><Description>
        Deep depth bound for sampling operation
    </Description><Units:meter/><Value>45</Value></DefineArg>

    <DefineArg Name="ShallowBoundChl"><Description>
        Shallow depth bound for chl-peak detection.
    </Description><Units:meter/><Value>4.5</Value></DefineArg>

    <DefineArg Name="DeepBoundChl"><Description>
        Deep depth bound for chl-peak detection.
    </Description><Units:meter/><Value>17</Value></DefineArg>

    <DefineArg Name="VertMargin"><Description>
        Deep bound for vertical chl-peak finding maneuver = DeepBoundChl +
        VertMargin.
    </Description><Units:meter/><Value>3</Value></DefineArg>

    <DefineArg Name="BeginThresholdChl"><Description>
        If non-NaN, sets threshold for starting horizontal patch detection
    </Description><Units:kilogram_per_cubic_meter/><Value>0.2</Value></DefineArg>

    <DefineArg Name="WpBearing"><Description>
        Bearing being followed in the current leg. Set this to initialize start
        direction of patch tracking.
    </Description><Units:degree/><Value>90</Value></DefineArg>

<!--debug    
    </Description><Units:degree/><Value>270</Value></DefineArg>
-->

    <DefineArg Name="OffPeakFraction"><Description>
        When filtered horizontal value is this fraction of the peak, consider it
        outside the patch.
<!--debug
    </Description><Units:percent/><Value>75</Value></DefineArg>
-->
    </Description><Units:percent/><Value>90</Value></DefineArg>

    <DefineArg Name="PatchTrackingRounds"><Description>
        Maximum number of rounds (one round = one full set of sweeps in four
        directions)
    </Description><Units:count/><Value>5</Value></DefineArg>

<!--debug    
    </Description><Units:count/><Value>3</Value></DefineArg>
-->

    <DefineArg Name="NumRoundsBtnCrossLegSurfacings"><Description>
        Every so many rounds, vehicle surfaces on CrossLeg. Set to a big number
        to practially disable surfacing on CrossLeg.
    </Description><Units:count/><Value>5</Value></DefineArg>

    <DefineArg Name="WpMaxDistance"><Description>
        Maximum length of each tracking leg
    </Description><Units:meter/><Value>1000</Value></DefineArg>

    <DefineArg Name="WpTimeout"><Description>
        Maximum duration of each tracking leg
    </Description><Units:second/><Value>4000</Value></DefineArg>

    <DefineArg Name="DetectionTimeout"><Description>
        Look for signal for this long. If none found within this timeout, switch
        to the next leg.
    </Description><Units:minute/><Value>30</Value></DefineArg>

    <DefineArg Name="PatchTrackingYoYoMinDepth"><Description>
        Minimum depth while performing the YoYo behavior.
    </Description><Units:meter/><Value>4.5</Value></DefineArg>

    <DefineArg Name="PatchTrackingYoYoMaxDepth"><Description>
        Maximum depth while performing the YoYo behavior.
    </Description><Units:meter/><Value>27</Value></DefineArg>

    <DefineArg Name="YoYoMinAltitude"><Description>
        Minimum altitude while performing the YoYo behavior (for
        bottom-terminated YoYos).
    </Description><Units:meter/><Value>9</Value></DefineArg>

    <DefineArg Name="CartridgeTypeCommon"><Description>
        Value common to all samples unless set diffently: cartridge type.
<!--debug
    </Description><Units:count/><Value>NaN</Value></DefineArg>
-->
    </Description><Units:count/><Value>-6</Value></DefineArg>

    <DefineArg Name="CartridgeType1"><Description>
        Sample 1. Cartridge type.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType2"><Description>
        Sample 2.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType3"><Description>
        Sample 3.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType4"><Description>
        Sample 4.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType5"><Description>
        Sample 5.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType6"><Description>
        Sample 6.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType7"><Description>
        Sample 7.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType8"><Description>
        Sample 8.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType9"><Description>
        Sample 9.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType10"><Description>
        Sample 10.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType11"><Description>
        Sample 11.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType12"><Description>
        Sample 12.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType13"><Description>
        Sample 13.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType14"><Description>
        Sample 14.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType15"><Description>
        Sample 15.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType16"><Description>
        Sample 16.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType17"><Description>
        Sample 17.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType18"><Description>
        Sample 18.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType19"><Description>
        Sample 19.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType20"><Description>
        Sample 20.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType21"><Description>
        Sample 21.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType22"><Description>
        Sample 22.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType23"><Description>
        Sample 23.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType24"><Description>
        Sample 24.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType25"><Description>
        Sample 25.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType26"><Description>
        Sample 26.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType27"><Description>
        Sample 27.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType28"><Description>
        Sample 28.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType29"><Description>
        Sample 29.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType30"><Description>
        Sample 30.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType31"><Description>
        Sample 31.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType32"><Description>
        Sample 32.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType33"><Description>
        Sample 33.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType34"><Description>
        Sample 34.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType35"><Description>
        Sample 35.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType36"><Description>
        Sample 36.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType37"><Description>
        Sample 37.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType38"><Description>
        Sample 38.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType39"><Description>
        Sample 39.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType40"><Description>
        Sample 40.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType41"><Description>
        Sample 41.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType42"><Description>
        Sample 42.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType43"><Description>
        Sample 43.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType44"><Description>
        Sample 44.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType45"><Description>
        Sample 45.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType46"><Description>
        Sample 46.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType47"><Description>
        Sample 47.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType48"><Description>
        Sample 48.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType49"><Description>
        Sample 49.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType50"><Description>
        Sample 50.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType51"><Description>
        Sample 51.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType52"><Description>
        Sample 52.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType53"><Description>
        Sample 53.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType54"><Description>
        Sample 54.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType55"><Description>
        Sample 55.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType56"><Description>
        Sample 56.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType57"><Description>
        Sample 57.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType58"><Description>
        Sample 58.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType59"><Description>
        Sample 59.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="CartridgeType60"><Description>
        Sample 60.
    </Description><Units:count/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChlCommon"><Description>
        Value common to all samples unless set diffently: target temperature
        difference from the peak-chl temperature.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

<!--debug
    </Description><Units:kelvin/><Value>0</Value></DefineArg>
-->

    <DefineArg Name="TempDiffFromPeakChl1"><Description>
        Sample 1. Target temperature difference from the peak-chl temperature.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

<!--debug    
    </Description><Units:kelvin/><Value>0</Value></DefineArg>
-->

    <DefineArg Name="TempDiffFromPeakChl2"><Description>
        Sample 2.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

<!--debug
    </Description><Units:kelvin/><Value>0</Value></DefineArg>
-->

    <DefineArg Name="TempDiffFromPeakChl3"><Description>
        Sample 3.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

<!--debug
    </Description><Units:kelvin/><Value>0.0</Value></DefineArg>
-->

    <DefineArg Name="TempDiffFromPeakChl4"><Description>
        Sample 4.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

<!--debug
    </Description><Units:kelvin/><Value>-1</Value></DefineArg>
-->

    <DefineArg Name="TempDiffFromPeakChl5"><Description>
        Sample 5.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

<!--debug
    </Description><Units:kelvin/><Value>-2</Value></DefineArg>
-->

    <DefineArg Name="TempDiffFromPeakChl6"><Description>
        Sample 6.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl7"><Description>
        Sample 7.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl8"><Description>
        Sample 8.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl9"><Description>
        Sample 9.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl10"><Description>
        Sample 10.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl11"><Description>
        Sample 11.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl12"><Description>
        Sample 12.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl13"><Description>
        Sample 13.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl14"><Description>
        Sample 14.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl15"><Description>
        Sample 15.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl16"><Description>
        Sample 16.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl17"><Description>
        Sample 17.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl18"><Description>
        Sample 18.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl19"><Description>
        Sample 19.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl20"><Description>
        Sample 20.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl21"><Description>
        Sample 21.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl22"><Description>
        Sample 22.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl23"><Description>
        Sample 23.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl24"><Description>
        Sample 24.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl25"><Description>
        Sample 25.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl26"><Description>
        Sample 26.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl27"><Description>
        Sample 27.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl28"><Description>
        Sample 28.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl29"><Description>
        Sample 29.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl30"><Description>
        Sample 30.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl31"><Description>
        Sample 31.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl32"><Description>
        Sample 32.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl33"><Description>
        Sample 33.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl34"><Description>
        Sample 34.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl35"><Description>
        Sample 35.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl36"><Description>
        Sample 36.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl37"><Description>
        Sample 37.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl38"><Description>
        Sample 38.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl39"><Description>
        Sample 39.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl40"><Description>
        Sample 40.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl41"><Description>
        Sample 41.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl42"><Description>
        Sample 42.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl43"><Description>
        Sample 43.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl44"><Description>
        Sample 44.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl45"><Description>
        Sample 45.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl46"><Description>
        Sample 46.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl47"><Description>
        Sample 47.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl48"><Description>
        Sample 48.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl49"><Description>
        Sample 49.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl50"><Description>
        Sample 50.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl51"><Description>
        Sample 51.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl52"><Description>
        Sample 52.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl53"><Description>
        Sample 53.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl54"><Description>
        Sample 54.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl55"><Description>
        Sample 55.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl56"><Description>
        Sample 56.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl57"><Description>
        Sample 57.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl58"><Description>
        Sample 58.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl59"><Description>
        Sample 59.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempDiffFromPeakChl60"><Description>
        Sample 60.
    </Description><Units:kelvin/><Value>NaN</Value></DefineArg>

    <DefineArg Name="TempCommon"><Description>
        Value common to all samples unless set diffently: pre-designated
        temperature. If NaN, will use temp diff from chl-peak temp.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp1"><Description>
        Sample 1. Pre-designated temperature. If NaN, will use temp diff from
        chl-peak temp.
<!--debug	
    </Description><Units:celsius/><Value>12.5</Value></DefineArg>
-->
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp2"><Description>
        Sample 2.
<!--debug      
    </Description><Units:celsius/><Value>13.0</Value></DefineArg>
-->
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp3"><Description>
        Sample 3.
<!--debug
    </Description><Units:celsius/><Value>15.0</Value></DefineArg>
-->
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp4"><Description>
        Sample 4.
<!--debug
    </Description><Units:celsius/><Value>14.0</Value></DefineArg>
-->
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp5"><Description>
        Sample 5.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp6"><Description>
        Sample 6.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp7"><Description>
        Sample 7.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp8"><Description>
        Sample 8.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp9"><Description>
        Sample 9.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp10"><Description>
        Sample 10.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp11"><Description>
        Sample 11.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp12"><Description>
        Sample 12.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp13"><Description>
        Sample 13.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp14"><Description>
        Sample 14.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp15"><Description>
        Sample 15.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp16"><Description>
        Sample 16.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp17"><Description>
        Sample 17.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp18"><Description>
        Sample 18.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp19"><Description>
        Sample 19.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp20"><Description>
        Sample 20.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp21"><Description>
        Sample 21.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp22"><Description>
        Sample 22.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp23"><Description>
        Sample 23.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp24"><Description>
        Sample 24.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp25"><Description>
        Sample 25.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp26"><Description>
        Sample 26.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp27"><Description>
        Sample 27.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp28"><Description>
        Sample 28.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp29"><Description>
        Sample 29.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp30"><Description>
        Sample 30.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp31"><Description>
        Sample 31.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp32"><Description>
        Sample 32.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp33"><Description>
        Sample 33.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp34"><Description>
        Sample 34.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp35"><Description>
        Sample 35.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp36"><Description>
        Sample 36.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp37"><Description>
        Sample 37.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp38"><Description>
        Sample 38.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp39"><Description>
        Sample 39.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp40"><Description>
        Sample 40.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp41"><Description>
        Sample 41.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp42"><Description>
        Sample 42.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp43"><Description>
        Sample 43.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp44"><Description>
        Sample 44.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp45"><Description>
        Sample 45.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp46"><Description>
        Sample 46.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp47"><Description>
        Sample 47.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp48"><Description>
        Sample 48.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp49"><Description>
        Sample 49.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp50"><Description>
        Sample 50.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp51"><Description>
        Sample 51.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp52"><Description>
        Sample 52.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp53"><Description>
        Sample 53.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp54"><Description>
        Sample 54.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp55"><Description>
        Sample 55.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp56"><Description>
        Sample 56.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp57"><Description>
        Sample 57.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp58"><Description>
        Sample 58.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp59"><Description>
        Sample 59.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Temp60"><Description>
        Sample 60.
    </Description><Units:celsius/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChlCommon"><Description>
        Value common to all samples unless set diffently: Depth difference
        (positive: deeper; negative: shallower) from the peak-chl depth for
        taking comparison samples. Initialized to NaN.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

<!--debug    
    </Description><Units:meter/><Value>0</Value></DefineArg>
-->

    <DefineArg Name="DepDiffFromPeakChl1"><Description>
        Sample 1. Depth difference (positive: deeper; negative: shallower) from
        the peak-chl depth for taking comparison samples. Initialized to NaN.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

<!--debug    
    </Description><Units:meter/><Value>0</Value></DefineArg>
-->

    <DefineArg Name="DepDiffFromPeakChl2"><Description>
        Sample 2.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

<!--debug
    </Description><Units:meter/><Value>2.0</Value></DefineArg>
-->

    <DefineArg Name="DepDiffFromPeakChl3"><Description>
        Sample 3.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl4"><Description>
        Sample 4.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl5"><Description>
        Sample 5.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl6"><Description>
        Sample 6.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl7"><Description>
        Sample 7.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl8"><Description>
        Sample 8.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl9"><Description>
        Sample 9.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl10"><Description>
        Sample 10.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl11"><Description>
        Sample 11.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl12"><Description>
        Sample 12.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl13"><Description>
        Sample 13.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl14"><Description>
        Sample 14.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl15"><Description>
        Sample 15.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl16"><Description>
        Sample 16.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl17"><Description>
        Sample 17.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl18"><Description>
        Sample 18.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl19"><Description>
        Sample 19.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl20"><Description>
        Sample 20.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl21"><Description>
        Sample 21.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl22"><Description>
        Sample 22.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl23"><Description>
        Sample 23.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl24"><Description>
        Sample 24.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl25"><Description>
        Sample 25.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl26"><Description>
        Sample 26.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl27"><Description>
        Sample 27.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl28"><Description>
        Sample 28.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl29"><Description>
        Sample 29.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl30"><Description>
        Sample 30.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl31"><Description>
        Sample 31.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl32"><Description>
        Sample 32.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl33"><Description>
        Sample 33.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl34"><Description>
        Sample 34.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl35"><Description>
        Sample 35.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl36"><Description>
        Sample 36.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl37"><Description>
        Sample 37.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl38"><Description>
        Sample 38.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl39"><Description>
        Sample 39.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl40"><Description>
        Sample 40.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl41"><Description>
        Sample 41.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl42"><Description>
        Sample 42.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl43"><Description>
        Sample 43.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl44"><Description>
        Sample 44.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl45"><Description>
        Sample 45.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl46"><Description>
        Sample 46.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl47"><Description>
        Sample 47.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl48"><Description>
        Sample 48.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl49"><Description>
        Sample 49.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl50"><Description>
        Sample 50.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl51"><Description>
        Sample 51.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl52"><Description>
        Sample 52.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl53"><Description>
        Sample 53.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl54"><Description>
        Sample 54.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl55"><Description>
        Sample 55.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl56"><Description>
        Sample 56.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl57"><Description>
        Sample 57.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl58"><Description>
        Sample 58.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl59"><Description>
        Sample 59.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepDiffFromPeakChl60"><Description>
        Sample 60.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="DepCommon"><Description>
        Value common to all samples unless set diffently: Pre-designated depth.
        If NaN, will use vertical distance from chl-peak depth.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep1"><Description>
        Sample 1. Pre-designated depth. If NaN, will use vertical distance from
        chl-peak depth.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

<!--debug    
    </Description><Units:meter/><Value>10</Value></DefineArg>
-->

    <DefineArg Name="Dep2"><Description>
        Sample 2.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

<!--debug    
    </Description><Units:meter/><Value>15.0</Value></DefineArg>
-->

    <DefineArg Name="Dep3"><Description>
        Sample 3.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

<!--debug    
    </Description><Units:meter/><Value>25.0</Value></DefineArg>
-->

    <DefineArg Name="Dep4"><Description>
        Sample 4.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep5"><Description>
        Sample 5.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep6"><Description>
        Sample 6.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep7"><Description>
        Sample 7.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep8"><Description>
        Sample 8.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep9"><Description>
        Sample 9.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep10"><Description>
        Sample 10.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep11"><Description>
        Sample 11.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep12"><Description>
        Sample 12.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep13"><Description>
        Sample 13.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep14"><Description>
        Sample 14.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep15"><Description>
        Sample 15.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep16"><Description>
        Sample 16.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep17"><Description>
        Sample 17.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep18"><Description>
        Sample 18.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep19"><Description>
        Sample 19.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep20"><Description>
        Sample 20.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep21"><Description>
        Sample 21.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep22"><Description>
        Sample 22.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep23"><Description>
        Sample 23.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep24"><Description>
        Sample 24.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep25"><Description>
        Sample 25.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep26"><Description>
        Sample 26.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep27"><Description>
        Sample 27.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep28"><Description>
        Sample 28.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep29"><Description>
        Sample 29.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep30"><Description>
        Sample 30.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep31"><Description>
        Sample 31.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep32"><Description>
        Sample 32.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep33"><Description>
        Sample 33.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep34"><Description>
        Sample 34.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep35"><Description>
        Sample 35.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep36"><Description>
        Sample 36.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep37"><Description>
        Sample 37.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep38"><Description>
        Sample 38.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep39"><Description>
        Sample 39.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep40"><Description>
        Sample 40.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep41"><Description>
        Sample 41.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep42"><Description>
        Sample 42.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep43"><Description>
        Sample 43.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep44"><Description>
        Sample 44.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep45"><Description>
        Sample 45.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep46"><Description>
        Sample 46.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep47"><Description>
        Sample 47.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep48"><Description>
        Sample 48.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep49"><Description>
        Sample 49.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep50"><Description>
        Sample 50.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep51"><Description>
        Sample 51.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep52"><Description>
        Sample 52.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep53"><Description>
        Sample 53.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep54"><Description>
        Sample 54.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep55"><Description>
        Sample 55.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep56"><Description>
        Sample 56.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep57"><Description>
        Sample 57.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep58"><Description>
        Sample 58.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep59"><Description>
        Sample 59.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Dep60"><Description>
        Sample 60.
    </Description><Units:meter/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulationCommon"><Description>
        Value common to all samples unless set differently: Wait duration for
        the depth undulation to damp down.
    </Description><Units:minute/><Value>5.0</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation1"><Description>
        Sample 1. Wait duration for the depth undulation to damp down.
    </Description><Units:minute/><Value>20.0</Value></DefineArg>

<!--debug
    </Description><Units:minute/><Value>NaN</Value></DefineArg>
-->

    <DefineArg Name="WaitDepUndulation2"><Description>
        Sample 2.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation3"><Description>
        Sample 3.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation4"><Description>
        Sample 4.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation5"><Description>
        Sample 5.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation6"><Description>
        Sample 6.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation7"><Description>
        Sample 7.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation8"><Description>
        Sample 8.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation9"><Description>
        Sample 9.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation10"><Description>
        Sample 10.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation11"><Description>
        Sample 11.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation12"><Description>
        Sample 12.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation13"><Description>
        Sample 13.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation14"><Description>
        Sample 14.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation15"><Description>
        Sample 15.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation16"><Description>
        Sample 16.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation17"><Description>
        Sample 17.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation18"><Description>
        Sample 18.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation19"><Description>
        Sample 19.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation20"><Description>
        Sample 20.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation21"><Description>
        Sample 21.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation22"><Description>
        Sample 22.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation23"><Description>
        Sample 23.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation24"><Description>
        Sample 24.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation25"><Description>
        Sample 25.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation26"><Description>
        Sample 26.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation27"><Description>
        Sample 27.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation28"><Description>
        Sample 28.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation29"><Description>
        Sample 29.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation30"><Description>
        Sample 30.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation31"><Description>
        Sample 31.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation32"><Description>
        Sample 32.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation33"><Description>
        Sample 33.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation34"><Description>
        Sample 34.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation35"><Description>
        Sample 35.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation36"><Description>
        Sample 36.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation37"><Description>
        Sample 37.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation38"><Description>
        Sample 38.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation39"><Description>
        Sample 39.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation40"><Description>
        Sample 40.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation41"><Description>
        Sample 41.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation42"><Description>
        Sample 42.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation43"><Description>
        Sample 43.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation44"><Description>
        Sample 44.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation45"><Description>
        Sample 45.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation46"><Description>
        Sample 46.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation47"><Description>
        Sample 47.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation48"><Description>
        Sample 48.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation49"><Description>
        Sample 49.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation50"><Description>
        Sample 50.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation51"><Description>
        Sample 51.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation52"><Description>
        Sample 52.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation53"><Description>
        Sample 53.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation54"><Description>
        Sample 54.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation55"><Description>
        Sample 55.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation56"><Description>
        Sample 56.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation57"><Description>
        Sample 57.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation58"><Description>
        Sample 58.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation59"><Description>
        Sample 59.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

    <DefineArg Name="WaitDepUndulation60"><Description>
        Sample 60.
    </Description><Units:minute/><Value>NaN</Value></DefineArg>

<!-- Use caution when changing these. -->

    <DefineArg Name="UpRate"><Description>
        Go-up depth rate (Negative depth rate means going up).
    </Description><Units:meter_per_second/><Value>-0.04</Value></DefineArg>

    <DefineArg Name="DownRate"><Description>
        Go-down depth rate (Positive depth rate means going down).
    </Description><Units:meter_per_second/><Value>0.2</Value></DefineArg>

<!-- You probably do not need to change these. -->

    <DefineArg Name="IntervalRestartLogs"><Description></Description><Units:hour/><Value>24</Value></DefineArg>

    <DefineArg Name="UseCANONSampler"><Description>
        Whether to use CANON Sampler to sample.
    </Description><Science:CANONSampler.loadAtStartup/></DefineArg>

    <DefineArg Name="UseESP"><Description>
        Whether to use ESP to sample.
    </Description><Science:ESPComponent.loadAtStartup/></DefineArg>

    <DefineArg Name="CANONSamplerTriggerTimeout"><Description>
        How long to wait for a CANON Sampler sample to start.
    </Description><Units:minute/><Value>1</Value></DefineArg>

    <DefineArg Name="CANONSamplerTimeout"><Description>
        How long to wait for a CANON Sampler sample to complete.
    </Description><Science:CANONSampler.sampleTimeout/></DefineArg>

    <DefineArg Name="RiseFromTurningDepth"><Description>
        Peak chl on a profile is registered at the beginning of the next yoyo
        profile. In this mission, the peak chl on the descending profile is
        saved when the vehicle has turned onto the next yoyo profile (ascending
        profile) and is at least "RiseFromDeepTurningPoint" away from the
        turning depth.
    </Description><Units:meter/><Value>2.5</Value></DefineArg>

    <DefineArg Name="DepChangeThreshAttitudeFlip"><Description>
        Depth change threshold for determining vehicle attitude flip.
    </Description><Units:meter/><Value>2.0</Value></DefineArg>

    <DefineArg Name="YoYoUpPitch"><Description>
        Vehicle up pitch while performing the YoYo behavior.
    </Description><Units:degree/><Value>20</Value></DefineArg>

    <DefineArg Name="YoYoDownPitch"><Description>
        Vehicle down pitch while performing the YoYo behavior.
    </Description><Units:degree/><Value>-20</Value></DefineArg>

    <DefineArg Name="Turn"><Description>
        Amount to turn at each leg
    </Description><Units:degree/><Value>90</Value></DefineArg>

    <DefineArg Name="NumOfProfilesSlidingwindow"><Description>
        Length of horizontal sliding window. Picks the highest yoyo-wise chl
        peak (after low-pass filtering by a filter of length
        FilterWidthHorizontal) within this window. Ignore older highs because
        ocean is changing.
    </Description><Units:count/><Value>100</Value></DefineArg>

    <DefineArg Name="LPWindowLength"><Description>
        Low-pass window length (based on depth sensor sampling interval 0.4
        second) for low-pass filtering.
    </Description><Units:count/><Value>20</Value></DefineArg>

    <DefineArg Name="MedianFilterLength"><Description>
        Median filter length (only for chlorophyll fluorescence which tends to
        have spikes). The median-filtered signal enters the succeeding low-pass
        filter. If set to 1, then no median filtering, i.e., the raw
        fluorescence signal directly enters the low-pass filter.
    </Description><Units:count/><Value>5</Value></DefineArg>

<!--debug
    </Description><Units:count/><Value>1</Value></DefineArg>
-->

    <DefineArg Name="FilterWidthHorizontal"><Description>
        Width of boxcar filter used in horizontal patch detection
    </Description><Units:count/><Value>4</Value></DefineArg>

    <DefineArg Name="GainProportional"><Description>
        Proportional gain for temperature holding control loop.
    </Description><Units:none/><Value>1</Value></DefineArg>

<!--debug
    </Description><Units:none/><Value>2</Value></DefineArg>
-->

    <DefineArg Name="GainIntegral"><Description>
        Integral gain for temperature holding control loop.
    </Description><Units:none/><Value>0</Value></DefineArg>

<!--debug
    </Description><Units:none/><Value>0.75</Value></DefineArg>
-->

    <DefineArg Name="GainDerivative"><Description>
        Derivative gain for temperature holding control loop.
    </Description><Units:none/><Value>0</Value></DefineArg>

    <DefineArg Name="VariationPerMeter"><Description>
        Expected temperature change per meter.
<!--debug
    </Description><Units:reciprocal_meter/><Value>0.25</Value></DefineArg>
    </Description><Units:reciprocal_meter/><Value>0.01</Value></DefineArg>
-->
    </Description><Units:reciprocal_meter/><Value>0.2</Value></DefineArg>

    <DefineArg Name="BuoyDiveAccel"><Description>
        In buoyancy-only mode, maxBuoyDiveAccel needs to be set at least an
        order of magnitude higher than that in Control.cfg.
    </Description><Units:meter_per_second_squared/><Value>0.0025</Value></DefineArg>

    <DefineArg Name="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>

    <DefineArg Name="MassDefault"><Description>
        Static setting for mass during the mission. Set to NaN mm for active
        mass position
    </Description><Control:VerticalControl.massDefault/></DefineArg>

<!-- Internal variables that you should not change -->

    <DefineOutput Name="Reverse"><Description>
        Change in bearing which reverses vehicle direction
    </Description><Units:degree/><Value>180</Value></DefineOutput>

    <DefineOutput Name="TwoPi"><Description>
        Applied to stop run-up of angles
    </Description><Units:degree/><Value>360</Value></DefineOutput>

    <DefineOutput Name="CntRounds"><Description>
        Count of sweep rounds (initilized to 1).
    </Description><Units:count/><Value>1</Value></DefineOutput>

    <DefineOutput Name="TrackingCompleted"><Description>
        Initialized to False.
    </Description><False/></DefineOutput>

    <DefineOutput Name="PatchDetectOn"><Description>
        Mission sets this to true when the patch has been crossed. Initialized
        to False.
    </Description><False/></DefineOutput>

    <DefineOutput Name="WpDone"><Description>
        Mission sets this to true when the cross-patch waypoint has been
        reached. Initialized to True.
    </Description><True/></DefineOutput>

    <DefineOutput Name="FlagTurnBack"><Description>
        Flag of turning back from shore. Initialized to False.
    </Description><False/></DefineOutput>

    <DefineOutput Name="CrossLegToPatchCenterCompleted"><Description>
        Initialized to False.
    </Description><False/></DefineOutput>

    <DefineOutput Name="CrossLegSearchForPeakStarted"><Description>
        Initialized to False.
    </Description><False/></DefineOutput>

    <DefineOutput Name="ElapsedSinceStartOrLastSample"><Description>
        The mission sets this variable to reset the sample timer.
    </Description><Units:hour/><Value>0</Value></DefineOutput>

    <DefineOutput Name="ElapsedTime"><Description>
        Only for syslog.
    </Description><Units:hour/><Value>0</Value></DefineOutput>

    <DefineOutput Name="CartridgeType"><Description>
        Cartridge type. Initialized to -6.
    </Description><Units:count/><Value>-6</Value></DefineOutput>

    <DefineOutput Name="CartridgeTypeIndividual"><Description>
        Initialized to -6.
    </Description><Units:count/><Value>-6</Value></DefineOutput>

    <DefineOutput Name="TempSet"><Description>
        Temperature for sampling. Initialized to NaN.
    </Description><Units:kelvin/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="TempDesignated"><Description>
        Temperature if pre-designated. Initialized to NaN.
    </Description><Units:kelvin/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="TempIndividual"><Description>
        Initialized to NaN.
    </Description><Units:kelvin/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="TempDiffFromPeakChl"><Description>
        Temp difference if setting relative to peak-chl temperature. Initialized
        to NaN.
    </Description><Units:kelvin/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="TempDiffFromPeakChlIndividual"><Description>
        Initialized to NaN.
    </Description><Units:kelvin/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="DepthSet"><Description>
        Depth for sampling. Initialized to 10 m.
    </Description><Units:meter/><Value>10.0</Value></DefineOutput>

    <DefineOutput Name="DepthDesignated"><Description>
        Depth if pre-designated. Initialized to NaN.
    </Description><Units:meter/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="DepIndividual"><Description>
        Initialized to NaN.
    </Description><Units:meter/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="DepDiffFromPeakChl"><Description>
        Depth difference (positive: deeper; negative: shallower) from the
        peak-chl depth for taking comparison samples. Initialized to NaN.
    </Description><Units:meter/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="DepDiffFromPeakChlIndividual"><Description>
        Depth difference (positive: deeper; negative: shallower) from the
        peak-chl depth for taking comparison samples. Initialized to NaN.
    </Description><Units:meter/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="WaitDepthUndulation"><Description>
        Wait duration for the depth undulation to damp down. Initialized to 10
        minutes.
    </Description><Units:minute/><Value>10.0</Value></DefineOutput>

    <DefineOutput Name="WaitDepUndulationIndividual"><Description>
        Wait duration for the depth undulation to damp down. Initialized to 10
        minutes.
    </Description><Units:minute/><Value>10.0</Value></DefineOutput>

    <DefineOutput Name="SampleCountIncreased"><Description>
        Sample count is increased.
    </Description><True/></DefineOutput>

    <DefineOutput Name="SampleOptionsSet"><Description>
        Sample option settings already set. Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="SampleCompleted"><Description>
        Sampling completed. Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="StoppedForBeingOutsideOfPolygon"><Description>
        Mission stopped because the vehicle is outside of the polygon.
        Initialized to False.
    </Description><False/></DefineOutput>

    <DefineOutput Name="StoppedForNaNPatchPeak"><Description>
        Mission stopped because of no firing for too long. Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="StoppedForNoFiringForTooLong"><Description>
        Mission stopped because of no firing for too long. Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="ElapsedSinceStartOrLastDistCheck"><Description>
        The mission sets this variable to reset the timer for checking distance
        to shore and polygon sides.
    </Description><Units:hour/><Value>0</Value></DefineOutput>

    <DefineOutput Name="PatchPeakChl"><Units:microgram_per_liter/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="PatchPeakSalinity"><Units:psu/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="PatchPeakOil"><Units:kilogram_per_cubic_meter/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="PatchPeakDepth"><Units:meter/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="PatchPeakLatitude"><Units:degree/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="PatchPeakLongitude"><Units:degree/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="PatchPeakDistance"><Units:meter/><Value>0</Value></DefineOutput>

    <DefineOutput Name="DepthLogged"><Description></Description><Units:meter/><Value>0.0</Value></DefineOutput>

    <DefineOutput Name="TempLogged"><Description></Description><Units:celsius/><Value>0.0</Value></DefineOutput>

    <DefineOutput Name="ChlLogged"><Description></Description><Units:microgram_per_liter/><Value>0.0</Value></DefineOutput>

    <DefineOutput Name="SamplingPartStartCommsCompleted"><Description>
        Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="StartVerticalManeuver"><Description>
        Start vertical maneuver and sampling (initialized to false).
    </Description><False/></DefineOutput>

    <DefineOutput Name="FlagTempSet"><Description>
        Flag of target temperature having been set. Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="FlagTargetDepthSet"><Description>
        Flag of target depth having been set. Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="FlagGoUp"><Description>
        Go-up flag (set to true when going up. Initialized to false).
    </Description><False/></DefineOutput>

    <DefineOutput Name="FlagGoDown"><Description>
        Go-down flag (set to true when going down. Initialized to false).
    </Description><False/></DefineOutput>

    <DefineOutput Name="FlagInitialDiveCompleted"><Description>
        Flag of initial dive completed. Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="FlagPeakChlDepthSet"><Description>
        Flag of peak-chl depth having been set (set to true when the chl-peak
        depth has been set. Initialized to false).
    </Description><False/></DefineOutput>

    <DefineOutput Name="FlagPeakChlTempSet"><Description>
        Flag of peak-chl temperature having been set (set to true when the
        chl-peak temperature has been set. Initialized to false).
    </Description><False/></DefineOutput>

    <DefineOutput Name="EnableSettingPeakDepth"><Description>
        Enables setting peak-chl depth. Initialized to true.
    </Description><True/></DefineOutput>

    <DefineOutput Name="FlagFirstDive"><Description>
        Flag of first dive to find the peak-chl (true only for the first dive;
        false afterwards).
    </Description><True/></DefineOutput>

    <DefineOutput Name="FlagSamplingOngoing"><Description>
        Flag of water sampling in process (initialized to false).
    </Description><False/></DefineOutput>

    <DefineOutput Name="PeakChlDepthSet"><Description>
        Peak-chl depth detected on a dive. Initialized to 10 meters.
    </Description><Units:meter/><Value>10.0</Value></DefineOutput>

    <DefineOutput Name="PeakChlTemperatureSet"><Description>
        Peak-chl temperature detected on a dive, and set for chl-peak holding.
        Initialized to NaN.
    </Description><Units:kelvin/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="PeakChlSet"><Description>
        Peak-chl value detected on a dive.
    </Description><Units:microgram_per_liter/><Value>0.0</Value></DefineOutput>

    <DefineOutput Name="SyslogGoUp"><Description>
        Flag of logging "GoUp" in syslog (initialized to false).
    </Description><False/></DefineOutput>

    <DefineOutput Name="SyslogGoDown"><Description>
        Flag of logging "GoDown" in syslog (initialized to false).
    </Description><False/></DefineOutput>

    <DefineOutput Name="CntSamples"><Description>
        Count of water samples (initilized to 1).
    </Description><Units:count/><Value>1</Value></DefineOutput>

    <DefineOutput Name="SendDataCntSamplesCompleted"><Description>
        Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="SendDataESPSampleNumberCompleted"><Description>
        Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="SendDataESPCartridgeTypeCompleted"><Description>
        Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="SendDataESPSampleVolumeCompleted"><Description>
        Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="SendDataCANONSampleNumberCompleted"><Description>
        Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="SendDataSampleDepCompleted"><Description>
        Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="SendDataSampleTempCompleted"><Description>
        Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="SendDataSampleChlCompleted"><Description>
        Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="SendDataAllCompleted"><Description>
        Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="CallSendData"><Description>
        Initialized to true.
    </Description><True/></DefineOutput>

    <DefineOutput Name="TouchedDeepBoundSampler"><Description>
        Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="TouchedDeepBoundSamplerFlagSet"><Description>
        Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="ModemID"><Description>
        Modem ID. Set to modemId1 or modemId2. Initialized to 1.
    </Description><Units:enum/><Value>1</Value></DefineOutput>

<!-- Missions should almost always start with a timeout and a NeedComms aggregate. Drift missions will not use NeedComms. -->

    <Timeout Duration="MissionTimeout"/>

<!-- Missions should almost always start with standard safety envelopes -->

    <Sample:AbortSample>
        <Parallel/>
    </Sample:AbortSample>

    <Insert Filename="Insert/StandardEnvelopes.xml"/>

    <Assign><Sequence/><Arg Name="StandardEnvelopes:MinAltitude"/><Arg Name="MinAltitude"/></Assign>

    <Assign><Sequence/><Arg Name="StandardEnvelopes:MaxDepth"/><Arg Name="MaxDepth"/></Assign>

    <Assign><Sequence/><Arg Name="StandardEnvelopes:MinOffshore"/><Arg Name="MinOffshore"/></Assign>

    <Insert Filename="Insert/AbortDrift.xml">
        <RedefineArg Name="AcousticTimeout"><Arg Name="AcousticTrackingTimeout"/></RedefineArg>
    </Insert>

    <Insert Filename="Insert/SampleAtDepth.xml">
        <RedefineArg Name="MaxWaitNotReachingDepth"><Arg Name="MaxWaitNotAchievingDepth"/></RedefineArg>
    </Insert>

    <Insert Filename="Insert/Science.xml">
        <RedefineArg Name="PeakDetectChlActive"><True/></RedefineArg>
        <RedefineArg Name="LowPassWindowLength"><Arg Name="LPWindowLength"/></RedefineArg>
        <RedefineArg Name="MedianFilterLen"><Arg Name="MedianFilterLength"/></RedefineArg>
        <RedefineArg Name="PeakShallowBound"><Arg Name="ShallowBoundChl"/></RedefineArg>
        <RedefineArg Name="PeakDeepBound"><Arg Name="DeepBoundChl"/></RedefineArg>
        <RedefineArg Name="DepChangeThreshForAttitudeFlip"><Arg Name="DepChangeThreshAttitudeFlip"/></RedefineArg>
    </Insert>

    <Guidance:WaterDepthEnvelope>
        <Parallel/>
        <Setting><Guidance:WaterDepthEnvelope.minWaterDepth/><Arg Name="MinWaterDepth"/></Setting>
    </Guidance:WaterDepthEnvelope>

    <Insert Filename="Insert/NeedComms.xml" Id="NeedComms"/>

    <Assign><Parallel/><Control:VerticalControl.maxBuoyDiveAccel/><Arg Name="BuoyDiveAccel"/></Assign>

<!-- Many missions will keep mass position fixed at the default. This mission allows the buoyancy volume to change to track the chlorophyll peak while drifting. -->

    <Guidance:Pitch>
        <Parallel/>
        <Setting><Guidance:Pitch.massPosition/><Arg Name="MassDefault"/></Setting>
    </Guidance:Pitch>

    <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/><Arg Name="YoYoMinAltitude"/></Setting>
        <Setting><Guidance:AltitudeEnvelope.upPitch/><Arg Name="YoYoUpPitch"/></Setting>
    </Guidance:AltitudeEnvelope>

<!-- Automatically restart logs -->

    <Aggregate Id="CycleLogs">

        <Parallel/>

        <Aggregate>

            <Sequence/>

            <Guidance:Wait>
                <Sequence/>
                <Setting><Guidance:Wait.duration/><Arg Name="IntervalRestartLogs"/></Setting>
            </Guidance:Wait>

            <Syslog Severity="Important">Restarting logs.</Syslog>

            <Guidance:Execute>
                <Sequence/>
                <Setting><Guidance:Execute.command/><String>restart logs</String></Setting>
            </Guidance:Execute>

        </Aggregate>

    </Aggregate>

    <Aggregate Id="TrackPatch">

        <Guidance:Buoyancy>
            <Parallel/>
            <Setting><Guidance:Buoyancy.position /><Arg Name="BuoyancyNeutral"/></Setting>
        </Guidance:Buoyancy>

        <Guidance:SetSpeed>
            <Parallel/>
            <Setting><Guidance:SetSpeed.speed/><Arg Name="SpeedTransit"/></Setting>
        </Guidance:SetSpeed>

        <Aggregate Id="SyslogWpMaxDistanceReached">

            <When>
                <Called/>
            </When>

            <Aggregate Id="SyslogWpMaxDistanceReachedPatchPeakIsNaN">

                <Break><Arg Name="PatchPeakChl"/>
                    <Ge><Units:microgram_per_liter/><Value>0.0</Value></Ge>
                    <Or><Arg Name="StoppedForNaNPatchPeak"/></Or>
                </Break>

                <Syslog Severity="Important">WpMaxDistance reached. Patch peak value is NaN. Stopping mission.</Syslog>

                <Guidance:Execute>
                    <Sequence/>
                    <Setting><Guidance:Execute.command/><String>stop</String></Setting>
                </Guidance:Execute>

                <Assign><Sequence/><Arg Name="StoppedForNaNPatchPeak"/><True/></Assign>

            </Aggregate>

            <Aggregate Id="SyslogWpMaxDistanceReachedChl">

                <Break>
                    <Not><Arg Name="PatchPeakChl"/><Ge><Units:microgram_per_liter/><Value>0.0</Value></Ge></Not>
                </Break>

                <Syslog Severity="Important">WpMaxDistance reached. Patch value is <Arg Name="PatchPeakChl"/><Units:microgram_per_liter/>at <Arg Name="PatchPeakLatitude"/><Units:degree/>,<Arg Name="PatchPeakLongitude"/><Units:degree/>, distance = <Arg Name="PatchPeakDistance"/><Units:meter/></Syslog>

            </Aggregate>

        </Aggregate>

        <Aggregate Id="SyslogTurnBack">

            <When>
                <Called/>
            </When>

            <Aggregate Id="SyslogTurnBackFromShoreChl">

                <Break>
                    <Not><Universal:distance_from_shore/><Le><Arg Name="MinOffshore"/><Add><Arg Name="MarginMinOffshore"/></Add></Le></Not>
                </Break>

                <Syslog Severity="Important">Latitude = <Universal:latitude/><Units:degree/>, longitude = <Universal:longitude/><Units:degree/>. Turn back from shore because distance_from_shore (<Universal:distance_from_shore/><Units:meter/>) is less than OffshoreDistanceTurnBack (<Arg Name="MinOffshore"/><Units:meter/>+<Arg Name="MarginMinOffshore"/><Units:meter/>). Patch value is <Arg Name="PatchPeakChl"/><Units:microgram_per_liter/>at <Arg Name="PatchPeakLatitude"/><Units:degree/>,<Arg Name="PatchPeakLongitude"/><Units:degree/>, distance = <Arg Name="PatchPeakDistance"/><Units:meter/></Syslog>

            </Aggregate>

            <Aggregate Id="SyslogTurnBackFromWallChl">

                <Break>
                    <Not><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Le><Arg Name="MinDistFromPolygonSides"/></Le></And></Not>
                </Break>

                <Syslog Severity="Important">Latitude = <Universal:latitude/><Units:degree/>, longitude = <Universal:longitude/><Units:degree/>. Turn back from wall because shortest_distance_from_polygon_sides (<Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Units:meter/>) to side <Derivation:ShortestDistanceToPolygonSidesCalculator.side_shortest_distance/><Units:count/> is less than MinDistFromPolygonSides (<Arg Name="MinDistFromPolygonSides"/><Units:meter/>). Patch value is <Arg Name="PatchPeakChl"/><Units:microgram_per_liter/>at <Arg Name="PatchPeakLatitude"/><Units:degree/>,<Arg Name="PatchPeakLongitude"/><Units:degree/>, distance = <Arg Name="PatchPeakDistance"/><Units:meter/></Syslog>

            </Aggregate>

        </Aggregate>

        <Aggregate Id="TransitToPatchTrackingStartLocation">

            <Sequence/>

            <Break>
                <IsNaN><Arg Name="LatPatchTrackingStart"/>
                </IsNaN>
                <Or><IsNaN><Arg Name="LonPatchTrackingStart"/>
                </IsNaN></Or>
            </Break>

            <Assign><Sequence/><Arg Name="NeedComms:DiveInterval"/><Arg Name="NeedCommsTimeInTransit"/></Assign>

            <Guidance:DepthEnvelope>
                <Parallel/>
                <Setting><Guidance:DepthEnvelope.minDepth/><Arg Name="PatchTrackingYoYoMinDepth"/></Setting>
                <Setting><Guidance:DepthEnvelope.maxDepth/><Arg Name="PatchTrackingYoYoMaxDepth"/></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/><Arg Name="YoYoMinAltitude"/></Setting>
                <Setting><Guidance:AltitudeEnvelope.upPitch/><Arg Name="YoYoUpPitch"/></Setting>
            </Guidance:AltitudeEnvelope>

            <Guidance:YoYo>
                <Parallel/>
                <Setting><Guidance:YoYo.downPitch/><Arg Name="YoYoDownPitch"/></Setting>
                <Setting><Guidance:YoYo.upPitch/><Arg Name="YoYoUpPitch"/></Setting>
            </Guidance:YoYo>

            <Guidance:Waypoint>
                <Sequence/>
                <Setting><Guidance:Waypoint.latitude/><Arg Name="LatPatchTrackingStart"/></Setting>
                <Setting><Guidance:Waypoint.longitude/><Arg Name="LonPatchTrackingStart"/></Setting>
            </Guidance:Waypoint>

        </Aggregate>

        <Aggregate Id="TrackingStart">

            <Sequence/>

            <Call Id="TrackingStartComms" RefId="NeedComms"/>

            <Assign><Sequence/><Arg Name="ElapsedSinceStartOrLastDistCheck"/><Units:hour/><Value>0</Value></Assign>

        </Aggregate>

        <Aggregate Id="PatchTracking">

            <Sequence Repeat="PatchTrackingRounds"/>

            <Break><Arg Name="TrackingCompleted"/>
            </Break>

            <Assign><Sequence/><Arg Name="NeedComms:DiveInterval"/><Arg Name="NeedCommsTimePatchTracking"/><Add><Arg Name="NeedCommsTimeMarginPatchTracking"/></Add></Assign>

            <Assign><Sequence/><Arg Name="CrossLegToPatchCenterCompleted"/><False/></Assign>

            <Assign><Sequence/><Arg Name="CrossLegSearchForPeakStarted"/><False/></Assign>

            <Guidance:DepthEnvelope>
                <Parallel/>
                <Setting><Guidance:DepthEnvelope.minDepth/><Arg Name="PatchTrackingYoYoMinDepth"/></Setting>
                <Setting><Guidance:DepthEnvelope.maxDepth/><Arg Name="PatchTrackingYoYoMaxDepth"/></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/><Arg Name="YoYoMinAltitude"/></Setting>
                <Setting><Guidance:AltitudeEnvelope.upPitch/><Arg Name="YoYoUpPitch"/></Setting>
            </Guidance:AltitudeEnvelope>

            <Guidance:YoYo>
                <Parallel/>
                <Setting><Guidance:YoYo.downPitch/><Arg Name="YoYoDownPitch"/></Setting>
                <Setting><Guidance:YoYo.upPitch/><Arg Name="YoYoUpPitch"/></Setting>
            </Guidance:YoYo>

            <Aggregate Id="OutsideOfPolygon">

                <Parallel/>

                <Break>
                    <Not><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/></Not>
                    <Or><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Derivation:ShortestDistanceToPolygonSidesCalculator.inside_polygon/></And></Or>
                    <Or><Arg Name="StoppedForBeingOutsideOfPolygon"/></Or>
                </Break>

                <Syslog Severity="Important">Latitude = <Universal:latitude/><Units:degree/>, longitude = <Universal:longitude/><Units:degree/>. The vehicle is outside of the polygon. Stopping mission.</Syslog>

                <Guidance:Execute>
                    <Sequence/>
                    <Setting><Guidance:Execute.command/><String>stop</String></Setting>
                </Guidance:Execute>

                <Assign><Sequence/><Arg Name="StoppedForBeingOutsideOfPolygon"/><True/></Assign>

            </Aggregate>

            <Aggregate Id="ChlPatchDetection">

                <When>
                    <Arg Name="PatchDetectOn"/>
                </When>

                <Trigger:PeakDetectHorizontal Id="PatchTrackTrigger">
                    <Sequence/>
                    <Break><Arg Name="WpDone"/>
                    </Break>
                    <Setting><Trigger:PeakDetectHorizontal.patchTracking/><True/></Setting>
                    <Setting><Trigger:PeakDetectHorizontal.detectFrom/><Arg Name="Science:PeakChl"/></Setting>
                    <Setting><Trigger:PeakDetectHorizontal.detectTrough/><Arg Name="Science:DetectTrough"/></Setting>
                    <Setting><Trigger:PeakDetectHorizontal.depthFrom/><Arg Name="Science:PeakChlDepth"/></Setting>
                    <Setting><Trigger:PeakDetectHorizontal.latitudeFrom/><Arg Name="Science:PeakChlLatitude"/></Setting>
                    <Setting><Trigger:PeakDetectHorizontal.longitudeFrom/><Arg Name="Science:PeakChlLongitude"/></Setting>
                    <Setting><Trigger:PeakDetectHorizontal.beginThreshold/><Arg Name="BeginThresholdChl"/></Setting>
                    <Setting><Trigger:PeakDetectHorizontal.offPeakFraction/><Arg Name="OffPeakFraction"/></Setting>
                    <Setting><Trigger:PeakDetectHorizontal.filterWidth/><Arg Name="FilterWidthHorizontal"/></Setting>
                    <Setting><Trigger:PeakDetectHorizontal.numProfilesSlidingwindow/><Arg Name="NumOfProfilesSlidingwindow"/></Setting>
                    <Setting><Trigger:PeakDetectHorizontal.detectTimeout/><Arg Name="DetectionTimeout"/></Setting>
                    <OutputArg Name="PatchPeakChl"><Trigger:PeakDetectHorizontal.peakDetect/></OutputArg>
                    <OutputArg Name="PatchPeakDepth"><Trigger:PeakDetectHorizontal.peakDepth/></OutputArg>
                    <OutputArg Name="PatchPeakLatitude"><Trigger:PeakDetectHorizontal.peakLatitude/></OutputArg>
                    <OutputArg Name="PatchPeakLongitude"><Trigger:PeakDetectHorizontal.peakLongitude/></OutputArg>
                    <OutputArg Name="PatchPeakDistance"><Trigger:PeakDetectHorizontal.peakDistance/></OutputArg>
                </Trigger:PeakDetectHorizontal>

                <Syslog Severity="Important">Peak found before WpMaxDistance is reached. Patch value is <Arg Name="PatchPeakChl"/><Units:microgram_per_liter/>at <Arg Name="PatchPeakLatitude"/><Units:degree/>,<Arg Name="PatchPeakLongitude"/><Units:degree/>, distance = <Arg Name="PatchPeakDistance"/><Units:meter/></Syslog>

                <SendData Service="Express"><Arg Name="PatchPeakChl"/><Arg Name="PatchPeakDepth"/><Arg Name="PatchPeakLatitude"/><Arg Name="PatchPeakLongitude"/>
                </SendData>

                <Assign><Sequence/><Arg Name="PatchDetectOn"/><False/></Assign>

                <Assign><Sequence/><Arg Name="WpDone"/><True/></Assign>

            </Aggregate>

            <Aggregate Id="CrossLegToPatchCenter">

                <Description>
                    This is a short run back to patch center.
                </Description>

                <Sequence/>

                <Assign><Sequence/><Arg Name="WpBearing"/><Arg Name="WpBearing"/><Add><Arg Name="Reverse"/></Add><Mod><Arg Name="TwoPi"/>
                </Mod></Assign>

                <Syslog Severity="Important">Bearing for CrossLeg: <Arg Name="WpBearing"/><Units:degree/></Syslog>

                <Guidance:Waypoint Id="CrossWp">
                    <Sequence/>
                    <Timeout Duration="WpTimeout"/>
                    <Setting><Guidance:Waypoint.distanceDelta/><Arg Name="PatchPeakDistance"/></Setting>
                    <Setting><Guidance:Waypoint.distanceDeltaBearing/><Arg Name="WpBearing"/></Setting>
                    <Setting><Guidance:Waypoint.waterFrame/><True/></Setting>
                </Guidance:Waypoint>

                <Assign><Sequence/><Arg Name="PatchDetectOn"/><True/></Assign>

                <Assign><Sequence/><Arg Name="WpDone"/><False/></Assign>

                <Assign Id="PresetValueBeforeCrossLegSearchForPeak"><Sequence/><Arg Name="PatchPeakDistance"/><Units:meter/><Value>0</Value></Assign>

                <Assign><Sequence/><Arg Name="CrossLegToPatchCenterCompleted"/><True/></Assign>

            </Aggregate>

            <Aggregate Id="SurfaceAfterCrossLegToPatchCenter">

                <Sequence/>

                <Break><Arg Name="CntRounds"/>
                    <Mod><Arg Name="PatchTrackingRounds"/>
                    </Mod>
                    <Eq><Units:count/><Value>0</Value></Eq>
                </Break>

                <When>
                    <Arg Name="CntRounds"/>
                    <Mod><Arg Name="NumRoundsBtnCrossLegSurfacings"/>
                    </Mod>
                    <Eq><Units:count/><Value>0</Value></Eq>
                    <And><Arg Name="CrossLegToPatchCenterCompleted"/></And>
                    <And><Not><Arg Name="CrossLegSearchForPeakStarted"/></Not></And>
                    <Or><Elapsed><Universal:time_fix/></Elapsed><Gt><Arg Name="NeedCommsTimePatchTracking"/></Gt><And><Arg Name="CrossLegToPatchCenterCompleted"/></And><And><Not><Arg Name="CrossLegSearchForPeakStarted"/></Not></And></Or>
                </When>

                <Call Id="CrossLegComms" RefId="NeedComms"/>

            </Aggregate>

            <Aggregate Id="SwitchToSamplingAfterCrossLegToPatchCenter">

                <Sequence/>

                <Break>
                    <Not><Arg Name="CntRounds"/><Mod><Arg Name="PatchTrackingRounds"/>
                    </Mod><Eq><Units:count/><Value>0</Value></Eq><And><Arg Name="CrossLegToPatchCenterCompleted"/></And></Not>
                </Break>

                <Syslog Severity="Important">Desired rounds of crosslegs completed and back to patch center. Switch to sampling.</Syslog>

                <Assign><Sequence/><Arg Name="TrackingCompleted"/><True/></Assign>

            </Aggregate>

            <Aggregate Id="CrossLegSearchForPeak">

                <Description>
                    This is a long run to the edge of the patch to search for
                    the peak.
                </Description>

                <Sequence/>

                <Break><Arg Name="WpDone"/>
                    <Or><Arg Name="PatchDetectOn"/><Eq><False/></Eq></Or>
                </Break>

                <Assign><Sequence/><Arg Name="CrossLegSearchForPeakStarted"/><True/></Assign>

                <Assign><Sequence/><Arg Name="FlagTurnBack"/><False/></Assign>

                <Syslog Severity="Important">Bearing for continued CrossLeg: <Arg Name="WpBearing"/><Units:degree/></Syslog>

                <Aggregate Id="CrossLegSearchForPeakNormal">

                    <Break>
                        <Universal:distance_from_shore/>
                        <Le><Arg Name="MinOffshore"/><Add><Arg Name="MarginMinOffshore"/></Add></Le>
                        <And><Elapsed><Arg Name="ElapsedSinceStartOrLastDistCheck"/></Elapsed><Gt><Arg Name="WaitAfterBouncing"/></Gt></And>
                        <Or><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Le><Arg Name="MinDistFromPolygonSides"/></Le></And><And><Elapsed><Arg Name="ElapsedSinceStartOrLastDistCheck"/></Elapsed><Gt><Arg Name="WaitAfterBouncing"/></Gt></And></Or>
                    </Break>

                    <Guidance:Waypoint Id="CrossPeakWp">
                        <Sequence/>
                        <Timeout Duration="WpTimeout"/>
                        <Setting><Guidance:Waypoint.distanceDelta/><Arg Name="WpMaxDistance"/></Setting>
                        <Setting><Guidance:Waypoint.distanceDeltaBearing/><Arg Name="WpBearing"/></Setting>
                        <Setting><Guidance:Waypoint.waterFrame/><True/></Setting>
                    </Guidance:Waypoint>

                    <Call Id="SyslogWpMaxDistanceReachedOnCrossLeg" RefId="SyslogWpMaxDistanceReached"/>

                    <Assign><Sequence/><Arg Name="PatchDetectOn"/><False/></Assign>

                    <Assign><Sequence/><Arg Name="WpDone"/><True/></Assign>

                </Aggregate>

                <Aggregate Id="CrossLegSearchForPeakTurnBack">

                    <Break><Arg Name="FlagTurnBack"/>
                        <Or><Not><Universal:distance_from_shore/><Le><Arg Name="MinOffshore"/><Add><Arg Name="MarginMinOffshore"/></Add></Le><And><Elapsed><Arg Name="ElapsedSinceStartOrLastDistCheck"/></Elapsed><Gt><Arg Name="WaitAfterBouncing"/></Gt></And><Or><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Le><Arg Name="MinDistFromPolygonSides"/></Le></And><And><Elapsed><Arg Name="ElapsedSinceStartOrLastDistCheck"/></Elapsed><Gt><Arg Name="WaitAfterBouncing"/></Gt></And></Or></Not></Or>
                    </Break>

                    <Call Id="SyslogTurnBackOnCrossLeg" RefId="SyslogTurnBack"/>

                    <Assign><Sequence/><Arg Name="ElapsedSinceStartOrLastDistCheck"/><Units:hour/><Value>0</Value></Assign>

                    <Assign><Sequence/><Arg Name="PatchDetectOn"/><False/></Assign>

                    <Assign><Sequence/><Arg Name="WpDone"/><True/></Assign>

                    <Assign><Sequence/><Arg Name="FlagTurnBack"/><True/></Assign>

                </Aggregate>

            </Aggregate>

            <Aggregate Id="InLeg">

                <Sequence/>

                <Assign><Sequence/><Arg Name="WpBearing"/><Arg Name="WpBearing"/><Add><Arg Name="Reverse"/></Add><Mod><Arg Name="TwoPi"/>
                </Mod></Assign>

                <Syslog Severity="Important">Bearing for InLeg: <Arg Name="WpBearing"/><Units:degree/></Syslog>

                <Guidance:Waypoint Id="InLegWp">
                    <Description>
                        Simply drive back towards the patch center
                    </Description>
                    <Sequence/>
                    <Timeout Duration="WpTimeout"/>
                    <Setting><Guidance:Waypoint.distanceDelta/><Arg Name="PatchPeakDistance"/></Setting>
                    <Setting><Guidance:Waypoint.distanceDeltaBearing/><Arg Name="WpBearing"/></Setting>
                    <Setting><Guidance:Waypoint.waterFrame/><True/></Setting>
                </Guidance:Waypoint>

                <Assign><Sequence/><Arg Name="WpBearing"/><Arg Name="WpBearing"/><Sub><Arg Name="Turn"/></Sub><Mod><Arg Name="TwoPi"/>
                </Mod></Assign>

                <Assign Id="FlipSignOfTurnAngle"><Sequence/><Arg Name="Turn"/><Arg Name="Turn"/><Add><Arg Name="Reverse"/></Add><Mod><Arg Name="TwoPi"/>
                </Mod></Assign>

                <Syslog Severity="Important">Bearing for OutLeg: <Arg Name="WpBearing"/><Units:degree/></Syslog>

                <Assign><Sequence/><Arg Name="PatchDetectOn"/><True/></Assign>

                <Assign><Sequence/><Arg Name="WpDone"/><False/></Assign>

                <Assign Id="PresetValueBeforeOutLeg"><Sequence/><Arg Name="PatchPeakDistance"/><Units:meter/><Value>0</Value></Assign>

            </Aggregate>

            <Aggregate Id="OutLeg">

                <Description>
                    Drive outward until edge of patch is detected.
                </Description>

                <Sequence/>

                <Break><Arg Name="WpDone"/>
                    <Or><Arg Name="PatchDetectOn"/><Eq><False/></Eq></Or>
                </Break>

                <Assign><Sequence/><Arg Name="FlagTurnBack"/><False/></Assign>

                <Assign><Sequence/><Arg Name="CntRounds"/><Arg Name="CntRounds"/><Add><Units:count/> <Value>1</Value></Add></Assign>

                <Aggregate Id="OutLegNormal">

                    <Break>
                        <Universal:distance_from_shore/>
                        <Le><Arg Name="MinOffshore"/><Add><Arg Name="MarginMinOffshore"/></Add></Le>
                        <And><Elapsed><Arg Name="ElapsedSinceStartOrLastDistCheck"/></Elapsed><Gt><Arg Name="WaitAfterBouncing"/></Gt></And>
                        <Or><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Le><Arg Name="MinDistFromPolygonSides"/></Le></And><And><Elapsed><Arg Name="ElapsedSinceStartOrLastDistCheck"/></Elapsed><Gt><Arg Name="WaitAfterBouncing"/></Gt></And></Or>
                    </Break>

                    <Guidance:Waypoint Id="OutLegWp">
                        <Sequence/>
                        <Timeout Duration="WpTimeout"/>
                        <Setting><Guidance:Waypoint.distanceDelta/><Arg Name="WpMaxDistance"/></Setting>
                        <Setting><Guidance:Waypoint.distanceDeltaBearing/><Arg Name="WpBearing"/></Setting>
                        <Setting><Guidance:Waypoint.waterFrame/><True/></Setting>
                    </Guidance:Waypoint>

                    <Call Id="SyslogWpMaxDistanceReachedOnOutLeg" RefId="SyslogWpMaxDistanceReached"/>

                    <Assign Id="AssignPatchDetectOffInOutLeg"><Sequence/><Arg Name="PatchDetectOn"/><False/></Assign>

                    <Assign Id="AssignWpDoneInOutLeg"><Sequence/><Arg Name="WpDone"/><True/></Assign>

                </Aggregate>

                <Aggregate Id="OutLegTurnBack">

                    <Break><Arg Name="FlagTurnBack"/>
                        <Or><Not><Universal:distance_from_shore/><Le><Arg Name="MinOffshore"/><Add><Arg Name="MarginMinOffshore"/></Add></Le><And><Elapsed><Arg Name="ElapsedSinceStartOrLastDistCheck"/></Elapsed><Gt><Arg Name="WaitAfterBouncing"/></Gt></And><Or><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Le><Arg Name="MinDistFromPolygonSides"/></Le></And><And><Elapsed><Arg Name="ElapsedSinceStartOrLastDistCheck"/></Elapsed><Gt><Arg Name="WaitAfterBouncing"/></Gt></And></Or></Not></Or>
                    </Break>

                    <Call Id="SyslogTurnBackOnOutLeg" RefId="SyslogTurnBack"/>

                    <Assign><Sequence/><Arg Name="ElapsedSinceStartOrLastDistCheck"/><Units:hour/><Value>0</Value></Assign>

                    <Assign><Sequence/><Arg Name="PatchDetectOn"/><False/></Assign>

                    <Assign><Sequence/><Arg Name="WpDone"/><True/></Assign>

                    <Assign><Sequence/><Arg Name="FlagTurnBack"/><True/></Assign>

                </Aggregate>

            </Aggregate>

        </Aggregate>

    </Aggregate>

    <Aggregate Id="TriggerSampling">

        <When>
            <Called/>
        </When>

        <Aggregate Id="TriggerESP">

            <Sequence/>

            <Break>
                <Not><Arg Name="UseESP"/></Not>
            </Break>

            <Assign><Sequence/><Arg Name="DepthLogged"/><Universal:depth/></Assign>

            <Assign><Sequence/><Arg Name="TempLogged"/><Universal:sea_water_temperature/></Assign>

            <Assign><Sequence/><Arg Name="ChlLogged"/><Universal:mass_concentration_of_chlorophyll_in_sea_water/></Assign>

            <Syslog Severity="Important">Trigger sampling. DepthLogged, TempLogged, ChlLogged = <Arg Name="DepthLogged"/><Units:meter/>, <Arg Name="TempLogged"/><Units:celsius/>, <Arg Name="ChlLogged"/><Units:microgram_per_liter/>.</Syslog>

            <Science:ESPCartridgeSelect>
                <Sequence/>
                <Timeout Duration="P1M"/>
                <Setting><Science:ESPCartridgeSelect.cartridgeType/><Arg Name="CartridgeType"/></Setting>
            </Science:ESPCartridgeSelect>

            <ReadDatum>
                <Science:ESPComponent.sampling/>
            </ReadDatum>

            <Syslog Severity="Important">Wait for ESP sampling to complete.</Syslog>

            <ReadDatum>
                <Science:ESPComponent.sample_number/>
            </ReadDatum>

        </Aggregate>

        <Aggregate Id="TriggerCANON">

            <Sequence/>

            <Break>
                <Not><Arg Name="UseCANONSampler"/></Not>
            </Break>

            <Assign><Sequence/><Arg Name="DepthLogged"/><Universal:depth/></Assign>

            <Assign><Sequence/><Arg Name="TempLogged"/><Universal:sea_water_temperature/></Assign>

            <Assign><Sequence/><Arg Name="ChlLogged"/><Universal:mass_concentration_of_chlorophyll_in_sea_water/></Assign>

            <Syslog Severity="Important">Trigger sampling. DepthLogged, TempLogged, ChlLogged = <Arg Name="DepthLogged"/><Units:meter/>, <Arg Name="TempLogged"/><Units:celsius/>, <Arg Name="ChlLogged"/><Units:microgram_per_liter/>.</Syslog>

            <Assign><Parallel/><Science:CANONSampler.sampleTimeout/><Arg Name="CANONSamplerTimeout"/></Assign>

            <Assign><Parallel/><Science:CANONSampler.rotateOnly/><Arg Name="CANONSamplerRotateOnly"/></Assign>

            <ReadDatum Id="TriggerCANONSampler">
                <Timeout Duration="CANONSamplerTriggerTimeout">
                    <Syslog Severity="Important">Timed out triggering CANONSampler. Stopping mission.</Syslog>
                    <Guidance:Execute>
                        <Sequence/>
                        <Setting><Guidance:Execute.command/><String>stop</String></Setting>
                    </Guidance:Execute>
                </Timeout>
                <Science:CANONSampler.sampling/>
            </ReadDatum>

            <ReadDatum>
                <Timeout Duration="CANONSamplerTimeout">
                    <Syslog Severity="Important">Timed out sampling with CANONSampler. Stopping mission.</Syslog>
                    <Guidance:Execute>
                        <Sequence/>
                        <Setting><Guidance:Execute.command/><String>stop</String></Setting>
                    </Guidance:Execute>
                </Timeout>
                <Science:CANONSampler.sample_number/>
            </ReadDatum>

        </Aggregate>

    </Aggregate>

    <Aggregate Id="DampDown">

        <When>
            <Called/>
        </When>

        <Syslog Severity="Important">Wait <Arg Name="WaitDepthUndulation"/><Units:minute/> for the depth undulation to damp down.</Syslog>

        <Guidance:Wait>
            <Sequence/>
            <Setting><Guidance:Wait.duration/><Arg Name="WaitDepthUndulation"/></Setting>
        </Guidance:Wait>

    </Aggregate>

    <Aggregate Id="DoSendDirect">

        <When>
            <Called/>
        </When>

        <Syslog Severity="Important">ModemID = <Arg Name="ModemID"/><Units:enum/></Syslog>

        <Sensor:SendDirect>
            <Sequence/>
            <Setting><Sensor:SendDirect.destType/><String>modem</String></Setting>
            <Setting><Sensor:SendDirect.destId/><Arg Name="ModemID"/></Setting>
            <Setting><Sensor:SendDirect.destName/><String>_.LRAUVcntSamples</String></Setting>
            <Setting><Sensor:SendDirect.value/><TrackAndSample.CntSamples/></Setting>
            <Setting><Sensor:SendDirect.unit/><String>count</String></Setting>
        </Sensor:SendDirect>

        <Syslog Severity="Important">TrackAndSample.CntSamples = <TrackAndSample.CntSamples/><Units:count/></Syslog>

        <Aggregate Id="SendDirectESP">

            <Sequence/>

            <Break>
                <Not><Arg Name="UseESP"/></Not>
            </Break>

            <Sensor:SendDirect>
                <Sequence/>
                <Setting><Sensor:SendDirect.destType/><String>modem</String></Setting>
                <Setting><Sensor:SendDirect.destId/><Arg Name="ModemID"/></Setting>
                <Setting><Sensor:SendDirect.destName/><String>_.ESPsampleNumber</String></Setting>
                <Setting><Sensor:SendDirect.value/><Science:ESPComponent.sample_number/></Setting>
                <Setting><Sensor:SendDirect.unit/><String>count</String></Setting>
            </Sensor:SendDirect>

            <Sensor:SendDirect>
                <Sequence/>
                <Setting><Sensor:SendDirect.destType/><String>modem</String></Setting>
                <Setting><Sensor:SendDirect.destId/><Arg Name="ModemID"/></Setting>
                <Setting><Sensor:SendDirect.destName/><String>_.ESPcartridgeType</String></Setting>
                <Setting><Sensor:SendDirect.value/><Science:ESPComponent.cartridge/></Setting>
                <Setting><Sensor:SendDirect.unit/><String>count</String></Setting>
            </Sensor:SendDirect>

            <Sensor:SendDirect>
                <Sequence/>
                <Setting><Sensor:SendDirect.destType/><String>modem</String></Setting>
                <Setting><Sensor:SendDirect.destId/><Arg Name="ModemID"/></Setting>
                <Setting><Sensor:SendDirect.destName/><String>_.ESPsampleVolume</String></Setting>
                <Setting><Sensor:SendDirect.value/><Science:ESPComponent.sampleVolume/></Setting>
                <Setting><Sensor:SendDirect.unit/><String>milliliter</String></Setting>
            </Sensor:SendDirect>

            <Syslog Severity="Important">Science:ESPComponent.sample_number = <Science:ESPComponent.sample_number/><Units:count/></Syslog>

            <Syslog Severity="Important">Science:ESPComponent.cartridge = <Science:ESPComponent.cartridge/><Units:count/></Syslog>

            <Syslog Severity="Important">Science:ESPComponent.sampleVolume = <Science:ESPComponent.sampleVolume/><Units:milliliter/></Syslog>

        </Aggregate>

        <Aggregate Id="SendDirectCANON">

            <Sequence/>

            <Break>
                <Not><Arg Name="UseCANONSampler"/></Not>
            </Break>

            <Sensor:SendDirect>
                <Sequence/>
                <Setting><Sensor:SendDirect.destType/><String>modem</String></Setting>
                <Setting><Sensor:SendDirect.destId/><Arg Name="ModemID"/></Setting>
                <Setting><Sensor:SendDirect.destName/><String>_.CANONsampleNumber</String></Setting>
                <Setting><Sensor:SendDirect.value/><Science:CANONSampler.sample_number/></Setting>
                <Setting><Sensor:SendDirect.unit/><String>count</String></Setting>
            </Sensor:SendDirect>

            <Syslog Severity="Important">Science:CANONSampler.sample_number = <Science:CANONSampler.sample_number/><Units:count/></Syslog>

        </Aggregate>

        <Sensor:SendDirect>
            <Sequence/>
            <Setting><Sensor:SendDirect.destType/><String>modem</String></Setting>
            <Setting><Sensor:SendDirect.destId/><Arg Name="ModemID"/></Setting>
            <Setting><Sensor:SendDirect.destName/><String>_.sampleDepth</String></Setting>
            <Setting><Sensor:SendDirect.value/><Universal:depth/></Setting>
            <Setting><Sensor:SendDirect.unit/><String>meter</String></Setting>
        </Sensor:SendDirect>

        <Sensor:SendDirect>
            <Sequence/>
            <Setting><Sensor:SendDirect.destType/><String>modem</String></Setting>
            <Setting><Sensor:SendDirect.destId/><Arg Name="ModemID"/></Setting>
            <Setting><Sensor:SendDirect.destName/><String>_.sampleTemperature</String></Setting>
            <Setting><Sensor:SendDirect.value/><Universal:sea_water_temperature/></Setting>
            <Setting><Sensor:SendDirect.unit/><String>celsius</String></Setting>
        </Sensor:SendDirect>

        <Sensor:SendDirect>
            <Sequence/>
            <Setting><Sensor:SendDirect.destType/><String>modem</String></Setting>
            <Setting><Sensor:SendDirect.destId/><Arg Name="ModemID"/></Setting>
            <Setting><Sensor:SendDirect.destName/><String>_.sampleChlorophyll</String></Setting>
            <Setting><Sensor:SendDirect.value/><Universal:mass_concentration_of_chlorophyll_in_sea_water/></Setting>
            <Setting><Sensor:SendDirect.unit/><String>microgram_per_liter</String></Setting>
        </Sensor:SendDirect>

        <Syslog Severity="Important">Universal:depth = <Universal:depth/><Units:meter/></Syslog>

        <Syslog Severity="Important">Universal:sea_water_temperature = <Universal:sea_water_temperature/><Units:celsius/></Syslog>

        <Syslog Severity="Important">Universal:mass_concentration_of_chlorophyll_in_sea_water = <Universal:mass_concentration_of_chlorophyll_in_sea_water/><Units:microgram_per_liter/></Syslog>

    </Aggregate>

    <Aggregate Id="SendData">

        <Sequence/>

        <When>
            <Called/>
        </When>

        <Aggregate Id="SendTo1Modem">

            <Sequence/>

            <Break><Arg Name="SendDataToMultipleModems"/>
            </Break>

            <Assign><Sequence/><Arg Name="ModemID"/><Arg Name="modemId1"/></Assign>

            <Syslog Severity="Important">Set ModemID to <Arg Name="ModemID"/><Units:enum/>.</Syslog>

            <Call RefId="DoSendDirect"/>

        </Aggregate>

        <Aggregate Id="SendTo2Modems">

            <Sequence/>

            <Break>
                <Not><Arg Name="SendDataToMultipleModems"/></Not>
            </Break>

            <Assign><Sequence/><Arg Name="ModemID"/><Arg Name="modemId1"/></Assign>

            <Syslog Severity="Important">Set ModemID to <Arg Name="ModemID"/><Units:enum/>.</Syslog>

            <Call RefId="DoSendDirect"/>

            <Assign><Sequence/><Arg Name="ModemID"/><Arg Name="modemId2"/></Assign>

            <Syslog Severity="Important">Set ModemID to <Arg Name="ModemID"/><Units:enum/>.</Syslog>

            <Call RefId="DoSendDirect"/>

        </Aggregate>

        <Assign><Sequence/><Arg Name="SendDataAllCompleted"/><True/></Assign>

    </Aggregate>

    <Aggregate Id="SetSampleOptions">

        <When>
            <Called/>
        </When>

        <Aggregate Id="SettingCartridgeTypeIndividual">

            <Sequence/>

            <Break>
                <IsNaN><Arg Name="CartridgeTypeIndividual"/>
                </IsNaN>
                <Or><Not><Arg Name="UseESP"/></Not></Or>
            </Break>

            <Assign><Sequence/><Arg Name="CartridgeType"/><Arg Name="CartridgeTypeIndividual"/></Assign>

        </Aggregate>

        <Aggregate Id="SettingCartridgeTypeCommon">

            <Sequence/>

            <Break>
                <Not><IsNaN><Arg Name="CartridgeTypeIndividual"/>
                </IsNaN></Not>
                <Or><Not><Arg Name="UseESP"/></Not></Or>
            </Break>

            <Assign><Sequence/><Arg Name="CartridgeType"/><Arg Name="CartridgeTypeCommon"/></Assign>

        </Aggregate>

        <Aggregate Id="SettingTempDiffFromPeakChlIndividual">

            <Sequence/>

            <Break>
                <IsNaN><Arg Name="TempDiffFromPeakChlIndividual"/>
                </IsNaN>
            </Break>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChl"/><Arg Name="TempDiffFromPeakChlIndividual"/></Assign>

        </Aggregate>

        <Aggregate Id="SettingTempDiffFromPeakChlCommon">

            <Sequence/>

            <Break>
                <Not><IsNaN><Arg Name="TempDiffFromPeakChlIndividual"/>
                </IsNaN></Not>
            </Break>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChl"/><Arg Name="TempDiffFromPeakChlCommon"/></Assign>

        </Aggregate>

        <Aggregate Id="SettingDepDiffFromPeakChlIndividual">

            <Sequence/>

            <Break>
                <IsNaN><Arg Name="DepDiffFromPeakChlIndividual"/>
                </IsNaN>
            </Break>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChl"/><Arg Name="DepDiffFromPeakChlIndividual"/></Assign>

        </Aggregate>

        <Aggregate Id="SettingDepDiffFromPeakChlCommon">

            <Sequence/>

            <Break>
                <Not><IsNaN><Arg Name="DepDiffFromPeakChlIndividual"/>
                </IsNaN></Not>
            </Break>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChl"/><Arg Name="DepDiffFromPeakChlCommon"/></Assign>

        </Aggregate>

        <Aggregate Id="SettingDepIndividual">

            <Sequence/>

            <Break>
                <IsNaN><Arg Name="DepIndividual"/>
                </IsNaN>
            </Break>

            <Assign><Sequence/><Arg Name="DepthDesignated"/><Arg Name="DepIndividual"/></Assign>

        </Aggregate>

        <Aggregate Id="SettingDepCommon">

            <Sequence/>

            <Break>
                <Not><IsNaN><Arg Name="DepIndividual"/>
                </IsNaN></Not>
            </Break>

            <Assign><Sequence/><Arg Name="DepthDesignated"/><Arg Name="DepCommon"/></Assign>

        </Aggregate>

        <Aggregate Id="SettingTempIndividual">

            <Sequence/>

            <Break>
                <IsNaN><Arg Name="TempIndividual"/>
                </IsNaN>
            </Break>

            <Assign><Sequence/><Arg Name="TempDesignated"/><Arg Name="TempIndividual"/></Assign>

        </Aggregate>

        <Aggregate Id="SettingTempCommon">

            <Sequence/>

            <Break>
                <Not><IsNaN><Arg Name="TempIndividual"/>
                </IsNaN></Not>
            </Break>

            <Assign><Sequence/><Arg Name="TempDesignated"/><Arg Name="TempCommon"/></Assign>

        </Aggregate>

        <Aggregate Id="SettingWaitIndividual">

            <Sequence/>

            <Break>
                <IsNaN><Arg Name="WaitDepUndulationIndividual"/>
                </IsNaN>
            </Break>

            <Assign><Sequence/><Arg Name="WaitDepthUndulation"/><Arg Name="WaitDepUndulationIndividual"/></Assign>

        </Aggregate>

        <Aggregate Id="SettingWaitCommon">

            <Sequence/>

            <Break>
                <Not><IsNaN><Arg Name="WaitDepUndulationIndividual"/>
                </IsNaN></Not>
            </Break>

            <Assign><Sequence/><Arg Name="WaitDepthUndulation"/><Arg Name="WaitDepUndulationCommon"/></Assign>

        </Aggregate>

        <Syslog Severity="Important">Set CartridgeType (if ESP), TempDiffFromPeakChl, DepDiffFromPeakChl, TempDesignated, DepthDesignated, WaitDepthUndulation to <Arg Name="CartridgeType"/><Units:count/>, <Arg Name="TempDiffFromPeakChl"/><Units:kelvin/>, <Arg Name="DepDiffFromPeakChl"/><Units:meter/>, <Arg Name="TempDesignated"/><Units:celsius/>, <Arg Name="DepthDesignated"/><Units:meter/>, <Arg Name="WaitDepthUndulation"/><Units:minute/>.</Syslog>

    </Aggregate>

    <Aggregate Id="SamplingPartStart">

        <Sequence/>

        <Break>
            <Not><Arg Name="TrackingCompleted"/></Not>
        </Break>

        <Call Id="SamplingPartStartComms" RefId="NeedComms"/>

        <Aggregate Id="SamplingPartStartSetFlagGoDown">

            <Sequence/>

            <Break>
                <Not><Arg Name="SampleAtPeakChl"/></Not>
                <Or><IsNaN><Arg Name="TempDiffFromPeakChl1"/>
                </IsNaN><And><IsNaN><Arg Name="TempDiffFromPeakChlCommon"/>
                </IsNaN></And><And><IsNaN><Arg Name="DepDiffFromPeakChl1"/>
                </IsNaN></And><And><IsNaN><Arg Name="DepDiffFromPeakChlCommon"/>
                </IsNaN></And></Or>
            </Break>

            <Assign><Sequence/><Arg Name="FlagGoDown"/><True/></Assign>

        </Aggregate>

        <Assign><Sequence/><Arg Name="SamplingPartStartCommsCompleted"/><True/></Assign>

        <Assign><Sequence/><Arg Name="ElapsedSinceStartOrLastSample"/><Units:hour/><Value>0</Value></Assign>

        <Assign><Sequence/><Arg Name="StartVerticalManeuver"/><True/></Assign>

    </Aggregate>

    <Aggregate Id="SetSpeedRudderAngleInitialDive">

        <Sequence/>

        <When>
            <Arg Name="StartVerticalManeuver"/>
            <And><Not><Arg Name="FlagInitialDiveCompleted"/></Not></And>
            <And><Arg Name="CntSamples"/><Eq><Units:count/><Value>1</Value></Eq></And>
        </When>

        <Break>
            <Not><Arg Name="SampleAtPeakChl"/></Not>
        </Break>

        <Guidance:SetSpeed>
            <Parallel/>
            <Setting><Guidance:SetSpeed.speed/><Arg Name="SpeedInitialDive"/></Setting>
        </Guidance:SetSpeed>

        <Guidance:Point>
            <Parallel/>
            <Setting><Guidance:Point.rudderAngle/><Arg Name="RudderAngleInitialDive"/></Setting>
        </Guidance:Point>

        <Guidance:Wait>
            <Sequence/>
            <Setting><Guidance:Wait.duration/><Arg Name="InitialDiveDuration"/></Setting>
        </Guidance:Wait>

        <Assign><Sequence/><Arg Name="FlagInitialDiveCompleted"/><True/></Assign>

    </Aggregate>

    <Aggregate Id="FindPeakChlVertical">

        <Sequence/>

        <Break>
            <Not><Arg Name="StartVerticalManeuver"/></Not>
            <Or><Arg Name="CntSamples"/><Gt><Arg Name="NumSamplers"/></Gt></Or>
        </Break>

        <Aggregate Id="FindPeak">

            <Sequence/>

            <While>
                <Arg Name="SampleAtPeakChl"/>
            </While>

            <Aggregate Id="FindPeakSpiralMode">

                <While>
                    <Arg Name="SpeedSampling"/>
                    <Gt><Units:meter_per_second/><Value>0.0</Value></Gt>
                </While>

                <Guidance:SetSpeed>
                    <Parallel/>
                    <Setting><Guidance:SetSpeed.speed/><Arg Name="SpeedSampling"/></Setting>
                </Guidance:SetSpeed>

                <Guidance:Point>
                    <Parallel/>
                    <Setting><Guidance:Point.rudderAngle/><Arg Name="RudderAngleDonutSampling"/></Setting>
                </Guidance:Point>

                <Guidance:Buoyancy>
                    <Parallel/>
                    <Setting><Guidance:Buoyancy.position/><Arg Name="BuoyancyNeutral"/></Setting>
                </Guidance:Buoyancy>

            </Aggregate>

            <Aggregate Id="FindPeakDriftMode">

                <While>
                    <Not><Arg Name="SpeedSampling"/><Gt><Units:meter_per_second/><Value>0.0</Value></Gt></Not>
                </While>

                <Guidance:SetSpeed>
                    <Parallel/>
                    <Setting><Guidance:SetSpeed.speed/><Units:meter_per_second/><Value>0.0</Value></Setting>
                </Guidance:SetSpeed>

                <Guidance:Point>
                    <Parallel/>
                    <Setting><Guidance:Point.rudderAngle/><Units:degree/><Value>0.0</Value></Setting>
                </Guidance:Point>

            </Aggregate>

            <Aggregate Id="SetDepthRateGoDown">

                <While>
                    <Arg Name="FlagGoDown"/>
                    <And><Arg Name="StartVerticalManeuver"/></And>
                </While>

                <Guidance:Pitch>
                    <Parallel/>
                    <Setting><Guidance:Pitch.depthRate/><Arg Name="DownRate"/></Setting>
                </Guidance:Pitch>

            </Aggregate>

            <Aggregate Id="SetDepthRateGoUp">

                <While>
                    <Arg Name="FlagGoUp"/>
                    <And><Arg Name="StartVerticalManeuver"/></And>
                </While>

                <Guidance:Pitch>
                    <Parallel/>
                    <Setting><Guidance:Pitch.depthRate/><Arg Name="UpRate"/></Setting>
                </Guidance:Pitch>

            </Aggregate>

            <Aggregate Id="LogGoDown">

                <When>
                    <Arg Name="FlagGoDown"/>
                    <And><Not><Arg Name="SyslogGoDown"/></Not></And>
                    <And><Arg Name="StartVerticalManeuver"/></And>
                </When>

                <Assign><Sequence/><Arg Name="DepthLogged"/><Universal:depth/></Assign>

                <Syslog Severity="Important">Go down from <Arg Name="DepthLogged"/><Units:meter/></Syslog>

                <Assign><Sequence/><Arg Name="SyslogGoDown"/><True/></Assign>

            </Aggregate>

            <Aggregate Id="SetFlagGoUp">

                <When>
                    <IsNaN><Arg Name="TempDesignated"/>
                    </IsNaN>
                    <And><IsNaN><Arg Name="DepthDesignated"/>
                    </IsNaN></And>
                    <And><Arg Name="SampleAtPeakChl"/></And>
                    <And><Arg Name="FlagFirstDive"/></And>
                    <And><Universal:depth/><Gt><Arg Name="DeepBoundChl"/><Add><Arg Name="VertMargin"/></Add></Gt></And>
                    <And><Not><Arg Name="FlagGoUp"/></Not></And>
                    <And><Arg Name="StartVerticalManeuver"/></And>
                </When>

                <Assign><Sequence/><Arg Name="FlagGoUp"/><True/></Assign>

                <Assign><Sequence/><Arg Name="FlagGoDown"/><False/></Assign>

                <Assign><Sequence/><Arg Name="SyslogGoDown"/><False/></Assign>

            </Aggregate>

            <Aggregate Id="LogGoUp">

                <When>
                    <Arg Name="FlagGoUp"/>
                    <And><Not><Arg Name="SyslogGoUp"/></Not></And>
                    <And><Arg Name="StartVerticalManeuver"/></And>
                </When>

                <Assign><Sequence/><Arg Name="DepthLogged"/><Universal:depth/></Assign>

                <Syslog Severity="Important">Go up from <Arg Name="DepthLogged"/><Units:meter/></Syslog>

                <Assign><Sequence/><Arg Name="SyslogGoUp"/><True/></Assign>

            </Aggregate>

            <Aggregate Id="SetChlPeakTempDepth">

                <When>
                    <Arg Name="FlagFirstDive"/>
                    <And><Arg Name="SampleAtPeakChl"/></And>
                    <And><Arg Name="EnableSettingPeakDepth"/></And>
                    <And><Not><Arg Name="FlagPeakChlDepthSet"/></Not></And>
                    <And><Arg Name="FlagGoUp"/></And>
                    <And><Universal:depth/><Lt><Arg Name="DeepBoundChl"/><Add><Arg Name="VertMargin"/></Add><Sub><Arg Name="RiseFromTurningDepth"/></Sub></Lt></And>
                    <And><Arg Name="Science:PeakChlDepth"/><Gt><Arg Name="ShallowBoundChl"/></Gt></And>
                    <And><Arg Name="StartVerticalManeuver"/></And>
                </When>

                <Assign><Sequence/><Arg Name="PeakChlDepthSet"/><Arg Name="Science:PeakChlDepth"/></Assign>

                <Assign><Sequence/><Arg Name="PeakChlTemperatureSet"/><Arg Name="Science:PeakChlTemperature"/></Assign>

                <Assign><Sequence/><Arg Name="PeakChlSet"/><Arg Name="Science:PeakChl"/></Assign>

                <Assign><Sequence/><Arg Name="FlagFirstDive"/><False/></Assign>

                <Assign><Sequence/><Arg Name="FlagPeakChlDepthSet"/><True/></Assign>

                <Assign><Sequence/><Arg Name="DepthLogged"/><Universal:depth/></Assign>

                <Assign><Sequence/><Arg Name="ChlLogged"/><Universal:mass_concentration_of_chlorophyll_in_sea_water/></Assign>

                <Assign><Sequence/><Arg Name="FlagGoUp"/><False/></Assign>

                <Assign><Sequence/><Arg Name="FlagGoDown"/><False/></Assign>

                <Assign><Sequence/><Arg Name="SyslogGoUp"/><False/></Assign>

                <Assign><Sequence/><Arg Name="SyslogGoDown"/><False/></Assign>

                <Syslog Severity="Important">Set peak-chl depth and temp. DepthLogged, ChlLogged, PeakChlDepthSet, PeakChlTemperatureSet, PeakChlSet = <Arg Name="DepthLogged"/><Units:meter/>, <Arg Name="ChlLogged"/><Units:microgram_per_liter/>, <Arg Name="PeakChlDepthSet"/><Units:meter/>, <Arg Name="PeakChlTemperatureSet"/><Units:celsius/>, <Arg Name="PeakChlSet"/><Units:microgram_per_liter/></Syslog>

                <Assign><Sequence/><Arg Name="FlagPeakChlTempSet"/><True/></Assign>

            </Aggregate>

        </Aggregate>

    </Aggregate>

    <Aggregate Id="IsothermOrDepthHolding">

        <Parallel/>

        <Break><Arg Name="CntSamples"/>
            <Gt><Arg Name="NumSamplers"/></Gt>
        </Break>

        <Aggregate Id="HoldTempInDonutMode">

            <Break><Arg Name="FlagTargetDepthSet"/>
            </Break>

            <While>
                <Arg Name="FlagTempSet"/>
                <And><Arg Name="StartVerticalManeuver"/></And>
                <And><Not><Arg Name="TouchedDeepBoundSampler"/></Not></And>
                <And><Not><Arg Name="FlagGoUp"/></Not></And>
                <And><Not><Arg Name="FlagGoDown"/></Not></And>
                <And><Arg Name="SpeedSampling"/><Gt><Units:meter_per_second/><Value>0.0</Value></Gt></And>
                <And><Not><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/></Not><Or><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Not><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Ge><Units:meter/><Value>0.0</Value></Ge></Not><Or><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Gt><Arg Name="MinDistFromPolygonSides"/></Gt></Or></And></Or></And>
                <And><Universal:distance_from_shore/><Gt><Arg Name="MinOffshore"/><Add><Arg Name="MarginMinOffshore"/></Add></Gt></And>
            </While>

            <Guidance:DepthServo>
                <Parallel/>
                <Setting><Guidance:DepthServo.input/><Universal:sea_water_temperature/></Setting>
                <Setting><Guidance:DepthServo.holdValue/><Arg Name="TempSet"/></Setting>
                <Setting><Guidance:DepthServo.proportionalGain/><Arg Name="GainProportional"/></Setting>
                <Setting><Guidance:DepthServo.integralGain/><Arg Name="GainIntegral"/></Setting>
                <Setting><Guidance:DepthServo.derivativeGain/><Arg Name="GainDerivative"/></Setting>
                <Setting><Guidance:DepthServo.changePerMeter/><Arg Name="VariationPerMeter"/></Setting>
            </Guidance:DepthServo>

            <Guidance:SetSpeed>
                <Parallel/>
                <Setting><Guidance:SetSpeed.speed/><Arg Name="SpeedSampling"/></Setting>
            </Guidance:SetSpeed>

            <Guidance:Point>
                <Parallel/>
                <Setting><Guidance:Point.rudderAngle/><Arg Name="RudderAngleDonutSampling"/></Setting>
            </Guidance:Point>

            <Guidance:Buoyancy>
                <Parallel/>
                <Setting><Guidance:Buoyancy.position/><Arg Name="BuoyancyNeutral"/></Setting>
            </Guidance:Buoyancy>

        </Aggregate>

        <Aggregate Id="HoldTempInDriftMode">

            <Break><Arg Name="FlagTargetDepthSet"/>
            </Break>

            <While>
                <Arg Name="FlagTempSet"/>
                <And><Arg Name="StartVerticalManeuver"/></And>
                <And><Not><Arg Name="TouchedDeepBoundSampler"/></Not></And>
                <And><Not><Arg Name="FlagGoUp"/></Not></And>
                <And><Not><Arg Name="FlagGoDown"/></Not></And>
                <And><Not><Arg Name="SpeedSampling"/><Gt><Units:meter_per_second/><Value>0.0</Value></Gt></Not></And>
                <And><Not><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/></Not><Or><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Not><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Ge><Units:meter/><Value>0.0</Value></Ge></Not><Or><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Gt><Arg Name="MinDistFromPolygonSides"/></Gt></Or></And></Or></And>
                <And><Universal:distance_from_shore/><Gt><Arg Name="MinOffshore"/><Add><Arg Name="MarginMinOffshore"/></Add></Gt></And>
            </While>

            <Guidance:DepthServo>
                <Parallel/>
                <Setting><Guidance:DepthServo.input/><Universal:sea_water_temperature/></Setting>
                <Setting><Guidance:DepthServo.holdValue/><Arg Name="TempSet"/></Setting>
                <Setting><Guidance:DepthServo.proportionalGain/><Arg Name="GainProportional"/></Setting>
                <Setting><Guidance:DepthServo.integralGain/><Arg Name="GainIntegral"/></Setting>
                <Setting><Guidance:DepthServo.derivativeGain/><Arg Name="GainDerivative"/></Setting>
                <Setting><Guidance:DepthServo.changePerMeter/><Arg Name="VariationPerMeter"/></Setting>
            </Guidance:DepthServo>

            <Guidance:SetSpeed>
                <Parallel/>
                <Setting><Guidance:SetSpeed.speed/><Units:meter_per_second/><Value>0.0</Value></Setting>
            </Guidance:SetSpeed>

            <Guidance:Point>
                <Parallel/>
                <Setting><Guidance:Point.rudderAngle/><Units:degree/><Value>0.0</Value></Setting>
            </Guidance:Point>

        </Aggregate>

        <Aggregate Id="HoldDepthInDonutMode">

            <Break><Arg Name="FlagTempSet"/>
            </Break>

            <While>
                <Arg Name="FlagTargetDepthSet"/>
                <And><Arg Name="StartVerticalManeuver"/></And>
                <And><Not><Arg Name="TouchedDeepBoundSampler"/></Not></And>
                <And><Not><Arg Name="FlagGoUp"/></Not></And>
                <And><Not><Arg Name="FlagGoDown"/></Not></And>
                <And><Arg Name="SpeedSampling"/><Gt><Units:meter_per_second/><Value>0.0</Value></Gt></And>
                <And><Not><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/></Not><Or><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Not><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Ge><Units:meter/><Value>0.0</Value></Ge></Not><Or><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Gt><Arg Name="MinDistFromPolygonSides"/></Gt></Or></And></Or></And>
                <And><Universal:distance_from_shore/><Gt><Arg Name="MinOffshore"/><Add><Arg Name="MarginMinOffshore"/></Add></Gt></And>
            </While>

            <Guidance:SetSpeed>
                <Parallel/>
                <Setting><Guidance:SetSpeed.speed/><Arg Name="SpeedSampling"/></Setting>
            </Guidance:SetSpeed>

            <Guidance:Point>
                <Parallel/>
                <Setting><Guidance:Point.rudderAngle/><Arg Name="RudderAngleDonutSampling"/></Setting>
            </Guidance:Point>

            <Guidance:Buoyancy>
                <Parallel/>
                <Setting><Guidance:Buoyancy.position/><Arg Name="BuoyancyNeutral"/></Setting>
            </Guidance:Buoyancy>

        </Aggregate>

        <Aggregate Id="HoldDepthInDriftMode">

            <Break><Arg Name="FlagTempSet"/>
            </Break>

            <While>
                <Arg Name="FlagTargetDepthSet"/>
                <And><Arg Name="StartVerticalManeuver"/></And>
                <And><Not><Arg Name="TouchedDeepBoundSampler"/></Not></And>
                <And><Not><Arg Name="FlagGoUp"/></Not></And>
                <And><Not><Arg Name="FlagGoDown"/></Not></And>
                <And><Not><Arg Name="SpeedSampling"/><Gt><Units:meter_per_second/><Value>0.0</Value></Gt></Not></And>
                <And><Not><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/></Not><Or><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Not><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Ge><Units:meter/><Value>0.0</Value></Ge></Not><Or><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Gt><Arg Name="MinDistFromPolygonSides"/></Gt></Or></And></Or></And>
                <And><Universal:distance_from_shore/><Gt><Arg Name="MinOffshore"/><Add><Arg Name="MarginMinOffshore"/></Add></Gt></And>
            </While>

            <Guidance:SetSpeed>
                <Parallel/>
                <Setting><Guidance:SetSpeed.speed/><Units:meter_per_second/><Value>0.0</Value></Setting>
            </Guidance:SetSpeed>

            <Guidance:Point>
                <Parallel/>
                <Setting><Guidance:Point.rudderAngle/><Units:degree/><Value>0.0</Value></Setting>
            </Guidance:Point>

        </Aggregate>

    </Aggregate>

    <Aggregate Id="ClampDepthDuringIsothermHolding">

        <Parallel/>

        <Break><Arg Name="CntSamples"/>
            <Gt><Arg Name="NumSamplers"/></Gt>
        </Break>

        <Aggregate Id="ClampToDeepBoundSampler">

            <While>
                <Arg Name="FlagTempSet"/>
                <And><Arg Name="StartVerticalManeuver"/></And>
                <And><Arg Name="TouchedDeepBoundSampler"/></And>
            </While>

            <Guidance:Pitch>
                <Parallel/>
                <Setting><Guidance:Pitch.depth/><Arg Name="DeepBoundSampler"/></Setting>
            </Guidance:Pitch>

        </Aggregate>

    </Aggregate>

    <Aggregate Id="SetFlagClampDepthDuringIsothermHolding">

        <Parallel/>

        <Break><Arg Name="CntSamples"/>
            <Gt><Arg Name="NumSamplers"/></Gt>
        </Break>

        <Aggregate Id="SetFlagDeepBoundSampler">

            <When>
                <Arg Name="FlagTempSet"/>
                <And><Universal:depth/><Gt><Arg Name="DeepBoundSampler"/></Gt></And>
                <And><Not><Arg Name="TouchedDeepBoundSamplerFlagSet"/></Not></And>
            </When>

            <Syslog Severity="Important">Clamp depth to DeepBoundSampler = <Arg Name="DeepBoundSampler"/><Units:meter/>, because attempted temp is deeper.</Syslog>

            <Assign><Sequence/><Arg Name="TouchedDeepBoundSampler"/><True/></Assign>

            <Assign><Sequence/><Arg Name="TouchedDeepBoundSamplerFlagSet"/><True/></Assign>

        </Aggregate>

    </Aggregate>

    <Aggregate Id="TakeSamples">

        <Parallel/>

        <Break><Arg Name="CntSamples"/>
            <Gt><Arg Name="NumSamplers"/></Gt>
            <Or><Not><Arg Name="StartVerticalManeuver"/></Not></Or>
            <Or><Arg Name="SampleAtPeakChl"/><And><Not><Arg Name="FlagInitialDiveCompleted"/></Not></And></Or>
        </Break>

        <Aggregate Id="OutsideOfPolygon">

            <Parallel/>

            <Break>
                <Not><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/></Not>
                <Or><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Derivation:ShortestDistanceToPolygonSidesCalculator.inside_polygon/></And></Or>
                <Or><Arg Name="StoppedForBeingOutsideOfPolygon"/></Or>
            </Break>

            <Syslog Severity="Important">Latitude = <Universal:latitude/><Units:degree/>, longitude = <Universal:longitude/><Units:degree/>. Outside of the polygon. Stopping mission.</Syslog>

            <Guidance:Execute>
                <Sequence/>
                <Setting><Guidance:Execute.command/><String>stop</String></Setting>
            </Guidance:Execute>

            <Assign><Sequence/><Arg Name="StoppedForBeingOutsideOfPolygon"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="NoFiringForTooLong">

            <When>
                <Elapsed><Arg Name="ElapsedSinceStartOrLastSample"/></Elapsed>
                <Gt><Arg Name="MaxWaitNoFiring"/></Gt>
                <And><Not><Arg Name="FlagSamplingOngoing"/></Not></And>
                <And><Not><Arg Name="StoppedForNoFiringForTooLong"/></Not></And>
            </When>

            <Assign><Sequence/><Arg Name="ElapsedTime"/><Elapsed><Arg Name="ElapsedSinceStartOrLastSample"/></Elapsed></Assign>

            <Syslog Severity="Important">No firing for too long. Stopping mission. ElapsedTime, MaxWaitNoFiring = <Arg Name="ElapsedTime"/><Units:minute/>, <Arg Name="MaxWaitNoFiring"/><Units:minute/></Syslog>

            <Guidance:Execute>
                <Sequence/>
                <Setting><Guidance:Execute.command/><String>stop</String></Setting>
            </Guidance:Execute>

            <Assign><Sequence/><Arg Name="StoppedForNoFiringForTooLong"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample1">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>1</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType1"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl1"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl1"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep1"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp1"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation1"/></Assign>

            <Call Id="SetOptionsForSample1" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample2">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>2</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType2"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl2"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl2"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep2"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp2"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation2"/></Assign>

            <Call Id="SetOptionsForSample2" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample3">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>3</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType3"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl3"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl3"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep3"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp3"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation3"/></Assign>

            <Call Id="SetOptionsForSample3" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample4">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>4</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType4"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl4"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl4"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep4"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp4"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation4"/></Assign>

            <Call Id="SetOptionsForSample4" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample5">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>5</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType5"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl5"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl5"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep5"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp5"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation5"/></Assign>

            <Call Id="SetOptionsForSample5" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample6">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>6</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType6"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl6"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl6"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep6"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp6"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation6"/></Assign>

            <Call Id="SetOptionsForSample6" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample7">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>7</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType7"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl7"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl7"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep7"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp7"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation7"/></Assign>

            <Call Id="SetOptionsForSample7" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample8">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>8</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType8"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl8"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl8"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep8"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp8"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation8"/></Assign>

            <Call Id="SetOptionsForSample8" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample9">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>9</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType9"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl9"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl9"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep9"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp9"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation9"/></Assign>

            <Call Id="SetOptionsForSample9" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample10">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>10</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType10"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl10"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl10"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep10"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp10"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation10"/></Assign>

            <Call Id="SetOptionsForSample10" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample11">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>11</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType11"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl11"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl11"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep11"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp11"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation11"/></Assign>

            <Call Id="SetOptionsForSample11" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample12">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>12</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType12"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl12"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl12"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep12"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp12"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation12"/></Assign>

            <Call Id="SetOptionsForSample12" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample13">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>13</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType13"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl13"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl13"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep13"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp13"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation13"/></Assign>

            <Call Id="SetOptionsForSample13" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample14">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>14</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType14"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl14"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl14"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep14"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp14"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation14"/></Assign>

            <Call Id="SetOptionsForSample14" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample15">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>15</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType15"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl15"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl15"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep15"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp15"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation15"/></Assign>

            <Call Id="SetOptionsForSample15" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample16">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>16</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType16"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl16"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl16"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep16"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp16"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation16"/></Assign>

            <Call Id="SetOptionsForSample16" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample17">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>17</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType17"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl17"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl17"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep17"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp17"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation17"/></Assign>

            <Call Id="SetOptionsForSample17" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample18">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>18</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType18"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl18"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl18"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep18"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp18"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation18"/></Assign>

            <Call Id="SetOptionsForSample18" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample19">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>19</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType19"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl19"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl19"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep19"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp19"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation19"/></Assign>

            <Call Id="SetOptionsForSample19" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample20">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>20</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType20"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl20"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl20"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep20"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp20"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation20"/></Assign>

            <Call Id="SetOptionsForSample20" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample21">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>21</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType21"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl21"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl21"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep21"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp21"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation21"/></Assign>

            <Call Id="SetOptionsForSample21" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample22">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>22</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType22"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl22"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl22"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep22"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp22"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation22"/></Assign>

            <Call Id="SetOptionsForSample22" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample23">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>23</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType23"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl23"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl23"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep23"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp23"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation23"/></Assign>

            <Call Id="SetOptionsForSample23" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample24">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>24</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType24"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl24"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl24"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep24"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp24"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation24"/></Assign>

            <Call Id="SetOptionsForSample24" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample25">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>25</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType25"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl25"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl25"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep25"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp25"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation25"/></Assign>

            <Call Id="SetOptionsForSample25" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample26">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>26</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType26"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl26"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl26"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep26"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp26"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation26"/></Assign>

            <Call Id="SetOptionsForSample26" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample27">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>27</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType27"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl27"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl27"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep27"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp27"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation27"/></Assign>

            <Call Id="SetOptionsForSample27" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample28">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>28</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType28"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl28"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl28"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep28"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp28"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation28"/></Assign>

            <Call Id="SetOptionsForSample28" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample29">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>29</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType29"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl29"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl29"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep29"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp29"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation29"/></Assign>

            <Call Id="SetOptionsForSample29" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample30">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>30</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType30"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl30"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl30"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep30"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp30"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation30"/></Assign>

            <Call Id="SetOptionsForSample30" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample31">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>31</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType31"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl31"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl31"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep31"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp31"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation31"/></Assign>

            <Call Id="SetOptionsForSample31" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample32">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>32</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType32"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl32"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl32"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep32"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp32"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation32"/></Assign>

            <Call Id="SetOptionsForSample32" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample33">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>33</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType33"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl33"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl33"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep33"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp33"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation33"/></Assign>

            <Call Id="SetOptionsForSample33" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample34">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>34</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType34"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl34"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl34"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep34"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp34"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation34"/></Assign>

            <Call Id="SetOptionsForSample34" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample35">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>35</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType35"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl35"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl35"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep35"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp35"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation35"/></Assign>

            <Call Id="SetOptionsForSample35" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample36">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>36</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType36"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl36"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl36"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep36"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp36"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation36"/></Assign>

            <Call Id="SetOptionsForSample36" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample37">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>37</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType37"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl37"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl37"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep37"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp37"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation37"/></Assign>

            <Call Id="SetOptionsForSample37" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample38">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>38</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType38"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl38"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl38"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep38"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp38"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation38"/></Assign>

            <Call Id="SetOptionsForSample38" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample39">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>39</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType39"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl39"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl39"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep39"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp39"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation39"/></Assign>

            <Call Id="SetOptionsForSample39" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample40">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>40</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType40"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl40"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl40"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep40"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp40"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation40"/></Assign>

            <Call Id="SetOptionsForSample40" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample41">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>41</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType41"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl41"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl41"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep41"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp41"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation41"/></Assign>

            <Call Id="SetOptionsForSample41" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample42">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>42</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType42"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl42"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl42"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep42"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp42"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation42"/></Assign>

            <Call Id="SetOptionsForSample42" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample43">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>43</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType43"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl43"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl43"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep43"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp43"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation43"/></Assign>

            <Call Id="SetOptionsForSample43" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample44">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>44</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType44"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl44"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl44"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep44"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp44"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation44"/></Assign>

            <Call Id="SetOptionsForSample44" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample45">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>45</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType45"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl45"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl45"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep45"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp45"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation45"/></Assign>

            <Call Id="SetOptionsForSample45" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample46">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>46</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType46"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl46"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl46"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep46"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp46"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation46"/></Assign>

            <Call Id="SetOptionsForSample46" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample47">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>47</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType47"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl47"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl47"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep47"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp47"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation47"/></Assign>

            <Call Id="SetOptionsForSample47" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample48">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>48</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType48"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl48"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl48"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep48"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp48"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation48"/></Assign>

            <Call Id="SetOptionsForSample48" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample49">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>49</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType49"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl49"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl49"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep49"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp49"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation49"/></Assign>

            <Call Id="SetOptionsForSample49" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample50">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>50</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType50"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl50"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl50"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep50"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp50"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation50"/></Assign>

            <Call Id="SetOptionsForSample50" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample51">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>51</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType51"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl51"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl51"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep51"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp51"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation51"/></Assign>

            <Call Id="SetOptionsForSample51" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample52">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>52</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType52"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl52"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl52"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep52"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp52"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation52"/></Assign>

            <Call Id="SetOptionsForSample52" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample53">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>53</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType53"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl53"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl53"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep53"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp53"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation53"/></Assign>

            <Call Id="SetOptionsForSample53" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample54">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>54</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType54"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl54"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl54"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep54"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp54"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation54"/></Assign>

            <Call Id="SetOptionsForSample54" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample55">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>55</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType55"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl55"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl55"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep55"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp55"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation55"/></Assign>

            <Call Id="SetOptionsForSample55" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample56">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>56</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType56"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl56"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl56"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep56"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp56"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation56"/></Assign>

            <Call Id="SetOptionsForSample56" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample57">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>57</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType57"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl57"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl57"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep57"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp57"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation57"/></Assign>

            <Call Id="SetOptionsForSample57" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample58">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>58</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType58"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl58"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl58"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep58"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp58"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation58"/></Assign>

            <Call Id="SetOptionsForSample58" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample59">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>59</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType59"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl59"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl59"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep59"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp59"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation59"/></Assign>

            <Call Id="SetOptionsForSample59" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetOptionsOfSample60">

            <When>
                <Arg Name="CntSamples"/>
                <Add><Arg Name="StartIndex"/></Add>

                <Sub><Units:count/><Value>1</Value></Sub>

                <Eq><Units:count/><Value>60</Value></Eq>
                <And><Not><Arg Name="SampleOptionsSet"/></Not></And>
                <And><Arg Name="SampleCountIncreased"/></And>
            </When>

            <Assign><Sequence/><Arg Name="CartridgeTypeIndividual"/><Arg Name="CartridgeType60"/></Assign>

            <Assign><Sequence/><Arg Name="TempDiffFromPeakChlIndividual"/><Arg Name="TempDiffFromPeakChl60"/></Assign>

            <Assign><Sequence/><Arg Name="DepDiffFromPeakChlIndividual"/><Arg Name="DepDiffFromPeakChl60"/></Assign>

            <Assign><Sequence/><Arg Name="DepIndividual"/><Arg Name="Dep60"/></Assign>

            <Assign><Sequence/><Arg Name="TempIndividual"/><Arg Name="Temp60"/></Assign>

            <Assign><Sequence/><Arg Name="WaitDepUndulationIndividual"/><Arg Name="WaitDepUndulation60"/></Assign>

            <Call Id="SetOptionsForSample60" RefId="SetSampleOptions"/>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetFiringTempRelativeToChlPeak">

            <When>
                <Arg Name="StartVerticalManeuver"/>
                <And><Arg Name="SampleOptionsSet"/></And>
                <And><Not><IsNaN><Arg Name="TempDiffFromPeakChl"/>
                </IsNaN></Not></And>
                <And><Arg Name="FlagPeakChlTempSet"/></And>
                <And><Not><Arg Name="FlagTempSet"/></Not></And>
            </When>

            <Assign><Sequence/><Arg Name="TempSet"/><Arg Name="PeakChlTemperatureSet"/><Add><Arg Name="TempDiffFromPeakChl"/></Add></Assign>

            <Assign><Sequence/><Arg Name="FlagTempSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetFiringTempAbsolute">

            <When>
                <Arg Name="StartVerticalManeuver"/>
                <And><Arg Name="SampleOptionsSet"/></And>
                <And><Not><IsNaN><Arg Name="TempDesignated"/>
                </IsNaN></Not></And>
                <And><Not><Arg Name="FlagTempSet"/></Not></And>
            </When>

            <Assign><Sequence/><Arg Name="TempSet"/><Arg Name="TempDesignated"/></Assign>

            <Assign><Sequence/><Arg Name="FlagTempSet"/><True/></Assign>

            <Assign><Sequence/><Arg Name="FlagGoDown"/><False/></Assign>

        </Aggregate>

        <Aggregate Id="SetFiringDepthRelativeToChlPeakNormal">

            <When>
                <Arg Name="SampleOptionsSet"/>
                <And><Arg Name="FlagPeakChlDepthSet"/></And>
                <And><Not><IsNaN><Arg Name="DepDiffFromPeakChl"/>
                </IsNaN></Not></And>
                <And><Not><Arg Name="FlagTargetDepthSet"/></Not></And>
                <And><Arg Name="PeakChlDepthSet"/><Add><Arg Name="DepDiffFromPeakChl"/></Add><Ge><Arg Name="ShallowBoundChl"/></Ge></And>
                <And><Arg Name="PeakChlDepthSet"/><Add><Arg Name="DepDiffFromPeakChl"/></Add><Le><Arg Name="DeepBoundChl"/></Le></And>
            </When>

            <Assign><Sequence/><Arg Name="DepthSet"/><Arg Name="PeakChlDepthSet"/><Add><Arg Name="DepDiffFromPeakChl"/></Add></Assign>

            <Assign><Sequence/><Arg Name="FlagTargetDepthSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetFiringDepthRelativeToChlPeakClampedToShallowest">

            <When>
                <Arg Name="SampleOptionsSet"/>
                <And><Arg Name="FlagPeakChlDepthSet"/></And>
                <And><Not><IsNaN><Arg Name="DepDiffFromPeakChl"/>
                </IsNaN></Not></And>
                <And><Not><Arg Name="FlagTargetDepthSet"/></Not></And>
                <And><Arg Name="PeakChlDepthSet"/><Add><Arg Name="DepDiffFromPeakChl"/></Add><Lt><Arg Name="ShallowBoundChl"/></Lt></And>
            </When>

            <Assign><Sequence/><Arg Name="DepthSet"/><Arg Name="ShallowBoundChl"/></Assign>

            <Assign><Sequence/><Arg Name="FlagTargetDepthSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetFiringDepthRelativeToChlPeakClampedToDeepest">

            <When>
                <Arg Name="SampleOptionsSet"/>
                <And><Arg Name="FlagPeakChlDepthSet"/></And>
                <And><Not><IsNaN><Arg Name="DepDiffFromPeakChl"/>
                </IsNaN></Not></And>
                <And><Not><Arg Name="FlagTargetDepthSet"/></Not></And>
                <And><Arg Name="PeakChlDepthSet"/><Add><Arg Name="DepDiffFromPeakChl"/></Add><Gt><Arg Name="DeepBoundChl"/></Gt></And>
            </When>

            <Assign><Sequence/><Arg Name="DepthSet"/><Arg Name="DeepBoundChl"/></Assign>

            <Assign><Sequence/><Arg Name="FlagTargetDepthSet"/><True/></Assign>

        </Aggregate>

        <Aggregate Id="SetFiringDepthAbsolute">

            <When>
                <Arg Name="SampleOptionsSet"/>
                <And><Not><IsNaN><Arg Name="DepthDesignated"/>
                </IsNaN></Not></And>
                <And><Not><Arg Name="FlagTargetDepthSet"/></Not></And>
            </When>

            <Assign><Sequence/><Arg Name="DepthSet"/><Arg Name="DepthDesignated"/></Assign>

            <Assign><Sequence/><Arg Name="FlagTargetDepthSet"/><True/></Assign>

            <Assign><Sequence/><Arg Name="FlagGoDown"/><False/></Assign>

        </Aggregate>

        <Aggregate Id="FiringOnTemp">

            <When>
                <Arg Name="SamplingPartStartCommsCompleted"/>
                <And><Arg Name="StartVerticalManeuver"/></And>
                <And><Arg Name="FlagTempSet"/></And>
                <And><Not><Arg Name="FlagSamplingOngoing"/></Not></And>
                <And><Arg Name="CntSamples"/><Le><Arg Name="NumSamplers"/></Le></And>
                <And><Arg Name="SampleOptionsSet"/></And>
                <And><Not><Arg Name="SampleCompleted"/></Not></And>
            </When>

            <Assign><Sequence/><Arg Name="FlagSamplingOngoing"/><True/></Assign>

            <Assign><Sequence/><Arg Name="SampleCountIncreased"/><False/></Assign>

            <Syslog Severity="Important">Taking sample No.<Arg Name="CntSamples"/><Units:count/>. Target temp = <Arg Name="TempSet"/><Units:celsius/>.</Syslog>

            <Syslog Severity="Important">If ESP, requesting ESP cartridge type:<Arg Name="CartridgeType"/><Units:count/></Syslog>

            <Assign><Sequence/><Arg Name="ElapsedSinceStartOrLastSample"/><Units:hour/><Value>0</Value></Assign>

            <Aggregate Id="TriggerOnTemp">

                <Sequence/>

                <Break><Arg Name="UseESP"/>
                    <And><IsNaN><Arg Name="CartridgeType"/>
                    </IsNaN></And>
                </Break>

                <Call Id="WaitForDepthDampingDown" RefId="DampDown"/>

                <Call Id="Sampling" RefId="TriggerSampling"/>

                <Syslog Severity="Important">Sample No.<Arg Name="CntSamples"/><Units:count/> completed.</Syslog>

                <Assign><Sequence/><Arg Name="ElapsedSinceStartOrLastSample"/><Units:hour/><Value>0</Value></Assign>

                <Assign><Sequence/><Arg Name="FlagSamplingOngoing"/><False/></Assign>

                <Assign><Sequence/><Arg Name="SampleCompleted"/><True/></Assign>

<!-- Don't move the following line -->

                <Assign><Sequence/><Arg Name="SampleOptionsSet"/><False/></Assign>

                <Assign><Sequence/><Arg Name="FlagTempSet"/><False/></Assign>

            </Aggregate>

            <Aggregate Id="SkipOnTemp">

                <Sequence/>

                <Break>
                    <Not><IsNaN><Arg Name="CartridgeType"/>
                    </IsNaN></Not>
                    <Or><Arg Name="UseCANONSampler"/></Or>
                </Break>

                <Assign><Sequence/><Arg Name="FlagSamplingOngoing"/><False/></Assign>

                <Assign><Sequence/><Arg Name="SampleCompleted"/><True/></Assign>

<!-- Don't move the following line -->

                <Assign><Sequence/><Arg Name="SampleOptionsSet"/><False/></Assign>

                <Assign><Sequence/><Arg Name="FlagTempSet"/><False/></Assign>

                <Assign><Sequence/><Arg Name="SendDataAllCompleted"/><True/></Assign>

                <Syslog Severity="Important">ESP sample skipped (because cartridge type is NaN).</Syslog>

            </Aggregate>

            <Aggregate Id="FireOnTempSendData">

                <Sequence/>

                <When>
                    <Not><IsNaN><Arg Name="CartridgeType"/>
                    </IsNaN></Not>
                    <And><Arg Name="SampleCompleted"/></And>
                    <And><Arg Name="SendSampleStatusAndData"/></And>
                    <And><Arg Name="CallSendData"/></And>
                </When>

                <Call Id="SendDataFireOnTemp" RefId="SendData"/>

                <Assign><Sequence/><Arg Name="CallSendData"/><False/></Assign>

            </Aggregate>

        </Aggregate>

        <Aggregate Id="FiringOnDepth">

            <When>
                <Arg Name="SamplingPartStartCommsCompleted"/>
                <And><Arg Name="StartVerticalManeuver"/></And>
                <And><Arg Name="FlagTargetDepthSet"/></And>
                <And><Not><Arg Name="FlagGoUp"/></Not></And>
                <And><Not><Arg Name="FlagGoDown"/></Not></And>
                <And><Not><Arg Name="FlagSamplingOngoing"/></Not></And>
                <And><Arg Name="CntSamples"/><Le><Arg Name="NumSamplers"/></Le></And>
                <And><Arg Name="SampleOptionsSet"/></And>
                <And><Not><Arg Name="SampleCompleted"/></Not></And>
            </When>

            <Assign><Sequence/><Arg Name="SampleAtDepth:TargetDepth"/><Arg Name="DepthSet"/></Assign>

            <Assign><Sequence/><Arg Name="SampleAtDepth:SettleTime"/><Arg Name="WaitDepthUndulation"/></Assign>

            <Assign><Sequence/><Arg Name="FlagSamplingOngoing"/><True/></Assign>

            <Assign><Sequence/><Arg Name="SampleCountIncreased"/><False/></Assign>

            <Syslog Severity="Important">Taking sample No.<Arg Name="CntSamples"/><Units:count/>. Target depth = <Arg Name="DepthSet"/><Units:meter/>.</Syslog>

            <Syslog Severity="Important">If ESP, requesting ESP cartridge type:<Arg Name="CartridgeType"/><Units:count/></Syslog>

            <Assign><Sequence/><Arg Name="ElapsedSinceStartOrLastSample"/><Units:hour/><Value>0</Value></Assign>

            <Aggregate Id="TriggerOnDepth">

                <Break><Arg Name="UseESP"/>
                    <And><IsNaN><Arg Name="CartridgeType"/>
                    </IsNaN></And>
                </Break>

                <Assign><Sequence/><Arg Name="SampleAtDepth:ESPCartridgeType"/><Arg Name="CartridgeType"/></Assign>

                <Call Id="Sampling" RefId="SampleAtDepth"/>

                <Syslog Severity="Important">Sample No.<Arg Name="CntSamples"/><Units:count/> completed.</Syslog>

                <Assign><Sequence/><Arg Name="ElapsedSinceStartOrLastSample"/><Units:hour/><Value>0</Value></Assign>

                <Assign><Sequence/><Arg Name="FlagSamplingOngoing"/><False/></Assign>

                <Assign><Sequence/><Arg Name="SampleCompleted"/><True/></Assign>

<!-- Don't move the following line -->

                <Assign><Sequence/><Arg Name="SampleOptionsSet"/><False/></Assign>

                <Assign><Sequence/><Arg Name="FlagTargetDepthSet"/><False/></Assign>

            </Aggregate>

            <Aggregate Id="SkipOnDepth">

                <Break>
                    <Not><IsNaN><Arg Name="CartridgeType"/>
                    </IsNaN></Not>
                    <Or><Arg Name="UseCANONSampler"/></Or>
                </Break>

                <Assign><Sequence/><Arg Name="FlagSamplingOngoing"/><False/></Assign>

                <Assign><Sequence/><Arg Name="SampleCompleted"/><True/></Assign>

<!-- Don't move the following line -->

                <Assign><Sequence/><Arg Name="SampleOptionsSet"/><False/></Assign>

                <Assign><Sequence/><Arg Name="FlagTargetDepthSet"/><False/></Assign>

                <Assign><Sequence/><Arg Name="SendDataAllCompleted"/><True/></Assign>

                <Syslog Severity="Important">ESP sample skipped (because cartridge type is NaN).</Syslog>

            </Aggregate>

            <Aggregate Id="FireOnDepSendData">

                <Sequence/>

                <When>
                    <Not><IsNaN><Arg Name="CartridgeType"/>
                    </IsNaN></Not>
                    <And><Arg Name="SampleCompleted"/></And>
                    <And><Arg Name="SendSampleStatusAndData"/></And>
                    <And><Arg Name="CallSendData"/></And>
                </When>

                <Call Id="SendDataFireOnDep" RefId="SendData"/>

                <Assign><Sequence/><Arg Name="CallSendData"/><False/></Assign>

            </Aggregate>

        </Aggregate>

        <Aggregate Id="IncreaseSampleCount">

            <When>
                <Arg Name="SampleCompleted"/>
                <And><Not><Arg Name="SendSampleStatusAndData"/></Not></And>
                <Or><Arg Name="SampleCompleted"/><And><Arg Name="SendSampleStatusAndData"/></And><And><Arg Name="SendDataAllCompleted"/></And></Or>
                <Or><Arg Name="SampleOptionsSet"/><And><IsNaN><Arg Name="TempDiffFromPeakChl"/>
                </IsNaN></And><And><IsNaN><Arg Name="DepDiffFromPeakChl"/>
                </IsNaN></And><And><IsNaN><Arg Name="TempDesignated"/>
                </IsNaN></And><And><IsNaN><Arg Name="DepthDesignated"/>
                </IsNaN></And></Or>
            </When>

            <Assign><Sequence/><Arg Name="CntSamples"/><Arg Name="CntSamples"/><Add><Units:count/> <Value>1</Value></Add></Assign>

            <Assign><Sequence/><Arg Name="SendDataCntSamplesCompleted"/><False/></Assign>

            <Assign><Sequence/><Arg Name="SendDataESPSampleNumberCompleted"/><False/></Assign>

            <Assign><Sequence/><Arg Name="SendDataESPCartridgeTypeCompleted"/><False/></Assign>

            <Assign><Sequence/><Arg Name="SendDataESPSampleVolumeCompleted"/><False/></Assign>

            <Assign><Sequence/><Arg Name="SendDataSampleDepCompleted"/><False/></Assign>

            <Assign><Sequence/><Arg Name="SendDataSampleTempCompleted"/><False/></Assign>

            <Assign><Sequence/><Arg Name="SendDataSampleChlCompleted"/><False/></Assign>

            <Assign><Sequence/><Arg Name="SendDataAllCompleted"/><False/></Assign>

            <Assign><Sequence/><Arg Name="CallSendData"/><True/></Assign>

            <Assign><Sequence/><Arg Name="TouchedDeepBoundSampler"/><False/></Assign>

            <Assign><Sequence/><Arg Name="TouchedDeepBoundSamplerFlagSet"/><False/></Assign>

            <Assign><Sequence/><Arg Name="SampleCompleted"/><False/></Assign>

            <Assign><Sequence/><Arg Name="SampleOptionsSet"/><False/></Assign>

            <Assign><Sequence/><Arg Name="SampleCountIncreased"/><True/></Assign>

        </Aggregate>

    </Aggregate>

</Mission>
