raain-model 3.1.25 → 3.1.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,25 +7,58 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [3.1.27] - 2026-02-28
11
+
12
+ ### Added
13
+
14
+ - [RAD-178] `timeStepMode` option on cumulative compares request (eq/lte filtering)
15
+ - [RAD-178] Deduplicate matrices by name in SpeedMatrixContainer merge (combine qualityPoints)
16
+
17
+ ## [3.1.26] - 2026-02-28
18
+
19
+ ### Added
20
+
21
+ - `QualityIndicatorMethod.KLING_GUPTA`: new Kling-Gupta Efficiency (KGE) quality indicator (as default) — decomposes
22
+ model performance into correlation, variability bias, and volume bias (`1 - √((r-1)² + (α-1)² + (β-1)²)`)
23
+ - `QualityNormalizationOptions.kgeMinClamp`: floor value when normalizing KGE (default: 0)
24
+ - `QUALITY_NORMALIZATION_DEFAULTS.KGE_MIN_CLAMP`: default KGE normalization floor
25
+ - JSDoc documentation for all `QualityIndicatorMethod` enum members, interfaces, and defaults (TypeDoc-compatible)
26
+
27
+ ### Changed
28
+
29
+ - **Breaking**: Default quality indicator method changed from `NASH_SUTCLIFFE` to `KLING_GUPTA` — callers relying on the
30
+ default (no explicit `method` option) will now get KGE instead of NSE
31
+ - **Breaking**: `normalize` now defaults to `true` (was `false`) — `ComputeQualityIndicator()` with no options now
32
+ returns normalized values instead of raw
33
+ - **Breaking**: `normalizeScale` now defaults to `1` (was `100`) — normalized output is 0-1 by default instead of 0-100
34
+
35
+ ## [3.1.25] - 2026-02-27
36
+
10
37
  ### Changed
11
38
 
12
- - `QualityIndicatorOptions`: added `normalize` and `normalizationOptions` fields directly to the interface, unifying options across all quality indicator methods
39
+ - `QualityIndicatorOptions`: added `normalize` and `normalizationOptions` fields directly to the interface, unifying
40
+ options across all quality indicator methods
13
41
  - `ComputeQualityIndicator`: now supports `normalize` option to return normalized values (0–100 or 0–1) in a single call
14
- - `ComputeNormalizedQualityIndicator`: now delegates to `ComputeQualityIndicator` with unified options (backward compatible)
15
- - `SpeedMatrixContainer.getQuality`: simplified signature to use `QualityIndicatorOptions` directly (removed ad-hoc type intersection)
42
+ - `ComputeNormalizedQualityIndicator`: now delegates to `ComputeQualityIndicator` with unified options (backward
43
+ compatible)
44
+ - `SpeedMatrixContainer.getQuality`: simplified signature to use `QualityIndicatorOptions` directly (removed ad-hoc type
45
+ intersection)
16
46
 
17
47
  ## [3.1.24] - 2026-02-27
18
48
 
19
49
  ### Added
20
50
 
21
- - `QualityNormalizationOptions`: added `normalizeScale` option to control output range (default `100` for 0–100, set to `1` for 0–1)
51
+ - `QualityNormalizationOptions`: added `normalizeScale` option to control output range (default `100` for 0–100, set to
52
+ `1` for 0–1)
22
53
 
23
54
  ## [3.1.23] - 2026-02-26
24
55
 
25
56
  ### Changed
26
57
 
27
- - Removed `RaainApiRainsCumulativeComparesRequest` (consolidated into `RaainApiRainsCumulativeCumulativesComparesRequest`)
28
- - `RaainApiRainsCumulativeCumulativesComparesRequest`: removed `date` field (only `provider` and `timeStepInMinutes` remain)
58
+ - Removed `RaainApiRainsCumulativeComparesRequest` (consolidated into
59
+ `RaainApiRainsCumulativeCumulativesComparesRequest`)
60
+ - `RaainApiRainsCumulativeCumulativesComparesRequest`: removed `date` field (only `provider` and `timeStepInMinutes`
61
+ remain)
29
62
 
30
63
  ## [3.1.22] - 2026-02-25
31
64
 
@@ -37,13 +70,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
37
70
 
38
71
  ### Added
39
72
 
