Displaying differences for changeset |
@@ -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; |
} |