holmes-rs 0.1.0__tar.gz

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.
@@ -0,0 +1,464 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "autocfg"
7
+ version = "1.5.0"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
10
+
11
+ [[package]]
12
+ name = "cfg-if"
13
+ version = "1.0.4"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
16
+
17
+ [[package]]
18
+ name = "crossbeam-deque"
19
+ version = "0.8.6"
20
+ source = "registry+https://github.com/rust-lang/crates.io-index"
21
+ checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
22
+ dependencies = [
23
+ "crossbeam-epoch",
24
+ "crossbeam-utils",
25
+ ]
26
+
27
+ [[package]]
28
+ name = "crossbeam-epoch"
29
+ version = "0.9.18"
30
+ source = "registry+https://github.com/rust-lang/crates.io-index"
31
+ checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
32
+ dependencies = [
33
+ "crossbeam-utils",
34
+ ]
35
+
36
+ [[package]]
37
+ name = "crossbeam-utils"
38
+ version = "0.8.21"
39
+ source = "registry+https://github.com/rust-lang/crates.io-index"
40
+ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
41
+
42
+ [[package]]
43
+ name = "either"
44
+ version = "1.15.0"
45
+ source = "registry+https://github.com/rust-lang/crates.io-index"
46
+ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
47
+
48
+ [[package]]
49
+ name = "getrandom"
50
+ version = "0.3.4"
51
+ source = "registry+https://github.com/rust-lang/crates.io-index"
52
+ checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
53
+ dependencies = [
54
+ "cfg-if",
55
+ "libc",
56
+ "r-efi",
57
+ "wasip2",
58
+ ]
59
+
60
+ [[package]]
61
+ name = "heck"
62
+ version = "0.5.0"
63
+ source = "registry+https://github.com/rust-lang/crates.io-index"
64
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
65
+
66
+ [[package]]
67
+ name = "holmes-rs"
68
+ version = "0.1.0"
69
+ dependencies = [
70
+ "ndarray",
71
+ "ndarray-rand",
72
+ "numpy",
73
+ "pyo3",
74
+ "rand",
75
+ "rand_chacha",
76
+ "rayon",
77
+ "thiserror",
78
+ ]
79
+
80
+ [[package]]
81
+ name = "indoc"
82
+ version = "2.0.7"
83
+ source = "registry+https://github.com/rust-lang/crates.io-index"
84
+ checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
85
+ dependencies = [
86
+ "rustversion",
87
+ ]
88
+
89
+ [[package]]
90
+ name = "libc"
91
+ version = "0.2.179"
92
+ source = "registry+https://github.com/rust-lang/crates.io-index"
93
+ checksum = "c5a2d376baa530d1238d133232d15e239abad80d05838b4b59354e5268af431f"
94
+
95
+ [[package]]
96
+ name = "libm"
97
+ version = "0.2.15"
98
+ source = "registry+https://github.com/rust-lang/crates.io-index"
99
+ checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
100
+
101
+ [[package]]
102
+ name = "matrixmultiply"
103
+ version = "0.3.10"
104
+ source = "registry+https://github.com/rust-lang/crates.io-index"
105
+ checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08"
106
+ dependencies = [
107
+ "autocfg",
108
+ "rawpointer",
109
+ ]
110
+
111
+ [[package]]
112
+ name = "memoffset"
113
+ version = "0.9.1"
114
+ source = "registry+https://github.com/rust-lang/crates.io-index"
115
+ checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
116
+ dependencies = [
117
+ "autocfg",
118
+ ]
119
+
120
+ [[package]]
121
+ name = "ndarray"
122
+ version = "0.17.1"
123
+ source = "registry+https://github.com/rust-lang/crates.io-index"
124
+ checksum = "0c7c9125e8f6f10c9da3aad044cc918cf8784fa34de857b1aa68038eb05a50a9"
125
+ dependencies = [
126
+ "matrixmultiply",
127
+ "num-complex",
128
+ "num-integer",
129
+ "num-traits",
130
+ "portable-atomic",
131
+ "portable-atomic-util",
132
+ "rawpointer",
133
+ ]
134
+
135
+ [[package]]
136
+ name = "ndarray-rand"
137
+ version = "0.16.0"
138
+ source = "registry+https://github.com/rust-lang/crates.io-index"
139
+ checksum = "180f724d496e84764e8ecf28fbe1da74ef231ec4ba15be65a9100be8445d73e3"
140
+ dependencies = [
141
+ "ndarray",
142
+ "rand",
143
+ "rand_distr",
144
+ ]
145
+
146
+ [[package]]
147
+ name = "num-complex"
148
+ version = "0.4.6"
149
+ source = "registry+https://github.com/rust-lang/crates.io-index"
150
+ checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
151
+ dependencies = [
152
+ "num-traits",
153
+ ]
154
+
155
+ [[package]]
156
+ name = "num-integer"
157
+ version = "0.1.46"
158
+ source = "registry+https://github.com/rust-lang/crates.io-index"
159
+ checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
160
+ dependencies = [
161
+ "num-traits",
162
+ ]
163
+
164
+ [[package]]
165
+ name = "num-traits"
166
+ version = "0.2.19"
167
+ source = "registry+https://github.com/rust-lang/crates.io-index"
168
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
169
+ dependencies = [
170
+ "autocfg",
171
+ "libm",
172
+ ]
173
+
174
+ [[package]]
175
+ name = "numpy"
176
+ version = "0.27.1"
177
+ source = "registry+https://github.com/rust-lang/crates.io-index"
178
+ checksum = "7aac2e6a6e4468ffa092ad43c39b81c79196c2bb773b8db4085f695efe3bba17"
179
+ dependencies = [
180
+ "libc",
181
+ "ndarray",
182
+ "num-complex",
183
+ "num-integer",
184
+ "num-traits",
185
+ "pyo3",
186
+ "pyo3-build-config",
187
+ "rustc-hash",
188
+ ]
189
+
190
+ [[package]]
191
+ name = "once_cell"
192
+ version = "1.21.3"
193
+ source = "registry+https://github.com/rust-lang/crates.io-index"
194
+ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
195
+
196
+ [[package]]
197
+ name = "portable-atomic"
198
+ version = "1.13.0"
199
+ source = "registry+https://github.com/rust-lang/crates.io-index"
200
+ checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950"
201
+
202
+ [[package]]
203
+ name = "portable-atomic-util"
204
+ version = "0.2.4"
205
+ source = "registry+https://github.com/rust-lang/crates.io-index"
206
+ checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507"
207
+ dependencies = [
208
+ "portable-atomic",
209
+ ]
210
+
211
+ [[package]]
212
+ name = "ppv-lite86"
213
+ version = "0.2.21"
214
+ source = "registry+https://github.com/rust-lang/crates.io-index"
215
+ checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
216
+ dependencies = [
217
+ "zerocopy",
218
+ ]
219
+
220
+ [[package]]
221
+ name = "proc-macro2"
222
+ version = "1.0.104"
223
+ source = "registry+https://github.com/rust-lang/crates.io-index"
224
+ checksum = "9695f8df41bb4f3d222c95a67532365f569318332d03d5f3f67f37b20e6ebdf0"
225
+ dependencies = [
226
+ "unicode-ident",
227
+ ]
228
+
229
+ [[package]]
230
+ name = "pyo3"
231
+ version = "0.27.2"
232
+ source = "registry+https://github.com/rust-lang/crates.io-index"
233
+ checksum = "ab53c047fcd1a1d2a8820fe84f05d6be69e9526be40cb03b73f86b6b03e6d87d"
234
+ dependencies = [
235
+ "indoc",
236
+ "libc",
237
+ "memoffset",
238
+ "once_cell",
239
+ "portable-atomic",
240
+ "pyo3-build-config",
241
+ "pyo3-ffi",
242
+ "pyo3-macros",
243
+ "unindent",
244
+ ]
245
+
246
+ [[package]]
247
+ name = "pyo3-build-config"
248
+ version = "0.27.2"
249
+ source = "registry+https://github.com/rust-lang/crates.io-index"
250
+ checksum = "b455933107de8642b4487ed26d912c2d899dec6114884214a0b3bb3be9261ea6"
251
+ dependencies = [
252
+ "target-lexicon",
253
+ ]
254
+
255
+ [[package]]
256
+ name = "pyo3-ffi"
257
+ version = "0.27.2"
258
+ source = "registry+https://github.com/rust-lang/crates.io-index"
259
+ checksum = "1c85c9cbfaddf651b1221594209aed57e9e5cff63c4d11d1feead529b872a089"
260
+ dependencies = [
261
+ "libc",
262
+ "pyo3-build-config",
263
+ ]
264
+
265
+ [[package]]
266
+ name = "pyo3-macros"
267
+ version = "0.27.2"
268
+ source = "registry+https://github.com/rust-lang/crates.io-index"
269
+ checksum = "0a5b10c9bf9888125d917fb4d2ca2d25c8df94c7ab5a52e13313a07e050a3b02"
270
+ dependencies = [
271
+ "proc-macro2",
272
+ "pyo3-macros-backend",
273
+ "quote",
274
+ "syn",
275
+ ]
276
+
277
+ [[package]]
278
+ name = "pyo3-macros-backend"
279
+ version = "0.27.2"
280
+ source = "registry+https://github.com/rust-lang/crates.io-index"
281
+ checksum = "03b51720d314836e53327f5871d4c0cfb4fb37cc2c4a11cc71907a86342c40f9"
282
+ dependencies = [
283
+ "heck",
284
+ "proc-macro2",
285
+ "pyo3-build-config",
286
+ "quote",
287
+ "syn",
288
+ ]
289
+
290
+ [[package]]
291
+ name = "quote"
292
+ version = "1.0.42"
293
+ source = "registry+https://github.com/rust-lang/crates.io-index"
294
+ checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
295
+ dependencies = [
296
+ "proc-macro2",
297
+ ]
298
+
299
+ [[package]]
300
+ name = "r-efi"
301
+ version = "5.3.0"
302
+ source = "registry+https://github.com/rust-lang/crates.io-index"
303
+ checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
304
+
305
+ [[package]]
306
+ name = "rand"
307
+ version = "0.9.2"
308
+ source = "registry+https://github.com/rust-lang/crates.io-index"
309
+ checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
310
+ dependencies = [
311
+ "rand_chacha",
312
+ "rand_core",
313
+ ]
314
+
315
+ [[package]]
316
+ name = "rand_chacha"
317
+ version = "0.9.0"
318
+ source = "registry+https://github.com/rust-lang/crates.io-index"
319
+ checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
320
+ dependencies = [
321
+ "ppv-lite86",
322
+ "rand_core",
323
+ ]
324
+
325
+ [[package]]
326
+ name = "rand_core"
327
+ version = "0.9.3"
328
+ source = "registry+https://github.com/rust-lang/crates.io-index"
329
+ checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
330
+ dependencies = [
331
+ "getrandom",
332
+ ]
333
+
334
+ [[package]]
335
+ name = "rand_distr"
336
+ version = "0.5.1"
337
+ source = "registry+https://github.com/rust-lang/crates.io-index"
338
+ checksum = "6a8615d50dcf34fa31f7ab52692afec947c4dd0ab803cc87cb3b0b4570ff7463"
339
+ dependencies = [
340
+ "num-traits",
341
+ "rand",
342
+ ]
343
+
344
+ [[package]]
345
+ name = "rawpointer"
346
+ version = "0.2.1"
347
+ source = "registry+https://github.com/rust-lang/crates.io-index"
348
+ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
349
+
350
+ [[package]]
351
+ name = "rayon"
352
+ version = "1.11.0"
353
+ source = "registry+https://github.com/rust-lang/crates.io-index"
354
+ checksum = "368f01d005bf8fd9b1206fb6fa653e6c4a81ceb1466406b81792d87c5677a58f"
355
+ dependencies = [
356
+ "either",
357
+ "rayon-core",
358
+ ]
359
+
360
+ [[package]]
361
+ name = "rayon-core"
362
+ version = "1.13.0"
363
+ source = "registry+https://github.com/rust-lang/crates.io-index"
364
+ checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
365
+ dependencies = [
366
+ "crossbeam-deque",
367
+ "crossbeam-utils",
368
+ ]
369
+
370
+ [[package]]
371
+ name = "rustc-hash"
372
+ version = "2.1.1"
373
+ source = "registry+https://github.com/rust-lang/crates.io-index"
374
+ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
375
+
376
+ [[package]]
377
+ name = "rustversion"
378
+ version = "1.0.22"
379
+ source = "registry+https://github.com/rust-lang/crates.io-index"
380
+ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
381
+
382
+ [[package]]
383
+ name = "syn"
384
+ version = "2.0.113"
385
+ source = "registry+https://github.com/rust-lang/crates.io-index"
386
+ checksum = "678faa00651c9eb72dd2020cbdf275d92eccb2400d568e419efdd64838145cb4"
387
+ dependencies = [
388
+ "proc-macro2",
389
+ "quote",
390
+ "unicode-ident",
391
+ ]
392
+
393
+ [[package]]
394
+ name = "target-lexicon"
395
+ version = "0.13.4"
396
+ source = "registry+https://github.com/rust-lang/crates.io-index"
397
+ checksum = "b1dd07eb858a2067e2f3c7155d54e929265c264e6f37efe3ee7a8d1b5a1dd0ba"
398
+
399
+ [[package]]
400
+ name = "thiserror"
401
+ version = "2.0.17"
402
+ source = "registry+https://github.com/rust-lang/crates.io-index"
403
+ checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8"
404
+ dependencies = [
405
+ "thiserror-impl",
406
+ ]
407
+
408
+ [[package]]
409
+ name = "thiserror-impl"
410
+ version = "2.0.17"
411
+ source = "registry+https://github.com/rust-lang/crates.io-index"
412
+ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
413
+ dependencies = [
414
+ "proc-macro2",
415
+ "quote",
416
+ "syn",
417
+ ]
418
+
419
+ [[package]]
420
+ name = "unicode-ident"
421
+ version = "1.0.22"
422
+ source = "registry+https://github.com/rust-lang/crates.io-index"
423
+ checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
424
+
425
+ [[package]]
426
+ name = "unindent"
427
+ version = "0.2.4"
428
+ source = "registry+https://github.com/rust-lang/crates.io-index"
429
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
430
+
431
+ [[package]]
432
+ name = "wasip2"
433
+ version = "1.0.1+wasi-0.2.4"
434
+ source = "registry+https://github.com/rust-lang/crates.io-index"
435
+ checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7"
436
+ dependencies = [
437
+ "wit-bindgen",
438
+ ]
439
+
440
+ [[package]]
441
+ name = "wit-bindgen"
442
+ version = "0.46.0"
443
+ source = "registry+https://github.com/rust-lang/crates.io-index"
444
+ checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59"
445
+
446
+ [[package]]
447
+ name = "zerocopy"
448
+ version = "0.8.31"
449
+ source = "registry+https://github.com/rust-lang/crates.io-index"
450
+ checksum = "fd74ec98b9250adb3ca554bdde269adf631549f51d8a8f8f0a10b50f1cb298c3"
451
+ dependencies = [
452
+ "zerocopy-derive",
453
+ ]
454
+
455
+ [[package]]
456
+ name = "zerocopy-derive"
457
+ version = "0.8.31"
458
+ source = "registry+https://github.com/rust-lang/crates.io-index"
459
+ checksum = "d8a8d209fdf45cf5138cbb5a506f6b52522a25afccc534d1475dad8e31105c6a"
460
+ dependencies = [
461
+ "proc-macro2",
462
+ "quote",
463
+ "syn",
464
+ ]
@@ -0,0 +1,26 @@
1
+ [package]
2
+ name = "holmes-rs"
3
+ version = "0.1.0"
4
+ edition = "2021"
5
+
6
+ [dependencies]
7
+ ndarray = "0.17.1"
8
+ ndarray-rand = "0.16.0"
9
+ numpy = "0.27"
10
+ pyo3 = { version = "0.27", features = ["extension-module"] }
11
+ rand = "0.9.2"
12
+ rand_chacha = "0.9.0"
13
+ rayon = "1.11.0"
14
+ thiserror = "2.0.17"
15
+
16
+ [lib]
17
+ name = "holmes_rs"
18
+ crate-type = ["cdylib", "rlib"]
19
+
20
+ [lints.rust]
21
+ non_upper_case_globals = "allow"
22
+
23
+ [profile.release]
24
+ lto = true # Link-Time Optimization
25
+ codegen-units = 1 # Better optimization (slower compile)
26
+ opt-level = 3 # Maximum optimization
@@ -0,0 +1,5 @@
1
+ Metadata-Version: 2.4
2
+ Name: holmes-rs
3
+ Version: 0.1.0
4
+ Summary: HOLMES (HydrOLogical Modeling Educationnal Software) is a software developped to teach operational hydrology. It is developed at the university Laval, Québec, Canada. These are the models written in rust.
5
+ Requires-Python: >=3.13
@@ -0,0 +1,15 @@
1
+ [project]
2
+ name = "holmes-rs"
3
+ version = "0.1.0"
4
+ description = "HOLMES (HydrOLogical Modeling Educationnal Software) is a software developped to teach operational hydrology. It is developed at the university Laval, Québec, Canada. These are the models written in rust."
5
+ requires-python = ">=3.13"
6
+
7
+ [build-system]
8
+ requires = ["maturin>=1.10.2"]
9
+ build-backend = "maturin"
10
+
11
+ [tool.maturin]
12
+ features = ["pyo3/extension-module"]
13
+ python-source = "python"
14
+ module-name = "holmes_rs"
15
+
@@ -0,0 +1,10 @@
1
+ from .holmes_rs import __version__, calibration, hydro, metrics, pet, snow
2
+
3
+ __all__ = [
4
+ "__version__",
5
+ "calibration",
6
+ "hydro",
7
+ "metrics",
8
+ "pet",
9
+ "snow",
10
+ ]
@@ -0,0 +1,12 @@
1
+ from . import calibration, hydro, metrics, oudin, snow
2
+
3
+ __version__: str
4
+
5
+ __all__ = [
6
+ "__version__",
7
+ "calibration",
8
+ "hydro",
9
+ "metrics",
10
+ "oudin",
11
+ "snow",
12
+ ]
@@ -0,0 +1,5 @@
1
+ from . import sce
2
+
3
+ __all__ = [
4
+ "sce",
5
+ ]
@@ -0,0 +1,45 @@
1
+ from typing import final
2
+
3
+ import numpy as np
4
+ import numpy.typing as npt
5
+
6
+ @final
7
+ class Sce:
8
+ def __new__(
9
+ cls,
10
+ hydro_model: str,
11
+ snow_model: str | None,
12
+ objective: str,
13
+ transformation: str,
14
+ n_complexes: int,
15
+ k_stop: int,
16
+ p_convergence_threshold: float,
17
+ geometric_range_threshold: float,
18
+ max_evaluations: int,
19
+ seed: int,
20
+ ) -> Sce: ...
21
+ def init(
22
+ self,
23
+ precipitation: npt.NDArray[np.float64],
24
+ temperature: npt.NDArray[np.float64],
25
+ pet: npt.NDArray[np.float64],
26
+ day_of_year: npt.NDArray[np.uintp],
27
+ elevation_layers: npt.NDArray[np.float64],
28
+ median_elevation: float,
29
+ observations: npt.NDArray[np.float64],
30
+ ) -> None: ...
31
+ def step(
32
+ self,
33
+ precipitation: npt.NDArray[np.float64],
34
+ temperature: npt.NDArray[np.float64],
35
+ pet: npt.NDArray[np.float64],
36
+ day_of_year: npt.NDArray[np.uintp],
37
+ elevation_layers: npt.NDArray[np.float64],
38
+ median_elevation: float,
39
+ observations: npt.NDArray[np.float64],
40
+ ) -> tuple[
41
+ bool,
42
+ npt.NDArray[np.float64],
43
+ npt.NDArray[np.float64],
44
+ npt.NDArray[np.float64],
45
+ ]: ...
@@ -0,0 +1,5 @@
1
+ from . import gr4j
2
+
3
+ __all__ = [
4
+ "gr4j",
5
+ ]
@@ -0,0 +1,11 @@
1
+ import numpy as np
2
+ import numpy.typing as npt
3
+
4
+ param_names: list[str]
5
+
6
+ def init() -> tuple[npt.NDArray[np.float64], npt.NDArray[np.float64]]: ...
7
+ def simulate(
8
+ params: npt.NDArray[np.float64],
9
+ precipitation: npt.NDArray[np.float64],
10
+ pet: npt.NDArray[np.float64],
11
+ ) -> npt.NDArray[np.float64]: ...
@@ -0,0 +1,15 @@
1
+ import numpy as np
2
+ import numpy.typing as npt
3
+
4
+ def calculate_rmse(
5
+ observations: npt.NDArray[np.float64],
6
+ simulations: npt.NDArray[np.float64],
7
+ ) -> float: ...
8
+ def calculate_nse(
9
+ observations: npt.NDArray[np.float64],
10
+ simulations: npt.NDArray[np.float64],
11
+ ) -> float: ...
12
+ def calculate_kge(
13
+ observations: npt.NDArray[np.float64],
14
+ simulations: npt.NDArray[np.float64],
15
+ ) -> float: ...
@@ -0,0 +1,5 @@
1
+ from . import oudin
2
+
3
+ __all__ = [
4
+ "oudin",
5
+ ]
@@ -0,0 +1,8 @@
1
+ import numpy as np
2
+ import numpy.typing as npt
3
+
4
+ def simulate(
5
+ temperature: npt.NDArray[np.float64],
6
+ day_of_year: npt.NDArray[np.uintp],
7
+ latitude: float,
8
+ ) -> npt.NDArray[np.float64]: ...
@@ -0,0 +1,5 @@
1
+ from . import cemaneige
2
+
3
+ __all__ = [
4
+ "cemaneige",
5
+ ]
@@ -0,0 +1,14 @@
1
+ import numpy as np
2
+ import numpy.typing as npt
3
+
4
+ param_names: list[str]
5
+
6
+ def init() -> tuple[npt.NDArray[np.float64], npt.NDArray[np.float64]]: ...
7
+ def simulate(
8
+ params: npt.NDArray[np.float64],
9
+ precipitation: npt.NDArray[np.float64],
10
+ temperature: npt.NDArray[np.float64],
11
+ day_of_year: npt.NDArray[np.uintp],
12
+ elevation_layers: npt.NDArray[np.float64],
13
+ median_elevation: float,
14
+ ) -> npt.NDArray[np.float64]: ...
@@ -0,0 +1,2 @@
1
+ max_width = 79
2
+
@@ -0,0 +1,16 @@
1
+ pub mod sce;
2
+ pub mod utils;
3
+
4
+ use crate::utils::register_submodule;
5
+ use pyo3::prelude::*;
6
+
7
+ pub fn make_module(py: Python<'_>) -> PyResult<Bound<'_, PyModule>> {
8
+ let m = PyModule::new(py, "calibration")?;
9
+ register_submodule(
10
+ py,
11
+ &m,
12
+ &sce::make_module(py)?,
13
+ "holmes_rs.calibration",
14
+ )?;
15
+ Ok(m)
16
+ }