40
- - `RaainApiRainsProgressResponse`: added optional `inQueueCompute` and `inQueueGround` fields to distinguish queued job types
73
+ - `RaainApiRainsProgressResponse`: added optional `inQueueCompute` and `inQueueGround` fields to distinguish queued job
74
+ types
41
75
 
42
76
  ## [3.1.20] - 2026-02-24
43
77
 
44
78
  ### Fixed
45
79
 
46
- - `SpeedMatrix.computeNashSutcliffe`: use relative error instead of -Infinity when gauge variance is zero but prediction is near-perfect (single-point or constant-gauge edge case)
80
+ - `SpeedMatrix.computeNashSutcliffe`: use relative error instead of -Infinity when gauge variance is zero but prediction
81
+ is near-perfect (single-point or constant-gauge edge case)
47
82
 
48
83
  ## [3.1.19] - 2026-02-07
49
84
 
@@ -1,4 +1,5 @@
1
1
  export interface RaainApiRainsCumulativeCumulativesComparesRequest {
2
2
  provider: string;
3
3
  timeStepInMinutes: number;
4
+ timeStepMode?: 'eq' | 'lte';
4
5
  }
package/bpInfo.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bpInfo = void 0;
4
- exports.bpInfo = { version: 'v3.1.25' };
4
+ exports.bpInfo = { version: 'v3.1.27' };
5
5
  //# sourceMappingURL=bpInfo.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "raain-model",
3
- "version": "3.1.25",
3
+ "version": "3.1.27",
4
4
  "author": "contact@radartorain.com",
5
5
  "homepage": "https://github.com/raainio/raain-model",
6
6
  "description": "radartorain.com api model",
@@ -1,27 +1,142 @@
1
+ /**
2
+ * Quality indicator methods for comparing radar rain predictions against gauge observations.
3
+ *
4
+ * Each method quantifies prediction quality differently. All methods can be normalized
5
+ * to a 0-100 scale (0=worst, 100=best) via {@link SpeedMatrix.NormalizeQualityIndicator}.
6
+ *
7
+ * Default method: {@link KLING_GUPTA}
8
+ */
1
9
  export declare enum QualityIndicatorMethod {
10
+ /**
11
+ * Average absolute difference between rain prediction and gauge observation.
12
+ *
13
+ * Formula: `mean(|rain - gauge|)`
14
+ *
15
+ * - Range: 0 to +Infinity
16
+ * - Perfect score: 0
17
+ * - Normalized: inverted using reference max (default 10 mm/h)
18
+ */
2
19
  DELTA = "delta",
20
+ /**
21
+ * Average of min/max ratio between rain and gauge values.
22
+ *
23
+ * Formula: `mean(min(rain, gauge) / max(rain, gauge))`
24
+ *
25
+ * - Range: 0 to 1
26
+ * - Perfect score: 1
27
+ * - Handles both over- and under-prediction symmetrically
28
+ * - Skips points where both values are zero
29
+ */
3
30
  RATIO = "ratio",
31
+ /**
32
+ * Percentage of points where the min/max ratio meets a quality threshold.
33
+ *
34
+ * Formula: `count(ratio >= threshold) / total * 100`
35
+ *
36
+ * - Range: 0 to 100
37
+ * - Perfect score: 100
38
+ * - Default threshold: 0.8 (configurable via `successThreshold`)
39
+ * - Both-zero points count as successful (correct "no rain" prediction)
40
+ */
4
41
  SUCCESS_RATE = "success_rate",
42
+ /**
43
+ * Root Mean Square Error — penalizes large errors more than small ones.
44
+ *
45
+ * Formula: `sqrt(mean((rain - gauge)^2))`
46
+ *
47
+ * - Range: 0 to +Infinity
48
+ * - Perfect score: 0
49
+ * - More sensitive to outliers than DELTA
50
+ * - Normalized: inverted using reference max (default 10 mm/h)
51
+ */
5
52
  RMSE = "rmse",
53
+ /**
54
+ * Mean Absolute Percentage Error — error relative to observed value.
55
+ *
56
+ * Formula: `mean(|rain - gauge| / gauge) * 100`
57
+ *
58
+ * - Range: 0 to +Infinity (commonly 0-100+)
59
+ * - Perfect score: 0
60
+ * - Skips zero gauge values to avoid division by zero
61
+ * - Normalized: inverted using reference max (default 100%)
62
+ */
6
63
  MAPE = "mape",
7
- NASH_SUTCLIFFE = "nash_sutcliffe"
64
+ /**
65
+ * Nash-Sutcliffe Efficiency — hydrology standard comparing prediction to mean observation.
66
+ *
67
+ * Formula: `1 - sum((rain - gauge)^2) / sum((gauge - meanGauge)^2)`
68
+ *
69
+ * - Range: -Infinity to 1
70
+ * - Perfect score: 1
71
+ * - 0 means model is as good as predicting the mean
72
+ * - Negative values mean model is worse than predicting the mean
73
+ *
74
+ * @see {@link KLING_GUPTA} for an improved alternative that decomposes performance
75
+ */
76
+ NASH_SUTCLIFFE = "nash_sutcliffe",
77
+ /**
78
+ * Kling-Gupta Efficiency — decomposes performance into correlation, variability bias, and volume bias.
79
+ *
80
+ * Formula: `1 - sqrt((r - 1)^2 + (alpha - 1)^2 + (beta - 1)^2)`
81
+ *
82
+ * Where:
83
+ * - `r` = Pearson correlation coefficient (timing/pattern accuracy)
84
+ * - `alpha` = stdDev(rain) / stdDev(gauge) (variability ratio)
85
+ * - `beta` = mean(rain) / mean(gauge) (volume bias ratio)
86
+ *
87
+ * - Range: -Infinity to 1
88
+ * - Perfect score: 1 (r=1, alpha=1, beta=1)
89
+ * - Stricter than NSE on systematic bias
90
+ * - KGE > -0.41 is considered better than mean prediction
91
+ *
92
+ * This is the **default** quality indicator method.
93
+ *
94
+ * @see Gupta et al. (2009) "Decomposition of the mean squared error and NSE performance criteria"
95
+ */
96
+ KLING_GUPTA = "kling_gupta"
8
97
  }
