IOA.java [src/csip/cosu] Revision:   Date:
/*
 * $Id$
 *
 * This file is part of the Cloud Services Integration Platform (CSIP),
 * a Model-as-a-Service framework, API and application suite.
 *
 * 2012-2022, Olaf David and others, OMSLab, Colorado State University.
 *
 * OMSLab licenses this file to you under the MIT license.
 * See the LICENSE file in the project root for more information.
 */
package csip.cosu;

/**
 * Calculates the index of agreement (ioa) between a test data set and a
 * verification data set after Willmot & Wicks (1980). The ioa is described as
 * the proportion of the cumulated cubic deviation between both data sets and
 * the squared sum of the absolute deviations between the verification data set
 * and the test mean value and the test data set and its mean value.
 */
class IOA extends ObjFunc {

  @Override
  public String name() {
    return "Index of Agreement";
  }


  @Override
  public double eval(double[] obs, double[] sim, double missing) {
    return ioa(obs, sim, 1.0, missing);
  }


  @Override
  public int direction() {
    return 1;
  }


  @Override
  public int optimum() {
    return 1;
  }

}