Skip to content

Commit 899469e

Browse files
authored
540 update available metrics list in docs (#550)
* stashing in-progress updates * stash in-prog updates pt 2 * first cut at updated metrics docs * corrects error in metrics_transforms test * updates references of signature_metrics to signatures * increment dev version to 0.5.1dev7 from 0.5.1dev6
1 parent 96c9ac9 commit 899469e

File tree

3 files changed

+118
-22
lines changed

3 files changed

+118
-22
lines changed

docs/sphinx/user_guide/metrics/metrics.rst

Lines changed: 116 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22
Available Metrics
33
=================
44

5-
The metrics currently built into TEEHR are listed in the table below.
5+
The metrics currently built into TEEHR are listed in the tables below.
66
Please note that some are still in development and planned for inclusion in future versions.
7-
To download a pdf of the equations corresponding to the metrics listed in the table, see:
8-
:download:`pdf <TEEHR Metrics_27May2024.pdf>`
97

8+
Signatures
9+
==========
10+
11+
Signatures operate on a single field to characterize timeseries properties.
1012

1113
.. list-table::
1214
:header-rows: 1
@@ -16,137 +18,231 @@ To download a pdf of the equations corresponding to the metrics listed in the ta
1618
- Description
1719
- Short Name
1820
- Equation
21+
- API Reference
22+
* - :material-regular:`check;1.5em;sd-text-success`
23+
- Average
24+
- :math:`Average`
25+
- :math:`\frac{\sum(prim)}{count}`
26+
- `Average <https://rtiinternational.github.io/teehr/api/generated/teehr.SignatureMetrics.html#teehr.SignatureMetrics.Average>`__
27+
* - :material-regular:`check;1.5em;sd-text-success`
28+
- Count
29+
- :math:`Count`
30+
- :math:`count`
31+
- `Count <https://rtiinternational.github.io/teehr/api/generated/teehr.SignatureMetrics.html#teehr.SignatureMetrics.Count>`__
32+
* - :material-regular:`check;1.5em;sd-text-success`
33+
- Flow Duration Curve Slope
34+
- :math:`FDC\ Slope`
35+
- :math:`\frac{q85-q25}{p85-p25}`
36+
- `Flow Duration Curve Slope <https://rtiinternational.github.io/teehr/api/generated/teehr.SignatureMetrics.html#teehr.SignatureMetrics.FlowDurationCurveSlope>`__
37+
* - :material-regular:`check;1.5em;sd-text-success`
38+
- Max Value Time
39+
- :math:`Max\ Value\ Time`
40+
- :math:`peak\ time_{prim}`
41+
- `Max Value Time <https://rtiinternational.github.io/teehr/api/generated/teehr.SignatureMetrics.html#teehr.SignatureMetrics.MaxValueTime>`__
42+
* - :material-regular:`check;1.5em;sd-text-success`
43+
- Maximum
44+
- :math:`Max`
45+
- :math:`max(prim)`
46+
- `Maximum <https://rtiinternational.github.io/teehr/api/generated/teehr.SignatureMetrics.html#teehr.SignatureMetrics.Maximum>`__
47+
* - :material-regular:`check;1.5em;sd-text-success`
48+
- Minimum
49+
- :math:`Min`
50+
- :math:`min(prim)`
51+
- `Minimum <https://rtiinternational.github.io/teehr/api/generated/teehr.SignatureMetrics.html#teehr.SignatureMetrics.Minimum>`__
52+
* - :material-regular:`check;1.5em;sd-text-success`
53+
- Sum
54+
- :math:`Sum`
55+
- :math:`\sum(prim)`
56+
- `Sum <https://rtiinternational.github.io/teehr/api/generated/teehr.SignatureMetrics.html#teehr.SignatureMetrics.Sum>`__
57+
* - :material-regular:`check;1.5em;sd-text-success`
58+
- Variance
59+
- :math:`Variance`
60+
- :math:`\sigma^2_{prim}`
61+
- `Variance <https://rtiinternational.github.io/teehr/api/generated/teehr.SignatureMetrics.html#teehr.SignatureMetrics.Variance>`__
62+
63+
64+
Deterministic Metrics
65+
=====================
66+
67+
Deterministic metrics compare two timeseries, typically primary ("observed") vs. secondary ("modeled") values.
68+
69+
.. list-table::
70+
:header-rows: 1
71+
:class: metrics-table
72+
73+
* - Available
74+
- Description
75+
- Short Name
76+
- Equation
77+
- API Reference
1978
* - :material-regular:`check;1.5em;sd-text-success`
2079
- Mean Error
2180
- :math:`Mean\ Error`
2281
- :math:`\frac{\sum(sec-prim)}{count}`
82+
- `Mean Error <https://rtiinternational.github.io/teehr/api/generated/teehr.DeterministicMetrics.html#teehr.DeterministicMetrics.MeanError>`__
2383
* - :material-regular:`check;1.5em;sd-text-success`
2484
- Relative Bias
2585
- :math:`Relative\ Bias`
2686
- :math:`\frac{\sum(sec-prim)}{\sum(prim)}`
87+
- `Relative Bias <https://rtiinternational.github.io/teehr/api/generated/teehr.DeterministicMetrics.html#teehr.DeterministicMetrics.RelativeBias>`__
2788
* - :material-regular:`check;1.5em;sd-text-success`
2889
- Multiplicative Bias
2990
- :math:`Mult.\ Bias`
3091
- :math:`\frac{\mu_{sec}}{\mu_{prim}}`
92+
- `Multiplicative Bias <https://rtiinternational.github.io/teehr/api/generated/teehr.DeterministicMetrics.html#teehr.DeterministicMetrics.MultiplicativeBias>`__
3193
* - :material-regular:`check;1.5em;sd-text-success`
3294
- Mean Square Error
3395
- :math:`MSE`
3496
- :math:`\frac{\sum(sec-prim)^2}{count}`
97+
- `Mean Square Error <https://rtiinternational.github.io/teehr/api/generated/teehr.DeterministicMetrics.html#teehr.DeterministicMetrics.MeanSquareError>`__
3598
* - :material-regular:`check;1.5em;sd-text-success`
3699
- Root Mean Square Error
37100
- :math:`RMSE`
38101
- :math:`\sqrt{\frac{\sum(sec-prim)^2}{count}}`
102+
- `Root Mean Square Error <https://rtiinternational.github.io/teehr/api/generated/teehr.DeterministicMetrics.html#teehr.DeterministicMetrics.RootMeanSquareError>`__
39103
* - :material-regular:`check;1.5em;sd-text-success`
40104
- Mean Absolute Error
41105
- :math:`MAE`
42106
- :math:`\frac{\sum|sec-prim|}{count}`
107+
- `Mean Absolute Error <https://rtiinternational.github.io/teehr/api/generated/teehr.DeterministicMetrics.html#teehr.DeterministicMetrics.MeanAbsoluteError>`__
43108
* - :material-regular:`check;1.5em;sd-text-success`
44109
- Mean Absolute Relative Error
45110
- :math:`Relative\ MAE`
46111
- :math:`\frac{\sum|sec-prim|}{\sum(prim)}`
112+
- `Mean Absolute Relative Error <https://rtiinternational.github.io/teehr/api/generated/teehr.DeterministicMetrics.html#teehr.DeterministicMetrics.MeanAbsoluteRelativeError>`__
47113
* - :material-regular:`check;1.5em;sd-text-success`
48114
- Pearson Correlation Coefficient
49115
- :math:`r`
50116
- :math:`r(sec, prim)`
117+
- `Pearson Correlation Coefficient <https://rtiinternational.github.io/teehr/api/generated/teehr.DeterministicMetrics.html#teehr.DeterministicMetrics.PearsonCorrelationCoefficient>`__
51118
* - :material-regular:`check;1.5em;sd-text-success`
52119
- Coefficient of Determination
53120
- :math:`r^2`
54121
- :math:`r(sec, prim)^2`
122+
- `Coefficient of Determination <https://rtiinternational.github.io/teehr/api/generated/teehr.DeterministicMetrics.html#teehr.DeterministicMetrics.RSquared>`__
55123
* - :material-regular:`check;1.5em;sd-text-success`
56124
- Nash-Sutcliffe Efficiency
57125
- :math:`NSE`
58126
- :math:`1-\frac{\sum(prim-sec)^2}{\sum(prim-\mu_{prim}^2)}`
127+
- `Nash-Sutcliffe Efficiency <https://rtiinternational.github.io/teehr/api/generated/teehr.DeterministicMetrics.html#teehr.DeterministicMetrics.NashSutcliffeEfficiency>`__
59128
* - :material-regular:`check;1.5em;sd-text-success`
60129
- Normalized Nash-Sutcliffe Efficiency
61130
- :math:`NNSE`
62131
- :math:`\frac{1}{(2-NSE)}`
132+
- `Normalized Nash-Sutcliffe Efficiency <https://rtiinternational.github.io/teehr/api/generated/teehr.DeterministicMetrics.html#teehr.DeterministicMetrics.NormalizedNashSutcliffeEfficiency>`__
63133
* - :material-regular:`check;1.5em;sd-text-success`
64134
- Kling Gupta Efficiency - original
65135
- :math:`KGE`
66136
- :math:`1-\sqrt{(r(sec, prim)-1)^2+(\frac{\sigma_{sec}}{\sigma_{prim}}-1)^2+(\frac{\mu_{sec}}{\mu_{sec}/\mu_{prim}}-1)^2}`
137+
- `Kling Gupta Efficiency - original <https://rtiinternational.github.io/teehr/api/generated/teehr.DeterministicMetrics.html#teehr.DeterministicMetrics.KlingGuptaEfficiency>`__
67138
* - :material-regular:`check;1.5em;sd-text-success`
68139
- Kling Gupta Efficiency - modified 1 (2012)
69140
- :math:`KGE'`
70141
- :math:`1-\sqrt{(r(sec, prim)-1)^2+(\frac{\sigma_{sec}/\mu_{sec}}{\sigma_{prim}/\mu_{prim}}-1)^2+(\frac{\mu_{sec}}{\mu_{sec}/\mu_{prim}}-1)^2}`
142+
- `Kling Gupta Efficiency - modified 1 <https://rtiinternational.github.io/teehr/api/generated/teehr.DeterministicMetrics.html#teehr.DeterministicMetrics.KlingGuptaEfficiencyMod1>`__
71143
* - :material-regular:`check;1.5em;sd-text-success`
72144
- Kling Gupta Efficiency - modified 2 (2021)
73145
- :math:`KGE''`
74146
- :math:`1-\sqrt{(r(sec, prim)-1)^2+(\frac{\sigma_{sec}}{\sigma_{prim}}-1)^2+\frac{(\mu_{sec}-\mu_{prim})^2}{\sigma_{prim}^2}}`
75-
* - `Coming Soon`
76-
- Nash-Sutcliffe Efficiency of Log Flows
77-
- :math:`NSE(log)`
78-
- :math:`1-\frac{\sum(log(prim)-log(sec))^2}{\sum(log(prim)-\mu(log(prim)))^2}`
79-
* - `Coming Soon`
80-
- Annual Peak Flow Relative Bias
147+
- `Kling Gupta Efficiency - modified 2 <https://rtiinternational.github.io/teehr/api/generated/teehr.DeterministicMetrics.html#teehr.DeterministicMetrics.KlingGuptaEfficiencyMod2>`__
148+
* - :material-regular:`check;1.5em;sd-text-success`
149+
- Annual Peak Relative Bias
81150
- :math:`Ann\ PF\ Bias`
82151
- :math:`\frac{\sum(ann.\ peak_{sec}-ann.\ peak_{prim})}{\sum(ann.\ peak_{prim})}`
83-
* - `Coming Soon`
152+
- `Annual Peak Relative Bias <https://rtiinternational.github.io/teehr/api/generated/teehr.DeterministicMetrics.html#teehr.DeterministicMetrics.AnnualPeakRelativeBias>`__
153+
* - :material-regular:`check;1.5em;sd-text-success`
84154
- Spearman Rank Correlation Coefficient
85155
- :math:`r_s`
86156
- :math:`1-\frac{6*\sum|rank_{prim}-rank_{sec}|^2}{count(count^2-1)}`
157+
- `Spearman Rank Correlation Coefficient <https://rtiinternational.github.io/teehr/api/generated/teehr.DeterministicMetrics.html#teehr.DeterministicMetrics.SpearmanCorrelation>`__
87158
* - `Coming Soon`
88159
- Flow Duration Curve Slope Error
89160
- :math:`Slope\ FDC\ Error`
90161
- :math:`\frac{q66_{sec}-q33_{sec}}{33}-\frac{q66_{prim}-q33_{prim}}{33}`
162+
- `N/A`
91163
* - `Coming Soon`
92164
- Event Peak Flow Relative Bias
93165
- :math:`Peak\ Bias`
94166
- :math:`\frac{\sum(peak_{sec}-peak_{prim})}{\sum(peak_{prim})}`
167+
- `N/A`
95168
* - `Coming Soon`
96169
- Event Peak Flow Timing Error
97170
- :math:`Peak\ Time\ Error`
98171
- :math:`\frac{\sum(peak\ time_{sec}-peak\ time_{prim})}{count}`
172+
- `N/A`
99173
* - `Coming Soon`
100174
- Baseflow Index Error
101175
- :math:`BFI\ Error`
102176
- :math:`\frac{\frac{\mu(baseflow_{sec})}{\mu(sec)}-\frac{\mu(baseflow_{prim})}{\mu(prim)}}{\frac{\mu(baseflow_{prim})}{\mu(prim)}}`
177+
- `N/A`
103178
* - `Coming Soon`
104179
- Rising Limb Density Error
105180
- :math:`RLD\ Error`
106181
- :math:`\frac{count(rising\ limb\ events_{sec})}{count(rising\ limb\ timesteps_{sec})}-\frac{count(rising\ limb\ events_{prim})}{count(rising\ limb\ timesteps_{prim})}`
182+
- `N/A`
107183
* - `Coming Soon`
108184
- Mean Square Error Skill Score (generalized reference)
109185
- :math:`MSESS`
110186
- :math:`1-\frac{\sum(prim-sec)^2}{\sum(prim-reference)^2}`
187+
- `N/A`
111188
* - `Coming Soon`
112189
- Runoff Ratio Error
113190
- :math:`RR\ Error`
114191
- :math:`abs\left\|\frac{\mu(volume_{sec})}{\mu(precip\ volume)}-\frac{\mu(volume_{prim})}{\mu(precip\ volume)}\right\|`
192+
- `N/A`
115193
* - `Coming Soon`
116194
- False Alarm Ratio
117195
- :math:`FAR`
118196
- :math:`\frac{n_{FP}}{n_{TP}+n_{FP}}`
197+
- `N/A`
119198
* - `Coming Soon`
120199
- Probability of Detection
121200
- :math:`POD`
122201
- :math:`\frac{n_{TP}}{n_{TP}+n_{FN}}`
202+
- `N/A`
123203
* - `Coming Soon`
124204
- Probability of False Detection
125205
- :math:`POFD`
126206
- :math:`\frac{n_{FP}}{n_{TN}+n_{FP}}`
207+
- `N/A`
127208
* - `Coming Soon`
128209
- Critical Success Index (Threat Score)
129210
- :math:`CSI`
130211
- :math:`\frac{n_{TP}}{n_{TP}+n_{FN}+n_{FP}}`
212+
- `N/A`
213+
214+
215+
Probabilistic Metrics
216+
=====================
217+
218+
Probabilistic metrics compare a value against a distribution of predicted values, such as ensemble forecasts.
219+
220+
.. list-table::
221+
:header-rows: 1
222+
:class: metrics-table
223+
224+
* - Available
225+
- Description
226+
- Short Name
227+
- Equation
228+
- API Reference
229+
* - :material-regular:`check;1.5em;sd-text-success`
230+
- Continuous Ranked Probability Score
231+
- :math:`CRPS`
232+
- :math:`\int_{-\infty}^{\infty} (F(x) - \mathbf{1}_{x \geq y})^2 dx`
233+
- `Continuous Ranked Probability Score <https://rtiinternational.github.io/teehr/api/generated/teehr.ProbabilisticMetrics.html#teehr.ProbabilisticMetrics.ContinuousRankedProbabilityScore>`__
131234
* - `Coming Soon`
132235
- Brier Score
133236
- :math:`BS`
134237
- :math:`\frac{\sum(sec\ ensemble\ prob-prim\ outcome)^2}{n}`
238+
- `N/A`
135239
* - `Coming Soon`
136240
- Brier Skill Score
137241
- :math:`BSS`
138242
- :math:`1-\frac{BS}{BS_{ref}}`
243+
- `N/A`
139244
* - `Coming Soon`
140245
- Continuous Ranked Probability Skill Score
141246
- :math:`CRPSS`
142247
- :math:`1-\frac{CRPS}{CRPS_{ref}}`
143-
144-
145-
146-
147-
148-
149-
150-
151-
152-
248+
- `N/A`

src/teehr/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""Initialize the TEEHR package."""
22
import warnings
33

4-
__version__ = "0.5.1dev6"
4+
__version__ = "0.5.1dev7"
55

66
with warnings.catch_warnings():
77
warnings.simplefilter("ignore", UserWarning)

tests/query/test_get_metrics_query.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -584,7 +584,7 @@ def test_metrics_transforms(tmpdir):
584584
# add epsilon to avoid log(0)
585585
kge_t_e = DeterministicMetrics.KlingGuptaEfficiency()
586586
kge_t_e.transform = 'log'
587-
kge_t_e.add_epsilon = (True, 0.001)
587+
kge_t_e.add_epsilon = True
588588

589589
# define metric requiring p,s,t
590590
mvtd = DeterministicMetrics.MaxValueTimeDelta()

0 commit comments

Comments
 (0)