98
+ /**
99
+ * Options for computing a quality indicator.
100
+ */
9
101
  export interface QualityIndicatorOptions {
102
+ /** Quality indicator method to use. Default: {@link QualityIndicatorMethod.KLING_GUPTA} */
10
103
  method?: QualityIndicatorMethod;
104
+ /** For SUCCESS_RATE: minimum ratio to consider "successful" (default: 0.8) */
11
105
  successThreshold?: number;
106
+ /** If true, normalizes result to 0-1 scale (0=bad, 1=best). Default: true */
12
107
  normalize?: boolean;
108
+ /** Options for normalization (reference max values, clamping, scale) */
13
109
  normalizationOptions?: QualityNormalizationOptions;
14
110
  }
111
+ /**
112
+ * Options for normalizing raw quality indicator values to a common scale.
113
+ */
15
114
  export interface QualityNormalizationOptions {
115
+ /** Reference max value for DELTA normalization (default: 10 mm/h) */
16
116
  deltaMaxRef?: number;
117
+ /** Reference max value for RMSE normalization (default: 10 mm/h) */
17
118
  rmseMaxRef?: number;
119
+ /** Reference max value for MAPE normalization (default: 100%) */
18
120
  mapeMaxRef?: number;
121
+ /** Floor value when normalizing NASH_SUTCLIFFE: raw values below this are clamped before scaling (default: 0) */
19
122
  nashSutcliffeMinClamp?: number;
123
+ /** Floor value when normalizing KLING_GUPTA: raw values below this are clamped before scaling (default: 0) */
124
+ kgeMinClamp?: number;
125
+ /** Scale for normalized output: 1 for 0-1, 100 for 0-100 (default: 1) */
20
126
  normalizeScale?: number;
21
127
  }
128
+ /**
129
+ * Default reference values for normalization in the rainfall domain.
130
+ */
22
131
  export declare const QUALITY_NORMALIZATION_DEFAULTS: {
132
+ /** 10 mm/h is considered maximum acceptable error */
23
133
  DELTA_MAX_REF: number;
134
+ /** 10 mm/h RMSE is considered maximum acceptable */
24
135
  RMSE_MAX_REF: number;
136
+ /** 100% error is considered maximum */
25
137
  MAPE_MAX_REF: number;
138
+ /** NSE raw values below 0 are clamped to 0 during normalization */
26
139
  NASH_SUTCLIFFE_MIN_CLAMP: number;
140
+ /** KGE raw values below 0 are clamped to 0 during normalization */
141
+ KGE_MIN_CLAMP: number;
27
142
  };
