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

#ifndef HFRADARCOMPACTMODELFORECASTERIF_H_
#define HFRADARCOMPACTMODELFORECASTERIF_H_

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

// Include common ConfigURIs -- must be in namespace and follow definition of NAME
#include "component/HasLoadAtStartupIF.h"
static const ConfigURI IGNORE_ECS_MORE_RECENT_THAN_CFG( NAME, "ignoreECsMoreRecentThan", Units::HOUR );

static const int MAX_EOFS( 50 ); // Maximum number of EOFs supported by the neural net surrogate
static const int HISTORY_HOURS( 49 ); // number of history hours to use (determined at runtime from xlags_)
static const int PROJECTION_HOURS( 12 ); // number of hours to project into the future from the most recent history hour
static const int TOTAL_HOURS( 61 ); // total hours including measured history and estimated forecast

static const BlobURI FORECAST_EXPANSION_COEFFICIENTS( NAME, "forecast_expansion_coefficients", Units::NONE, BLOB_FLOAT32LE, MAX_EOFS, TOTAL_HOURS );
static const BlobURI FORECAST_TIMES( NAME, "forecast_times", Units::EPOCH_SECOND, BLOB_FLOAT64LE, TOTAL_HOURS );
// NOTE: UINT32LE will represent epoch seconds until sometime in year 2106. Maybe we just want to use 64-bit now?
}

#endif /*HFRADARCOMPACTMODELFORECASTERIF_H_*/
