Displaying differences for changeset
 
display as  

src/java/m/oms/ages/V1_0.java

@@ -25,7 +25,6 @@
 import ngmf.util.cosu.luca.of.TRMSE;
 import oms.utils.Utils;
 import oms3.ObjectiveFunction;
-import oms3.util.Statistics;
 
 /**
  * Ages service.
@@ -58,7 +57,18 @@
 
     @Override
     public double calculate(double[] obs, double[] sim, double missing) {
-      return Statistics.pbias(obs, sim, missing);
+      if (sim.length != obs.length) {
+        throw new IllegalArgumentException("obs/sim length differ: " + obs.length + "!=" + sim.length);
+      }
+      double diffsum = 0;
+      double obssum = 0;
+      for (int i = 0; i < sim.length; i++) {
+        if (obs[i] > missing) {
+          diffsum += sim[i] - obs[i];
+          obssum += obs[i];
+        }
+      }
+      return (diffsum / obssum) * 100.0;
     }