@@ -1,33 +1,117 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QUALITY_NORMALIZATION_DEFAULTS = exports.QualityIndicatorMethod = void 0;
4
+ /**
5
+ * Quality indicator methods for comparing radar rain predictions against gauge observations.
6
+ *
7
+ * Each method quantifies prediction quality differently. All methods can be normalized
8
+ * to a 0-100 scale (0=worst, 100=best) via {@link SpeedMatrix.NormalizeQualityIndicator}.
9
+ *
10
+ * Default method: {@link KLING_GUPTA}
11
+ */
4
12
  var QualityIndicatorMethod;
5
13
  (function (QualityIndicatorMethod) {
6
- // Average absolute difference (rain - gauge)
7
- // Range: 0 to ∞, Perfect: 0
14
+ /**
15
+ * Average absolute difference between rain prediction and gauge observation.
16
+ *
17
+ * Formula: `mean(|rain - gauge|)`
18
+ *
19
+ * - Range: 0 to +Infinity
20
+ * - Perfect score: 0
21
+ * - Normalized: inverted using reference max (default 10 mm/h)
22
+ */
8
23
  QualityIndicatorMethod["DELTA"] = "delta";
9
- // Average of min/max ratio
10
- // Range: 0 to 1, Perfect: 1
24
+ /**
25
+ * Average of min/max ratio between rain and gauge values.
26
+ *
27
+ * Formula: `mean(min(rain, gauge) / max(rain, gauge))`
28
+ *
29
+ * - Range: 0 to 1
30
+ * - Perfect score: 1
31
+ * - Handles both over- and under-prediction symmetrically
32
+ * - Skips points where both values are zero
33
+ */
11
34
  QualityIndicatorMethod["RATIO"] = "ratio";
12
- // Percentage of points meeting quality threshold
13
- // Range: 0 to 100, Perfect: 100
35
+ /**
36
+ * Percentage of points where the min/max ratio meets a quality threshold.
37
+ *
38
+ * Formula: `count(ratio >= threshold) / total * 100`
39
+ *
40
+ * - Range: 0 to 100
41
+ * - Perfect score: 100
42
+ * - Default threshold: 0.8 (configurable via `successThreshold`)
43
+ * - Both-zero points count as successful (correct "no rain" prediction)
44
+ */
14
45
  QualityIndicatorMethod["SUCCESS_RATE"] = "success_rate";
15
- // Root Mean Square Error - penalizes large errors
16
- // Range: 0 to ∞, Perfect: 0
46
+ /**
47
+ * Root Mean Square Error penalizes large errors more than small ones.
48
+ *
49
+ * Formula: `sqrt(mean((rain - gauge)^2))`
50
+ *
51
+ * - Range: 0 to +Infinity
52
+ * - Perfect score: 0
53
+ * - More sensitive to outliers than DELTA
54
+ * - Normalized: inverted using reference max (default 10 mm/h)
55
+ */
17
56
  QualityIndicatorMethod["RMSE"] = "rmse";
18
- // Mean Absolute Percentage Error
19
- // Range: 0 to 100+, Perfect: 0
57
+ /**
58
+ * Mean Absolute Percentage Error — error relative to observed value.
59
+ *
60
+ * Formula: `mean(|rain - gauge| / gauge) * 100`
61
+ *
62
+ * - Range: 0 to +Infinity (commonly 0-100+)
63
+ * - Perfect score: 0
64
+ * - Skips zero gauge values to avoid division by zero
65
+ * - Normalized: inverted using reference max (default 100%)
66
+ */
20
67
  QualityIndicatorMethod["MAPE"] = "mape";
21
- // Nash-Sutcliffe Efficiency - hydrology standard
22
- // Range: -∞ to 1, Perfect: 1
23
- // 0 = model equals mean prediction, <0 = worse than mean
68
+ /**
69
+ * Nash-Sutcliffe Efficiency — hydrology standard comparing prediction to mean observation.
70
+ *
71
+ * Formula: `1 - sum((rain - gauge)^2) / sum((gauge - meanGauge)^2)`
72
+ *
73
+ * - Range: -Infinity to 1
74
+ * - Perfect score: 1
75
+ * - 0 means model is as good as predicting the mean
76
+ * - Negative values mean model is worse than predicting the mean
77
+ *
78
+ * @see {@link KLING_GUPTA} for an improved alternative that decomposes performance
79
+ */
24
80
  QualityIndicatorMethod["NASH_SUTCLIFFE"] = "nash_sutcliffe";
81
+ /**
82
+ * Kling-Gupta Efficiency — decomposes performance into correlation, variability bias, and volume bias.
83
+ *
84
+ * Formula: `1 - sqrt((r - 1)^2 + (alpha - 1)^2 + (beta - 1)^2)`
85
+ *
86
+ * Where:
87
+ * - `r` = Pearson correlation coefficient (timing/pattern accuracy)
88
+ * - `alpha` = stdDev(rain) / stdDev(gauge) (variability ratio)
89
+ * - `beta` = mean(rain) / mean(gauge) (volume bias ratio)
90
+ *
91
+ * - Range: -Infinity to 1
92
+ * - Perfect score: 1 (r=1, alpha=1, beta=1)
93
+ * - Stricter than NSE on systematic bias
94
+ * - KGE > -0.41 is considered better than mean prediction
95
+ *
96
+ * This is the **default** quality indicator method.
97
+ *
98
+ * @see Gupta et al. (2009) "Decomposition of the mean squared error and NSE performance criteria"
99
+ */
100
+ QualityIndicatorMethod["KLING_GUPTA"] = "kling_gupta";
25
101
  })(QualityIndicatorMethod || (exports.QualityIndicatorMethod = QualityIndicatorMethod = {}));
