<?xml version="1.0" encoding="UTF-8"?>
<Mission xmlns="Tethys"
       xmlns:Control="Tethys/Control" 
       xmlns:Derivation="Tethys/Derivation" 
       xmlns:Guidance="Tethys/Guidance"
       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/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="isotherm_depth_sampling">

<!-- 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>

<!--debug    
    </Description><Units:count/><Value>2</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="NeedCommsTimeInTransect"><Description>
        On yo-yo transects, how often to surface for commumications
    </Description><Units:minute/><Value>60</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="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="CommsAtEndOfTransit"><Description>
        Whether to go to surface for comms before the initial dive.
<!--debug
    </Description><True/></DefineArg>
-->
    </Description><False/></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.
    </Description><True/></DefineArg>

<!--debug    
    </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="CylinderTimeout"><Description>
        Maximum duration of cylinder yoyo.
    </Description><Units:minute/><Value>30</Value></DefineArg>

    <DefineArg Name="FindHighChlLocation"><Description>
        Whether to search for the location of high chl.
    </Description><False/></DefineArg>

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

    <DefineArg Name="CylinderYoYo"><Description>
        Whether to yoyo on cylinder centered at the sampling location.
        Initialized to True.
    </Description><False/></DefineArg>

<!--debug    
    </Description><True/></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="DriveFromWallOrShoreDuration"><Description>
        When driving away from a wall and the distance exceeds
        MinDistFromPolygonSides, continue for this duration to add a margin.
    </Description><Units:minute/><Value>5.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="HeadingLeavingShore"><Description>
        Heading leaving the shore
<!--debug      
    </Description><Units:degree/><Value>NaN</Value></DefineArg>    
-->
    </Description><Units:degree/><Value>270</Value></DefineArg>

    <DefineArg Name="HeadingLeavingSide0"><Description>
        Heading leaving polygon side 0.
<!--debug      
    </Description><Units:degree/><Value>NaN</Value></DefineArg>    
-->
    </Description><Units:degree/><Value>180</Value></DefineArg>

    <DefineArg Name="HeadingLeavingSide1"><Description>
        Heading leaving polygon side 1.
<!--debug      
    </Description><Units:degree/><Value>NaN</Value></DefineArg>    
-->
    </Description><Units:degree/><Value>270</Value></DefineArg>

    <DefineArg Name="HeadingLeavingSide2"><Description>
        Heading leaving polygon side 2.
<!--debug      
    </Description><Units:degree/><Value>NaN</Value></DefineArg>    
-->
    </Description><Units:degree/><Value>0</Value></DefineArg>

    <DefineArg Name="HeadingLeavingSide3"><Description>
        Heading leaving polygon side 3.
<!--debug      
    </Description><Units:degree/><Value>NaN</Value></DefineArg>    
