foxes 0.7.2__py3-none-any.whl → 0.7.3.1__py3-none-any.whl
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.
Potentially problematic release.
This version of foxes might be problematic. Click here for more details.
- foxes/VERSION +1 -1
- foxes/algorithms/downwind/downwind.py +57 -45
- foxes/algorithms/downwind/models/farm_wakes_calc.py +17 -6
- foxes/algorithms/downwind/models/point_wakes_calc.py +13 -45
- foxes/algorithms/iterative/iterative.py +1 -1
- foxes/algorithms/iterative/models/farm_wakes_calc.py +18 -4
- foxes/constants.py +5 -0
- foxes/core/__init__.py +2 -1
- foxes/core/ground_model.py +254 -0
- foxes/core/model.py +3 -2
- foxes/core/partial_wakes_model.py +19 -3
- foxes/core/states.py +33 -0
- foxes/core/wake_model.py +138 -2
- foxes/data/__init__.py +1 -1
- foxes/data/states/WRF-Timeseries-3000.nc +0 -0
- foxes/data/states/windio_timeseries_5000.nc +0 -0
- foxes/data/static_data.py +7 -0
- foxes/data/windio/DTU_10MW_turbine.yaml +10 -0
- foxes/data/windio/__init__.py +0 -0
- foxes/data/windio/windio_5turbines_timeseries.yaml +63 -0
- foxes/input/states/__init__.py +1 -0
- foxes/input/states/multi_height.py +225 -6
- foxes/input/windio/__init__.py +6 -1
- foxes/input/windio/get_states.py +115 -0
- foxes/input/windio/read_attributes.py +321 -0
- foxes/input/windio/read_farm.py +163 -0
- foxes/input/windio/read_fields.py +164 -0
- foxes/input/windio/runner.py +105 -0
- foxes/input/windio/windio.py +136 -254
- foxes/models/__init__.py +1 -0
- foxes/models/ground_models/__init__.py +2 -0
- foxes/models/ground_models/no_ground.py +12 -0
- foxes/models/ground_models/wake_mirror.py +161 -0
- foxes/models/model_book.py +68 -149
- foxes/models/partial_wakes/axiwake.py +27 -4
- foxes/models/partial_wakes/top_hat.py +26 -4
- foxes/models/turbine_types/PCt_file.py +1 -0
- foxes/models/turbine_types/PCt_from_two.py +92 -0
- foxes/models/wake_frames/yawed_wakes.py +41 -38
- foxes/models/wake_models/__init__.py +0 -1
- foxes/models/wake_models/induction/__init__.py +1 -0
- foxes/models/wake_models/induction/rankine_half_body.py +1 -1
- foxes/models/wake_models/induction/vortex_sheet.py +227 -0
- foxes/models/wake_models/ti/crespo_hernandez.py +26 -24
- foxes/models/wake_models/ti/iec_ti.py +33 -26
- foxes/models/wake_models/wind/bastankhah14.py +11 -32
- foxes/models/wake_models/wind/bastankhah16.py +30 -34
- foxes/models/wake_models/wind/jensen.py +13 -29
- foxes/models/wake_models/wind/turbopark.py +31 -61
- foxes/output/grids.py +6 -6
- foxes/output/output.py +6 -6
- foxes/utils/__init__.py +1 -1
- foxes/utils/factory.py +203 -11
- {foxes-0.7.2.dist-info → foxes-0.7.3.1.dist-info}/METADATA +8 -6
- {foxes-0.7.2.dist-info → foxes-0.7.3.1.dist-info}/RECORD +59 -45
- {foxes-0.7.2.dist-info → foxes-0.7.3.1.dist-info}/WHEEL +1 -1
- foxes/models/wake_models/wake_mirror.py +0 -196
- {foxes-0.7.2.dist-info → foxes-0.7.3.1.dist-info}/LICENSE +0 -0
- {foxes-0.7.2.dist-info → foxes-0.7.3.1.dist-info}/top_level.txt +0 -0
- {foxes-0.7.2.dist-info → foxes-0.7.3.1.dist-info}/zip-safe +0 -0
foxes/output/grids.py
CHANGED
|
@@ -108,12 +108,12 @@ def get_grid_xy(
|
|
|
108
108
|
n_states = farm_results[FV.H].shape[0]
|
|
109
109
|
|
|
110
110
|
# get base rectangle:
|
|
111
|
-
x_min = xmin if xmin is not None else farm_results[FV.X].min() - xspace
|
|
112
|
-
y_min = ymin if ymin is not None else farm_results[FV.Y].min() - yspace
|
|
113
|
-
z_min = z if z is not None else farm_results[FV.H].min()
|
|
114
|
-
x_max = xmax if xmax is not None else farm_results[FV.X].max() + xspace
|
|
115
|
-
y_max = ymax if ymax is not None else farm_results[FV.Y].max() + yspace
|
|
116
|
-
z_max = z if z is not None else farm_results[FV.H].max()
|
|
111
|
+
x_min = xmin if xmin is not None else farm_results[FV.X].min().to_numpy() - xspace
|
|
112
|
+
y_min = ymin if ymin is not None else farm_results[FV.Y].min().to_numpy() - yspace
|
|
113
|
+
z_min = z if z is not None else farm_results[FV.H].min().to_numpy()
|
|
114
|
+
x_max = xmax if xmax is not None else farm_results[FV.X].max().to_numpy() + xspace
|
|
115
|
+
y_max = ymax if ymax is not None else farm_results[FV.Y].max().to_numpy() + yspace
|
|
116
|
+
z_max = z if z is not None else farm_results[FV.H].max().to_numpy()
|
|
117
117
|
|
|
118
118
|
x_pos, x_res = np.linspace(
|
|
119
119
|
x_min,
|
foxes/output/output.py
CHANGED
|
@@ -97,13 +97,13 @@ class Output:
|
|
|
97
97
|
print(n)
|
|
98
98
|
|
|
99
99
|
@classmethod
|
|
100
|
-
def new(cls,
|
|
100
|
+
def new(cls, output_type, *args, **kwargs):
|
|
101
101
|
"""
|
|
102
102
|
Run-time output model factory.
|
|
103
103
|
|
|
104
104
|
Parameters
|
|
105
105
|
----------
|
|
106
|
-
|
|
106
|
+
output_type: string
|
|
107
107
|
The selected derived class name
|
|
108
108
|
args: tuple, optional
|
|
109
109
|
Additional parameters for the constructor
|
|
@@ -112,19 +112,19 @@ class Output:
|
|
|
112
112
|
|
|
113
113
|
"""
|
|
114
114
|
|
|
115
|
-
if
|
|
115
|
+
if output_type is None:
|
|
116
116
|
return None
|
|
117
117
|
|
|
118
118
|
allc = all_subclasses(cls)
|
|
119
|
-
found =
|
|
119
|
+
found = output_type in [scls.__name__ for scls in allc]
|
|
120
120
|
|
|
121
121
|
if found:
|
|
122
122
|
for scls in allc:
|
|
123
|
-
if scls.__name__ ==
|
|
123
|
+
if scls.__name__ == output_type:
|
|
124
124
|
return scls(*args, **kwargs)
|
|
125
125
|
|
|
126
126
|
else:
|
|
127
127
|
estr = "Output type '{}' is not defined, available types are \n {}".format(
|
|
128
|
-
|
|
128
|
+
output_type, sorted([i.__name__ for i in allc])
|
|
129
129
|
)
|
|
130
130
|
raise KeyError(estr)
|
foxes/utils/__init__.py
CHANGED
|
@@ -7,7 +7,7 @@ from .pandas_utils import PandasFileHelper
|
|
|
7
7
|
from .xarray_utils import write_nc
|
|
8
8
|
from .subclasses import all_subclasses
|
|
9
9
|
from .dict import Dict
|
|
10
|
-
from .factory import Factory, FDict
|
|
10
|
+
from .factory import Factory, FDict, WakeKFactory
|
|
11
11
|
from .data_book import DataBook
|
|
12
12
|
from .cubic_roots import cubic_roots
|
|
13
13
|
from .geopandas_utils import read_shp, shp2csv, read_shp_polygons, shp2geom2d
|
foxes/utils/factory.py
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import numpy as np
|
|
2
|
-
|
|
3
1
|
from .dict import Dict
|
|
2
|
+
import foxes.variables as FV
|
|
4
3
|
|
|
5
4
|
|
|
6
5
|
class Factory:
|
|
@@ -73,14 +72,10 @@ class Factory:
|
|
|
73
72
|
self.var2arg = var2arg
|
|
74
73
|
self.hints = hints
|
|
75
74
|
|
|
76
|
-
parts = name_template.split(">")
|
|
77
|
-
if len(parts) < 2:
|
|
78
|
-
raise ValueError(
|
|
79
|
-
f"Factory '{name_template}': Expecting at least one variable in template, pattern '<..>'"
|
|
80
|
-
)
|
|
81
|
-
|
|
82
75
|
self._vars = []
|
|
83
76
|
self._pre = []
|
|
77
|
+
parts = name_template.split(">")
|
|
78
|
+
|
|
84
79
|
for i, p in enumerate(parts):
|
|
85
80
|
if i < len(parts) - 1:
|
|
86
81
|
parts2 = p.split("<")
|
|
@@ -262,6 +257,186 @@ class Factory:
|
|
|
262
257
|
return self.base(*self.args, **kwargs)
|
|
263
258
|
|
|
264
259
|
|
|
260
|
+
class WakeKFactory:
|
|
261
|
+
"""
|
|
262
|
+
A factory that automatically handles
|
|
263
|
+
wake_k parameters
|
|
264
|
+
|
|
265
|
+
Attributes
|
|
266
|
+
----------
|
|
267
|
+
factories: list of Factory
|
|
268
|
+
The individual factories
|
|
269
|
+
|
|
270
|
+
:group: utils
|
|
271
|
+
|
|
272
|
+
"""
|
|
273
|
+
|
|
274
|
+
def __init__(self, base, name_template, *args, hints={}, **kwargs):
|
|
275
|
+
"""
|
|
276
|
+
Constructor.
|
|
277
|
+
|
|
278
|
+
Parameters
|
|
279
|
+
----------
|
|
280
|
+
base: class
|
|
281
|
+
The class of which objects are to be created
|
|
282
|
+
name_template: str
|
|
283
|
+
The name template, e.g. 'name_<A>_<B>_<C>' for
|
|
284
|
+
variables A, B, C. Indicate wake_k part by '_[wake_k]'
|
|
285
|
+
args: tuple, optional
|
|
286
|
+
Additional arguments for Factory
|
|
287
|
+
hints: dict
|
|
288
|
+
Hints for print_toc, only for variables for which the
|
|
289
|
+
options are functions or missing
|
|
290
|
+
kwargs: dict
|
|
291
|
+
Additional arguments for Factory
|
|
292
|
+
|
|
293
|
+
"""
|
|
294
|
+
self._base = base
|
|
295
|
+
self._kwargs = kwargs
|
|
296
|
+
self._template0 = name_template
|
|
297
|
+
self.factories = []
|
|
298
|
+
|
|
299
|
+
i0 = name_template.find("_[wake_k]")
|
|
300
|
+
i1 = i0 + len("_[wake_k]")
|
|
301
|
+
kw = kwargs.pop("kwargs", {})
|
|
302
|
+
|
|
303
|
+
if i0 < 0:
|
|
304
|
+
raise ValueError(
|
|
305
|
+
f"String '_[wake_k]' not found in name template '{name_template}'"
|
|
306
|
+
)
|
|
307
|
+
|
|
308
|
+
# add case ka, kb:
|
|
309
|
+
t = name_template[:i0] + "_ka<ka>_kb<kb>"
|
|
310
|
+
if len(name_template) > i1:
|
|
311
|
+
t += name_template[i1:]
|
|
312
|
+
h = hints.copy()
|
|
313
|
+
h["ka"] = "(Value, e.g. 04 for 0.4)"
|
|
314
|
+
h["kb"] = "(Value, e.g. 001 for 0.01)"
|
|
315
|
+
kw["ti_var"] = FV.TI
|
|
316
|
+
self.factories.append(
|
|
317
|
+
Factory(
|
|
318
|
+
base,
|
|
319
|
+
t,
|
|
320
|
+
*args,
|
|
321
|
+
hints=h,
|
|
322
|
+
kwargs=kw.copy(),
|
|
323
|
+
**kwargs,
|
|
324
|
+
ka=lambda x: float(f"0.{x[1:]}" if x[0] == "0" else float(x)),
|
|
325
|
+
kb=lambda x: float(f"0.{x[1:]}" if x[0] == "0" else float(x)),
|
|
326
|
+
)
|
|
327
|
+
)
|
|
328
|
+
|
|
329
|
+
# add case ambient ka, kb:
|
|
330
|
+
t = name_template[:i0] + "_ambka<ka>_kb<kb>"
|
|
331
|
+
if len(name_template) > i1:
|
|
332
|
+
t += name_template[i1:]
|
|
333
|
+
h = hints.copy()
|
|
334
|
+
h["ka"] = "(Value, e.g. 04 for 0.4)"
|
|
335
|
+
h["kb"] = "(Value, e.g. 001 for 0.01)"
|
|
336
|
+
kw["ti_var"] = FV.AMB_TI
|
|
337
|
+
self.factories.append(
|
|
338
|
+
Factory(
|
|
339
|
+
base,
|
|
340
|
+
t,
|
|
341
|
+
*args,
|
|
342
|
+
hints=h,
|
|
343
|
+
kwargs=kw.copy(),
|
|
344
|
+
**kwargs,
|
|
345
|
+
ka=lambda x: float(f"0.{x[1:]}" if x[0] == "0" else float(x)),
|
|
346
|
+
kb=lambda x: float(f"0.{x[1:]}" if x[0] == "0" else float(x)),
|
|
347
|
+
)
|
|
348
|
+
)
|
|
349
|
+
|
|
350
|
+
# add case ka:
|
|
351
|
+
t = name_template[:i0] + "_ka<ka>"
|
|
352
|
+
if len(name_template) > i1:
|
|
353
|
+
t += name_template[i1:]
|
|
354
|
+
h = hints.copy()
|
|
355
|
+
h["ka"] = "(Value, e.g. 04 for 0.4)"
|
|
356
|
+
kw["ti_var"] = FV.TI
|
|
357
|
+
self.factories.append(
|
|
358
|
+
Factory(
|
|
359
|
+
base,
|
|
360
|
+
t,
|
|
361
|
+
*args,
|
|
362
|
+
hints=h,
|
|
363
|
+
kwargs=kw.copy(),
|
|
364
|
+
**kwargs,
|
|
365
|
+
ka=lambda x: float(f"0.{x[1:]}" if x[0] == "0" else float(x)),
|
|
366
|
+
)
|
|
367
|
+
)
|
|
368
|
+
|
|
369
|
+
# add case ka:
|
|
370
|
+
t = name_template[:i0] + "_ambka<ka>"
|
|
371
|
+
if len(name_template) > i1:
|
|
372
|
+
t += name_template[i1:]
|
|
373
|
+
h = hints.copy()
|
|
374
|
+
h["ka"] = "(Value, e.g. 04 for 0.4)"
|
|
375
|
+
kw["ti_var"] = FV.AMB_TI
|
|
376
|
+
self.factories.append(
|
|
377
|
+
Factory(
|
|
378
|
+
base,
|
|
379
|
+
t,
|
|
380
|
+
*args,
|
|
381
|
+
hints=h,
|
|
382
|
+
kwargs=kw.copy(),
|
|
383
|
+
**kwargs,
|
|
384
|
+
ka=lambda x: float(f"0.{x[1:]}" if x[0] == "0" else float(x)),
|
|
385
|
+
)
|
|
386
|
+
)
|
|
387
|
+
|
|
388
|
+
# add case k:
|
|
389
|
+
t = name_template[:i0] + "_k<k>"
|
|
390
|
+
if len(name_template) > i1:
|
|
391
|
+
t += name_template[i1:]
|
|
392
|
+
h = hints.copy()
|
|
393
|
+
h["k"] = "(Value, e.g. 004 for 0.04)"
|
|
394
|
+
kw["ti_var"] = FV.TI
|
|
395
|
+
self.factories.append(
|
|
396
|
+
Factory(
|
|
397
|
+
base,
|
|
398
|
+
t,
|
|
399
|
+
*args,
|
|
400
|
+
hints=h,
|
|
401
|
+
kwargs=kw.copy(),
|
|
402
|
+
**kwargs,
|
|
403
|
+
k=lambda x: float(f"0.{x[1:]}" if x[0] == "0" else float(x)),
|
|
404
|
+
)
|
|
405
|
+
)
|
|
406
|
+
|
|
407
|
+
# add case without k:
|
|
408
|
+
t = name_template[:i0]
|
|
409
|
+
if len(name_template) > i1:
|
|
410
|
+
t += name_template[i1:]
|
|
411
|
+
kw["ti_var"] = FV.TI
|
|
412
|
+
self.factories.append(
|
|
413
|
+
Factory(
|
|
414
|
+
base,
|
|
415
|
+
t,
|
|
416
|
+
*args,
|
|
417
|
+
hints=hints,
|
|
418
|
+
kwargs=kw.copy(),
|
|
419
|
+
**kwargs,
|
|
420
|
+
)
|
|
421
|
+
)
|
|
422
|
+
|
|
423
|
+
def __str__(self):
|
|
424
|
+
"""String representation"""
|
|
425
|
+
s = f"{self._template0}: {self._base.__name__} with"
|
|
426
|
+
for k, d in self._kwargs.items():
|
|
427
|
+
s += f"\n {k}={d}"
|
|
428
|
+
f0 = self.factories[-1]
|
|
429
|
+
for v in f0.variables:
|
|
430
|
+
if v in f0.options and isinstance(f0.options[v], dict):
|
|
431
|
+
s += f"\n {v} from {list(f0.options[v])}"
|
|
432
|
+
else:
|
|
433
|
+
s += f"\n {v}={f0.hints.get(v, '(value)')}"
|
|
434
|
+
s += (
|
|
435
|
+
f"\n [wake_k]=(None or k<k> or ka<ka> or ka<ka>_kb<kb>, e.g. 004 for 0.04)"
|
|
436
|
+
)
|
|
437
|
+
return s
|
|
438
|
+
|
|
439
|
+
|
|
265
440
|
class FDict(Dict):
|
|
266
441
|
"""
|
|
267
442
|
A dictionary with factory support
|
|
@@ -295,19 +470,21 @@ class FDict(Dict):
|
|
|
295
470
|
self.store_created = store_created
|
|
296
471
|
self.factories = []
|
|
297
472
|
|
|
298
|
-
def add_factory(self, *args, **kwargs):
|
|
473
|
+
def add_factory(self, *args, factory=None, **kwargs):
|
|
299
474
|
"""
|
|
300
|
-
|
|
475
|
+
Adds a Factory object.
|
|
301
476
|
|
|
302
477
|
Parameters
|
|
303
478
|
----------
|
|
304
479
|
args: tuple, optional
|
|
305
480
|
Parameters for the Factory constructor
|
|
481
|
+
factory: Factory, optional
|
|
482
|
+
The factory object
|
|
306
483
|
kwargs: dict, optional
|
|
307
484
|
Parameters for the Factory constructor
|
|
308
485
|
|
|
309
486
|
"""
|
|
310
|
-
f = Factory(*args, **kwargs)
|
|
487
|
+
f = Factory(*args, **kwargs) if factory is None else factory
|
|
311
488
|
i = len(self.factories)
|
|
312
489
|
for gi in range(len(self.factories) - 1, -1, -1):
|
|
313
490
|
g = self.factories[gi]
|
|
@@ -323,6 +500,21 @@ class FDict(Dict):
|
|
|
323
500
|
else:
|
|
324
501
|
self.factories.insert(i, f)
|
|
325
502
|
|
|
503
|
+
def add_k_factory(self, *args, **kwargs):
|
|
504
|
+
"""
|
|
505
|
+
Adds a WakeKFactory.
|
|
506
|
+
|
|
507
|
+
Parameters
|
|
508
|
+
----------
|
|
509
|
+
args: tuple, optional
|
|
510
|
+
Parameters for the Factory constructor
|
|
511
|
+
kwargs: dict, optional
|
|
512
|
+
Parameters for the Factory constructor
|
|
513
|
+
|
|
514
|
+
"""
|
|
515
|
+
for f in WakeKFactory(*args, **kwargs).factories:
|
|
516
|
+
self.add_factory(factory=f)
|
|
517
|
+
|
|
326
518
|
def __contains__(self, key):
|
|
327
519
|
found = super().__contains__(key)
|
|
328
520
|
if not found:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: foxes
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.3.1
|
|
4
4
|
Summary: Farm Optimization and eXtended yield Evaluation Software
|
|
5
5
|
Author: Fraunhofer IWES
|
|
6
6
|
Author-email: jonas.schmidt@iwes.fraunhofer.de
|
|
@@ -17,16 +17,18 @@ Requires-Python: >=3.8
|
|
|
17
17
|
Description-Content-Type: text/markdown
|
|
18
18
|
License-File: LICENSE
|
|
19
19
|
Requires-Dist: matplotlib
|
|
20
|
-
Requires-Dist: numpy
|
|
20
|
+
Requires-Dist: numpy <2
|
|
21
|
+
Requires-Dist: pandas
|
|
21
22
|
Requires-Dist: xarray
|
|
22
|
-
Requires-Dist: dask
|
|
23
|
+
Requires-Dist: dask
|
|
24
|
+
Requires-Dist: distributed
|
|
23
25
|
Requires-Dist: scipy
|
|
24
26
|
Requires-Dist: netcdf4
|
|
25
27
|
Requires-Dist: windrose
|
|
26
28
|
Requires-Dist: iwopy >=0.1.4
|
|
27
29
|
Requires-Dist: pyarrow
|
|
28
30
|
Provides-Extra: all
|
|
29
|
-
Requires-Dist: windio >=1
|
|
31
|
+
Requires-Dist: windio >=1 ; extra == 'all'
|
|
30
32
|
Requires-Dist: flake8 ; extra == 'all'
|
|
31
33
|
Requires-Dist: pytest ; extra == 'all'
|
|
32
34
|
Requires-Dist: pymoo >=0.6 ; extra == 'all'
|
|
@@ -45,7 +47,7 @@ Requires-Dist: ipywidgets ; extra == 'doc'
|
|
|
45
47
|
Requires-Dist: m2r2 ; extra == 'doc'
|
|
46
48
|
Requires-Dist: lxml-html-clean ; extra == 'doc'
|
|
47
49
|
Provides-Extra: io
|
|
48
|
-
Requires-Dist: windio >=1
|
|
50
|
+
Requires-Dist: windio >=1 ; extra == 'io'
|
|
49
51
|
Provides-Extra: scripts
|
|
50
52
|
Provides-Extra: test
|
|
51
53
|
Requires-Dist: flake8 ; extra == 'test'
|
|
@@ -170,7 +172,7 @@ The supported Python versions are:
|
|
|
170
172
|
- `Python 3.11`
|
|
171
173
|
- `Python 3.12`
|
|
172
174
|
|
|
173
|
-
### Preparation
|
|
175
|
+
### Preparation (optional)
|
|
174
176
|
|
|
175
177
|
It is strongly recommend to use the `libmamba` dependency solver instead of the default solver. Install it once by
|
|
176
178
|
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
foxes/VERSION,sha256=
|
|
1
|
+
foxes/VERSION,sha256=ytkOA32DLVoUKOTcDi7qaRyjqtMzW_-OHmX2U6Lt4nQ,8
|
|
2
2
|
foxes/__init__.py,sha256=4ptDOBaQC8fAd_ZH5XH7d5pIgx3JXEY9xLcK3Nrs2Ow,718
|
|
3
|
-
foxes/constants.py,sha256=
|
|
3
|
+
foxes/constants.py,sha256=RDRD9ZkKeq-VXV6Zb1Y-QuZYw0voQezalbUaxprAnq0,2713
|
|
4
4
|
foxes/variables.py,sha256=I-S25WejH33ffOcVnmN2TDL1pIxWqg0aM1lhIBwZ9NQ,4454
|
|
5
5
|
foxes/algorithms/__init__.py,sha256=uaXU8OYMT3eclcE6a2b8NkozHVXoM1BF5RJA2XR4DUw,260
|
|
6
6
|
foxes/algorithms/downwind/__init__.py,sha256=lyygq5GMc6NAPmH0b0mhGeccWyuC8JTOEMZl-UlmE5M,53
|
|
7
|
-
foxes/algorithms/downwind/downwind.py,sha256=
|
|
7
|
+
foxes/algorithms/downwind/downwind.py,sha256=o8d2HZW5m2NDVKhS0uWLhEuyGMuY9CPI5fM-RqBh79U,21862
|
|
8
8
|
foxes/algorithms/downwind/models/__init__.py,sha256=0ov8rjIQ02w3iB6yYCxaswPvHDlPM_8_di6xPh1TTkQ,300
|
|
9
|
-
foxes/algorithms/downwind/models/farm_wakes_calc.py,sha256
|
|
9
|
+
foxes/algorithms/downwind/models/farm_wakes_calc.py,sha256=-O-0hpDYFnR15yaK3GNNd8G_4gNwRZ8pmnam94dANJQ,5535
|
|
10
10
|
foxes/algorithms/downwind/models/init_farm_data.py,sha256=sTUMYGLU9iHr56prdNRR4cs0yuCFp7gqiCDut685HKM,4022
|
|
11
|
-
foxes/algorithms/downwind/models/point_wakes_calc.py,sha256=
|
|
11
|
+
foxes/algorithms/downwind/models/point_wakes_calc.py,sha256=cUIQ439fKF_wLP2AH1uuQe9bWdyq6O5StsJviwIHvuA,4548
|
|
12
12
|
foxes/algorithms/downwind/models/reorder_farm_output.py,sha256=4BjIQ1bYDiZi5LzPpv5dokEr0T2DqOpXRdZYiPa5bgI,2041
|
|
13
13
|
foxes/algorithms/downwind/models/set_amb_farm_results.py,sha256=_hBlSnlD1MYzQ2HV6eEXREaLsj4CKsxI4hr9LFFi-qc,1734
|
|
14
14
|
foxes/algorithms/downwind/models/set_amb_point_results.py,sha256=s72ARemcWCY1UsbZ1jxT1QRJpAbLhd40-RLP4yZgXgY,2219
|
|
15
15
|
foxes/algorithms/iterative/__init__.py,sha256=Je445cHtS2ERc-dywjhxWttKzdEyHM8JLxPcW5JFtl8,137
|
|
16
|
-
foxes/algorithms/iterative/iterative.py,sha256=
|
|
16
|
+
foxes/algorithms/iterative/iterative.py,sha256=Mgbs6v69o5HePbOxwTl85hLxfA1C91u0iWfLdkEpe2A,9148
|
|
17
17
|
foxes/algorithms/iterative/models/__init__.py,sha256=3lMBUOzq5bKNQBGoV8byVQ7_Keyk1GfwFZDUwaafGsg,152
|
|
18
18
|
foxes/algorithms/iterative/models/convergence.py,sha256=5fCeTMisYEhgvPRbLKMK0XYsSSr2xWqqzB-pUBrIjYk,6466
|
|
19
|
-
foxes/algorithms/iterative/models/farm_wakes_calc.py,sha256=
|
|
19
|
+
foxes/algorithms/iterative/models/farm_wakes_calc.py,sha256=nXFR8c1jZw6Q4ewYJlvDvPf8O3Za2W1hNVze410f7UI,4762
|
|
20
20
|
foxes/algorithms/iterative/models/urelax.py,sha256=wYRHeeKsgCWMmOJ2YnbgUB79VI-D6ceTwEndvvtKBes,2078
|
|
21
21
|
foxes/algorithms/sequential/__init__.py,sha256=2o05IH9XePnqxNEAn2Fr1qiCM6OooqmH2VtmdJXtK0c,94
|
|
22
22
|
foxes/algorithms/sequential/sequential.py,sha256=PeQ8j2TuZT2KuxOZTvN4iNoZVT6lYQCcahk2lMprWx8,16242
|
|
23
23
|
foxes/algorithms/sequential/models/__init__.py,sha256=OneaRLxMPzVWLKL9cR3JIYHojfzVX_CQaPv-LP6mCZI,69
|
|
24
24
|
foxes/algorithms/sequential/models/plugin.py,sha256=9xa5mUp72gX3rAsdqM76Dibky0jA-gmYO2J4oBNoiHA,1326
|
|
25
25
|
foxes/algorithms/sequential/models/seq_state.py,sha256=AB2Mf4WbbL9iDN_3mP4nTi44R6G4Gf_-At0ZlicXgrY,3656
|
|
26
|
-
foxes/core/__init__.py,sha256=
|
|
26
|
+
foxes/core/__init__.py,sha256=2NPeoNWCJx5-Q77TlXDmnSxmzf9gaQEx1JTWIHOWeT4,956
|
|
27
27
|
foxes/core/algorithm.py,sha256=JIvEuoxf25lnZLX8fze2JSYT73KFirzmp6yfrJMa_x0,15169
|
|
28
28
|
foxes/core/axial_induction_model.py,sha256=U7g8vmdKBS4xVYXVpD-uNDnKUnpFXccRTWB5LOPDGaY,498
|
|
29
29
|
foxes/core/data.py,sha256=KjRS5fXaYMeNw_cAaBYarJTX7qCNQJbHDSDWPGLB_70,14581
|
|
@@ -31,22 +31,23 @@ foxes/core/data_calc_model.py,sha256=Xtt9-QQes0Y3XFfUcPysB-5YtMbk74ooyatJNUYYjMg
|
|
|
31
31
|
foxes/core/farm_controller.py,sha256=8VmqM4uaQ3k8pkMllOJ-MC27P2dHMJUCzhmROMLtlN4,12199
|
|
32
32
|
foxes/core/farm_data_model.py,sha256=IwlHg10H4mSXHbU5vdfAS7FyvY8kVwArTfaijQHlKLU,6953
|
|
33
33
|
foxes/core/farm_model.py,sha256=ogFahCjC2dIBcjnCMmy0cTGulKTDA2ufFUzODf0-KnI,265
|
|
34
|
-
foxes/core/
|
|
35
|
-
foxes/core/
|
|
34
|
+
foxes/core/ground_model.py,sha256=UDGTyGDi1UUmFZmgAHKMwwNbXjPBcVb8YKKqI7gJWrc,6801
|
|
35
|
+
foxes/core/model.py,sha256=ChnoKFkmr5oXvqhp7sIJ8etWy7TZrLI54xcx0Fn-WVI,17290
|
|
36
|
+
foxes/core/partial_wakes_model.py,sha256=8iC6w4TJXgeOObnAZoFKjy6ualYNbd3gLIb5P5TtVvA,5687
|
|
36
37
|
foxes/core/point_data_model.py,sha256=9-9d8FCZy8rxZoGXC9MwI3fAa4XApsR8tzRCxHaanhU,6666
|
|
37
38
|
foxes/core/rotor_model.py,sha256=8rvP8iVMDvFM_Dgh1stVqKy4CqiM38maRTkoQCt1PSU,12879
|
|
38
|
-
foxes/core/states.py,sha256=
|
|
39
|
+
foxes/core/states.py,sha256=2-3I62ebQCoKxye5Hyz_QT45b8PA1UwMlU_XWvbvi8s,8230
|
|
39
40
|
foxes/core/turbine.py,sha256=P5qPKmV1qohZdAKW4lPiUerQkRDTxUOhsvBPQqy8mBo,3054
|
|
40
41
|
foxes/core/turbine_model.py,sha256=IcsU848QNHbUhDN5oqd7VnVWKx_VM5UwRhlPsWK_njw,2049
|
|
41
42
|
foxes/core/turbine_type.py,sha256=uet3SiJDqt9bPD8tq5xkq-blGV7o1Nd0lNn_2DlqOyk,3151
|
|
42
43
|
foxes/core/vertical_profile.py,sha256=pgjari78N2CHZOWnidQ_7KGsSs4lTFP9isn-w6e1Yro,1642
|
|
43
44
|
foxes/core/wake_frame.py,sha256=JbDWjHtZ6nSt-pSSlIsrKea4shwx_7YViZCCl9kNI_0,10239
|
|
44
|
-
foxes/core/wake_model.py,sha256=
|
|
45
|
+
foxes/core/wake_model.py,sha256=DjcNbEWPzgxBoW4IN5i9CGfPyuaCaJKYPoiK7ctsfC8,8054
|
|
45
46
|
foxes/core/wake_superposition.py,sha256=_XRgHeIVf_g8MkudwCLAX0DcTBp4Wdy9bDJLRPqkQrM,2811
|
|
46
47
|
foxes/core/wind_farm.py,sha256=COJ6iLFeU_EiYJKLzcG2f9k9z3YegHKr-NvrAS1X_ks,1708
|
|
47
|
-
foxes/data/__init__.py,sha256=
|
|
48
|
+
foxes/data/__init__.py,sha256=efVzdUkpjcgmn8nF8eLAr5HCm1Ym7YF3JomY_bXNVts,161
|
|
48
49
|
foxes/data/parse.py,sha256=x71oWLyvVsMJ7XVL9VRQXZbflnTXqBaxyBdoMQdZExs,2947
|
|
49
|
-
foxes/data/static_data.py,sha256=
|
|
50
|
+
foxes/data/static_data.py,sha256=k5ey-hJWMJTjRZnW5gaEj9dayxAClOBdbM14-IpON60,858
|
|
50
51
|
foxes/data/farms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
52
|
foxes/data/farms/test_farm_67.csv,sha256=TwHt8NVuyP6p2G1VaM_Mi4ENBaHyg4eF6jz0zXQQDro,1872
|
|
52
53
|
foxes/data/power_ct_curves/DTU-10MW-D178d3-H119.csv,sha256=71C1HTf9QtAvavYLwo6US-JmEGyiByrnvZPysua8muE,410
|
|
@@ -54,6 +55,7 @@ foxes/data/power_ct_curves/IEA-15MW-D240-H150.csv,sha256=ITmkbLIG-jsAoxg1eYgJEbx
|
|
|
54
55
|
foxes/data/power_ct_curves/IWT-7d5MW-D164-H100.csv,sha256=K9yAhgkCZfRBKZibxKbHtWrKg5mIHnMCswdOVd2uyQ0,851
|
|
55
56
|
foxes/data/power_ct_curves/NREL-5MW-D126-H90.csv,sha256=u2b6LUCCKL6bYn2lNrB02MqBnwT-veL4CCi6Km4am-E,401
|
|
56
57
|
foxes/data/power_ct_curves/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
|
+
foxes/data/states/WRF-Timeseries-3000.nc,sha256=ZB1b-CTCu_yiLH4sKhQFmb47O-pOh7Ab2qyhx6P0Z5I,453633
|
|
57
59
|
foxes/data/states/WRF-Timeseries-4464.csv.gz,sha256=bjZxvnVp_iyVmIhd-N9lE5TJUZQvunsuueVXu_MnLpk,427815
|
|
58
60
|
foxes/data/states/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
61
|
foxes/data/states/abl_states_6000.csv.gz,sha256=wzbMKNk3jZ3sRlV4aYJSv_ycncEryXaFT1uQ3oNYJSQ,126124
|
|
@@ -62,7 +64,11 @@ foxes/data/states/timeseries_3000.csv.gz,sha256=e6hkBMl2oQ0y9zy1I2uh3xyv4YyH9NbR
|
|
|
62
64
|
foxes/data/states/timeseries_8000.csv.gz,sha256=CzayW5CtnP9Y2kxCE4jlsDZwr6G_RMfacnp17mUUQ_4,78694
|
|
63
65
|
foxes/data/states/wind_rose_bremen.csv,sha256=ixSf8-_esjFsBtfT3Y92k67QrJPDx6dY3uBhOSV-hj4,4943
|
|
64
66
|
foxes/data/states/wind_rotation.nc,sha256=-ZLfpxa_BJpRUABgJsK5I7c8ogAWTrYNE18un7FxhnU,10990
|
|
67
|
+
foxes/data/states/windio_timeseries_5000.nc,sha256=NbC55qSTSprnawc6_9NalvlM6OEk9kqE8d-tsXAKvzg,78601
|
|
65
68
|
foxes/data/states/winds100.tab,sha256=X2Cw0H_-HzYEcb7ezn3ntWlKQXIxrWLNONVsrkmsof8,3061
|
|
69
|
+
foxes/data/windio/DTU_10MW_turbine.yaml,sha256=DAvIj0-313fgUWCygp6m96EVfr3QUUVpwjCVa430YAU,732
|
|
70
|
+
foxes/data/windio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
71
|
+
foxes/data/windio/windio_5turbines_timeseries.yaml,sha256=KLLpoayiqt8yRLABksbBoPbZp26-kgTwZdKIdL306Yk,1307
|
|
66
72
|
foxes/input/__init__.py,sha256=qi7BB7FK71gKex5_IFD5a6pvLLLnRWQV9rYKInnpf10,126
|
|
67
73
|
foxes/input/farm_layout/__init__.py,sha256=EMAA3t-lmvPdMeoll4yJzKz7adVBIpDv5TubjIbrLYk,287
|
|
68
74
|
foxes/input/farm_layout/from_csv.py,sha256=jFezF0rmxolhgpWrqVvej0AjvKc4q3gJ4I09uGG7mSE,3185
|
|
@@ -72,19 +78,24 @@ foxes/input/farm_layout/from_json.py,sha256=5dzFhZdFFaReOnuCKwEmPbK5muf2TTi6AxTG
|
|
|
72
78
|
foxes/input/farm_layout/from_random.py,sha256=6ZYKbdV6x11MbQRAHs5nVYBAG-1K295xsMXtfCfAfts,1126
|
|
73
79
|
foxes/input/farm_layout/grid.py,sha256=7j3l-0rRQ3WojnVkFtuQ-bXmNOFM9ymbDCOOHYFDZ1A,1465
|
|
74
80
|
foxes/input/farm_layout/row.py,sha256=RR8-vkSrxuWMZXLwyHAROhQIcbKnf0zTLH_zWHZ4gA0,1196
|
|
75
|
-
foxes/input/states/__init__.py,sha256=
|
|
81
|
+
foxes/input/states/__init__.py,sha256=gPlMBV0z4y5AcgRKTSqbsK53hVoBJBzGNtQQleUJcMY,361
|
|
76
82
|
foxes/input/states/field_data_nc.py,sha256=Y7K8gCcUeaMCVKa4C6l8IvUTR_JnhEkx3ObXRDPCo3M,18693
|
|
77
|
-
foxes/input/states/multi_height.py,sha256=
|
|
83
|
+
foxes/input/states/multi_height.py,sha256=xkavoXC5TF_-qq19f8PMVEIgAsDkup9dB5h2ZWBgyME,20039
|
|
78
84
|
foxes/input/states/scan_ws.py,sha256=jdSpylzWF8qsFuIiY8we6djdG0d7b5doh6WSslg3OnQ,4262
|
|
79
85
|
foxes/input/states/single.py,sha256=6DO1lFenVJ9pjwL4I3B4tKWxcMmKSp_U4L3KqFRuqyk,5989
|
|
80
86
|
foxes/input/states/states_table.py,sha256=9dq9sxR5PVjS99WRGJClB_1W8gPZ9UNi-viHKSegRR0,15373
|
|
81
87
|
foxes/input/states/create/__init__.py,sha256=Ocqzmr9SOefeAvGX5DgawsPXfNdGzWOZ2ssvtqEmtAo,134
|
|
82
88
|
foxes/input/states/create/random_abl_states.py,sha256=45h0a84FmeLZwxbtwtxs5kmoz8_O1_KjsyV-xTc_RoE,3333
|
|
83
89
|
foxes/input/states/create/random_timeseries.py,sha256=gJpaQ4nEXxOjI4hp3xjNcVbCsmZUm-brXUxoqDb63WE,1266
|
|
84
|
-
foxes/input/windio/__init__.py,sha256
|
|
85
|
-
foxes/input/windio/
|
|
86
|
-
foxes/
|
|
87
|
-
foxes/
|
|
90
|
+
foxes/input/windio/__init__.py,sha256=-WDFDcV-yiu_QC_0Aywm85hpxFso7BcU1WyJGgSHjWY,304
|
|
91
|
+
foxes/input/windio/get_states.py,sha256=2rQ3qrXbqdHoGoCsezpoS_9veajKWyTrnwtNn-FNCDo,3138
|
|
92
|
+
foxes/input/windio/read_attributes.py,sha256=NOrPk1pAaeEv_Chzr-wkr0lmLks9san7KiHT4S5UL3Y,11040
|
|
93
|
+
foxes/input/windio/read_farm.py,sha256=c0oMUPyfUGoZkaAsyuEdgFNvitU0F0pFz-Lo5ATASSE,5222
|
|
94
|
+
foxes/input/windio/read_fields.py,sha256=MjSyu50aAryCpsDNXp8Bp4DcA6okXNQ0EOTaJ1GV7oQ,4239
|
|
95
|
+
foxes/input/windio/runner.py,sha256=9yx8RKsMKFG9TjiV4z779JXy-moRfONUzqPNiLdeJJc,2861
|
|
96
|
+
foxes/input/windio/windio.py,sha256=r_deloAeGqVVdAasRaQJavRjsDRB6y3CnDm2SbUw-B0,4930
|
|
97
|
+
foxes/models/__init__.py,sha256=8eOGCieghW7ILjpkxMHzp4GN2zFF3xlKPl7Df7sMxoU,434
|
|
98
|
+
foxes/models/model_book.py,sha256=YF6iKJAS7HUxn-QoAWFhwcvMM1o01xHVNrrBXLmQmDE,23509
|
|
88
99
|
foxes/models/axial_induction/__init__.py,sha256=CdYOzu45DWu7xrzpRpFIQ6CGZIMABjjy_lqAszjj9lg,78
|
|
89
100
|
foxes/models/axial_induction/betz.py,sha256=rAaq7pnu-FmfYh61BU5Af1h4_bG2AAimP4Qah1aZo88,894
|
|
90
101
|
foxes/models/axial_induction/madsen.py,sha256=_-ycfh8SnIpCKWm1uwx5VH7f49FQvR0y1Nbb_U8xWyU,1403
|
|
@@ -92,13 +103,16 @@ foxes/models/farm_controllers/__init__.py,sha256=oDdW_fA3GSkJBzn9Vsd3T9bBVhB9-j_
|
|
|
92
103
|
foxes/models/farm_controllers/basic.py,sha256=6pinNXiyfoG3apXhqQWcnxx4vN_7Q63YryXX5Z7kTE0,249
|
|
93
104
|
foxes/models/farm_models/__init__.py,sha256=WoC1Cmeo5-LLdC5I_S9hwZhZOtBnWDL6azjaUTcoOuY,66
|
|
94
105
|
foxes/models/farm_models/turbine2farm.py,sha256=XO6-6YGWOcbwB6z0Ttey3rQlOR7sg7ETE1sAlTqiEao,2278
|
|
106
|
+
foxes/models/ground_models/__init__.py,sha256=RR6p8B4jacbzcK1LwnSUqYFXi9h7Qx4RhKiTTGXKxZo,82
|
|
107
|
+
foxes/models/ground_models/no_ground.py,sha256=pDuHAFHHgpEVIi1spie9ooR7OG-4l8_KPrGYQhdCT3I,149
|
|
108
|
+
foxes/models/ground_models/wake_mirror.py,sha256=Ad9x5eYDdEjhRDzjTBkUT4DjoqYjKkvuQL1tMWy7KVQ,4324
|
|
95
109
|
foxes/models/partial_wakes/__init__.py,sha256=qlV4zgjTSBfpz4dVh7DSoxCZXkaK_-dW43t8-LcDYEg,245
|
|
96
|
-
foxes/models/partial_wakes/axiwake.py,sha256=
|
|
110
|
+
foxes/models/partial_wakes/axiwake.py,sha256=Rxv3yE4YvYodEjbHzn5lzRwvVBwhm6Jvz3-e5e3FpfY,6559
|
|
97
111
|
foxes/models/partial_wakes/centre.py,sha256=mIX0eiPJUFCJ82gjZCrf6ajRmJp7CgKpM7QQXiE6UEI,963
|
|
98
112
|
foxes/models/partial_wakes/grid.py,sha256=SOymgn0MGvUFSAWd9YKDCzXYtizsuiNV-yP0oqrKS1E,600
|
|
99
113
|
foxes/models/partial_wakes/rotor_points.py,sha256=M5G5jJbfwv2htbI8dhoUTykIeUxXOuy3kPoBn1g-JeA,2783
|
|
100
114
|
foxes/models/partial_wakes/segregated.py,sha256=iGa9wDTGkSap5L5Q63o3UMeOJN2Nq6qxYrw-hJ-E7kU,4370
|
|
101
|
-
foxes/models/partial_wakes/top_hat.py,sha256=
|
|
115
|
+
foxes/models/partial_wakes/top_hat.py,sha256=jcbLImoN9aiztm0PqIwfz9iSduOUvrrtAISc6rD2jmY,5550
|
|
102
116
|
foxes/models/point_models/__init__.py,sha256=kb6pBrrPGWWKcnlAqOdBLMT7l-Y7yFAitrUr4eFiWcM,131
|
|
103
117
|
foxes/models/point_models/set_uniform_data.py,sha256=LkQMwrvDaAWyVRQnHUUrT4W7d6Xz33E2nVdWJNONp1c,4476
|
|
104
118
|
foxes/models/point_models/tke2ti.py,sha256=ZwCwqPm8H6PlyjS_D6vODFdm38WrpcFtgBL8UCgzWAk,1409
|
|
@@ -121,8 +135,8 @@ foxes/models/turbine_models/yaw2yawm.py,sha256=7AE7J9UAeSQq4ZC_K9W0y6WqCie1eWpYc
|
|
|
121
135
|
foxes/models/turbine_models/yawm2yaw.py,sha256=42NFAi3_BtJfeHa3jC9L9dbRVSiDQQK4Uf-5MZdf0Vg,1592
|
|
122
136
|
foxes/models/turbine_types/CpCt_file.py,sha256=EnDZE4FH07wh-bFHAtd_Zz0BDKOheM699yeefq1wEL4,2048
|
|
123
137
|
foxes/models/turbine_types/CpCt_from_two.py,sha256=uf4F4c3CXSwjWCOMrDmhMan5hyQm-pMpygeyp5-B7mM,2692
|
|
124
|
-
foxes/models/turbine_types/PCt_file.py,sha256=
|
|
125
|
-
foxes/models/turbine_types/PCt_from_two.py,sha256=
|
|
138
|
+
foxes/models/turbine_types/PCt_file.py,sha256=ttJDPz5vNLhHUVX-oegsUihyMK6s81dlJV3rk7ubLgs,10300
|
|
139
|
+
foxes/models/turbine_types/PCt_from_two.py,sha256=1Yg1Yukqint7aMByba3u11g-CN5keqIFR9FY9O4z5rI,11863
|
|
126
140
|
foxes/models/turbine_types/__init__.py,sha256=rrERO5zveJZTFWuzRBmv9ZFPtW1TmtYrw9t46rxM0yM,296
|
|
127
141
|
foxes/models/turbine_types/null_type.py,sha256=86cJiJk43YTw1eiz9mQAikVypGcbd4Ynl8NoAUmkoz4,1314
|
|
128
142
|
foxes/models/turbine_types/wsrho2PCt_from_two.py,sha256=giN9OoavTT_oKtvC28Mvvlj08Hz44rGF8m-7utBmqas,11143
|
|
@@ -141,26 +155,26 @@ foxes/models/wake_frames/rotor_wd.py,sha256=MThraqng_b2ZUAl8Aod9tESPkDYXKom-oGJC
|
|
|
141
155
|
foxes/models/wake_frames/seq_dynamic_wakes.py,sha256=mccB7-feKqDGa8UP2t_iaREDyUyLzrOvU557GXVBtHw,10987
|
|
142
156
|
foxes/models/wake_frames/streamlines.py,sha256=noI30oNLgX88V1piOij8Rt9Y_vuNvj9Zcc3LqsJIErg,8868
|
|
143
157
|
foxes/models/wake_frames/timelines.py,sha256=XkZV00ij7Oy3E_aMgrVHf_nEk-VbCOHO5Yjs-ptOcMk,9568
|
|
144
|
-
foxes/models/wake_frames/yawed_wakes.py,sha256=
|
|
145
|
-
foxes/models/wake_models/__init__.py,sha256=
|
|
158
|
+
foxes/models/wake_frames/yawed_wakes.py,sha256=ODTuPxCeMsoxinMEVSCOsemdT57c0IBEbeSHS93L6Ik,9001
|
|
159
|
+
foxes/models/wake_models/__init__.py,sha256=hwoJF5RzDlr2g5zKgZ532H93F6Hcoo0Gfkc3XLiAJ1Q,253
|
|
146
160
|
foxes/models/wake_models/axisymmetric.py,sha256=3dS-1Br9ZvDaGa_KVy0sotnuMku4QpL_Nz3T5dyQXm8,2788
|
|
147
161
|
foxes/models/wake_models/dist_sliced.py,sha256=MsKBm8s9SqQ5g6vLFcfynebzvbRpYlP88uC4sr8t3QE,5883
|
|
148
162
|
foxes/models/wake_models/gaussian.py,sha256=hchArmoqbdUthh2q7D9PEfC838217ySDHc2fbvtihD4,2760
|
|
149
163
|
foxes/models/wake_models/top_hat.py,sha256=DMFEQGjJol08XHY_TyN74xXf4l2yFNSEE4k4yCKt15I,5885
|
|
150
|
-
foxes/models/wake_models/
|
|
151
|
-
foxes/models/wake_models/induction/
|
|
152
|
-
foxes/models/wake_models/induction/rankine_half_body.py,sha256=D8WOCeGEybNbhoP9_6Rlgnjq6Tbw8idtLIZHH-9sDeQ,7808
|
|
164
|
+
foxes/models/wake_models/induction/__init__.py,sha256=kl5hRnV0q1zyaqTdwhEdsNiOV-Fu0ySRIUQH418npyI,231
|
|
165
|
+
foxes/models/wake_models/induction/rankine_half_body.py,sha256=SGPQwLv7NVfFIOcHbo8jWs3ghlxr2HvE3yM5W2HK2PE,7816
|
|
153
166
|
foxes/models/wake_models/induction/rathmann.py,sha256=ydUcXNlaqpBY5Cf7RQR_2StCxcXua-KYToZcOYgk2ms,6262
|
|
154
167
|
foxes/models/wake_models/induction/self_similar.py,sha256=1Ji4Cg_PZQfYnz-SMNQvCrQeuocthBozfT4n6e5oS-U,7011
|
|
155
168
|
foxes/models/wake_models/induction/self_similar2020.py,sha256=D8yQxa5NQFII2gvKggcbJvuSDnrIRSy0Q5aCC3DoTPc,1634
|
|
169
|
+
foxes/models/wake_models/induction/vortex_sheet.py,sha256=CIrVmM7EEe5fVr94FND4Vvfj_KPnKl02-oTE2QPwBAM,6341
|
|
156
170
|
foxes/models/wake_models/ti/__init__.py,sha256=EOlqFHL2mzcKGFRZqlVYTiqGJqPb6dx7I5UWUDshy2U,125
|
|
157
|
-
foxes/models/wake_models/ti/crespo_hernandez.py,sha256=
|
|
158
|
-
foxes/models/wake_models/ti/iec_ti.py,sha256=
|
|
171
|
+
foxes/models/wake_models/ti/crespo_hernandez.py,sha256=Vi05vWV7aY02ixcgtAR4YVy5Y43ZaEI60ww8W2zdqu8,8844
|
|
172
|
+
foxes/models/wake_models/ti/iec_ti.py,sha256=L9Yw34_oUGXdvGSVhjJMjmSNh2S1sJsUUKsFxGuGA8Q,6422
|
|
159
173
|
foxes/models/wake_models/wind/__init__.py,sha256=X_QdQ_f3fKCIrZZ9K_CzzsHSl13AyvPRcWdEZ1y9Bk4,223
|
|
160
|
-
foxes/models/wake_models/wind/bastankhah14.py,sha256=
|
|
161
|
-
foxes/models/wake_models/wind/bastankhah16.py,sha256=
|
|
162
|
-
foxes/models/wake_models/wind/jensen.py,sha256=
|
|
163
|
-
foxes/models/wake_models/wind/turbopark.py,sha256=
|
|
174
|
+
foxes/models/wake_models/wind/bastankhah14.py,sha256=zDJBKkRRETrD9NA2eQUYrccfGv2EQV_eeH9YhkNTYWw,5166
|
|
175
|
+
foxes/models/wake_models/wind/bastankhah16.py,sha256=XTRLJguNBSjERVCCquFXaxEnTx52lFrB9uPBRd3PLrc,17527
|
|
176
|
+
foxes/models/wake_models/wind/jensen.py,sha256=6L1-thpjC79wy8fXGvTMuzFnoASIu5uPlREZyvcOsHk,4247
|
|
177
|
+
foxes/models/wake_models/wind/turbopark.py,sha256=hqyp3wVoFlBvzdw69d5uhwZM_bHcG5PQfIhptICwJkE,14524
|
|
164
178
|
foxes/models/wake_superpositions/__init__.py,sha256=p_pI_bUC-JjpGfg-7hyo3EpB_qVYqg5CCFt_vSG9DF4,371
|
|
165
179
|
foxes/models/wake_superpositions/ti_linear.py,sha256=T9lP5PsHzi04Neq5dS3HDZGwyV7Qzvx_umCbk9M7Zks,3911
|
|
166
180
|
foxes/models/wake_superpositions/ti_max.py,sha256=fnfYmr_Wt9EPZftHoHnqRlTwFWAawrEheGgLA0NwIlA,3936
|
|
@@ -203,8 +217,8 @@ foxes/output/calc_points.py,sha256=QRZuZ6joHbhkEYDBX87QgEWwMMYbohAK3ZFuVwErK3Q,4
|
|
|
203
217
|
foxes/output/farm_layout.py,sha256=PGQUIhza5BrGDIPU69O7hm91tjKJLFQq7N8rmXeVXAY,10981
|
|
204
218
|
foxes/output/farm_results_eval.py,sha256=LAv8A5XQ7gMKmT77ILzbRsIptiqBAWf89bR3Xh68cT4,17663
|
|
205
219
|
foxes/output/flow_plots_2d.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
206
|
-
foxes/output/grids.py,sha256=
|
|
207
|
-
foxes/output/output.py,sha256=
|
|
220
|
+
foxes/output/grids.py,sha256=va7sPdzjZEGEzVYW4m_KmAYBE7S7x5C2BXfroQY-kao,19767
|
|
221
|
+
foxes/output/output.py,sha256=wUxKlNbfjwqDzU-lTWfIZMfK-h_R3rpmthSlgunTyw8,3460
|
|
208
222
|
foxes/output/results_writer.py,sha256=H8UptENDq2THwbRRe41I_d9OAdc4osnWER4QSTvrAQ0,5833
|
|
209
223
|
foxes/output/rose_plot.py,sha256=t4sO9FCV6BJvTLv3vudsBajaSQblOaS6INS5GltCkT0,11090
|
|
210
224
|
foxes/output/rotor_point_plots.py,sha256=R44fcseBC5g8YsuR4irRrvYN8Nj94_lpJgpsBst2kjE,3165
|
|
@@ -216,12 +230,12 @@ foxes/output/flow_plots_2d/__init__.py,sha256=2d4RyQYPOYr-HiBCbp1swSPG4Nf3NGezTr
|
|
|
216
230
|
foxes/output/flow_plots_2d/flow_plots.py,sha256=RYdYZui11IlJE5Mm_R3dtkkQDC0XbAz2JyOT1U25PAA,28209
|
|
217
231
|
foxes/output/flow_plots_2d/get_fig.py,sha256=gGMOfzNCukq_l0FZLmi3zSBl0ANkQi2WoKaGTpB6xhc,6169
|
|
218
232
|
foxes/output/flow_plots_2d/seq_flow_ani_plugin.py,sha256=RFlzbZG2L9A583d7wSqZHogP561YEtfcu5M5FaCqIIE,2782
|
|
219
|
-
foxes/utils/__init__.py,sha256=
|
|
233
|
+
foxes/utils/__init__.py,sha256=VkT0l3ety_dhfP-RdoI3nLmBeHvJetfIuo2-rz8_Biw,753
|
|
220
234
|
foxes/utils/cubic_roots.py,sha256=u2Pf-yHZ6EASpFONMfkv0mvldmd1E1VRZxj69YabDoc,3321
|
|
221
235
|
foxes/utils/data_book.py,sha256=DgxusriNH-fhHNN_v6TY3QWcAnrAcw20Wgz7lDfbMeg,5302
|
|
222
236
|
foxes/utils/dict.py,sha256=s922OY22wOKBMbzQ_g-T-MhEw1dga0d3CCwFwd0nI78,886
|
|
223
237
|
foxes/utils/exec_python.py,sha256=BRylxWOyYHpjIZXCuoOp_A-P9VMoQZ13P2vpHs-lqj8,1714
|
|
224
|
-
foxes/utils/factory.py,sha256=
|
|
238
|
+
foxes/utils/factory.py,sha256=c-Zz1BxVjt5aICoTB0Lz-K16J-RqFdLjTEPmtkykXMU,15647
|
|
225
239
|
foxes/utils/geopandas_helpers.py,sha256=inVQHMco6Op7YN3VFH1DGAJZWREuveJUS7gyoRudw2A,7895
|
|
226
240
|
foxes/utils/geopandas_utils.py,sha256=inVQHMco6Op7YN3VFH1DGAJZWREuveJUS7gyoRudw2A,7895
|
|
227
241
|
foxes/utils/load.py,sha256=7jrCX2GQ_GTgrSu3nz-jfxiyswa7Q3XXCYqobl6bkyk,1290
|
|
@@ -250,9 +264,9 @@ foxes/utils/geom2d/half_plane.py,sha256=kzZD6pkZxZ03MK9WAboWzXb5Ws5dWLQY9GIahD4D
|
|
|
250
264
|
foxes/utils/geom2d/polygon.py,sha256=8ASfy7No_-Pt_xDSeNsDtLEkCjBWsNZK8nIxDQtqeOE,5534
|
|
251
265
|
foxes/utils/runners/__init__.py,sha256=-WL4ZmdgNYldkqhCV6dR-aXCumBrH-Ea-V1shsRhsbs,55
|
|
252
266
|
foxes/utils/runners/runners.py,sha256=Sc06qsCzPduMyxbywgf6G3uHRioDs1qWRSc6GZbLFAY,6932
|
|
253
|
-
foxes-0.7.
|
|
254
|
-
foxes-0.7.
|
|
255
|
-
foxes-0.7.
|
|
256
|
-
foxes-0.7.
|
|
257
|
-
foxes-0.7.
|
|
258
|
-
foxes-0.7.
|
|
267
|
+
foxes-0.7.3.1.dist-info/LICENSE,sha256=bBCH6mYTPzSepk2s2UUZ3II_ZYXrn1bnSqB85-aZHxU,1071
|
|
268
|
+
foxes-0.7.3.1.dist-info/METADATA,sha256=XZwo5sgzFMP_UjC7cuZcrZXBBJfO4XzTfHUWcP7lxuU,9568
|
|
269
|
+
foxes-0.7.3.1.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
|
|
270
|
+
foxes-0.7.3.1.dist-info/top_level.txt,sha256=B4spGR6JHsVHz7CEXsa68xsjYalAA70nBwHa1gfyRHc,6
|
|
271
|
+
foxes-0.7.3.1.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
272
|
+
foxes-0.7.3.1.dist-info/RECORD,,
|