26
- // Default reference values for normalization (rainfall domain)
102
+ /**
103
+ * Default reference values for normalization in the rainfall domain.
104
+ */
27
105
  exports.QUALITY_NORMALIZATION_DEFAULTS = {
28
- DELTA_MAX_REF: 10, // 10 mm/h is considered maximum acceptable error
29
- RMSE_MAX_REF: 10, // 10 mm/h RMSE is considered maximum acceptable
30
- MAPE_MAX_REF: 100, // 100% error is considered maximum
31
- NASH_SUTCLIFFE_MIN_CLAMP: 0, // Values below 0 are clamped (worse than mean)
106
+ /** 10 mm/h is considered maximum acceptable error */
107
+ DELTA_MAX_REF: 10,
108
+ /** 10 mm/h RMSE is considered maximum acceptable */
109
+ RMSE_MAX_REF: 10,
110
+ /** 100% error is considered maximum */
111
+ MAPE_MAX_REF: 100,
112
+ /** NSE raw values below 0 are clamped to 0 during normalization */
113
+ NASH_SUTCLIFFE_MIN_CLAMP: 0,
114
+ /** KGE raw values below 0 are clamped to 0 during normalization */
115
+ KGE_MIN_CLAMP: 0,
32
116
  };
33
117
  //# sourceMappingURL=QualityIndicatorMethod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QualityIndicatorMethod.js","sourceRoot":"","sources":["../../src/quality/QualityIndicatorMethod.ts"],"names":[],"mappings":";;;AAAA,IAAY,sBAyBX;AAzBD,WAAY,sBAAsB;IAC9B,6CAA6C;IAC7C,4BAA4B;IAC5B,yCAAe,CAAA;IAEf,2BAA2B;IAC3B,4BAA4B;IAC5B,yCAAe,CAAA;IAEf,iDAAiD;IACjD,gCAAgC;IAChC,uDAA6B,CAAA;IAE7B,kDAAkD;IAClD,4BAA4B;IAC5B,uCAAa,CAAA;IAEb,iCAAiC;IACjC,+BAA+B;IAC/B,uCAAa,CAAA;IAEb,iDAAiD;IACjD,6BAA6B;IAC7B,yDAAyD;IACzD,2DAAiC,CAAA;AACrC,CAAC,EAzBW,sBAAsB,sCAAtB,sBAAsB,QAyBjC;AAwBD,+DAA+D;AAClD,QAAA,8BAA8B,GAAG;IAC1C,aAAa,EAAE,EAAE,EAAE,iDAAiD;IACpE,YAAY,EAAE,EAAE,EAAE,gDAAgD;IAClE,YAAY,EAAE,GAAG,EAAE,mCAAmC;IACtD,wBAAwB,EAAE,CAAC,EAAE,+CAA+C;CAC/E,CAAC"}