-->
    </Description><Units:degree/><Value>90</Value></DefineArg>

    <DefineArg Name="HeadingLeavingSide4"><Description>
        Heading leaving polygon side 4.
    </Description><Units:degree/><Value>NaN</Value></DefineArg>

    <DefineArg Name="HeadingLeavingSide5"><Description>
        Heading leaving polygon side 5.
    </Description><Units:degree/><Value>NaN</Value></DefineArg>

    <DefineArg Name="HeadingLeavingSide6"><Description>
        Heading leaving polygon side 6.
    </Description><Units:degree/><Value>NaN</Value></DefineArg>

    <DefineArg Name="HeadingLeavingSide7"><Description>
        Heading leaving polygon side 7.
    </Description><Units:degree/><Value>NaN</Value></DefineArg>

    <DefineArg Name="MaxDepth"><Description>
        Maximum depth for the entire mission.
    </Description><Units:meter/><Value>50</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>3</Value></DefineArg>

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

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

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

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

    <DefineArg Name="LeaveWallOrShoreYoYoMaxDepth"><Description>
        Maximum depth while performing the YoYo behavior.
    </Description><Units:meter/><Value>10</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="CylinderYoYoMinDep"><Description>
        Minimum depth while performing the YoYo behavior on cylinder centered at
        the sampling location.
    </Description><Units:meter/><Value>4.5</Value></DefineArg>

    <DefineArg Name="CylinderYoYoMaxDep"><Description>
        Maximum depth while performing the YoYo behavior on cylinder centered at
        the sampling location.
    </Description><Units:meter/><Value>27</Value></DefineArg>

    <DefineArg Name="CylinderRadius"><Description>
        Radius of cylinder centered at the sampling location.
    </Description><Units:meter/><Value>200</Value></DefineArg>

    <DefineArg Name="MaxCirclesOnCylinder"><Description>
        Maximum number of circles on cylinder.
    </Description><Units:count/><Value>1</Value></DefineArg>

    <DefineArg Name="RepeatTransects"><Description>
        Number of times the vehicle should try to cycle through waypoints.
    </Description><Units:count/><Value>1</Value></DefineArg>

    <DefineArg Name="Lat1"><Description>
        Latitude of waypoint 1. If nan, waypoint is skipped. If
        FindHighChlLocation is True, the search-for-hichl distance needs to be
        at least 4 yoyo profiles.
    </Description><Units:degree/><Value>NaN</Value></DefineArg>

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

    <DefineArg Name="Lon1"><Description>
        Longitude of waypoint 1. If nan, waypoint is skipped. If
        FindHighChlLocation is True, the search-for-hichl distance needs to be
        at least 4 yoyo profiles.
    </Description><Units:degree/><Value>NaN</Value></DefineArg>

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

    <DefineArg Name="Lat2"><Description>
        Latitude of waypoint 2. If nan, waypoint is skipped.
    </Description><Units:degree/><Value>NaN</Value></DefineArg>

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

    <DefineArg Name="Lon2"><Description>
        Longitude of waypoint 2. If nan, waypoint is skipped.
    </Description><Units:degree/><Value>NaN</Value></DefineArg>

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

    <DefineArg Name="Lat3"><Description>
        Latitude of waypoint 3. If nan, waypoint is skipped.
    </Description><Units:degree/><Value>NaN</Value></DefineArg>

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

    <DefineArg Name="Lon3"><Description>
        Longitude of waypoint 3. If nan, waypoint is skipped.
    </Description><Units:degree/><Value>NaN</Value></DefineArg>

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

    <DefineArg Name="Lat4"><Description>
        Latitude of waypoint 4. If nan, waypoint is skipped.
    </Description><Units:degree/><Value>NaN</Value></DefineArg>

    <DefineArg Name="Lon4"><Description>
        Longitude of waypoint 4. If nan, waypoint is skipped.
    </Description><Units:degree/><Value>NaN</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.5</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>10.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>

    <DefineArg Name="Reacq1"><Description>
        Sample 1. Before sampling, maneuver vertically to reacquire chl peak
        (initialized to false).
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq2"><Description>
        Sample 2.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq3"><Description>
        Sample 3.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq4"><Description>
        Sample 4.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq5"><Description>
        Sample 5.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq6"><Description>
        Sample 6.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq7"><Description>
        Sample 7.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq8"><Description>
        Sample 8.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq9"><Description>
        Sample 9.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq10"><Description>
        Sample 10.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq11"><Description>
        Sample 11.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq12"><Description>
        Sample 12.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq13"><Description>
        Sample 13.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq14"><Description>
        Sample 14.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq15"><Description>
        Sample 15.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq16"><Description>
        Sample 16.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq17"><Description>
        Sample 17.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq18"><Description>
        Sample 18.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq19"><Description>
        Sample 19.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq20"><Description>
        Sample 20.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq21"><Description>
        Sample 21.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq22"><Description>
        Sample 22.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq23"><Description>
        Sample 23.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq24"><Description>
        Sample 24.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq25"><Description>
        Sample 25.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq26"><Description>
        Sample 26.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq27"><Description>
        Sample 27.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq28"><Description>
        Sample 28.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq29"><Description>
        Sample 29.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq30"><Description>
        Sample 30.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq31"><Description>
        Sample 31.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq32"><Description>
        Sample 32.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq33"><Description>
        Sample 33.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq34"><Description>
        Sample 34.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq35"><Description>
        Sample 35.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq36"><Description>
        Sample 36.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq37"><Description>
        Sample 37.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq38"><Description>
        Sample 38.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq39"><Description>
        Sample 39.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq40"><Description>
        Sample 40.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq41"><Description>
        Sample 41.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq42"><Description>
        Sample 42.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq43"><Description>
        Sample 43.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq44"><Description>
        Sample 44.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq45"><Description>
        Sample 45.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq46"><Description>
        Sample 46.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq47"><Description>
        Sample 47.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq48"><Description>
        Sample 48.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq49"><Description>
        Sample 49.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq50"><Description>
        Sample 50.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq51"><Description>
        Sample 51.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq52"><Description>
        Sample 52.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq53"><Description>
        Sample 53.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq54"><Description>
        Sample 54.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq55"><Description>
        Sample 55.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq56"><Description>
        Sample 56.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq57"><Description>
        Sample 57.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq58"><Description>
        Sample 58.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq59"><Description>
        Sample 59.
    </Description><False/></DefineArg>

    <DefineArg Name="Reacq60"><Description>
        Sample 60.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface1"><Description>
        Sample 1. When sampling is completed, go to surface to report
        (initialized to false).
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface2"><Description>
        Sample 2.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface3"><Description>
        Sample 3.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface4"><Description>
        Sample 4.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface5"><Description>
        Sample 5.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface6"><Description>
        Sample 6.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface7"><Description>
        Sample 7.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface8"><Description>
        Sample 8.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface9"><Description>
        Sample 9.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface10"><Description>
        Sample 10.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface11"><Description>
        Sample 11.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface12"><Description>
        Sample 12.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface13"><Description>
        Sample 13.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface14"><Description>
        Sample 14.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface15"><Description>
        Sample 15.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface16"><Description>
        Sample 16.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface17"><Description>
        Sample 17.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface18"><Description>
        Sample 18.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface19"><Description>
        Sample 19.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface20"><Description>
        Sample 20.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface21"><Description>
        Sample 21.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface22"><Description>
        Sample 22.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface23"><Description>
        Sample 23.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface24"><Description>
        Sample 24.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface25"><Description>
        Sample 25.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface26"><Description>
        Sample 26.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface27"><Description>
        Sample 27.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface28"><Description>
        Sample 28.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface29"><Description>
        Sample 29.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface30"><Description>
        Sample 30.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface31"><Description>
        Sample 31.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface32"><Description>
        Sample 32.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface33"><Description>
        Sample 33.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface34"><Description>
        Sample 34.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface35"><Description>
        Sample 35.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface36"><Description>
        Sample 36.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface37"><Description>
        Sample 37.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface38"><Description>
        Sample 38.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface39"><Description>
        Sample 39.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface40"><Description>
        Sample 40.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface41"><Description>
        Sample 41.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface42"><Description>
        Sample 42.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface43"><Description>
        Sample 43.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface44"><Description>
        Sample 44.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface45"><Description>
        Sample 45.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface46"><Description>
        Sample 46.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface47"><Description>
        Sample 47.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface48"><Description>
        Sample 48.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface49"><Description>
        Sample 49.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface50"><Description>
        Sample 50.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface51"><Description>
        Sample 51.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface52"><Description>
        Sample 52.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface53"><Description>
        Sample 53.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface54"><Description>
        Sample 54.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface55"><Description>
        Sample 55.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface56"><Description>
        Sample 56.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface57"><Description>
        Sample 57.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface58"><Description>
        Sample 58.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface59"><Description>
        Sample 59.
    </Description><False/></DefineArg>

    <DefineArg Name="RptSurface60"><Description>
        Sample 60.
    </Description><False/></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.05</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="VerticalPerturbation"><Description>
        Vertical perturbation (going up or down) for reacquiring the peak.
    </Description><Units:meter/><Value>6.0</Value></DefineArg>

    <DefineArg Name="RiseFromTurningDepth"><Description>
        The peak chl detected on the initial dive is reported when the vehicle
        has turned from the deepest depth (i.e., the turning depth) onto the
        ascending profile at a depth that is RiseFromDeepTurningPoint shallower
        than the turning depth. For robustness, RiseFromTurningDepth =
        DepChangeThreshAttitudeFlip + 2 meters.
    </Description><Units:meter/><Value>5</Value></DefineArg>

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

    <DefineArg Name="CylinderCircleMaxError"><Description>
        If this distance away from the circle, drive straight towards (or away
        from the center). Otherwise, try to reduce distance from the ideal
        circle.
    </Description><Units:meter/><Value>100</Value></DefineArg>

    <DefineArg Name="CylinderCircleTurnToPort"><Description>
        If true, vehicle turns to the left around the center point. If false,
        vehicle turns to the right.
    </Description><False/></DefineArg>

    <DefineArg Name="KwpHeading"><Description>
        Used to relax waypoint cross-track error constant that is adjusted for
        docking. (You can override this setting by passing an argument.)
    </Description><Units:radian_per_meter/><Value>0.010</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="NumberOfProfilesSlidingwindow"><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="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="SurfacePitch"><Description>
        Pitch to maintain while ascending
    </Description><Units:degree/><Value>20</Value></DefineArg>

    <DefineArg Name="SurfaceDepthRate"><Description>
        Depth rate to maintain while ascending. Set to NaN if using pitch
    </Description><Units:meter_per_second/><Value>NaN</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="SetFinalWaypointToWaypoint1Completed"><Description>
        Initialized to false.
    </Description><False/></DefineOutput>

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

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

    <DefineOutput Name="SetFinalWaypointToWaypoint4Completed"><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="YoYoMinDepth"><Description>
        Minimum depth while performing the YoYo behavior. Program will set to
        TransitYoYoMinDepth, and then CylinderYoYoMinDep, and then possibly
        LeaveWallOrShoreYoYoMinDep.
    </Description><Units:meter/><Value>4.5</Value></DefineOutput>

    <DefineOutput Name="YoYoMaxDepth"><Description>
        Maximum depth while performing the YoYo behavior. Program will set to
        TransitYoYoMaxDepth, and then CylinderYoYoMaxDep, and then possibly
        LeaveWallOrShoreYoYoMaxDep.
    </Description><Units:meter/><Value>27</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="WaypointLat"><Description>
        Latitude of cylinder center if set to a waypoint. Initialized to NaN.
    </Description><Units:degree/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="WaypointLon"><Description>
        Longitude of cylinder center if set to a waypoint. Initialized to NaN.
    </Description><Units:degree/><Value>NaN</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="ReportAtSurface"><Description>
        When sampling is completed, go to surface to report. Initialized to
        false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="ReportAtSurfaceDone"><Description>
        Have completed surface reporting. Initialized to False.
    </Description><False/></DefineOutput>

    <DefineOutput Name="ReportAtSurfaceToUse"><Description>
        For next sample. When sampling is completed, go to surface to report.
        Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="ReportAtSurfaceToUseIndividual"><Description>
        For next sample. When sampling is completed, go to surface to report.
        Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="ReacquirePeak"><Description>
        Before sampling, maneuver vertically to reacquire chl peak. Initialized
        to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="ReacquirePeakIndividual"><Description>
        Before sampling, maneuver vertically to reacquire chl peak. Initialized
        to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="SampleOptionsSet"><Description>
        Sample options (DepDiffFromPeakChl, ReportAtSurface, ReacquirePeak)
        already set. Initialized to false.
    </Description><False/></DefineOutput>

    <DefineOutput Name="SampleCompleted"><Description>
        Sampling completed. 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="StoppedForBeingOutsideOfPolygon"><Description>
        Mission stopped because the vehicle is outside of the polygon.
        Initialized to False.
    </Description><False/></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="MissionStartCommsCompleted"><Description>
        Initialized to false.
    </Description><False/></DefineOutput>

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

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

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

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

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

    <DefineOutput Name="Surfacing"><Description>
        Surfacing for communications (set to true when going down. 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="CylinderLat"><Description>
        Latitude of cylinder center. Initialized to NaN.
    </Description><Units:degree/><Value>NaN</Value></DefineOutput>

    <DefineOutput Name="CylinderLon"><Description>
        Longitude of cylinder center. Initialized to NaN.
    </Description><Units:degree/><Value>NaN</Value></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"><Arg Name="SampleAtPeakChl"/></RedefineArg>
        <RedefineArg Name="HighestChlPeakReportActive"><Arg Name="FindHighChlLocation"/></RedefineArg>
        <RedefineArg Name="LowPassWindowLength"><Arg Name="LPWindowLength"/></RedefineArg>
        <RedefineArg Name="MedianFilterLen"><Arg Name="MedianFilterLength"/></RedefineArg>
        <RedefineArg Name="NumProfilesSlidingwindow"><Arg Name="NumberOfProfilesSlidingwindow"/></RedefineArg>
        <RedefineArg Name="PeakShallowBound"><Arg Name="ShallowBoundChl"/></RedefineArg>
        <RedefineArg Name="PeakDeepBound"><Arg Name="DeepBoundChl"/></RedefineArg>
        <RedefineArg Name="DepChangeThreshForAttitudeFlip"><Arg Name="DepChangeThreshAttitudeFlip"/></RedefineArg>
    </Insert>

    <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>

    <Aggregate Id="PeakReacquisition">

        <When>
            <Called/>
        </When>

        <Aggregate Id="ReacquireChlPeak">

            <Sequence/>

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

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

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

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

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

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

            <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">Set FlagGoUp to true to reacquire chl peak. DepthLogged, TempLogged, ChlLogged, PeakChlDepthSet, PeakChlTemperatureSet, PeakChlSet = <Arg Name="DepthLogged"/><Units:meter/>, <Arg Name="TempLogged"/><Units:celsius/>, <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>

        </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/><IsothermDepthSampling.CntSamples/></Setting>
            <Setting><Sensor:SendDirect.unit/><String>count</String></Setting>
        </Sensor:SendDirect>

        <Syslog Severity="Important">IsothermDepthSampling.CntSamples = <IsothermDepthSampling.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>

        <Aggregate Id="SettingRptSufaceAndReacq">

            <Sequence/>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUse"/><Arg Name="ReportAtSurfaceToUseIndividual"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeak"/><Arg Name="ReacquirePeakIndividual"/></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>

<!-- 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="MissionStart">

        <Sequence/>

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

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

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

    </Aggregate>

    <Aggregate Id="TransitToSamplingLocationComms">

        <Sequence/>

        <When>
            <Arg Name="MissionStartCommsCompleted"/>
            <And><Arg Name="CommsAtEndOfTransit"/></And>
            <And><Not><Arg Name="TransitCompleted"/></Not></And>
        </When>

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

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

        <Assign><Sequence/><Arg Name="YoYoMinDepth"/><Arg Name="TransitYoYoMinDepth"/></Assign>

        <Assign><Sequence/><Arg Name="YoYoMaxDepth"/><Arg Name="TransitYoYoMaxDepth"/></Assign>

        <Guidance:DepthEnvelope>
            <Parallel/>
            <Setting><Guidance:DepthEnvelope.minDepth/><Arg Name="YoYoMinDepth"/></Setting>
            <Setting><Guidance:DepthEnvelope.maxDepth/><Arg Name="YoYoMaxDepth"/></Setting>
            <Setting><Guidance:DepthEnvelope.downPitch/><Arg Name="YoYoDownPitch"/></Setting>
            <Setting><Guidance:DepthEnvelope.upPitch/><Arg Name="YoYoUpPitch"/></Setting>
        </Guidance:DepthEnvelope>

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

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

        <Aggregate Id="Lap">

            <Sequence Repeat="RepeatTransects"/>

            <Aggregate Id="Wpt1">

                <Sequence/>

                <Guidance:Waypoint>
                    <Sequence/>
                    <Setting><Guidance:Waypoint.latitude/><Arg Name="Lat1"/></Setting>
                    <Setting><Guidance:Waypoint.longitude/><Arg Name="Lon1"/></Setting>
                </Guidance:Waypoint>

                <Aggregate Id="SetFinalWaypointToWaypoint1">

                    <When>
                        <Arg Name="Lat1"/>
                        <Ge><Units:degree/><Value>0</Value></Ge>
                        <Or><Arg Name="Lat1"/><Lt><Units:degree/><Value>0</Value></Lt></Or>
                        <And><Arg Name="Lon1"/><Ge><Units:degree/><Value>0</Value></Ge><Or><Arg Name="Lon1"/><Lt><Units:degree/><Value>0</Value></Lt></Or></And>
                    </When>

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

                    <Assign><Sequence/><Arg Name="WaypointLat"/><Arg Name="Lat1"/></Assign>

                    <Assign><Sequence/><Arg Name="WaypointLon"/><Arg Name="Lon1"/></Assign>

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

                </Aggregate>

            </Aggregate>

            <Aggregate Id="Wpt2">

                <Sequence/>

                <Guidance:Waypoint>
                    <Sequence/>
                    <Setting><Guidance:Waypoint.latitude/><Arg Name="Lat2"/></Setting>
                    <Setting><Guidance:Waypoint.longitude/><Arg Name="Lon2"/></Setting>
                </Guidance:Waypoint>

                <Aggregate Id="SetFinalWaypointToWaypoint2">

                    <Sequence/>

                    <When>
                        <Arg Name="Lat2"/>
                        <Ge><Units:degree/><Value>0</Value></Ge>
                        <Or><Arg Name="Lat2"/><Lt><Units:degree/><Value>0</Value></Lt></Or>
                        <And><Arg Name="Lon2"/><Ge><Units:degree/><Value>0</Value></Ge><Or><Arg Name="Lon2"/><Lt><Units:degree/><Value>0</Value></Lt></Or></And>
                    </When>

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

                    <Assign><Sequence/><Arg Name="WaypointLat"/><Arg Name="Lat2"/></Assign>

                    <Assign><Sequence/><Arg Name="WaypointLon"/><Arg Name="Lon2"/></Assign>

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

                </Aggregate>

            </Aggregate>

            <Aggregate Id="Wpt3">

                <Sequence/>

                <Guidance:Waypoint>
                    <Sequence/>
                    <Setting><Guidance:Waypoint.latitude/><Arg Name="Lat3"/></Setting>
                    <Setting><Guidance:Waypoint.longitude/><Arg Name="Lon3"/></Setting>
                </Guidance:Waypoint>

                <Aggregate Id="SetFinalWaypointToWaypoint3">

                    <Sequence/>

                    <When>
                        <Arg Name="Lat3"/>
                        <Ge><Units:degree/><Value>0</Value></Ge>
                        <Or><Arg Name="Lat3"/><Lt><Units:degree/><Value>0</Value></Lt></Or>
                        <And><Arg Name="Lon3"/><Ge><Units:degree/><Value>0</Value></Ge><Or><Arg Name="Lon3"/><Lt><Units:degree/><Value>0</Value></Lt></Or></And>
                    </When>

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

                    <Assign><Sequence/><Arg Name="WaypointLat"/><Arg Name="Lat3"/></Assign>

                    <Assign><Sequence/><Arg Name="WaypointLon"/><Arg Name="Lon3"/></Assign>

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

                </Aggregate>

            </Aggregate>

            <Aggregate Id="Wpt4">

                <Sequence/>

                <Guidance:Waypoint>
                    <Sequence/>
                    <Setting><Guidance:Waypoint.latitude/><Arg Name="Lat4"/></Setting>
                    <Setting><Guidance:Waypoint.longitude/><Arg Name="Lon4"/></Setting>
                </Guidance:Waypoint>

                <Aggregate Id="SetFinalWaypointToWaypoint4">

                    <Sequence/>

                    <When>
                        <Arg Name="Lat4"/>
                        <Ge><Units:degree/><Value>0</Value></Ge>
                        <Or><Arg Name="Lat4"/><Lt><Units:degree/><Value>0</Value></Lt></Or>
                        <And><Arg Name="Lon4"/><Ge><Units:degree/><Value>0</Value></Ge><Or><Arg Name="Lon4"/><Lt><Units:degree/><Value>0</Value></Lt></Or></And>
                    </When>

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

                    <Assign><Sequence/><Arg Name="WaypointLat"/><Arg Name="Lat4"/></Assign>

                    <Assign><Sequence/><Arg Name="WaypointLon"/><Arg Name="Lon4"/></Assign>

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

                </Aggregate>

            </Aggregate>

        </Aggregate>

        <Aggregate Id="SetCylinderCenterToWaypoint">

            <Sequence/>

            <Break>
                <Not><Arg Name="CylinderYoYo"/></Not>
                <Or><Arg Name="FindHighChlLocation"/></Or>
            </Break>

            <Assign><Sequence/><Arg Name="CylinderLat"/><Arg Name="WaypointLat"/></Assign>

            <Assign><Sequence/><Arg Name="CylinderLon"/><Arg Name="WaypointLon"/></Assign>

            <Syslog Severity="Important">Set cylinder center to Waypoint <Arg Name="CylinderLat"/><Units:degree/>,<Arg Name="CylinderLon"/><Units:degree/>.</Syslog>

        </Aggregate>

        <Aggregate Id="SetCylinderCenterToHiChlLocation">

            <Sequence/>

            <Break>
                <Not><Arg Name="CylinderYoYo"/></Not>
                <Or><Not><Arg Name="FindHighChlLocation"/></Not></Or>
                <Or><IsNaN><Arg Name="Science:PatchChlLatitude"/>
                </IsNaN></Or>
                <Or><IsNaN><Arg Name="Science:PatchChlLongitude"/>
                </IsNaN></Or>
            </Break>

            <Assign><Sequence/><Arg Name="CylinderLat"/><Arg Name="Science:PatchChlLatitude"/></Assign>

            <Assign><Sequence/><Arg Name="CylinderLon"/><Arg Name="Science:PatchChlLongitude"/></Assign>

            <Syslog Severity="Important">Set cylinder center to hi-chl location <Arg Name="CylinderLat"/><Units:degree/>,<Arg Name="CylinderLon"/><Units:degree/>,<Arg Name="Science:PatchChl"/><Units:microgram_per_liter/>.</Syslog>

        </Aggregate>

        <Aggregate Id="CylinderYoYoAroundSamplingLocation">

            <Sequence/>

            <Timeout Duration="CylinderTimeout"/>

            <Aggregate Id="CylinderIfNonNaNLatLon">

                <Sequence/>

                <Break>
                    <Not><Arg Name="CylinderYoYo"/></Not>
                    <Or><IsNaN><Arg Name="CylinderLat"/>
                    </IsNaN></Or>
                    <Or><IsNaN><Arg Name="CylinderLon"/>
                    </IsNaN></Or>
                </Break>

                <Syslog Severity="Important">Yoyo profile on a cylinder around sampling location <Arg Name="CylinderLat"/><Units:degree/>,<Arg Name="CylinderLon"/><Units:degree/>, at radius = <Arg Name="CylinderRadius"/><Units:meter/></Syslog>

                <Assign><Sequence/><Arg Name="YoYoMinDepth"/><Arg Name="CylinderYoYoMinDep"/></Assign>

                <Assign><Sequence/><Arg Name="YoYoMaxDepth"/><Arg Name="CylinderYoYoMaxDep"/></Assign>

                <Aggregate Id="CylinderWrapper">

                    <Sequence Repeat="MaxCirclesOnCylinder"/>

                    <Assign><Parallel/><Control:HorizontalControl.kwpHeading/><Arg Name="KwpHeading"/></Assign>

                    <Guidance:Circle>
                        <Sequence/>
                        <Setting><Guidance:Circle.latitude/><Arg Name="CylinderLat"/></Setting>
                        <Setting><Guidance:Circle.longitude/><Arg Name="CylinderLon"/></Setting>
                        <Setting><Guidance:Circle.radius/><Arg Name="CylinderRadius"/></Setting>
                        <Setting><Guidance:Circle.maxError/><Arg Name="CylinderCircleMaxError"/></Setting>
                        <Setting><Guidance:Circle.turnToPort/><Arg Name="CylinderCircleTurnToPort"/></Setting>
                    </Guidance:Circle>

                </Aggregate>

            </Aggregate>

        </Aggregate>

        <Aggregate Id="GoToCylinderCenter">

            <Sequence/>

            <Break>
                <Not><Arg Name="CylinderYoYo"/></Not>
                <Or><IsNaN><Arg Name="CylinderLat"/>
                </IsNaN></Or>
                <Or><IsNaN><Arg Name="CylinderLon"/>
                </IsNaN></Or>
            </Break>

            <Syslog Severity="Important">Go to cylinder center (i.e., sampling location): <Arg Name="CylinderLat"/><Units:degree/>,<Arg Name="CylinderLon"/><Units:degree/></Syslog>

            <Guidance:Waypoint Id="ToCylinderCenter">
                <Sequence/>
                <Setting><Guidance:Waypoint.latitude/><Arg Name="CylinderLat"/></Setting>
                <Setting><Guidance:Waypoint.longitude/><Arg Name="CylinderLon"/></Setting>
            </Guidance:Waypoint>

        </Aggregate>

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

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

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

        <Aggregate Id="TransitCommsSetFlagGoDown">

            <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="TransitCompleted"/><True/></Assign>

    </Aggregate>

    <Aggregate Id="TransitToSamplingLocationNoCommsOrNoTransit">

        <Sequence/>

        <When>
            <Arg Name="MissionStartCommsCompleted"/>
            <And><Not><Arg Name="CommsAtEndOfTransit"/></Not></And>
            <And><Not><Arg Name="TransitCompleted"/></Not></And>
        </When>

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

        <Aggregate Id="Wpt1NoComms">

            <Sequence/>

            <Break>
                <Not><Arg Name="Lat1"/><Ge><Units:degree/><Value>0</Value></Ge><Or><Arg Name="Lat1"/><Lt><Units:degree/><Value>0</Value></Lt></Or><And><Arg Name="Lon1"/><Ge><Units:degree/><Value>0</Value></Ge><Or><Arg Name="Lon1"/><Lt><Units:degree/><Value>0</Value></Lt></Or></And></Not>
            </Break>

            <Aggregate Id="Wpt1">

                <Sequence/>

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

                <Assign><Sequence/><Arg Name="YoYoMinDepth"/><Arg Name="TransitYoYoMinDepth"/></Assign>

                <Assign><Sequence/><Arg Name="YoYoMaxDepth"/><Arg Name="TransitYoYoMaxDepth"/></Assign>

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

                <Guidance:DepthEnvelope>
                    <Parallel/>
                    <Setting><Guidance:DepthEnvelope.minDepth/><Arg Name="YoYoMinDepth"/></Setting>
                    <Setting><Guidance:DepthEnvelope.maxDepth/><Arg Name="YoYoMaxDepth"/></Setting>
                    <Setting><Guidance:DepthEnvelope.downPitch/><Arg Name="YoYoDownPitch"/></Setting>
                    <Setting><Guidance:DepthEnvelope.upPitch/><Arg Name="YoYoUpPitch"/></Setting>
                </Guidance:DepthEnvelope>

                <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="Lat1"/></Setting>
                    <Setting><Guidance:Waypoint.longitude/><Arg Name="Lon1"/></Setting>
                </Guidance:Waypoint>

            </Aggregate>

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

<!--Go to surface to be prepared for the intial dive for finding the chl peak in the vertical domain.-->

            <Guidance:GoToSurface>
                <Sequence/>
                <Setting><Guidance:GoToSurface.pitch/><Arg Name="SurfacePitch"/></Setting>
                <Setting><Guidance:GoToSurface.depthRate/><Arg Name="SurfaceDepthRate"/></Setting>
                <Setting><Guidance:GoToSurface.speed/><Arg Name="SpeedTransit"/></Setting>
            </Guidance:GoToSurface>

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

        </Aggregate>

        <Aggregate Id="NoTransit">

            <Sequence/>

            <Break><Arg Name="Lat1"/>
                <Ge><Units:degree/><Value>0</Value></Ge>
                <Or><Arg Name="Lat1"/><Lt><Units:degree/><Value>0</Value></Lt></Or>
                <And><Arg Name="Lon1"/><Ge><Units:degree/><Value>0</Value></Ge><Or><Arg Name="Lon1"/><Lt><Units:degree/><Value>0</Value></Lt></Or></And>
            </Break>

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

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

        </Aggregate>

        <Aggregate Id="TransitNoCommsOrNoTransitSetFlagGoDown">

            <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="TransitCompleted"/><True/></Assign>

    </Aggregate>

    <Aggregate Id="StayAwayFromWallsAndShore">

        <Sequence/>

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

        <Aggregate Id="FarEnoughFromWallsAndShore">

            <When>
                <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><Universal:distance_from_shore/><Gt><Arg Name="MinOffshore"/><Add><Arg Name="MarginMinOffshore"/></Add></Gt></And>
                <And><Not><Arg Name="DistanceFromWallsAndShoreChecked"/></Not></And>
            </When>

            <Syslog Severity="Important">Far enough from walls and shore. Latitude = <Universal:latitude/><Units:degree/>, longitude = <Universal:longitude/><Units:degree/>. Distance from shore = <Universal:distance_from_shore/><Units:meter/>. OffshoreDistanceTurnBack (MinOffshore + MarginMinOffshore) = <Arg Name="MinOffshore"/><Units:meter/> + <Arg Name="MarginMinOffshore"/><Units:meter/>. Shortest distance <Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Units:meter/> to side <Derivation:ShortestDistanceToPolygonSidesCalculator.side_shortest_distance/><Units:count/>. MinDistFromPolygonSides = <Arg Name="MinDistFromPolygonSides"/><Units:meter/>.</Syslog>

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

        </Aggregate>

        <Aggregate Id="LeaveWallOrShore">

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

            <When>
                <Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/>
                <And><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Le><Arg Name="MinDistFromPolygonSides"/></Le></And>
                <Or><Universal:distance_from_shore/><Le><Arg Name="MinOffshore"/><Add><Arg Name="MarginMinOffshore"/></Add></Le></Or>
            </When>

            <Syslog Severity="Important">Hitting wall or shore. Latitude = <Universal:latitude/><Units:degree/>, longitude = <Universal:longitude/><Units:degree/>. Distance from shore = <Universal:distance_from_shore/><Units:meter/>. OffshoreDistanceTurnBack (MinOffshore + MarginMinOffshore) = <Arg Name="MinOffshore"/><Units:meter/> + <Arg Name="MarginMinOffshore"/><Units:meter/>. Shortest distance <Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Units:meter/> to side <Derivation:ShortestDistanceToPolygonSidesCalculator.side_shortest_distance/><Units:count/>. MinDistFromPolygonSides = <Arg Name="MinDistFromPolygonSides"/><Units:meter/>.</Syslog>

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

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

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

            <Assign><Sequence/><Arg Name="YoYoMinDepth"/><Arg Name="LeaveWallOrShoreYoYoMinDepth"/></Assign>

            <Assign><Sequence/><Arg Name="YoYoMaxDepth"/><Arg Name="LeaveWallOrShoreYoYoMaxDepth"/></Assign>

            <Guidance:DepthEnvelope>
                <Parallel/>
                <Setting><Guidance:DepthEnvelope.minDepth/><Arg Name="YoYoMinDepth"/></Setting>
                <Setting><Guidance:DepthEnvelope.maxDepth/><Arg Name="YoYoMaxDepth"/></Setting>
                <Setting><Guidance:DepthEnvelope.downPitch/><Arg Name="YoYoDownPitch"/></Setting>
                <Setting><Guidance:DepthEnvelope.upPitch/><Arg Name="YoYoUpPitch"/></Setting>
            </Guidance:DepthEnvelope>

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

            <Aggregate Id="HittingSide0">

                <Sequence/>

                <Break>
                    <Not><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Le><Arg Name="MinDistFromPolygonSides"/></Le></And><And><Derivation:ShortestDistanceToPolygonSidesCalculator.side_shortest_distance/><Eq><Units:count/><Value>0</Value></Eq></And></Not>
                </Break>

                <Syslog Severity="Important">Drive <Arg Name="DriveFromWallOrShoreDuration"/><Units:minute/> on <Arg Name="HeadingLeavingSide0"/><Units:degree/> heading to leave the wall or the shore.</Syslog>

                <Guidance:Point>
                    <Parallel/>
                    <Setting><Guidance:Point.heading/><Arg Name="HeadingLeavingSide0"/></Setting>
                </Guidance:Point>

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

            </Aggregate>

            <Aggregate Id="HittingSide1">

                <Break>
                    <Not><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Le><Arg Name="MinDistFromPolygonSides"/></Le></And><And><Derivation:ShortestDistanceToPolygonSidesCalculator.side_shortest_distance/><Eq><Units:count/><Value>1</Value></Eq></And></Not>
                </Break>

                <Syslog Severity="Important">Drive <Arg Name="DriveFromWallOrShoreDuration"/><Units:minute/> on <Arg Name="HeadingLeavingSide1"/><Units:degree/> heading to leave the wall or the shore.</Syslog>

                <Guidance:Point>
                    <Parallel/>
                    <Setting><Guidance:Point.heading/><Arg Name="HeadingLeavingSide1"/></Setting>
                </Guidance:Point>

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

            </Aggregate>

            <Aggregate Id="HittingSide2">

                <Break>
                    <Not><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Le><Arg Name="MinDistFromPolygonSides"/></Le></And><And><Derivation:ShortestDistanceToPolygonSidesCalculator.side_shortest_distance/><Eq><Units:count/><Value>2</Value></Eq></And></Not>
                </Break>

                <Syslog Severity="Important">Drive <Arg Name="DriveFromWallOrShoreDuration"/><Units:minute/> on <Arg Name="HeadingLeavingSide2"/><Units:degree/> heading to leave the wall or the shore.</Syslog>

                <Guidance:Point>
                    <Parallel/>
                    <Setting><Guidance:Point.heading/><Arg Name="HeadingLeavingSide2"/></Setting>
                </Guidance:Point>

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

            </Aggregate>

            <Aggregate Id="HittingSide3">

                <Break>
                    <Not><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Le><Arg Name="MinDistFromPolygonSides"/></Le></And><And><Derivation:ShortestDistanceToPolygonSidesCalculator.side_shortest_distance/><Eq><Units:count/><Value>3</Value></Eq></And></Not>
                </Break>

                <Syslog Severity="Important">Drive <Arg Name="DriveFromWallOrShoreDuration"/><Units:minute/> on <Arg Name="HeadingLeavingSide3"/><Units:degree/> heading to leave the wall or the shore.</Syslog>

                <Guidance:Point>
                    <Parallel/>
                    <Setting><Guidance:Point.heading/><Arg Name="HeadingLeavingSide3"/></Setting>
                </Guidance:Point>

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

            </Aggregate>

            <Aggregate Id="HittingSide4">

                <Break>
                    <Not><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Le><Arg Name="MinDistFromPolygonSides"/></Le></And><And><Derivation:ShortestDistanceToPolygonSidesCalculator.side_shortest_distance/><Eq><Units:count/><Value>4</Value></Eq></And></Not>
                </Break>

                <Syslog Severity="Important">Drive <Arg Name="DriveFromWallOrShoreDuration"/><Units:minute/> on <Arg Name="HeadingLeavingSide4"/><Units:degree/> heading to leave the wall or the shore.</Syslog>

                <Guidance:Point>
                    <Parallel/>
                    <Setting><Guidance:Point.heading/><Arg Name="HeadingLeavingSide4"/></Setting>
                </Guidance:Point>

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

            </Aggregate>

            <Aggregate Id="HittingSide5">

                <Break>
                    <Not><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Le><Arg Name="MinDistFromPolygonSides"/></Le></And><And><Derivation:ShortestDistanceToPolygonSidesCalculator.side_shortest_distance/><Eq><Units:count/><Value>5</Value></Eq></And></Not>
                </Break>

                <Syslog Severity="Important">Drive <Arg Name="DriveFromWallOrShoreDuration"/><Units:minute/> on <Arg Name="HeadingLeavingSide5"/><Units:degree/> heading to leave the wall or the shore.</Syslog>

                <Guidance:Point>
                    <Parallel/>
                    <Setting><Guidance:Point.heading/><Arg Name="HeadingLeavingSide5"/></Setting>
                </Guidance:Point>

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

            </Aggregate>

            <Aggregate Id="HittingSide6">

                <Break>
                    <Not><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Le><Arg Name="MinDistFromPolygonSides"/></Le></And><And><Derivation:ShortestDistanceToPolygonSidesCalculator.side_shortest_distance/><Eq><Units:count/><Value>6</Value></Eq></And></Not>
                </Break>

                <Syslog Severity="Important">Drive <Arg Name="DriveFromWallOrShoreDuration"/><Units:minute/> on <Arg Name="HeadingLeavingSide6"/><Units:degree/> heading to leave the wall or the shore.</Syslog>

                <Guidance:Point>
                    <Parallel/>
                    <Setting><Guidance:Point.heading/><Arg Name="HeadingLeavingSide6"/></Setting>
                </Guidance:Point>

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

            </Aggregate>

            <Aggregate Id="HittingSide7">

                <Break>
                    <Not><Derivation:ShortestDistanceToPolygonSidesCalculator.loadAtStartup/><And><Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Le><Arg Name="MinDistFromPolygonSides"/></Le></And><And><Derivation:ShortestDistanceToPolygonSidesCalculator.side_shortest_distance/><Eq><Units:count/><Value>7</Value></Eq></And></Not>
                </Break>

                <Syslog Severity="Important">Drive <Arg Name="DriveFromWallOrShoreDuration"/><Units:minute/> on <Arg Name="HeadingLeavingSide7"/><Units:degree/> heading to leave the wall or the shore.</Syslog>

                <Guidance:Point>
                    <Parallel/>
                    <Setting><Guidance:Point.heading/><Arg Name="HeadingLeavingSide7"/></Setting>
                </Guidance:Point>

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

            </Aggregate>

            <Aggregate Id="TooCloseToShore">

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

                <Syslog Severity="Important">Drive <Arg Name="DriveFromWallOrShoreDuration"/><Units:minute/> on <Arg Name="HeadingLeavingShore"/><Units:degree/> heading to leave the wall or the shore.</Syslog>

                <Guidance:Point>
                    <Parallel/>
                    <Setting><Guidance:Point.heading/><Arg Name="HeadingLeavingShore"/></Setting>
                </Guidance:Point>

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

            </Aggregate>

            <Syslog Severity="Important">Has completed drive-away from the wall. Latitude = <Universal:latitude/><Units:degree/>, longitude = <Universal:longitude/><Units:degree/>. Distance from shore = <Universal:distance_from_shore/><Units:meter/>. Shortest distance <Derivation:ShortestDistanceToPolygonSidesCalculator.shortest_distance_to_polygon_sides/><Units:meter/> to side <Derivation:ShortestDistanceToPolygonSidesCalculator.side_shortest_distance/><Units:count/>.</Syslog>

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

        </Aggregate>

    </Aggregate>

    <Aggregate Id="BeforeDiving">

        <Sequence/>

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

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

        <Aggregate Id="Surface">

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

            <Guidance:GoToSurface>
                <Sequence/>
                <Setting><Guidance:GoToSurface.pitch/><Arg Name="SurfacePitch"/></Setting>
                <Setting><Guidance:GoToSurface.depthRate/><Arg Name="SurfaceDepthRate"/></Setting>
                <Setting><Guidance:GoToSurface.speed/><Arg Name="SpeedTransit"/></Setting>
            </Guidance:GoToSurface>

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

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

        </Aggregate>

        <Aggregate Id="NoNeedToSurface">

            <When>
                <Not><Arg Name="DriveAwayFromWallOrShore"/></Not>
            </When>

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

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

        </Aggregate>

    </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>
            <Or><Arg Name="StartVerticalManeuver"/><And><Not><Arg Name="FlagInitialDiveCompleted"/></Not></And><And><Arg Name="ReportAtSurfaceDone"/></And></Or>
        </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><Arg Name="CntSamples"/>
            <Gt><Arg Name="NumSamplers"/></Gt>
        </Break>

        <Aggregate Id="FindPeak">

            <Sequence/>

            <While>
                <Arg Name="SampleAtPeakChl"/>
                <And><Arg Name="StartVerticalManeuver"/></And>
            </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="SetFlagGoDown">

                <When>
                    <Not><Arg Name="Surfacing"/></Not>
                    <And><IsNaN><Arg Name="TempDesignated"/>
                    </IsNaN></And>
                    <And><IsNaN><Arg Name="DepthDesignated"/>
                    </IsNaN></And>
                    <And><Not><Arg Name="FlagFirstDive"/></Not></And>
                    <And><Not><Arg Name="FlagPeakChlDepthSet"/></Not></And>
                    <And><Universal:depth/><Lt><Arg Name="PeakChlDepthSet"/><Sub><Arg Name="VerticalPerturbation"/></Sub></Lt></And>
                    <And><Not><Arg Name="FlagGoDown"/></Not></And>
                    <And><Arg Name="StartVerticalManeuver"/></And>
                </When>

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

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

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

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

            </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>
                    <Not><Arg Name="Surfacing"/></Not>
                    <And><IsNaN><Arg Name="TempDesignated"/>
                    </IsNaN></And>
                    <And><IsNaN><Arg Name="DepthDesignated"/>
                    </IsNaN></And>
                    <And><Arg Name="SampleAtPeakChl"/></And>
                    <And><Arg Name="FlagFirstDive"/></And>
                    <And><Universal:depth/><Gt><Arg Name="DeepBoundChl"/></Gt></And>
                    <And><Not><Arg Name="FlagGoUp"/></Not></And>
                    <And><Arg Name="StartVerticalManeuver"/></And>
                    <Or><Not><Arg Name="Surfacing"/></Not><And><IsNaN><Arg Name="TempDesignated"/>
                    </IsNaN></And><And><IsNaN><Arg Name="DepthDesignated"/>
                    </IsNaN></And><And><Not><Arg Name="FlagFirstDive"/></Not></And><And><Arg Name="SampleAtPeakChl"/></And><And><Not><Arg Name="FlagPeakChlDepthSet"/></Not></And><And><Universal:depth/><Gt><Arg Name="PeakChlDepthSet"/><Add><Arg Name="VerticalPerturbation"/></Add></Gt></And><And><Not><Arg Name="FlagGoUp"/></Not></And><And><Arg Name="StartVerticalManeuver"/></And></Or>
                </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>
                    <Not><Arg Name="Surfacing"/></Not>
                    <And><Arg Name="FlagFirstDive"/></And>
                    <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"/><Sub><Arg Name="RiseFromTurningDepth"/></Sub></Lt></And>
                    <And><Arg Name="Science:PeakChlDepth"/><Gt><Arg Name="ShallowBoundChl"/></Gt></And>
                    <And><Arg Name="StartVerticalManeuver"/></And>
                    <Or><Not><Arg Name="Surfacing"/></Not><And><Not><Arg Name="FlagFirstDive"/></Not></And><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="PeakChlDepthSet"/> <Add><Arg Name="VerticalPerturbation"/></Add> <Sub><Arg Name="RiseFromTurningDepth"/></Sub></Lt></And><And><Arg Name="StartVerticalManeuver"/></And></Or>
                </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="ReacquirePeak"/><False/></Assign>

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

            </Aggregate>

        </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="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>
            </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>
            </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>
                <Not><Arg Name="Surfacing"/></Not>
                <And><Arg Name="FlagTargetDepthSet"/></And>
                <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>
            </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>
                <Not><Arg Name="Surfacing"/></Not>
                <And><Arg Name="FlagTargetDepthSet"/></And>
                <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>
            </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="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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface1"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq1"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface2"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq2"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface3"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq3"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface4"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq4"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface5"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq5"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface6"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq6"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface7"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq7"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface8"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq8"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface9"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq9"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface10"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq10"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface11"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq11"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface12"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq12"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface13"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq13"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface14"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq14"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface15"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq15"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface16"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq16"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface17"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq17"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface18"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq18"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface19"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq19"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface20"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq20"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface21"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq21"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface22"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq22"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface23"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq23"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface24"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq24"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface25"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq25"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface26"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq26"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface27"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq27"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface28"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq28"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface29"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq29"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface30"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq30"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface31"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq31"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface32"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq32"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface33"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq33"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface34"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq34"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface35"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq35"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface36"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq36"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface37"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq37"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface38"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq38"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface39"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq39"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface40"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq40"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface41"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq41"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface42"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq42"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface43"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq43"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface44"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq44"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface45"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq45"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface46"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq46"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface47"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq47"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface48"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq48"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface49"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq49"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface50"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq50"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface51"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq51"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface52"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq52"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface53"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq53"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface54"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq54"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface55"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq55"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface56"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq56"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface57"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq57"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface58"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq58"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface59"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq59"/></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>

            <Assign><Sequence/><Arg Name="ReportAtSurfaceToUseIndividual"/><Arg Name="RptSurface60"/></Assign>

            <Assign><Sequence/><Arg Name="ReacquirePeakIndividual"/><Arg Name="Reacq60"/></Assign>

            <Call Id="SetOptionsForSample60" RefId="SetSampleOptions"/>

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

        </Aggregate>

        <Aggregate Id="ReacquireChlPeak">

            <When>
                <Arg Name="FlagPeakChlTempSet"/>
                <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><Arg Name="ReacquirePeak"/></And>
            </When>

            <Call RefId="PeakReacquisition"/>

        </Aggregate>

        <Aggregate Id="SetFiringTempRelativeToChlPeak">

            <When>
                <Arg Name="StartVerticalManeuver"/>
                <And><Not><Arg Name="Surfacing"/></Not></And>
                <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>
                <And><Not><Arg Name="ReacquirePeak"/></Not></And>
                <And><Arg Name="ReportAtSurface"/></And>
                <And><Arg Name="ReportAtSurfaceDone"/></And>
                <Or><Arg Name="StartVerticalManeuver"/><And><Not><Arg Name="Surfacing"/></Not></And><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><And><Not><Arg Name="ReacquirePeak"/></Not></And><And><Not><Arg Name="ReportAtSurface"/></Not></And><And><Not><Arg Name="ReportAtSurfaceDone"/></Not></And></Or>
            </When>

            <Assign><Sequence/><Arg Name="TempSet"/><Arg Name="PeakChlTemperatureSet"/><Add><Arg Name="TempDiffFromPeakChl"/></Add></Assign>

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

            <Assign><Sequence/><Arg Name="ReportAtSurface"/><Arg Name="ReportAtSurfaceToUse"/></Assign>

        </Aggregate>

        <Aggregate Id="SetFiringTempAbsolute">

            <When>
                <Arg Name="StartVerticalManeuver"/>
                <And><Not><Arg Name="Surfacing"/></Not></And>
                <And><Arg Name="SampleOptionsSet"/></And>
                <And><Not><IsNaN><Arg Name="TempDesignated"/>
                </IsNaN></Not></And>
                <And><Not><Arg Name="FlagTempSet"/></Not></And>
                <And><Arg Name="ReportAtSurface"/></And>
                <And><Arg Name="ReportAtSurfaceDone"/></And>
                <Or><Arg Name="StartVerticalManeuver"/><And><Not><Arg Name="Surfacing"/></Not></And><And><Arg Name="SampleOptionsSet"/></And><And><Not><IsNaN><Arg Name="TempDesignated"/>
                </IsNaN></Not></And><And><Not><Arg Name="FlagTempSet"/></Not></And><And><Not><Arg Name="ReportAtSurface"/></Not></And><And><Not><Arg Name="ReportAtSurfaceDone"/></Not></And></Or>
            </When>

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

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

            <Assign><Sequence/><Arg Name="ReportAtSurface"/><Arg Name="ReportAtSurfaceToUse"/></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>
                <And><Not><Arg Name="ReacquirePeak"/></Not></And>
                <And><Arg Name="ReportAtSurface"/></And>
                <And><Arg Name="ReportAtSurfaceDone"/></And>
                <Or><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><And><Not><Arg Name="ReacquirePeak"/></Not></And><And><Not><Arg Name="ReportAtSurface"/></Not></And><And><Not><Arg Name="ReportAtSurfaceDone"/></Not></And></Or>
            </When>

            <Assign><Sequence/><Arg Name="DepthSet"/><Arg Name="PeakChlDepthSet"/><Add><Arg Name="DepDiffFromPeakChl"/></Add></Assign>

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

            <Assign><Sequence/><Arg Name="ReportAtSurface"/><Arg Name="ReportAtSurfaceToUse"/></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>
                <And><Not><Arg Name="ReacquirePeak"/></Not></And>
                <And><Arg Name="ReportAtSurface"/></And>
                <And><Arg Name="ReportAtSurfaceDone"/></And>
                <Or><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><And><Not><Arg Name="ReacquirePeak"/></Not></And><And><Not><Arg Name="ReportAtSurface"/></Not></And><And><Not><Arg Name="ReportAtSurfaceDone"/></Not></And></Or>
            </When>

            <Assign><Sequence/><Arg Name="DepthSet"/><Arg Name="ShallowBoundChl"/></Assign>

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

            <Assign><Sequence/><Arg Name="ReportAtSurface"/><Arg Name="ReportAtSurfaceToUse"/></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>
                <And><Not><Arg Name="ReacquirePeak"/></Not></And>
                <And><Arg Name="ReportAtSurface"/></And>
                <And><Arg Name="ReportAtSurfaceDone"/></And>
                <Or><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><And><Not><Arg Name="ReacquirePeak"/></Not></And><And><Not><Arg Name="ReportAtSurface"/></Not></And><And><Not><Arg Name="ReportAtSurfaceDone"/></Not></And></Or>
            </When>

            <Assign><Sequence/><Arg Name="DepthSet"/><Arg Name="DeepBoundChl"/></Assign>

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

            <Assign><Sequence/><Arg Name="ReportAtSurface"/><Arg Name="ReportAtSurfaceToUse"/></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>
                <And><Arg Name="ReportAtSurface"/></And>
                <And><Arg Name="ReportAtSurfaceDone"/></And>
                <Or><Arg Name="SampleOptionsSet"/><And><Not><IsNaN><Arg Name="DepthDesignated"/>
                </IsNaN></Not></And><And><Not><Arg Name="FlagTargetDepthSet"/></Not></And><And><Not><Arg Name="ReportAtSurface"/></Not></And><And><Not><Arg Name="ReportAtSurfaceDone"/></Not></And></Or>
            </When>

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

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

            <Assign><Sequence/><Arg Name="ReportAtSurface"/><Arg Name="ReportAtSurfaceToUse"/></Assign>

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

        </Aggregate>

        <Aggregate Id="FiringOnTemp">

            <When>
                <Arg Name="MissionStartCommsCompleted"/>
                <And><Arg Name="StartVerticalManeuver"/></And>
                <And><Arg Name="FlagTempSet"/></And>
                <And><Not><Arg Name="Surfacing"/></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="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="ReportAtSurfaceDone"/><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="ReportAtSurfaceDone"/><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="MissionStartCommsCompleted"/>
                <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="ReportAtSurfaceDone"/><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="ReportAtSurfaceDone"/><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="ReportAtSurface">

            <When>
                <Not><Arg Name="FlagGoUp"/></Not>
                <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="SampleCompleted"/></And>
                <And><Arg Name="ReportAtSurface"/></And>
            </When>

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

<!-- Don't move the following lines -->

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

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

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

            <Syslog Severity="Important">Surfacing to report sampling results to shore.</Syslog>

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

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

            <Aggregate Id="SetFlagGoDownIfFindingPeakChlVertical_2">

                <Sequence/>

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

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

            </Aggregate>

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

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

        </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>
