Science/trackPatch_yoyo.tl
¶
Mission ID: trackPatch_yoyo
Mission Path: Science/trackPatch_yoyo.tl
Vehicle yo-yos with patch detect enabled for oil concentration. NOTE: oil concentrations may vary strongly with depth! Suggested settings for simulaton: Config/sim/[username]/Simulator.cfg: oceanModelData = "Resources/BurgerOilfieldSpill.nc:mass_concentration_of_petroleum_hydrocarbons_in_sea_water:kg/m3"; eastCurrent = 0.05 m/s; // vel y wrto LV northCurrent = 0.005 m/s; // vel x wrto LV Config/sim/[username]/workSite.cfg: initLat = 71.2225805280196 arcdeg; // Initial latitude initLon = -163.5093252100575 arcdeg; // Initial longitude Config/sim/[username]/sim.cfg: WetLabsBB2FL.loadAtStartup = 0 bool; WetLabsSeaOWL_UV_A.loadAtStartup = 1 bool; WetLabsSeaOWL_UV_A.simulateSensors = 1 bool; WetLabsSeaOWL_UV_A.serial = "SEAOWLA2K-019"; WetLabsSeaOWL_UV_A.scaleFactor700 = 3.204e-7 1/m/sr/count; WetLabsSeaOWL_UV_A.darkCounts700 = 48 count; WetLabsSeaOWL_UV_A.scaleFactorFDOM = 8.096e-3 ppb/count; WetLabsSeaOWL_UV_A.darkCountsFDOM = 50 count; WetLabsSeaOWL_UV_A.fdomAccuracy = 8.19 ppb; WetLabsSeaOWL_UV_A.scaleFactorChl = 2.170e-3 ug/l/count; WetLabsSeaOWL_UV_A.darkCountsChl = 50 count; WetLabsSeaOWL_UV_A.chlAccuracy = 1.475 ug/l; WetLabsSeaOWL_UV_A.scaleFactorOil = 2.8 ppb/count; WetLabsSeaOWL_UV_A.darkCountsOil = 50 count; WetLabsSeaOWL_UV_A.oilAccuracy = 3.6 ppb; NavChartDb.charts = "US1AK90M,US2AK92M,US5AK9NM,US5AK9OM,US5AK9PM,US5AK9QM,US5AK9RM,US5AK9SM,US5AK9TM,US5AK9UM";
Arguments¶
MissionTimeout¶
MissionTimeout = 12 hour
Timeout for the entire mission
AcousticTrackingTimeout¶
AcousticTrackingTimeout = 240 hour
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.
Speed¶
Speed = 1 meter_per_second
Vehicle speed.
PeakDetectChl¶
PeakDetectChl = true
Chlorophyll patch tracking.
PeakDetectSalinity¶
PeakDetectSalinity = false
Salinity patch tracking.
PeakDetectOil¶
PeakDetectOil = false
Oil patch tracking.
DetectTheTrough¶
DetectTheTrough = false
Whether to track a trough. If false, track peak; if true, track trough. Default is false.
MinAltitude¶
MinAltitude = 5 meter
Minimum altitude for the entire mission.
MaxDepth¶
MaxDepth = 50 meter
Maximum depth for the entire mission.
MinWaterDepth¶
MinWaterDepth = 10 meter
Minimum water depth for the entire mission.
MinOffshore¶
MinOffshore = 2000 meter
Minimum offshore distance for the entire mission.
MarginMinOffshore¶
MarginMinOffshore = 100 meter
If closer than MinOffshore+MarginMinOffshore, turn back from shore.
MinDistFromPolygonSides¶
MinDistFromPolygonSides = 200 meter
If a operational safety polygon is specified and the vehicle is closer than this minimum distance to the polygon sides, turn back.
NeedCommsTimeInTransit¶
NeedCommsTimeInTransit = 60 minute
Maximum time between surfacings for communications during transit
NeedCommsTimePatchTracking¶
NeedCommsTimePatchTracking = 300 minute
Maximum time between surfacings for communications during patch tracking. This is checked only on every NumRoundsBtnCrossLegSurfacings rounds of CrossLeg.
NeedCommsTimeMarginPatchTracking¶
NeedCommsTimeMarginPatchTracking = 60 minute
In case vehicle does not surface on periodic rounds of InLeg or CrossLeg, vehicle will be forced to surface at NeedCommsTimePatchTracking+NeedCommsTimeMarginPatchTracking.
WaitAfterBouncing¶
WaitAfterBouncing = 5 minute
After the vehicle bounces off the boundary (defined by minimum distance to shore or polygon sides), wait this long before re-checking the distance.
LatPatchTrackingStart¶
LatPatchTrackingStart = NaN degree
Latitude of patch tracking start location. If nan, transit is skipped.
LonPatchTrackingStart¶
LonPatchTrackingStart = NaN degree
Longitude of patch tracking start location. If nan, transit is skipped.
Repeat¶
Repeat = 5 count
Maximum number of rounds (one round = one full set of sweeps in four directions)
NumRoundsBtnCrossLegSurfacings¶
NumRoundsBtnCrossLegSurfacings = 5 count
Every so many rounds, vehicle surfaces on CrossLeg. Set to a big number to practially disable surfacing on CrossLeg.
WpMaxDistance¶
WpMaxDistance = 1000 meter
Maximum length of each tracking leg
WpTimeout¶
WpTimeout = 4000 second
Maximum duration of each tracking leg
TransitYoYoMinDepth¶
TransitYoYoMinDepth = 2 meter
Minimum depth while performing the YoYo behavior during transit.
TransitYoYoMaxDepth¶
TransitYoYoMaxDepth = 30 meter
Maximum depth while performing the YoYo behavior during transit.
PatchTrackingYoYoMinDepth¶
PatchTrackingYoYoMinDepth = 2 meter
Minimum depth while performing the YoYo behavior during patch tracking.
PatchTrackingYoYoMaxDepth¶
PatchTrackingYoYoMaxDepth = 25 meter
Maximum depth while performing the YoYo behavior during patch tracking.
YoYoMinAltitude¶
YoYoMinAltitude = 9 meter
Minimum altitude while performing the YoYo behavior (for bottom-terminated YoYos).
YoYoUpPitch¶
YoYoUpPitch = 20 degree
Vehicle up pitch while performing the YoYo behavior.
YoYoDownPitch¶
YoYoDownPitch = -20 degree
Vehicle down pitch while performing the YoYo behavior.
PeakShallowBnd¶
PeakShallowBnd = 5 meter
Shallow depth bound for detecting peak on each descent or ascent profile.
PeakDeepBnd¶
PeakDeepBnd = 20 meter
Deep depth bound for detecting peak on each descent or ascent profile.
BeginThresholdChl¶
BeginThresholdChl = 1.0 microgram_per_liter
If non-NaN, sets chlorophyll threshold for starting horizontal patch detection
BeginThresholdSalt¶
BeginThresholdSalt = 33.0 psu
If non-NaN, sets salinity threshold for starting horizontal patch detection
BeginThresholdOil¶
BeginThresholdOil = 0.2 kilogram_per_cubic_meter
If non-NaN, sets threshold for starting horizontal patch detection
WpBearing¶
WpBearing = 90 degree
Bearing being followed in the current leg. Set this to initialize start direction of patch tracking.
OffPeakFraction¶
OffPeakFraction = 90 percent
When filtered horizontal value is this fraction of the peak, consider it outside the patch.
DetectionTimeout¶
DetectionTimeout = 30 minute
Look for signal for this long. If none found within this timeout, switch to the next leg.
TimeWindowPeakRpt¶
TimeWindowPeakRpt = NaN minute
If greater than zero, report a peak every such time window has elapsed. If NaN or zero, this variable is ignored.
LowPassWindowLen¶
LowPassWindowLen = 20 count
Low-pass window length (based on depth sensor sampling interval 0.4 second) for low-pass filtering.
MedianFilterLength¶
MedianFilterLength = 5 count
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.
NumOfProfilesSlidingwindow¶
NumOfProfilesSlidingwindow = 50 count
Length of horizontal sliding window. The highest per-yoyo peak (after low-pass filtering by a filter of length FilterWidthHorizontal) is picked out within this window.
FilterWidthHorizontal¶
FilterWidthHorizontal = 4 count
Width of boxcar filter used in horizontal patch detection
DepChangeThreshAttitudeFlip¶
DepChangeThreshAttitudeFlip = 2.0 meter
Depth change threshold for determining vehicle attitude flip.
WaterFrame¶
WaterFrame = true
Set WaterFrame true to drive towards waypoints in the water frame of reference
PatchMode¶
PatchMode = false
If true, use center of "in peak" range as the turn-around point. If false use maximum horizontal peak location as the turn-around point.
Turn¶
Turn = 90 degree
Amount to turn at each leg
MassDefault¶
MassDefault = Control:VerticalControl.massDefault
Static setting for mass during the mission. Defaults to massDefault setting in the Config/Control.cfg file.
BuoyancyNeutral¶
BuoyancyNeutral = Control:VerticalControl.buoyancyNeutral
Buoyancy bladder position while performing the YoYo behavior. Defaults to buoyancyNeutral setting in the Config/Control.cfg file.
Output¶
Reverse¶
Reverse = 180 degree
Change in bearing which reverses vehicle direction
TwoPi¶
TwoPi = 360 degree
Applied to stop run-up of angles
CntRounds¶
CntRounds = 1 count
Count of sweep rounds (initilized to 1).
PatchDetectOn¶
PatchDetectOn = false
Mission sets this to true when the patch has been crossed. Initialized to False.
WpDone¶
WpDone = true
Mission sets this to true when the cross-patch waypoint has been reached. Initialized to True.
CrossLegToPatchCenterCompleted¶
CrossLegToPatchCenterCompleted = false
Initialized to False.
CrossLegSearchForPeakStarted¶
CrossLegSearchForPeakStarted = false
Initialized to False.
AllDone¶
AllDone = false
Initialized to False.
FlagTurnBack¶
FlagTurnBack = false
Flag of turning back from shore. Initialized to False.
PatchPeakChl¶
PatchPeakChl = NaN microgram_per_liter
PatchPeakSalinity¶
PatchPeakSalinity = NaN psu
PatchPeakOil¶
PatchPeakOil = NaN kilogram_per_cubic_meter
PatchPeakDepth¶
PatchPeakDepth = NaN meter
PatchPeakLatitude¶
PatchPeakLatitude = NaN degree
PatchPeakLongitude¶
PatchPeakLongitude = NaN degree
PatchPeakDistance¶
PatchPeakDistance = 0 meter
StoppedForNaNPatchPeak¶
StoppedForNaNPatchPeak = false
Mission stopped because patch peak value is NaN. Initialized to False.
StoppedForBeingOutsideOfPolygon¶
StoppedForBeingOutsideOfPolygon = false
Mission stopped because the vehicle is outside of the polygon. Initialized to False.
ElapsedSinceStartOrLastDistCheck¶
ElapsedSinceStartOrLastDistCheck = 0 hour
The mission sets this variable to reset the timer for checking distance to shore and polygon sides.
Inserts¶
Insert/NeedComms.tl
¶
Insert/AbortDrift.tl
¶
redefineArg AcousticTimeout = AcousticTrackingTimeout
Insert/Science.tl
¶
redefineArg PeakDetectChlActive = PeakDetectChl
redefineArg PeakDetectSalinityActive = PeakDetectSalinity
redefineArg PeakDetectOilActive = PeakDetectOil
redefineArg TimeWindowPeakReport = TimeWindowPeakRpt
redefineArg LowPassWindowLength = LowPassWindowLen
redefineArg MedianFilterLen = MedianFilterLength
redefineArg PeakShallowBound = PeakShallowBnd
redefineArg PeakDeepBound = PeakDeepBnd
redefineArg DepChangeThreshForAttitudeFlip = DepChangeThreshAttitudeFlip