1
+ {"version":3,"file":"QualityIndicatorMethod.js","sourceRoot":"","sources":["../../src/quality/QualityIndicatorMethod.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,IAAY,sBA8FX;AA9FD,WAAY,sBAAsB;IAC9B;;;;;;;;OAQG;IACH,yCAAe,CAAA;IAEf;;;;;;;;;OASG;IACH,yCAAe,CAAA;IAEf;;;;;;;;;OASG;IACH,uDAA6B,CAAA;IAE7B;;;;;;;;;OASG;IACH,uCAAa,CAAA;IAEb;;;;;;;;;OASG;IACH,uCAAa,CAAA;IAEb;;;;;;;;;;;OAWG;IACH,2DAAiC,CAAA;IAEjC;;;;;;;;;;;;;;;;;;OAkBG;IACH,qDAA2B,CAAA;AAC/B,CAAC,EA9FW,sBAAsB,sCAAtB,sBAAsB,QA8FjC;AAkCD;;GAEG;AACU,QAAA,8BAA8B,GAAG;IAC1C,qDAAqD;IACrD,aAAa,EAAE,EAAE;IACjB,oDAAoD;IACpD,YAAY,EAAE,EAAE;IAChB,uCAAuC;IACvC,YAAY,EAAE,GAAG;IACjB,mEAAmE;IACnE,wBAAwB,EAAE,CAAC;IAC3B,mEAAmE;IACnE,aAAa,EAAE,CAAC;CACnB,CAAC"}
@@ -56,6 +56,7 @@ export declare class SpeedMatrix {
56
56
  private static computeRMSE;
57
57
  private static computeMAPE;
58
58
  private static computeNashSutcliffe;
59
+ private static computeKlingGupta;
59
60
  renderFlatten(options: {
60
61
  normalize: boolean;
61
62
  }): PositionValue[];
@@ -37,11 +37,12 @@ class SpeedMatrix {
37
37
  return created;
38
38
  }
39
39
  // Compute quality indicator comparing radar predictions vs gauge observations.
40
- // When options.normalize is true, normalizes result to 0-100 scale (0=bad, 100=best).
40
+ // Default: KGE, normalized to 0-1 scale (0=bad, 1=best).
41
41
  static ComputeQualityIndicator(points, options = {}) {
42
- var _a, _b;
43
- const method = (_a = options.method) !== null && _a !== void 0 ? _a : QualityIndicatorMethod_1.QualityIndicatorMethod.NASH_SUTCLIFFE;
44
- const successThreshold = (_b = options.successThreshold) !== null && _b !== void 0 ? _b : 0.8;
42
+ var _a, _b, _c;
43
+ const method = (_a = options.method) !== null && _a !== void 0 ? _a : QualityIndicatorMethod_1.QualityIndicatorMethod.KLING_GUPTA;
44
+ const normalize = (_b = options.normalize) !== null && _b !== void 0 ? _b : true;
45
+ const successThreshold = (_c = options.successThreshold) !== null && _c !== void 0 ? _c : 0.8;
45
46
  let rawValue;
46
47
  switch (method) {
47
48
  case QualityIndicatorMethod_1.QualityIndicatorMethod.DELTA:
@@ -62,10 +63,13 @@ class SpeedMatrix {
62
63
  case QualityIndicatorMethod_1.QualityIndicatorMethod.NASH_SUTCLIFFE:
63
64
  rawValue = SpeedMatrix.computeNashSutcliffe(points);
64
65
  break;
66
+ case QualityIndicatorMethod_1.QualityIndicatorMethod.KLING_GUPTA:
67
+ rawValue = SpeedMatrix.computeKlingGupta(points);
68
+ break;
65
69
  default:
66
70
  rawValue = SpeedMatrix.computeDelta(points);
67
71
  }
68
- if (options.normalize) {
72
+ if (normalize) {
69
73
  return SpeedMatrix.NormalizeQualityIndicator(rawValue, method, options.normalizationOptions);
70
74
  }
71
75
  return rawValue;
@@ -79,12 +83,12 @@ class SpeedMatrix {
79
83
  * @returns Normalized value between 0 (worst) and 100 (best)
80
84
  */
81
85
  static NormalizeQualityIndicator(rawValue, method, options = {}) {
82
- var _a, _b, _c, _d, _e;
86
+ var _a, _b, _c, _d, _e, _f;
83
87
  const deltaMaxRef = (_a = options.deltaMaxRef) !== null && _a !== void 0 ? _a : QualityIndicatorMethod_1.QUALITY_NORMALIZATION_DEFAULTS.DELTA_MAX_REF;
84
88
  const rmseMaxRef = (_b = options.rmseMaxRef) !== null && _b !== void 0 ? _b : QualityIndicatorMethod_1.QUALITY_NORMALIZATION_DEFAULTS.RMSE_MAX_REF;
85
89
  const mapeMaxRef = (_c = options.mapeMaxRef) !== null && _c !== void 0 ? _c : QualityIndicatorMethod_1.QUALITY_NORMALIZATION_DEFAULTS.MAPE_MAX_REF;
86
90
  const nashMinClamp = (_d = options.nashSutcliffeMinClamp) !== null && _d !== void 0 ? _d : QualityIndicatorMethod_1.QUALITY_NORMALIZATION_DEFAULTS.NASH_SUTCLIFFE_MIN_CLAMP;
87
- const scale = (_e = options.normalizeScale) !== null && _e !== void 0 ? _e : 100;
91
+ const scale = (_e = options.normalizeScale) !== null && _e !== void 0 ? _e : 1;
88
92
  switch (method) {
89
93
  case QualityIndicatorMethod_1.QualityIndicatorMethod.SUCCESS_RATE:
90
94
  // Already 0-100 where 100=best
@@ -96,6 +100,11 @@ class SpeedMatrix {
96
100
  // -∞ to 1 where 1=best → clamp and scale
97
101
  const clampedNash = Math.max(nashMinClamp, Math.min(1, rawValue));
98
102
  return clampedNash * scale;
103
+ case QualityIndicatorMethod_1.QualityIndicatorMethod.KLING_GUPTA:
104
+ // -∞ to 1 where 1=best → clamp and scale (same pattern as NSE)
105
+ const kgeMinClamp = (_f = options.kgeMinClamp) !== null && _f !== void 0 ? _f : QualityIndicatorMethod_1.QUALITY_NORMALIZATION_DEFAULTS.KGE_MIN_CLAMP;
106
+ const clampedKge = Math.max(kgeMinClamp, Math.min(1, rawValue));
107
+ return clampedKge * scale;
99
108
  case QualityIndicatorMethod_1.QualityIndicatorMethod.DELTA:
100
109
  // 0-∞ where 0=best → invert using reference max
101
110
  const normalizedDelta = Math.max(0, scale - (rawValue / deltaMaxRef) * scale);
@@ -313,6 +322,58 @@ class SpeedMatrix {
313
322
  }
314
323
  return 1 - sumSquaredErrors / sumSquaredDeviations;
315
324
  }
325
+ // Kling-Gupta Efficiency - decomposes into correlation (r), variability (α), bias (β)
326
+ // KGE = 1 - √((r-1)² + (α-1)² + (β-1)²)
327
+ // Range: -∞ to 1, Perfect: 1
328
+ static computeKlingGupta(points) {
329
+ const validPoints = [];
330
+ for (const point of points) {
331
+ const rain = point.getRainValue();
332
+ const gauge = point.getGaugeValue();
333
+ if (typeof rain === 'number' && typeof gauge === 'number') {
334
+ validPoints.push({ rain, gauge });
335
+ }
336
+ }
337
+ if (validPoints.length === 0) {
338
+ return 0;
339
+ }
340
+ const n = validPoints.length;
341
+ // Compute means
342
+ const meanGauge = validPoints.reduce((sum, p) => sum + p.gauge, 0) / n;
343
+ const meanRain = validPoints.reduce((sum, p) => sum + p.rain, 0) / n;
344
+ // Compute standard deviations
345
+ let sumSqDevGauge = 0;
346
+ let sumSqDevRain = 0;
347
+ let sumCrossDeviation = 0;
348
+ for (const p of validPoints) {
349
+ const devGauge = p.gauge - meanGauge;
350
+ const devRain = p.rain - meanRain;
351
+ sumSqDevGauge += devGauge * devGauge;
352
+ sumSqDevRain += devRain * devRain;
353
+ sumCrossDeviation += devGauge * devRain;
354
+ }
355
+ const stdGauge = Math.sqrt(sumSqDevGauge / n);
356
+ const stdRain = Math.sqrt(sumSqDevRain / n);
357
+ // Handle edge case: no variability in observations
358
+ if (stdGauge === 0) {
359
+ if (stdRain === 0 && meanRain === meanGauge) {
360
+ return 1;
361
+ }
362
+ return -Infinity;
363
+ }
364
+ // Pearson correlation coefficient
365
+ let r;
366
+ if (stdRain === 0) {
367
+ r = 0;
368
+ }
369
+ else {
370
+ r = sumCrossDeviation / n / (stdRain * stdGauge);
371
+ }
372
+ // Variability ratio (α) and bias ratio (β)
373
+ const alpha = stdRain / stdGauge;
374
+ const beta = meanGauge === 0 ? (meanRain === 0 ? 1 : Infinity) : meanRain / meanGauge;
375
+ return (1 - Math.sqrt((r - 1) * (r - 1) + (alpha - 1) * (alpha - 1) + (beta - 1) * (beta - 1)));
376
+ }
316
377
  renderFlatten(options) {
317
378
  const positionMatrix = this.getFlatten();
318
379
  if (positionMatrix.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"SpeedMatrix.js","sourceRoot":"","sources":["../../src/quality/SpeedMatrix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpeedMatrix.js","sourceRoot":"","sources":["../../src/quality/SpeedMatrix.ts"],"names":[],"mappings":"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"}
@@ -249,8 +249,8 @@ class SpeedMatrixContainer {
249
249
  return max;
250
250
  }
251
251
  // Get quality indicator.
252
- // By default returns raw values (0 ideally for DELTA, 1 ideally for NASH_SUTCLIFFE).
253
- // With normalize=true, returns 0-100 scale where 100=best for all methods.
252
+ // By default returns normalized 0-1 scale (0=bad, 1=best).
253
+ // Pass normalize: false for raw values (0=best for DELTA, 1=best for NSE/KGE).
254
254
  getQuality(matrixName, options = {}) {
255
255
  const qualityPoints = this.getQualityPoints(matrixName);
256
256
  return SpeedMatrix_1.SpeedMatrix.ComputeQualityIndicator(qualityPoints, options);
@@ -353,9 +353,31 @@ class SpeedMatrixContainer {
353
353
  return json;
354
354
  }
355
355
  merge(speedMatrixContainerToMergeIn) {
356
+ var _a;
356
357
  this.trustedIndicators = SpeedMatrixContainer.mergeConcat(this.getTrustedIndicators(), speedMatrixContainerToMergeIn.getTrustedIndicators());
357
358
  this.matrices = SpeedMatrixContainer.mergeConcat(this.matrices, speedMatrixContainerToMergeIn.matrices);
358
359
  this.flattenMatrices = SpeedMatrixContainer.mergeConcat(this.flattenMatrices, speedMatrixContainerToMergeIn.flattenMatrices);
360
+ // Deduplicate matrices by name: combine qualityPoints from same-name matrices
361
+ if (((_a = this.matrices) === null || _a === void 0 ? void 0 : _a.length) > 1) {
362
+ const byName = new Map();
363
+ for (const m of this.matrices) {
364
+ const existing = byName.get(m.name);
365
+ if (existing) {
366
+ byName.set(m.name, SpeedMatrix_1.SpeedMatrix.CreateFromJson({
367
+ name: existing.name,
368
+ remarks: existing.remarks,
369
+ qualityPoints: [
370
+ ...existing.getQualityPoints(),
371
+ ...m.getQualityPoints(),
372
+ ],
373
+ }));
374
+ }
375
+ else {
376
+ byName.set(m.name, m);
377
+ }
378
+ }
379
+ this.matrices = [...byName.values()];
380
+ }
359
381
  return this;
360
382
  }
361
383
  logMergedMatrix(options = { normalize: true, logger: null }) {
@@ -1 +1 @@
1
- {"version":3,"file":"SpeedMatrixContainer.js","sourceRoot":"","sources":["../../src/quality/SpeedMatrixContainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpeedMatrixContainer.js","sourceRoot":"","sources":["../../src/quality/SpeedMatrixContainer.ts"],"names":[],"mappings":"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"}