Hi,
Sorry for the delayed response, - there is several ways to compare two time-series, also regarding the statistical difference.
During calibration you formulate the goal-criteria for the catchment-ids(or river ids), related to discharge, snow swe or snow sca.
The goal criteria function could be NSE,KGE plus some others.
During a calibration we create a calibrator object, that uses the region-model to evaluate the goal-function, using one of the selected goal-seeking algorihtms, min-bobyqa, global search etc.
During that process we also keep track of all the attempts, storing it into an array you can inspect, where the goal-function value along with the parameters are stored.
In addition, you can setup printout (done in the notebook demo's).
Hopefully this would give you all you need regarding goal functions, parameters during calibration process.
In addition, given two time-series, (no model), shyft.time_series gives you:
```python
from shyft.time_series import TimeSeries,TimeAxis,time,Calendar,point_interpretation_policy as ts_fx
import numpy as np
utc=Calendar()
dt=time(3600)
n=365*24
ta=TimeAxis(utc.time(2019,10,1),dt,n)
a=TimeSeries(ta,np.sin(np.linspace(0,n,n)),ts_fx.POINT_AVERAGE_VALUE)
b=TimeSeries(ta,0.7+np.sin(0.23+np.linspace(0,n,n)),ts_fx.POINT_AVERAGE_VALUE)
ns=a.nash_sutcliffe(b)
kg=a.kling_gupta(b,s_r=1.0,s_a=1.0,s_b=1.0)
print(ns,kg)
```