/** \file
 *
 *  Specifies the interface details for the StratificationFrontDetector
 *  component in the EstimationModule.
 *
 *  StratificationFrontDetector.h should only be included by
 *  StratificationFrontDetector.cpp
 *  Other classes should include StratificationFrontDetectorIF.h
 *
 *  Copyright (c) 2015 MBARI
 *  MBARI Proprietary Information.  All Rights Reserved
 */

#ifndef STRATIFICATIONFRONTDETECTORIF_H_
#define STRATIFICATIONFRONTDETECTORIF_H_

/**
 *  Specifies the interface details for the StratificationFrontDetector
 *  component in the EstimationModule.
 *
 *  StratificationFrontDetector.h should only be included by
 *  StratificationFrontDetector.cpp
 *  Other classes should include StratificationFrontDetectorIF.h
 *
 *  \ingroup modules_estimation
 */
namespace StratificationFrontDetectorIF
{
/// Static const for component name
/// (Can be used by other components)
static const Str NAME( "StratificationFrontDetector" );

// Include common ConfigURIs -- must be in namespace and follow definition of NAME
#include "component/HasLoadAtStartupIF.h"

// configuration parameters
static const ConfigURI TEMPERATURE_FRONT( NAME, "temperatureFront", Units::BOOL );
static const ConfigURI SALINITY_FRONT( NAME, "salinityFront", Units::BOOL );
static const ConfigURI VERBOSITY( NAME, "verbosity", Units::COUNT );
static const ConfigURI THRESHOLD_VTHI( NAME, "threshold_VTHI", Units::CELSIUS );
static const ConfigURI THRESHOLD_VSHI( NAME, "threshold_VSHI", Units::PRACTICAL_SALINITY_UNIT );
static const ConfigURI HIGHWATERMARK( NAME, "highWaterMark", Units::COUNT );

static const DataURI LEVEL( NAME, "level", Units::COUNT );
static const DataURI FRONT( NAME, "front", Units::BOOL );
static const DataURI STRATIFIED( NAME, "stratified", Units::BOOL );
static const DataURI HOMOGENEOUS( NAME, "homogeneous", Units::BOOL );
}

#endif /* STRATIFICATIONFRONTDETECTORIF_H_ */
