<?xml version="1.0" encoding="UTF-8"?>
<Aggregate xmlns="Tethys"
       xmlns:Trigger="Tethys/Trigger"
       xmlns:Units="Tethys/Units"
       xmlns:Universal="Tethys/Universal"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="Tethys http://aosn.mbari.org/tethys/Xml/Tethys.xsd
                           Tethys/Trigger http://aosn.mbari.org/tethys/Xml/Trigger.xsd
                           Tethys/Units http://aosn.mbari.org/tethys/Xml/Units.xsd
                           Tethys/Universal http://aosn.mbari.org/tethys/Xml/Universal.xsd"
                           
       Id="Science"
       RunIn="Parallel">

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

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

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

    <DefineArg Name="PeakDepthChl"><Units:meter/><Value>0</Value></DefineArg>

    <DefineArg Name="PeakChl"><Units:microgram_per_liter/><Value>0</Value></DefineArg>

    <DefineArg Name="PeakDepthNO3"><Units:meter/><Value>0</Value></DefineArg>

    <DefineArg Name="PeakNO3"><Units:micromole_per_liter/><Value>0</Value></DefineArg>

    <ReadData Strategy="MinError">
        <Universal:sea_water_temperature/>
        <Universal:sea_water_salinity/>
        <Universal:mass_concentration_of_chlorophyll_in_sea_water/>
        <Universal:mass_concentration_of_oxygen_in_sea_water/>
    </ReadData>

<!-- See if the ISUS should get turned on -->

    <ReadData>
        <While><Arg Name="SampleISUS"/>
            <Eq/><True/>
            <Or><Arg Name="PeakDetectNO3Active"/>
                <Eq/><True/>
            </Or>
        </While>
        <Universal:mole_concentration_of_nitrate_in_sea_water/>
    </ReadData>

    <Aggregate  Id="PeakDetectChl">

        <While><Arg Name="PeakDetectChlActive"/>
            <Eq/><Units:bool/><Value>1</Value>
        </While>

        <Trigger:PeakDetect RunIn="Sequence">
            <Setting><Trigger:PeakDetect.detect/><Universal:mass_concentration_of_chlorophyll_in_sea_water/></Setting>
            <OutputArg Name="PeakDepthChl"><Trigger:PeakDetect.peakIndependent/></OutputArg>
            <OutputArg Name="PeakChl"><Trigger:PeakDetect.peakDetect/></OutputArg>
        </Trigger:PeakDetect>

        <Shorelog><Arg Name="PeakDepthChl"/>
        </Shorelog>

        <Shorelog><Arg Name="PeakChl"/>
        </Shorelog>

    </Aggregate>

    <Aggregate Id="PeakDetectNO3">

        <While><Arg Name="PeakDetectNO3Active"/>
            <Eq/><Units:bool/><Value>1</Value>
        </While>

        <Trigger:PeakDetect RunIn="Sequence">
            <Setting><Trigger:PeakDetect.detect/><Universal:mole_concentration_of_nitrate_in_sea_water/></Setting>
            <OutputArg Name="PeakDepthNO3"><Trigger:PeakDetect.peakIndependent/></OutputArg>
            <OutputArg Name="PeakNO3"><Trigger:PeakDetect.peakDetect/></OutputArg>
        </Trigger:PeakDetect>

        <Shorelog><Arg Name="PeakDepthNO3"/>
        </Shorelog>

        <Shorelog><Arg Name="PeakNO3"/>
        </Shorelog>

    </Aggregate>

</Aggregate>
