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

#ifndef VERTICALHOMOGENEITYINDEXCALCULATORIF_H_
#define VERTICALHOMOGENEITYINDEXCALCULATORIF_H_

#include "data/ElementURI.h"

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

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

static const ConfigURI VERBOSITY( NAME, "verbosity", Units::COUNT );
static const ConfigURI DEPTH_1( NAME, "depth1", Units::METER );
static const ConfigURI DEPTH_2( NAME, "depth2", Units::METER );
static const ConfigURI DEPTH_3( NAME, "depth3", Units::METER );
static const ConfigURI DEPTH_4( NAME, "depth4", Units::METER );
static const ConfigURI DEPTH_WINDOW( NAME, "depthWindow", Units::METER );
static const ConfigURI MEDIAN_FILTER_LENGTH_SALT( NAME, "medianFilterLengthSalt", Units::COUNT );

static const DataURI MEAN_SEA_WATER_TEMPERATURE( NAME, "mean_sea_water_temperature", Units::CELSIUS );
static const DataURI VERTICAL_TEMPERATURE_HOMOGENEITY_INDEX( NAME, "vertical_temperature_homogeneity_index", Units::CELSIUS );
static const DataURI STANDARD_DEVIATION_SEA_WATER_TEMPERATURE( NAME, "standard_deviation_sea_water_temperature", Units::CELSIUS );
static const DataURI MEAN_SEA_WATER_SALINITY( NAME, "mean_sea_water_salinity", Units::PRACTICAL_SALINITY_UNIT );
static const DataURI VERTICAL_SALINITY_HOMOGENEITY_INDEX( NAME, "vertical_salinity_homogeneity_index", Units::PRACTICAL_SALINITY_UNIT );
static const DataURI STANDARD_DEVIATION_SEA_WATER_SALINITY( NAME, "standard_deviation_sea_water_salinity", Units::PRACTICAL_SALINITY_UNIT );
}

#endif /*VERTICALHOMOGENEITYINDEXCALCULATORIF_H_*/
