foxes 1.3__py3-none-any.whl → 1.4__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.

Files changed (190) hide show
  1. docs/source/conf.py +3 -3
  2. examples/abl_states/run.py +2 -2
  3. examples/compare_rotors_pwakes/run.py +1 -1
  4. examples/compare_wakes/run.py +1 -2
  5. examples/dyn_wakes/run.py +29 -6
  6. examples/induction/run.py +3 -3
  7. examples/multi_height/run.py +1 -1
  8. examples/power_mask/run.py +2 -2
  9. examples/quickstart/run.py +0 -1
  10. examples/random_timeseries/run.py +3 -4
  11. examples/scan_row/run.py +3 -3
  12. examples/sequential/run.py +33 -10
  13. examples/single_state/run.py +3 -4
  14. examples/states_lookup_table/run.py +3 -3
  15. examples/streamline_wakes/run.py +27 -4
  16. examples/tab_file/run.py +3 -3
  17. examples/timelines/run.py +29 -5
  18. examples/timeseries/run.py +3 -3
  19. examples/timeseries_slurm/run.py +3 -3
  20. examples/wind_rose/run.py +3 -3
  21. examples/yawed_wake/run.py +16 -8
  22. foxes/__init__.py +21 -17
  23. foxes/algorithms/__init__.py +6 -6
  24. foxes/algorithms/downwind/__init__.py +2 -2
  25. foxes/algorithms/downwind/downwind.py +44 -12
  26. foxes/algorithms/downwind/models/__init__.py +6 -6
  27. foxes/algorithms/downwind/models/farm_wakes_calc.py +11 -9
  28. foxes/algorithms/downwind/models/init_farm_data.py +0 -1
  29. foxes/algorithms/downwind/models/point_wakes_calc.py +7 -13
  30. foxes/algorithms/downwind/models/set_amb_point_results.py +6 -6
  31. foxes/algorithms/iterative/__init__.py +7 -3
  32. foxes/algorithms/iterative/iterative.py +1 -2
  33. foxes/algorithms/iterative/models/__init__.py +7 -3
  34. foxes/algorithms/iterative/models/farm_wakes_calc.py +9 -5
  35. foxes/algorithms/sequential/__init__.py +3 -3
  36. foxes/algorithms/sequential/models/__init__.py +2 -2
  37. foxes/algorithms/sequential/sequential.py +3 -4
  38. foxes/config/__init__.py +5 -1
  39. foxes/constants.py +16 -0
  40. foxes/core/__init__.py +45 -22
  41. foxes/core/algorithm.py +0 -1
  42. foxes/core/data.py +19 -18
  43. foxes/core/engine.py +9 -13
  44. foxes/core/farm_controller.py +2 -2
  45. foxes/core/ground_model.py +4 -13
  46. foxes/core/model.py +5 -5
  47. foxes/core/partial_wakes_model.py +147 -10
  48. foxes/core/point_data_model.py +2 -3
  49. foxes/core/rotor_model.py +3 -3
  50. foxes/core/states.py +2 -3
  51. foxes/core/turbine.py +2 -1
  52. foxes/core/wake_deflection.py +130 -0
  53. foxes/core/wake_model.py +222 -9
  54. foxes/core/wake_superposition.py +122 -4
  55. foxes/core/wind_farm.py +6 -6
  56. foxes/data/__init__.py +7 -2
  57. foxes/data/states/weibull_sectors_12.csv +13 -0
  58. foxes/data/states/weibull_sectors_12.nc +0 -0
  59. foxes/engines/__init__.py +14 -15
  60. foxes/engines/dask.py +39 -14
  61. foxes/engines/numpy.py +0 -3
  62. foxes/input/__init__.py +3 -3
  63. foxes/input/farm_layout/__init__.py +8 -8
  64. foxes/input/farm_layout/from_csv.py +1 -1
  65. foxes/input/farm_layout/ring.py +0 -1
  66. foxes/input/states/__init__.py +22 -12
  67. foxes/input/states/create/__init__.py +3 -2
  68. foxes/input/states/field_data_nc.py +10 -24
  69. foxes/input/states/multi_height.py +9 -6
  70. foxes/input/states/one_point_flow.py +0 -4
  71. foxes/input/states/single.py +1 -1
  72. foxes/input/states/states_table.py +10 -7
  73. foxes/input/states/weibull_sectors.py +225 -0
  74. foxes/input/states/wrg_states.py +7 -5
  75. foxes/input/yaml/__init__.py +9 -3
  76. foxes/input/yaml/dict.py +19 -19
  77. foxes/input/yaml/windio/__init__.py +10 -5
  78. foxes/input/yaml/windio/read_attributes.py +2 -2
  79. foxes/input/yaml/windio/read_farm.py +5 -5
  80. foxes/input/yaml/windio/read_fields.py +4 -2
  81. foxes/input/yaml/windio/read_site.py +52 -0
  82. foxes/input/yaml/windio/windio.py +1 -1
  83. foxes/models/__init__.py +15 -14
  84. foxes/models/axial_induction/__init__.py +2 -2
  85. foxes/models/farm_controllers/__init__.py +1 -1
  86. foxes/models/farm_models/__init__.py +1 -1
  87. foxes/models/ground_models/__init__.py +3 -2
  88. foxes/models/ground_models/wake_mirror.py +3 -3
  89. foxes/models/model_book.py +175 -49
  90. foxes/models/partial_wakes/__init__.py +6 -6
  91. foxes/models/partial_wakes/axiwake.py +30 -5
  92. foxes/models/partial_wakes/centre.py +47 -0
  93. foxes/models/partial_wakes/rotor_points.py +41 -11
  94. foxes/models/partial_wakes/segregated.py +2 -25
  95. foxes/models/partial_wakes/top_hat.py +27 -2
  96. foxes/models/point_models/__init__.py +4 -4
  97. foxes/models/rotor_models/__init__.py +3 -3
  98. foxes/models/turbine_models/__init__.py +11 -11
  99. foxes/models/turbine_models/set_farm_vars.py +0 -1
  100. foxes/models/turbine_types/PCt_file.py +0 -2
  101. foxes/models/turbine_types/PCt_from_two.py +0 -2
  102. foxes/models/turbine_types/__init__.py +9 -9
  103. foxes/models/vertical_profiles/__init__.py +7 -7
  104. foxes/models/wake_deflections/__init__.py +3 -0
  105. foxes/models/{wake_frames/yawed_wakes.py → wake_deflections/bastankhah2016.py} +32 -111
  106. foxes/models/wake_deflections/jimenez.py +277 -0
  107. foxes/models/wake_deflections/no_deflection.py +94 -0
  108. foxes/models/wake_frames/__init__.py +6 -7
  109. foxes/models/wake_frames/dynamic_wakes.py +12 -3
  110. foxes/models/wake_frames/rotor_wd.py +3 -1
  111. foxes/models/wake_frames/seq_dynamic_wakes.py +41 -7
  112. foxes/models/wake_frames/streamlines.py +8 -6
  113. foxes/models/wake_frames/timelines.py +9 -3
  114. foxes/models/wake_models/__init__.py +7 -7
  115. foxes/models/wake_models/dist_sliced.py +50 -84
  116. foxes/models/wake_models/gaussian.py +20 -0
  117. foxes/models/wake_models/induction/__init__.py +5 -5
  118. foxes/models/wake_models/induction/rankine_half_body.py +30 -71
  119. foxes/models/wake_models/induction/rathmann.py +65 -64
  120. foxes/models/wake_models/induction/self_similar.py +65 -68
  121. foxes/models/wake_models/induction/self_similar2020.py +0 -3
  122. foxes/models/wake_models/induction/vortex_sheet.py +71 -75
  123. foxes/models/wake_models/ti/__init__.py +2 -2
  124. foxes/models/wake_models/ti/crespo_hernandez.py +5 -3
  125. foxes/models/wake_models/ti/iec_ti.py +6 -4
  126. foxes/models/wake_models/top_hat.py +58 -7
  127. foxes/models/wake_models/wind/__init__.py +6 -4
  128. foxes/models/wake_models/wind/bastankhah14.py +25 -7
  129. foxes/models/wake_models/wind/bastankhah16.py +35 -3
  130. foxes/models/wake_models/wind/jensen.py +15 -2
  131. foxes/models/wake_models/wind/turbopark.py +28 -2
  132. foxes/models/wake_superpositions/__init__.py +18 -9
  133. foxes/models/wake_superpositions/ti_linear.py +4 -4
  134. foxes/models/wake_superpositions/ti_max.py +4 -4
  135. foxes/models/wake_superpositions/ti_pow.py +4 -4
  136. foxes/models/wake_superpositions/ti_quadratic.py +4 -4
  137. foxes/models/wake_superpositions/wind_vector.py +257 -0
  138. foxes/models/wake_superpositions/ws_linear.py +9 -10
  139. foxes/models/wake_superpositions/ws_max.py +8 -8
  140. foxes/models/wake_superpositions/ws_pow.py +8 -8
  141. foxes/models/wake_superpositions/ws_product.py +4 -4
  142. foxes/models/wake_superpositions/ws_quadratic.py +8 -8
  143. foxes/output/__init__.py +21 -19
  144. foxes/output/farm_layout.py +2 -2
  145. foxes/output/farm_results_eval.py +15 -15
  146. foxes/output/flow_plots_2d/__init__.py +2 -2
  147. foxes/output/flow_plots_2d/get_fig.py +4 -2
  148. foxes/output/rose_plot.py +3 -3
  149. foxes/output/seq_plugins/__init__.py +2 -2
  150. foxes/output/seq_plugins/seq_flow_ani_plugin.py +0 -3
  151. foxes/output/seq_plugins/seq_wake_debug_plugin.py +0 -1
  152. foxes/output/turbine_type_curves.py +7 -8
  153. foxes/utils/__init__.py +37 -19
  154. foxes/utils/abl/__init__.py +4 -4
  155. foxes/utils/cubic_roots.py +1 -1
  156. foxes/utils/data_book.py +4 -3
  157. foxes/utils/dict.py +3 -3
  158. foxes/utils/exec_python.py +5 -5
  159. foxes/utils/factory.py +1 -3
  160. foxes/utils/geom2d/__init__.py +7 -5
  161. foxes/utils/geopandas_utils.py +2 -2
  162. foxes/utils/pandas_utils.py +4 -3
  163. foxes/utils/tab_files.py +0 -1
  164. foxes/utils/weibull.py +28 -0
  165. foxes/utils/wrg_utils.py +3 -1
  166. foxes/utils/xarray_utils.py +9 -2
  167. foxes/variables.py +67 -9
  168. {foxes-1.3.dist-info → foxes-1.4.dist-info}/METADATA +6 -15
  169. foxes-1.4.dist-info/RECORD +320 -0
  170. {foxes-1.3.dist-info → foxes-1.4.dist-info}/WHEEL +1 -1
  171. tests/1_verification/flappy_0_6/PCt_files/flappy/run.py +2 -3
  172. tests/1_verification/flappy_0_6/PCt_files/test_PCt_files.py +1 -1
  173. tests/1_verification/flappy_0_6/abl_states/flappy/run.py +0 -1
  174. tests/1_verification/flappy_0_6/partial_top_hat/flappy/run.py +0 -1
  175. tests/1_verification/flappy_0_6/partial_top_hat/test_partial_top_hat.py +0 -2
  176. tests/1_verification/flappy_0_6/row_Jensen_linear_centre/test_row_Jensen_linear_centre.py +0 -1
  177. tests/1_verification/flappy_0_6/row_Jensen_linear_tophat/test_row_Jensen_linear_tophat.py +0 -1
  178. tests/1_verification/flappy_0_6/row_Jensen_linear_tophat_IECTI2005/test_row_Jensen_linear_tophat_IECTI_2005.py +0 -1
  179. tests/1_verification/flappy_0_6/row_Jensen_linear_tophat_IECTI2019/test_row_Jensen_linear_tophat_IECTI_2019.py +0 -1
  180. tests/1_verification/flappy_0_6/row_Jensen_quadratic_centre/test_row_Jensen_quadratic_centre.py +0 -1
  181. tests/1_verification/flappy_0_6_2/grid_rotors/flappy/run.py +0 -2
  182. tests/1_verification/flappy_0_6_2/row_Bastankhah_Crespo/test_row_Bastankhah_Crespo.py +0 -1
  183. tests/1_verification/flappy_0_6_2/row_Bastankhah_linear_centre/flappy/run.py +0 -1
  184. tests/1_verification/flappy_0_6_2/row_Bastankhah_linear_centre/test_row_Bastankhah_linear_centre.py +0 -1
  185. foxes/output/round.py +0 -10
  186. foxes/utils/pandas_helpers.py +0 -178
  187. foxes-1.3.dist-info/RECORD +0 -313
  188. {foxes-1.3.dist-info → foxes-1.4.dist-info}/entry_points.txt +0 -0
  189. {foxes-1.3.dist-info → foxes-1.4.dist-info/licenses}/LICENSE +0 -0
  190. {foxes-1.3.dist-info → foxes-1.4.dist-info}/top_level.txt +0 -0
foxes/utils/wrg_utils.py CHANGED
@@ -42,7 +42,9 @@ class ReaderWRG:
42
42
  int(self._res),
43
43
  )
44
44
 
45
- cols_sel = lambda name, secs: [f"{name}_{i}" for i in range(secs)]
45
+ def cols_sel(name, secs):
46
+ """little helper to create column names"""
47
+ return [f"{name}_{i}" for i in range(secs)]
46
48
 
47
49
  cols = [0] * (8 + 3 * self._n_sectors)
48
50
  cols[0] = "utmx"
@@ -1,3 +1,5 @@
1
+ import numpy as np
2
+ from xarray import Dataset
1
3
  from pathlib import Path
2
4
 
3
5
  from foxes.variables import get_default_digits
@@ -31,18 +33,23 @@ def write_nc(
31
33
  """
32
34
  fpath = Path(fpath)
33
35
  if round is not None:
36
+ crds = {}
34
37
  for v in ds.coords.keys():
35
38
  d = round.get(v, get_default_digits(v))
36
39
  if d is not None:
37
40
  if verbosity > 1:
38
41
  print(f"File {fpath.name}: Rounding {v} to {d} decimals")
39
- ds[v].data = ds[v].data.round(decimals=d)
42
+ crds[v] = np.round(ds[v].to_numpy(), d)
43
+ else:
44
+ crds[v] = ds[v].to_numpy()
45
+ dvrs = {}
40
46
  for v in ds.data_vars.keys():
41
47
  d = round.get(v, get_default_digits(v))
42
48
  if d is not None:
43
49
  if verbosity > 1:
44
50
  print(f"File {fpath.name}: Rounding {v} to {d} decimals")
45
- ds[v].data = ds[v].data.round(decimals=d)
51
+ dvrs[v] = (ds[v].dims, np.round(ds[v].to_numpy(), d))
52
+ ds = Dataset(coords=crds, data_vars=dvrs)
46
53
 
47
54
  enc = None
48
55
  if complevel is not None and complevel > 0:
foxes/variables.py CHANGED
@@ -54,6 +54,21 @@ WD = "WD"
54
54
  :group: foxes.variables
55
55
  """
56
56
 
57
+ UV = "UV"
58
+ """ The 2D wind vector in m/s
59
+ :group: foxes.variables
60
+ """
61
+
62
+ U = "U"
63
+ """ The first horizontal wind vector component in m/s
64
+ :group: foxes.variables
65
+ """
66
+
67
+ V = "V"
68
+ """ The second horizontal wind vector component in m/s
69
+ :group: foxes.variables
70
+ """
71
+
57
72
  TI = "TI"
58
73
  """ The turbulence intensity
59
74
  :group: foxes.variables
@@ -128,6 +143,17 @@ calculated from third moment
128
143
  """
129
144
 
130
145
 
146
+ WEIBULL_A = "Weibull_A"
147
+ """ The Weibull scale parameter,
148
+ :group: foxes.variables
149
+ """
150
+
151
+ WEIBULL_k = "Weibull_k"
152
+ """ The Weibull shape parameter,
153
+ :group: foxes.variables
154
+ """
155
+
156
+
131
157
  AMB_WS = "AMB_WS"
132
158
  """ The ambient wind speed in m/s
133
159
  :group: foxes.variables
@@ -138,6 +164,21 @@ AMB_WD = "AMB_WD"
138
164
  :group: foxes.variables
139
165
  """
140
166
 
167
+ AMB_UV = "AMB_UV"
168
+ """ The ambient 2D wind vector in m/s
169
+ :group: foxes.variables
170
+ """
171
+
172
+ AMB_U = "AMB_U"
173
+ """ The first horizontal ambient wind vector component in m/s
174
+ :group: foxes.variables
175
+ """
176
+
177
+ AMB_V = "AMB_V"
178
+ """ The second horizontal ambient wind vector component in m/s
179
+ :group: foxes.variables
180
+ """
181
+
141
182
  AMB_TI = "AMB_TI"
142
183
  """ The ambient turbulence intensity
143
184
  :group: foxes.variables
@@ -203,6 +244,16 @@ calculated from third moment
203
244
  :group: foxes.variables
204
245
  """
205
246
 
247
+ AMB_WEIBULL_A = "AMB_Weibull_A"
248
+ """ Ambient Weibull scale parameter,
249
+ :group: foxes.variables
250
+ """
251
+
252
+ AMB_WEIBULL_k = "AMB_Weibull_k"
253
+ """ Ambient Weibull shape parameter,
254
+ :group: foxes.variables
255
+ """
256
+
206
257
 
207
258
  var2amb = {
208
259
  v: f"AMB_{v}"
@@ -219,8 +270,13 @@ var2amb = {
219
270
  REWS,
220
271
  REWS2,
221
272
  REWS3,
273
+ WEIBULL_A,
274
+ WEIBULL_k,
222
275
  YLD,
223
276
  CAP,
277
+ UV,
278
+ U,
279
+ V,
224
280
  ]
225
281
  }
226
282
  """ Mapping from variable to the corresponding
@@ -282,9 +338,10 @@ PA_BETA = "PA_beta"
282
338
  :group: foxes.variables
283
339
  """
284
340
 
285
- DEFAULT_DIGITS = {
341
+ DEFAULT_DIGITS = 4
342
+
343
+ ROUND_DIGITS = {
286
344
  WD: 3,
287
- WS: 4,
288
345
  TI: 6,
289
346
  RHO: 5,
290
347
  P: 3,
@@ -293,10 +350,14 @@ DEFAULT_DIGITS = {
293
350
  YLD: 3,
294
351
  CAP: 5,
295
352
  EFF: 5,
353
+ WEIBULL_A: 3,
354
+ WEIBULL_k: 3,
355
+ YAW: 3,
356
+ YAWM: 3,
296
357
  }
297
- """ The default output digits
298
- :group: foxes.variables
299
- """
358
+ ROUND_DIGITS.update(
359
+ {var2amb[v]: ROUND_DIGITS[v] for v in var2amb.keys() if v in ROUND_DIGITS}
360
+ )
300
361
 
301
362
 
302
363
  def get_default_digits(variable):
@@ -314,7 +375,4 @@ def get_default_digits(variable):
314
375
  The default number of output digits
315
376
 
316
377
  """
317
- v = amb2var.get(variable, variable)
318
- if v in [REWS, REWS2, REWS3]:
319
- v = WS
320
- return DEFAULT_DIGITS.get(v, None)
378
+ return ROUND_DIGITS.get(variable, DEFAULT_DIGITS)
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: foxes
3
- Version: 1.3
3
+ Version: 1.4
4
4
  Summary: Farm Optimization and eXtended yield Evaluation Software
5
5
  Author: Jonas Schulte
6
6
  Maintainer: Jonas Schulte
@@ -56,16 +56,15 @@ Requires-Dist: scipy
56
56
  Requires-Dist: cycler
57
57
  Requires-Dist: tqdm
58
58
  Requires-Dist: pyyaml
59
+ Requires-Dist: h5netcdf
59
60
  Provides-Extra: opt
60
61
  Requires-Dist: foxes-opt; extra == "opt"
61
62
  Provides-Extra: dask
62
- Requires-Dist: h5netcdf; extra == "dask"
63
63
  Requires-Dist: dask; extra == "dask"
64
64
  Requires-Dist: distributed; extra == "dask"
65
65
  Requires-Dist: dask-jobqueue; extra == "dask"
66
66
  Requires-Dist: setuptools; extra == "dask"
67
67
  Provides-Extra: eng
68
- Requires-Dist: h5netcdf; extra == "eng"
69
68
  Requires-Dist: multiprocess; extra == "eng"
70
69
  Requires-Dist: dask; extra == "eng"
71
70
  Requires-Dist: distributed; extra == "eng"
@@ -74,7 +73,6 @@ Requires-Dist: setuptools; extra == "eng"
74
73
  Requires-Dist: mpi4py; extra == "eng"
75
74
  Requires-Dist: ray; extra == "eng"
76
75
  Provides-Extra: eng0
77
- Requires-Dist: h5netcdf; extra == "eng0"
78
76
  Requires-Dist: multiprocess; extra == "eng0"
79
77
  Requires-Dist: dask; extra == "eng0"
80
78
  Requires-Dist: distributed; extra == "eng0"
@@ -84,7 +82,6 @@ Requires-Dist: ray; extra == "eng0"
84
82
  Provides-Extra: test
85
83
  Requires-Dist: flake8; extra == "test"
86
84
  Requires-Dist: pytest; extra == "test"
87
- Requires-Dist: h5netcdf; extra == "test"
88
85
  Provides-Extra: doc
89
86
  Requires-Dist: setuptools; extra == "doc"
90
87
  Requires-Dist: sphinx; extra == "doc"
@@ -101,7 +98,8 @@ Requires-Dist: flake8; extra == "dev"
101
98
  Requires-Dist: pytest; extra == "dev"
102
99
  Requires-Dist: jupyter; extra == "dev"
103
100
  Requires-Dist: objsize; extra == "dev"
104
- Requires-Dist: black[jupyter]; extra == "dev"
101
+ Requires-Dist: ruff; extra == "dev"
102
+ Dynamic: license-file
105
103
 
106
104
  # Welcome to foxes
107
105
 
@@ -161,14 +159,7 @@ Evaluation Software"`
161
159
 
162
160
  ## Requirements
163
161
 
164
- The supported Python versions are:
165
-
166
- - `Python 3.8`
167
- - `Python 3.9`
168
- - `Python 3.10`
169
- - `Python 3.11`
170
- - `Python 3.12`
171
- - `Python 3.13`
162
+ The supported Python versions are `Python 3.8`...`3.13`.
172
163
 
173
164
  ## Installation
174
165
 
@@ -0,0 +1,320 @@
1
+ docs/source/conf.py,sha256=4Ezd0T115OfGbMkEL9K9ngwk9zzNKDM4SEnYq-V2BKU,12351
2
+ examples/abl_states/run.py,sha256=NUyNTRzPb2mW_oiWj3NWgHb2lx-6F_CZ27g9Y9_a_to,4598
3
+ examples/compare_rotors_pwakes/run.py,sha256=yGvSGguLcgJmYNwTUGKJDRBxRRFFRYKF4v4VLUo9Wfw,6642
4
+ examples/compare_wakes/run.py,sha256=uS3svL5UYcttvtSW6jCUyS0_qW0-ArBkY-msYfvJSkE,7353
5
+ examples/dyn_wakes/run.py,sha256=7L9Ao-U2TIxE8VT1ZT1rFCHrOBlsBeV1Vck0QDzH9Ak,9364
6
+ examples/field_data_nc/run.py,sha256=EYx9B5axIPW2yfVet4QpMGyPMbMbPoTRvGrl249L_RM,3570
7
+ examples/induction/run.py,sha256=Vqrjuw1_inqseihl-8_qgp4rq-7kc2NawsKa39Ux7V4,6340
8
+ examples/multi_height/run.py,sha256=9Gbx-FiMro1pxiMHMO8pomP8tgBbuW6w-jaJW_S5zMA,3294
9
+ examples/power_mask/run.py,sha256=BXR0V_9y1aebzLnj2bXIFXMHQ1veaCMAPLRAH8EMOhY,7596
10
+ examples/quickstart/run.py,sha256=fo8A_oioPyUtNs4EiHZE1fCHH6DRuXFQzWJyHHd_oiI,427
11
+ examples/random_timeseries/run.py,sha256=ASpLTZkG9tLVbG34vyiBK1zJgvvAfl45EhA6r6jHDxM,6111
12
+ examples/scan_row/run.py,sha256=ti3XCL4MSyL5b0qMsbJOZfpLNOm6OiMwHd_sN5939tg,5850
13
+ examples/sector_management/run.py,sha256=WQvrHqtC7_u6JvZfbRsVSb3SPYDjCp-ZJpC-nZsQf5M,4451
14
+ examples/sequential/run.py,sha256=pd7L3obYyqNZXzDxntRKsfhqunG0SIjZslbD42WcveI,6758
15
+ examples/single_state/run.py,sha256=VfZD5Ev4jLo6LQ7antKmZFU8SDfezeI9ERSf4ASvKsU,6162
16
+ examples/states_lookup_table/run.py,sha256=XZkntAbHfZwozQ0GFOQiKl4yjm7v4TjC4lwSsF1Ixgs,3922
17
+ examples/streamline_wakes/run.py,sha256=JT2DrrqatcqP93AKPbjhvWoIziM2O5QFWZtQrHIOBE4,4681
18
+ examples/tab_file/run.py,sha256=xe4VUwyl3eYMUGtyS7kuieGeoYo9mEq_ZvQ6E1rZ1uE,4370
19
+ examples/timelines/run.py,sha256=ca1koiA6qX8LVrAGrYMJRJY7xChwwjHndP6AB5LNlqA,8261
20
+ examples/timeseries/run.py,sha256=QN6xXXUOZFh12FBZ6to_WC1rnLkCzebay2ORiLp1X10,5399
21
+ examples/timeseries_slurm/run.py,sha256=4yHi4SXr7rff4tbJNQEUa9Dd7Dvli2XrJExu-xdE2Us,5587
22
+ examples/wind_rose/run.py,sha256=QeV6tbJcJcDD8vC1kQqRgyyeRjACzTmYkedLQ9eqYe0,4253
23
+ examples/yawed_wake/run.py,sha256=kfs-KrACVYjJm2gAxzdy6QalwkjFJn963KkzBqF1ucU,6503
24
+ foxes/__init__.py,sha256=1RPU7w3WJ3jFb2aJdZKRy-6Fje9qAaH85WYcOCiDvwk,1375
25
+ foxes/constants.py,sha256=jQcyeU53V629Tf8qQWc2F4Xw1rV3ywtJiT-g1JWenNg,3842
26
+ foxes/variables.py,sha256=sK58u3HJRsWo-fbE7GPlQUhF0YUhY-qSg6Vl8Pv1Eo8,6144
27
+ foxes/algorithms/__init__.py,sha256=L0VyK-B81zXr-IFI6NMhJ7Px9XVhlkmX0M0IrKhcf0o,327
28
+ foxes/algorithms/downwind/__init__.py,sha256=tdTnMEVLi58EMkqStollQb4gPug4x8Te2K8ddAxkas8,75
29
+ foxes/algorithms/downwind/downwind.py,sha256=VTuu8_BpQbjcr1Q2L_YPIhXhfuKqJOj-BzIe_xVMcY0,26219
30
+ foxes/algorithms/downwind/models/__init__.py,sha256=R3RAfpvNvDhzFJeyc79si3nk7odfzpeitXnefBgX9co,429
31
+ foxes/algorithms/downwind/models/farm_wakes_calc.py,sha256=dgT9XdygV2aEiSo56mT8TJqbjttT0-9zujMUXn8oeVY,6005
32
+ foxes/algorithms/downwind/models/init_farm_data.py,sha256=_K2eZpuFwZJ3BEl0JnbAbJ0RNy-4Pxe9tZF6QPcVTa0,4146
33
+ foxes/algorithms/downwind/models/point_wakes_calc.py,sha256=PUKfn3j0sh6XwBfn1sYDSnNi-xXxIifLjshdtX1HJwo,4335
34
+ foxes/algorithms/downwind/models/reorder_farm_output.py,sha256=SEZXJNJcYjXd53PGg1mgEQzjevSlLkcUy8Ytz4rvS1Q,2128
35
+ foxes/algorithms/downwind/models/set_amb_farm_results.py,sha256=_xYNjFZiofHLGIFNw671izXUn37psX-NhSIO63IRwvA,1732
36
+ foxes/algorithms/downwind/models/set_amb_point_results.py,sha256=rULe4sVg2QTwROqqEW-kNqOk_Jo6waywhUpY1O8toRo,2328
37
+ foxes/algorithms/iterative/__init__.py,sha256=MxevjE6Rpv9ApaDU7cUGXgAbSPY3CRR0eJACKEoP6Qg,313
38
+ foxes/algorithms/iterative/iterative.py,sha256=cM3NVWvWHQlikcGFszQQS4fog-eAEFv6cJBXK0cr9r8,9928
39
+ foxes/algorithms/iterative/models/__init__.py,sha256=AQcTV886elaXCNaIZUL_CzOy9ylXxbVLcaexMJRWliM,318
40
+ foxes/algorithms/iterative/models/convergence.py,sha256=5fCeTMisYEhgvPRbLKMK0XYsSSr2xWqqzB-pUBrIjYk,6466
41
+ foxes/algorithms/iterative/models/farm_wakes_calc.py,sha256=bbrmwvoiREjtHjjWCtxU76sq_tmPVTH-cbfp8vnNDUE,5220
42
+ foxes/algorithms/iterative/models/urelax.py,sha256=412fHSpi_4MATE1qRzqcZDFff6iJpV1h3QIBL_7giQE,2076
43
+ foxes/algorithms/sequential/__init__.py,sha256=3Amu4cBGzLyy45pjL1rjkMINtAYnanLfs_3Puugj-WI,138
44
+ foxes/algorithms/sequential/sequential.py,sha256=5tBHou_lCZFJ9HsTeZUX7P_sM98vaQNKqFIxhDUN9No,12036
45
+ foxes/algorithms/sequential/models/__init__.py,sha256=bEdIE4djbiNxnW0eNy1nM11TmD5RpZ6LZum-pQcv17A,101
46
+ foxes/algorithms/sequential/models/plugin.py,sha256=HhCeHM_YoJRMXuZKa8rXUJZDhWf5rNl28_UfDLSGWvA,1330
47
+ foxes/algorithms/sequential/models/seq_state.py,sha256=al7XhLKLQSGhfUZw--Bz4RNNbA1jeObKZd1v58hEt-Q,3206
48
+ foxes/config/__init__.py,sha256=M2FrI1gO6SZUUPsQe1KL_-JNyUUt_Lk4nOw7cyNpHew,223
49
+ foxes/config/config.py,sha256=e3HhitD2Xleqm3utoXLGAu8Vg16app35Cpx4nBhnZm8,4318
50
+ foxes/core/__init__.py,sha256=iMuUuPsFERvjY2PQa7PCEsxrZYRJ8IORJs3k3OoerFw,1985
51
+ foxes/core/algorithm.py,sha256=lSeWTdiWu6CEyLe3s7YEw6pewBhtQtMn56maiRooYFE,27445
52
+ foxes/core/axial_induction_model.py,sha256=sGbTHFMjEYKiVjElLP_SCRulKatcK0wsEXf30zty2Vc,1023
53
+ foxes/core/data.py,sha256=Qv_RnLHfOq-EVpz4fizS9GB_uPW9SdNhssUa35m1g_0,23276
54
+ foxes/core/data_calc_model.py,sha256=Hhl2ZapafsIvq5z_YWlGqB3kkF64txohU_MHlfHAvpk,1334
55
+ foxes/core/engine.py,sha256=QQVE_4e3OL5Yq-Vg1mj_Lzo2tiNlh2RggNghn1CV_2k,20712
56
+ foxes/core/farm_controller.py,sha256=W-NQChGkvxwd4MtFWjEdoZi3e7wQ86J2H2_rf4mJ1Q8,13835
57
+ foxes/core/farm_data_model.py,sha256=_1DXJzyfLwha80aL-BT57wHLimOiiw1rPTxH8qxVl54,7384
58
+ foxes/core/farm_model.py,sha256=ogFahCjC2dIBcjnCMmy0cTGulKTDA2ufFUzODf0-KnI,265
59
+ foxes/core/ground_model.py,sha256=taRqQ0Dg_2jEWXLusgEmlpDqo7j7xkCnz9MwkPHgZ4w,6942
60
+ foxes/core/model.py,sha256=WRbaXwHHLmPKAONcXe_Zhy6ZYfuPpgEe5-FAGrLRyiw,19666
61
+ foxes/core/partial_wakes_model.py,sha256=aOG-vss4yiw7upWl6EPue-4Dsl4z1drd3LndPTt74Kc,9782
62
+ foxes/core/point_data_model.py,sha256=qaqi7woSNCNwr4k0EGruu51SvJ6ubpdV-6s6_kCdQhE,7521
63
+ foxes/core/rotor_model.py,sha256=MPQoTafjuTkkrfSD90yua6dg5HOU3XuORRsynjCnvcc,13149
64
+ foxes/core/states.py,sha256=aG1jRR1EVTwQQ-dj-dsx_FL3y9XjFy9uJ8kYNPgA58U,6968
65
+ foxes/core/turbine.py,sha256=BVTMZpueogoNF84PNVUrcy54Qpk5Z9_lQIs68-3hb5o,3090
66
+ foxes/core/turbine_model.py,sha256=I-t-2lNVDaifg_cHEurqan9Ko9kcI1k-VEkKS_nyX-o,1585
67
+ foxes/core/turbine_type.py,sha256=DbzDmSfSow7RPCyRlQ_WrzWJ7fPnIN0BBGVzWhhG8FU,3174
68
+ foxes/core/vertical_profile.py,sha256=5fRmvTc-9afFDfaDLt2UY7xATK36o8Jq2hxATueuelw,1364
69
+ foxes/core/wake_deflection.py,sha256=kpw8Qx42snzkECxvlZ6sbtU_jdLrcQBsep9KUJC5Up0,3182
70
+ foxes/core/wake_frame.py,sha256=h5yR2_dEVOvroAizhszexfYqDvU7E7TiFfETELMKkBs,9240
71
+ foxes/core/wake_model.py,sha256=F2gj7_N7c6cliZAZS62eoxdEQIAL1ynjno3qUmtc16U,14163
72
+ foxes/core/wake_superposition.py,sha256=AOrELRpgtN7JMizh0EAdBBIj4YEW5gRE46jXxWOl3AY,6548
73
+ foxes/core/wind_farm.py,sha256=KZXjyBXn4btYJXcRQExYcbKlziRhRvpEGgUqM7nltZE,4891
74
+ foxes/data/__init__.py,sha256=IqcFyDcc4dnLhXoGqMmVgaYHDB2nMNFQ0GJbyIGGgo4,334
75
+ foxes/data/parse.py,sha256=x71oWLyvVsMJ7XVL9VRQXZbflnTXqBaxyBdoMQdZExs,2947
76
+ foxes/data/static_data.py,sha256=3_1ngRLCxBHxYAqD_kwz8_EcxlNa-RcB5Wjrx6swfwM,712
77
+ foxes/data/farms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
+ foxes/data/farms/test_farm_67.csv,sha256=TwHt8NVuyP6p2G1VaM_Mi4ENBaHyg4eF6jz0zXQQDro,1872
79
+ foxes/data/power_ct_curves/DTU-10MW-D178d3-H119.csv,sha256=71C1HTf9QtAvavYLwo6US-JmEGyiByrnvZPysua8muE,410
80
+ foxes/data/power_ct_curves/IEA-15MW-D240-H150.csv,sha256=ITmkbLIG-jsAoxg1eYgJEbxohEE414pRUO7bzwkv6VU,300
81
+ foxes/data/power_ct_curves/IWT-7d5MW-D164-H100.csv,sha256=K9yAhgkCZfRBKZibxKbHtWrKg5mIHnMCswdOVd2uyQ0,851
82
+ foxes/data/power_ct_curves/NREL-5MW-D126-H90.csv,sha256=u2b6LUCCKL6bYn2lNrB02MqBnwT-veL4CCi6Km4am-E,401
83
+ foxes/data/power_ct_curves/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
84
+ foxes/data/states/WRF-Timeseries-3000.nc,sha256=ZB1b-CTCu_yiLH4sKhQFmb47O-pOh7Ab2qyhx6P0Z5I,453633
85
+ foxes/data/states/WRF-Timeseries-4464.csv.gz,sha256=bjZxvnVp_iyVmIhd-N9lE5TJUZQvunsuueVXu_MnLpk,427815
86
+ foxes/data/states/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
+ foxes/data/states/abl_states_6000.csv.gz,sha256=wzbMKNk3jZ3sRlV4aYJSv_ycncEryXaFT1uQ3oNYJSQ,126124
88
+ foxes/data/states/timeseries_100.csv.gz,sha256=7jIJPuseoMyc6kB-4JTzWJuPmugfXjg5gP5AKnvOdIs,501
89
+ foxes/data/states/timeseries_3000.csv.gz,sha256=e6hkBMl2oQ0y9zy1I2uh3xyv4YyH9NbRnLwbR4EU1Jc,29085
90
+ foxes/data/states/timeseries_8000.csv.gz,sha256=CzayW5CtnP9Y2kxCE4jlsDZwr6G_RMfacnp17mUUQ_4,78694
91
+ foxes/data/states/weibull_sectors_12.csv,sha256=2oW08RYEUM5UhZuPTBIr0uOQwAOSgSvgZdtSUtRjm6w,670
92
+ foxes/data/states/weibull_sectors_12.nc,sha256=PL69YnXUhpTgc3AxXCialvZRTKyQH3zyvCjDv2iRyPQ,9471
93
+ foxes/data/states/wind_rose_bremen.csv,sha256=ixSf8-_esjFsBtfT3Y92k67QrJPDx6dY3uBhOSV-hj4,4943
94
+ foxes/data/states/wind_rotation.nc,sha256=-ZLfpxa_BJpRUABgJsK5I7c8ogAWTrYNE18un7FxhnU,10990
95
+ foxes/data/states/winds100.tab,sha256=X2Cw0H_-HzYEcb7ezn3ntWlKQXIxrWLNONVsrkmsof8,3061
96
+ foxes/engines/__init__.py,sha256=NvN4Kw3AjWYYhCRqXC1woyAchA1P6C507H2X-WfKOV8,712
97
+ foxes/engines/dask.py,sha256=ExGROdm2x7QaW_XvA4J89vISNXxsdfmhBGe9AkKU694,32326
98
+ foxes/engines/default.py,sha256=UJGUq-F6eUejb91RtXLT_OBx9bh6upN2sTNFG3wCgIM,2799
99
+ foxes/engines/futures.py,sha256=_VQXNLb0AxTtTouy96LhBnwPldHiG0xldHjpChKyNxs,1503
100
+ foxes/engines/mpi.py,sha256=XR9xFX6Spw8OKQ7x4qYOSeUlxcFWkwndNRiQ3IomkdM,650
101
+ foxes/engines/multiprocess.py,sha256=X4S-AnhnYuONpfZ3pKWi4VH9mm68ZMNm43ELPoeb-Ek,1328
102
+ foxes/engines/numpy.py,sha256=_lJFXBCGPt8FZ5rWKqtIl1o8z3dTdSlm4dczX9DpoLw,5761
103
+ foxes/engines/pool.py,sha256=Zye2gBs8NnBXy-Oz0lgvJCltX94yrEALNKMgh4CYtl0,8631
104
+ foxes/engines/ray.py,sha256=Otlc1ZfoTiNE6sq9rq1y212tVbaVDfxryqAl4T0AM_A,1622
105
+ foxes/engines/single.py,sha256=kd_qrfFRq9LFFnAfdKPcjIJ52ogxf_x05yAxbcsjSdQ,4692
106
+ foxes/input/__init__.py,sha256=JodEdc77y5I-CsgfT5HadMK7DH5EKcr9uGLEVcgM-wY,157
107
+ foxes/input/farm_layout/__init__.py,sha256=jsSCCAZtYQk9DX2QUYeRFarbxZ1UPN9ghglFJakyafw,428
108
+ foxes/input/farm_layout/from_csv.py,sha256=MAmsS83rvoZUfCeXTC6JixL92kZ7PQpvqtmz9iKlckE,3441
109
+ foxes/input/farm_layout/from_df.py,sha256=F5CKXHyL2rcrpCQqqqOr2HHX-BJ5VU1JQymzywmkBtc,574
110
+ foxes/input/farm_layout/from_file.py,sha256=PBUOq0Gb-Tq_6aS1HmSJBTNpDAT2UUGlgX1BDJ2CqAs,1643
111
+ foxes/input/farm_layout/from_json.py,sha256=0tib1J7h-x_wgI79pWhT-Vu90UcfZvUKj5rERfecTmE,1711
112
+ foxes/input/farm_layout/from_random.py,sha256=6ZYKbdV6x11MbQRAHs5nVYBAG-1K295xsMXtfCfAfts,1126
113
+ foxes/input/farm_layout/grid.py,sha256=CsVIYfCPyznEhDLO_tsTxBPJ591x8l-axDg4M5yArg0,1492
114
+ foxes/input/farm_layout/ring.py,sha256=JpqD-va-lu69VpZyT4v2MyUCyNwjdkXAq5g4_LLVs_A,1454
115
+ foxes/input/farm_layout/row.py,sha256=Bx9woFNkXbFXJg51GX2p2PbVgdxV3Ckxr-3TkB04PS4,1198
116
+ foxes/input/states/__init__.py,sha256=mmAnkGBrss3QhgbF7SJFShFYxHVCk-y3-RwqsyR0m44,1138
117
+ foxes/input/states/field_data_nc.py,sha256=EOr0h28orhw9nZ8_QfNX8adxLMpBY5riRRkELTkKLsw,28648
118
+ foxes/input/states/multi_height.py,sha256=Rd1nk3eG_6N4njLNfRj6E-4TDfw2CzuoV3bzgIZASTc,23386
119
+ foxes/input/states/one_point_flow.py,sha256=FZJrCxSfLIeF7nDkxe50uLz0WJ-Zw6R_Juvp76DmGjk,18165
120
+ foxes/input/states/scan.py,sha256=p-hmC3nod2oomV34AwkRK95dEU1Objs-Snqrn-UnZ7g,5863
121
+ foxes/input/states/single.py,sha256=A_oEACeWjJz-171MQiXySgUv7we2IrNSehWOjHyri0s,5910
122
+ foxes/input/states/states_table.py,sha256=Ucjyga3HwsThfAg43T0sleJm08Z0cqfuo7ctS0txz5A,20004
123
+ foxes/input/states/weibull_sectors.py,sha256=MnjlrSyBMBBssClQKTXRlnNEtWR1pVB6DerYv-Dvh7Q,7933
124
+ foxes/input/states/wrg_states.py,sha256=kbWxoUqquc8W2pntBoyzBPyBkvop8wBWTT8LZW90JZ8,9440
125
+ foxes/input/states/create/__init__.py,sha256=BNeDf2eAkNgHFvocXJBfpHSUU5uPcc0EkMb6BQRp_Y8,244
126
+ foxes/input/states/create/random_abl_states.py,sha256=LFCA19TCInXmB2FbKDaOkqCDsN0eOUIp34yzR2NQjtQ,3425
127
+ foxes/input/states/create/random_timeseries.py,sha256=gJpaQ4nEXxOjI4hp3xjNcVbCsmZUm-brXUxoqDb63WE,1266
128
+ foxes/input/yaml/__init__.py,sha256=XGCJlbE1SwavEWEKDRAuJwqAi9Afm_qwPnQLxPKjzP4,385
129
+ foxes/input/yaml/dict.py,sha256=QSNbhJF6mU4NP51XyQuKmfK2JK55CxdRfsAqhfvt9UU,14988
130
+ foxes/input/yaml/yaml.py,sha256=s6d-nPMdzNFis_sfnN3LPSn_Cco7hWseSeqKHJrvGjs,2715
131
+ foxes/input/yaml/windio/__init__.py,sha256=HXJEBEDd1FbATkDfjXzA3sgo9detUxgvekmC32QOc5E,446
132
+ foxes/input/yaml/windio/read_attributes.py,sha256=K1NOwhiPx7UtQ6pRCXXhYTPejXSBUebs69DBDmaDbEc,12466
133
+ foxes/input/yaml/windio/read_farm.py,sha256=5g7_gcRWq3Vt7q5MnCptENRU3YCLvbb1WW2afp8U57k,7565
134
+ foxes/input/yaml/windio/read_fields.py,sha256=lWMm5GQ6AcnQ_bQPHpIDpClya6yQd9GdpR0qrImGyIs,4738
135
+ foxes/input/yaml/windio/read_outputs.py,sha256=OGMO60ISXRJJihiRDrJr98xpSF10KwryUMHB4rUeCyE,7341
136
+ foxes/input/yaml/windio/read_site.py,sha256=CJVnsvjhaiMXkfwJuJ4D2AQx_tIT8SR4Gk6ReuQ27YI,9856
137
+ foxes/input/yaml/windio/windio.py,sha256=rItWiFUwmaBVzVq5Dx5p1-XoqX9EZTvUCVvwjKV6TlQ,5274
138
+ foxes/models/__init__.py,sha256=-wXjx9PkxWT2Koq4tmtCuasnlb8RIeLVWP7iSYPQ1Fc,727
139
+ foxes/models/model_book.py,sha256=o7F1o-btP4QnY6jT5cwk9UEBxD5TQ-DXkHcZv2f4V8s,29968
140
+ foxes/models/axial_induction/__init__.py,sha256=QJN1RLxIt1EhQXIDVLjPSZ1zIoaS6YjK9VDdgw7NwsA,124
141
+ foxes/models/axial_induction/betz.py,sha256=rAaq7pnu-FmfYh61BU5Af1h4_bG2AAimP4Qah1aZo88,894
142
+ foxes/models/axial_induction/madsen.py,sha256=_-ycfh8SnIpCKWm1uwx5VH7f49FQvR0y1Nbb_U8xWyU,1403
143
+ foxes/models/farm_controllers/__init__.py,sha256=0HEGiWEsrKjm8Opf890DzVHwTptSlTSgeo5QJMx9gnw,95
144
+ foxes/models/farm_controllers/basic.py,sha256=6pinNXiyfoG3apXhqQWcnxx4vN_7Q63YryXX5Z7kTE0,249
145
+ foxes/models/farm_models/__init__.py,sha256=8qV0dQ2N3HJpbOolhLtBs0LMdC8hctxy8J-OiqcSvKo,87
146
+ foxes/models/farm_models/turbine2farm.py,sha256=LuK-qAy4aVXBqFCM4-1qogwAA4qfHsjYRFsrZy_OUro,2276
147
+ foxes/models/ground_models/__init__.py,sha256=r_MuSulOGQ1SnrojfpwU9kky7tZhPtCwXbXIVvGdrkg,148
148
+ foxes/models/ground_models/no_ground.py,sha256=pDuHAFHHgpEVIi1spie9ooR7OG-4l8_KPrGYQhdCT3I,149
149
+ foxes/models/ground_models/wake_mirror.py,sha256=haPEut2_r06PK9xg8qYSd3bEN4NoVDUavPL6vdrPWso,4493
150
+ foxes/models/partial_wakes/__init__.py,sha256=rw71ElknHErJ3Cz1EKRKLtFpA6izWSjPPaovCQIJ1m4,348
151
+ foxes/models/partial_wakes/axiwake.py,sha256=QfB6rMsYCaBXVurdV8GytIxy53ur7WLk5F81hfgM6_w,7699
152
+ foxes/models/partial_wakes/centre.py,sha256=Vq_Y3m1IsHAc9L7DwdUaqR2PmF8I3440GCLbWfcGaPw,2198
153
+ foxes/models/partial_wakes/grid.py,sha256=SOymgn0MGvUFSAWd9YKDCzXYtizsuiNV-yP0oqrKS1E,600
154
+ foxes/models/partial_wakes/rotor_points.py,sha256=KrMsPg59UrdYkjCKV0v084M7NHLqKw2N-FP3-tw_FPA,3577
155
+ foxes/models/partial_wakes/segregated.py,sha256=G-fd84yUAyUlBkI-5TJSlxiPgpjyaZBwjN9jyxsOkLw,3828
156
+ foxes/models/partial_wakes/top_hat.py,sha256=D15MughXnUvk6uO_q5C2BJecuRuXDR48iUcsI8obkz8,6744
157
+ foxes/models/point_models/__init__.py,sha256=MRjb3NHv0GKzoF8gAigUsHwmrMT1-CtPIqoeSinKrjw,216
158
+ foxes/models/point_models/set_uniform_data.py,sha256=dK6f-Nk_qvWqUPt3jnMkkIftGs9YmF_hpklFl5dJMAo,4529
159
+ foxes/models/point_models/tke2ti.py,sha256=0mrhpGy0xP_zCqp26_ts81WAHdCqyz_fC6A9BgXIrrI,1407
160
+ foxes/models/point_models/ustar2ti.py,sha256=kghpLGyfOTdbjVWY9DMhXJ5XbrE-Qvq2BNJJWF8Nkxk,1995
161
+ foxes/models/point_models/wake_deltas.py,sha256=nwpallRan2tfSPU9acESHiSg30_gpShsDd-nU65FAIA,2035
162
+ foxes/models/rotor_models/__init__.py,sha256=IluUNC--Q1psqlfTdFg9Z0E_iVJbiBeEn3Arnno7Za8,156
163
+ foxes/models/rotor_models/centre.py,sha256=aL6oP3aC3hgNm0Yc6foReapeTlbJnmnG2z_aLpmdgrA,5774
164
+ foxes/models/rotor_models/grid.py,sha256=yNdl7cJmSWY5wfWw58t0OqVm4gZdaCiTu87rs5G9fKc,4484
165
+ foxes/models/rotor_models/levels.py,sha256=qmjjX7It1nwQ8lej8UIZ5FhQvMsODaf7oi8dG-4T6JM,4007
166
+ foxes/models/turbine_models/__init__.py,sha256=tWAWkm7tGk8QGgRdoppr742Q-ywtPMBF1jrxGBpDi1s,584
167
+ foxes/models/turbine_models/calculator.py,sha256=R5EwXvRCWg8zwrRGDmmX-SnCi6XraBmeQzgbHKkcRv8,2776
168
+ foxes/models/turbine_models/kTI_model.py,sha256=q_B4zR5j-z8Fe0Ux9cbczB-kgLn5rZDZelZV4PMXLtU,3577
169
+ foxes/models/turbine_models/lookup_table.py,sha256=jT_LASopYXn2Tf8jxPd8nLoQyeudFaYwrqInYQiNDyg,7352
170
+ foxes/models/turbine_models/power_mask.py,sha256=gZzcRTiidLxYpY3KKV6KnKKwgOEQtpM9yCfRVRMP8Ds,5953
171
+ foxes/models/turbine_models/rotor_centre_calc.py,sha256=I-0zH6RSkN9iLH3WQGpOLMouh3IxJrPh4HXwXA-M8Fs,3542
172
+ foxes/models/turbine_models/sector_management.py,sha256=D4Ir3YzOo3K7MSwaGwHNf9LrTQ_AMPTvtA8IB6gvcxw,7190
173
+ foxes/models/turbine_models/set_farm_vars.py,sha256=4LZmb6H-gja3Jz_3A9yaVssqNrtbLhni0VxIzgV2oMU,8613
174
+ foxes/models/turbine_models/table_factors.py,sha256=8_A_lWTh1ebyDy2DHveuX_Mr9zbOR75MFdnUQRsVQl4,4760
175
+ foxes/models/turbine_models/thrust2ct.py,sha256=mr26P7PoPD7QIgKCxylL1aMsr3g-ulNmP08T5g52MGw,2289
176
+ foxes/models/turbine_models/yaw2yawm.py,sha256=iqrnaROFcn8_k2iHPeltq5yVFP-zV6w6gaCaPxRurhc,1572
177
+ foxes/models/turbine_models/yawm2yaw.py,sha256=I9sBNfu0p0ASrq5n-yWR9oA3yMJlu_6_x_NF8Sh50Ts,1563
178
+ foxes/models/turbine_types/CpCt_file.py,sha256=IvwuEfZFBipQqXAhKExL6ys29WcEtvHVUz_h91l9tSw,2150
179
+ foxes/models/turbine_types/CpCt_from_two.py,sha256=yXlMydWvoBCddnVNGXgYJ6wJFnut9FwGr3W-IjsQEWE,2843
180
+ foxes/models/turbine_types/PCt_file.py,sha256=4lj4i8Wb-iIMzlBSP6jBe3lE7YLbVYidFSEejgWkyiQ,10813
181
+ foxes/models/turbine_types/PCt_from_two.py,sha256=O3N8LkKnioSxr1-6Vyun3aEVhZ5oZ2iSh8XWPGlSX6Q,12664
182
+ foxes/models/turbine_types/TBL_file.py,sha256=oaEGkG6xn9diPJKhZu8rGhw5oHyhUc2j9-Sw07slUAQ,1718
183
+ foxes/models/turbine_types/__init__.py,sha256=W8QfqvRO6I_PJjFa_lcDX9cW7ph7-kKbd6P64PGSjAU,495
184
+ foxes/models/turbine_types/lookup.py,sha256=3qUCaNkl1MytEl3uaORhEJeTFdG8pCFhHmvUeOCGCFQ,9251
185
+ foxes/models/turbine_types/null_type.py,sha256=svHqmx8TJ0Nvo_s22gtaMejxAxPwGeMD6DbDFR5kgKs,2415
186
+ foxes/models/turbine_types/wsrho2PCt_from_two.py,sha256=q1GzThs4fLFogpOkEB1eDIi45mJ57uzQK2KmGLyctXI,12007
187
+ foxes/models/turbine_types/wsti2PCt_from_two.py,sha256=vgiO1F_V7OHfpLbZKsCr0tC-gkj0HpffI9cKu6uswKI,13151
188
+ foxes/models/vertical_profiles/__init__.py,sha256=2r_czfdPKncQSGoQ4W1N2OkTZx6pfZhEe2xGaf2djGw,500
189
+ foxes/models/vertical_profiles/abl_log_neutral_ws.py,sha256=kX-VUkiyOnZmRVnl9xmb9M134XuyZ1rnYKAn2KFw2B4,1849
190
+ foxes/models/vertical_profiles/abl_log_stable_ws.py,sha256=E0uZ753fyhkEecVefztatZUGic2BvaQsd6l_zruTdZU,1937
191
+ foxes/models/vertical_profiles/abl_log_unstable_ws.py,sha256=tXr9-Q1TcrLU8UpP1olbR9GBiIAiqXhUxSkhJ1Iikek,1949
192
+ foxes/models/vertical_profiles/abl_log_ws.py,sha256=hZbsXhyPCRwCme5z3HCkWHvVWPUPboGRnnfZpF3hL78,3396
193
+ foxes/models/vertical_profiles/data_profile.py,sha256=R9KkADNILXftfIPvcwiLHRHs7nGnEXiyfXAO0llzVQo,2906
194
+ foxes/models/vertical_profiles/sheared_ws.py,sha256=kC108pLPa3fHVJXQugU6R1VKz-JdXY1mhX2PQPmG-wI,1225
195
+ foxes/models/vertical_profiles/uniform.py,sha256=bG0vCiBZqUiJQJreRuTUxb0X1WnJW6pGdpPoQd3A3WQ,1187
196
+ foxes/models/wake_deflections/__init__.py,sha256=JXiepSo0Ob1qsl3rYP7XAzy0yCFdXOk75uk-n7zhaw8,197
197
+ foxes/models/wake_deflections/bastankhah2016.py,sha256=Eh4BH5xH7dYBgFu3Cnon9ZdmsMie70BXfzhc8kAm1EM,7057
198
+ foxes/models/wake_deflections/jimenez.py,sha256=q4gAfRlcAeQtR0TolxPtnLJTbftc1p9fvF24WHj0VMA,7796
199
+ foxes/models/wake_deflections/no_deflection.py,sha256=mma8alZ_Xqs3CRgexm69hzj3zbLHV8r567_4CbNXLW8,2341
200
+ foxes/models/wake_frames/__init__.py,sha256=BcZKC_Ec-z50w4R4YeqptZNB1W-3vfQgtGIR4jnpyi8,340
201
+ foxes/models/wake_frames/dynamic_wakes.py,sha256=vQlQOjSPWrvVHFdUC1bhqmZhUMoUdjstHw9VJKAt5Z4,15642
202
+ foxes/models/wake_frames/farm_order.py,sha256=f400ERLg9ecsrBaJSkAuTkC_2BNhWCMhbsrBk802cek,4052
203
+ foxes/models/wake_frames/rotor_wd.py,sha256=Q8PmcPRtN_mas6lmBeq9r_eJi4NSdrALhyXLUacSmPM,3957
204
+ foxes/models/wake_frames/seq_dynamic_wakes.py,sha256=Po6PQdH2BCiF_hKnOJwHNrHhHdyj1_2O5PR3hDz0JvY,11818
205
+ foxes/models/wake_frames/streamlines.py,sha256=lXHUDybKCh6N_CvwFHJt_XzePItoUi0a3p3oHRgkmzg,9263
206
+ foxes/models/wake_frames/timelines.py,sha256=zb_aXvXso4gqRK9IvVu-cC_C3icKAIbb_TwhReAwV9Y,17748
207
+ foxes/models/wake_models/__init__.py,sha256=n9NMR-rDeDm_zVSPVJolNIYvaQbKm0YAwcMxyW-b2Cc,368
208
+ foxes/models/wake_models/axisymmetric.py,sha256=3dS-1Br9ZvDaGa_KVy0sotnuMku4QpL_Nz3T5dyQXm8,2788
209
+ foxes/models/wake_models/dist_sliced.py,sha256=-sQgO9icCe3YKXJw5hIAOfVKRbE5alhWNyYSzDcjZyc,5249
210
+ foxes/models/wake_models/gaussian.py,sha256=5gW5IsyNteF3_tUssxJ2YAY0wqTvyTYKKt7yP8wWBHA,3566
211
+ foxes/models/wake_models/top_hat.py,sha256=APZf6r26jfi2rP_rrmk4qXs1NGlzc1hsFxrj6Gi_ntA,7609
212
+ foxes/models/wake_models/induction/__init__.py,sha256=xw5LiTh2YWRRNF8cyYACQc-735C23NarCMHWiHQ_5-8,311
213
+ foxes/models/wake_models/induction/rankine_half_body.py,sha256=1NaV5eqcsxjlQwCSUDC-w3wO_SGgh4ykEYvNJX8ToBk,6427
214
+ foxes/models/wake_models/induction/rathmann.py,sha256=ZPF16PESm1wWA7SL7sNbj_XPb4rAGGcmfBrby8VoU3o,7964
215
+ foxes/models/wake_models/induction/self_similar.py,sha256=v3bQjX-RAYwJ-WbZfOpAVb-7Wbq8HXgsgqenP6Jel40,8505
216
+ foxes/models/wake_models/induction/self_similar2020.py,sha256=kteNnjRG4SptcYiW3avBgiDjmX3NMefTB2G2rpb-Hjs,1527
217
+ foxes/models/wake_models/induction/vortex_sheet.py,sha256=Iy3QX_2lUA7MiEEYKFeRh7jz9s7KpyyS7qBLhfCEsAo,7197
218
+ foxes/models/wake_models/ti/__init__.py,sha256=0ZKF4sHbtU3QCRzC1Ff0vnVymbdby7s12Qcy3PnBgKU,163
219
+ foxes/models/wake_models/ti/crespo_hernandez.py,sha256=UVxeDbxPu7beKNm5b8jwvgOdqJFGUQxG9Wybwfwy5p8,8990
220
+ foxes/models/wake_models/ti/iec_ti.py,sha256=P9SUNaxf9UdA_rufuJcmpgLXM1Fj1FRhFHU4DNxYFa4,7064
221
+ foxes/models/wake_models/wind/__init__.py,sha256=QOCeb8E7TYuwkX5jhgPUST1kGmv9c59qvclLhtUeLnQ,379
222
+ foxes/models/wake_models/wind/bastankhah14.py,sha256=zMhlZq9YMTMje-zbbx4BKHl9DwZK_e0SoODlNuVumvo,5567
223
+ foxes/models/wake_models/wind/bastankhah16.py,sha256=6yBMInYi0Zg3Ly6x2gU9GbjTho6lmfQ1CkGd4uXIFgg,18742
224
+ foxes/models/wake_models/wind/jensen.py,sha256=rGEtBgTtT1z3_sGVHkAlqSP4sSErD2yQu-lDwqfykIw,4493
225
+ foxes/models/wake_models/wind/turbopark.py,sha256=Vu69CeFnWfGfSlLRp0p4M7GCYezEUFt12ia_elCm7fg,15222
226
+ foxes/models/wake_superpositions/__init__.py,sha256=fMrBOoBGSa45xbc2E1Jdgjfkm2ahKBKgPeBVq8s9uH0,690
227
+ foxes/models/wake_superpositions/ti_linear.py,sha256=Cqteww87M94ZDIrSoAoXSouCcH-Auj0u8NSD6JCv9Lw,3895
228
+ foxes/models/wake_superpositions/ti_max.py,sha256=s2NYnqMIk-Bj6-SAUyhBX0WWEye5yu4hRoe5dGcLEAw,3920
229
+ foxes/models/wake_superpositions/ti_pow.py,sha256=IXVXs4gpbXxy3B7tpexgFU0bh6OQyNnh2oK4P4JaE0k,4144
230
+ foxes/models/wake_superpositions/ti_quadratic.py,sha256=HxWA5zQ2voghD2PWQeaOJcw1Jbadv_OA6rmFN8DlteI,3910
231
+ foxes/models/wake_superpositions/wind_vector.py,sha256=fsZERHMtZrgutgpEtljYDl8bEdJKLn7fFqH84-UDcWI,7796
232
+ foxes/models/wake_superpositions/ws_linear.py,sha256=VQNx5SPSJiwQ1bp55oNDooTeum3OWa45oBKkPTe4MAQ,9123
233
+ foxes/models/wake_superpositions/ws_max.py,sha256=jdbEUc1CKgfA0DIfTaEVd3L-heIvW-U3Jcwm7m3F3vo,9367
234
+ foxes/models/wake_superpositions/ws_pow.py,sha256=yi1eCxRloV9U2daO_4IWM0G_p9Lc8ahXQvUGzr2WoEk,9588
235
+ foxes/models/wake_superpositions/ws_product.py,sha256=uzhF6l1IMLLFSNkj1QO_EVehnjaK6j-VxFKCeiEABRg,4614
236
+ foxes/models/wake_superpositions/ws_quadratic.py,sha256=Cziei39FDDtxNsJFuNULJeKiS66n5s-ERdRiQn4AZr4,9183
237
+ foxes/output/__init__.py,sha256=Q6US-vMm2HP0l58Vmvga2V2U4H91gaiuV_3SpN83ZbA,1212
238
+ foxes/output/animation.py,sha256=zljekg6k2DjqVaBw0OamB4i3eopi6g2j0a12B9hx7VQ,2637
239
+ foxes/output/calc_points.py,sha256=paFBNUCbg0Vw-VKsvoXygQcq-T3y10IvcVmSUoHb5Do,4567
240
+ foxes/output/farm_layout.py,sha256=ZXODRgmJlycMuBkutg_UL5DEoAfBLCfSUHg1n_3zsp0,12046
241
+ foxes/output/farm_results_eval.py,sha256=-_VF8ugQUOYUFYGjZx8AvfHUdc1qFM3xp1tSGOgioko,19561
242
+ foxes/output/grids.py,sha256=tjQjF3Q_OyI7iOUsbED_P625yDSvHGoIKbS4T_ZB8uI,22504
243
+ foxes/output/output.py,sha256=654XWA2WPwqOzlYbKdHMEjQSSCWrjmtTFN6FNsyZ43E,3297
244
+ foxes/output/plt.py,sha256=6_4Zniv6iqVctNCbxFn2gMYE0aC0FqwNaaBJgIROlHI,356
245
+ foxes/output/results_writer.py,sha256=zUlj7szylvudYmwLciD6TcStmv7gBcp4bE1xQQ5JL_s,5789
246
+ foxes/output/rose_plot.py,sha256=M6McgJURA_3wKl-n666R8w8WhA2DE6eMRTHbjMl7JDk,18620
247
+ foxes/output/rotor_point_plots.py,sha256=KW4t_2lCSc90BzvJDT9xBOAe6JXWSc75UDu4tlK3Se0,3276
248
+ foxes/output/slice_data.py,sha256=bnY8D0ITFFN-i1mSkm0e2ukIMqxjev2KaUINbxo62pA,33788
249
+ foxes/output/slices_data.py,sha256=FqulnXnZ5aI2fOns4ffBYSw5j42IEGq-lLCNJxWG5HA,8671
250
+ foxes/output/state_turbine_map.py,sha256=XhrqRyfSz-hE8gwN5vzC_J-RejCr9dix-D6206Oionw,2724
251
+ foxes/output/state_turbine_table.py,sha256=ldG0LcC126YsXQZtJY9OSWxW3ETbHdBehjtU21caTDw,2228
252
+ foxes/output/turbine_type_curves.py,sha256=IzXanKmz6_ThJkMXOqmimUpNNHG_g0cpD-ARpuYqi3w,5676
253
+ foxes/output/flow_plots_2d/__init__.py,sha256=5pFJqvSuZKkm1TkN3d7won0mPLvr9MUg9m0TMlOqbec,91
254
+ foxes/output/flow_plots_2d/flow_plots.py,sha256=gRGAtB4JAGZ_NkT3osHDaLOg4bYGhhY3u05gu9yA9z0,29931
255
+ foxes/output/flow_plots_2d/get_fig.py,sha256=5IL8KWgphC3pqd957LmdtiZm0ePHAwLBW1cMlTQm0Nk,6230
256
+ foxes/output/seq_plugins/__init__.py,sha256=45ij67anjQWEg52J-UQEFbNwtUmyFDiEVMBWsepzbKI,158
257
+ foxes/output/seq_plugins/seq_flow_ani_plugin.py,sha256=1r-3tJnVq7RvOrgD6lWA2btndH--Ah-y1257XW9Ogpk,3626
258
+ foxes/output/seq_plugins/seq_wake_debug_plugin.py,sha256=4cxmKy1m6ShLX-BJYoYmn9efQJKactxhPdv0JSg1ybc,3968
259
+ foxes/utils/__init__.py,sha256=irmN-H02DXleZ2ugClW48JaVnq6FcYQBglwlA-12TfI,1523
260
+ foxes/utils/cubic_roots.py,sha256=rnvfeGCF-snzNqjd-J68pSXTDsvgKqmx0jmj4z8yo68,3324
261
+ foxes/utils/data_book.py,sha256=SfpVyTeeUGFlQ8dP7HxU30juRoQeYiMKHuzC59gRrbc,5358
262
+ foxes/utils/dev_utils.py,sha256=6vryhcTg8lNXhtZOsQ0F8PTVpmUw250VNE-UyR0G70Y,1241
263
+ foxes/utils/dict.py,sha256=jfp2TwlrfNqa9PuvV0rhh_bBrNWeBXUR8TQuwTbmnjw,4020
264
+ foxes/utils/exec_python.py,sha256=XGLgKZzwArGldj0DlLi_JHs-c4pysq0RDq5r8bg5qBw,1771
265
+ foxes/utils/factory.py,sha256=9RW_ENK0ZQW0amtChNpCkaVh4IN14ENf6x23EIAc6d8,19441
266
+ foxes/utils/geopandas_utils.py,sha256=oLH217n0qNfbb8RoCZLp6DjOyjJ21VZbOHi4Tgey7UM,7910
267
+ foxes/utils/load.py,sha256=x7EE_frepjFEb_bUeYYSKFPnBcXQVzSuLmlYyZTsWN0,1619
268
+ foxes/utils/pandas_utils.py,sha256=8kZMEMd83GmXdtj5erF7XTGBwI81bB2o9qR8E27PXbA,4677
269
+ foxes/utils/random_xy.py,sha256=i0AZ04BLL6TxC3Lg1ZfwI_o4zJbHR6hm-BNd0Sydu_c,1376
270
+ foxes/utils/regularize.py,sha256=OnJ88ZCSu289aLHgrOb96j1A9JVvg_7OjZ3lWZAnNHo,512
271
+ foxes/utils/subclasses.py,sha256=wCfhuialpBOQOPMwNbaplkVmf60vR9AIkY_o3tdkgXI,1737
272
+ foxes/utils/tab_files.py,sha256=FQ82mSPjyelVqZ19Kpq19DB4b6dv0UletCLtDas5dWw,1810
273
+ foxes/utils/two_circles.py,sha256=xkj-SA_x-VXY7KtmSU4lcV4gFdplyhU3sBAC9vTdkF4,2810
274
+ foxes/utils/weibull.py,sha256=2fUWt-vZVMu55fFrXuo0M3B771xtoWeVVmqE7Nr5yXM,656
275
+ foxes/utils/wind_dir.py,sha256=6W0njWDvnIdOOjwqcMr64MW9ApjdtFA75blVUxirPMo,2823
276
+ foxes/utils/wrg_utils.py,sha256=QzaASvn50Pzegk2NoCJhC9WozO95KiQPIwiWGNMeA4w,3604
277
+ foxes/utils/xarray_utils.py,sha256=pqtBkCzSXJMlTM0VTI-Su4SGxOP57sYVlZORBr7Z2qw,1880
278
+ foxes/utils/abl/__init__.py,sha256=yDbyZodXZ_dsmIJ4QH981CZ7xvVQyLneGzjOgYB7ZNE,179
279
+ foxes/utils/abl/neutral.py,sha256=E4DEhvXvw74BPrYr1MjQjeIaoz6ZOTWVlqScKflm-0M,1358
280
+ foxes/utils/abl/sheared.py,sha256=nS6gxa5cR7B7XcZbEk3rwOvbF6m4cinXAIhhn9gGBBs,446
281
+ foxes/utils/abl/stable.py,sha256=frNsTK6nNhTpWTTyZuDbYPbt-9-ytx50GkT3RnuOlio,1830
282
+ foxes/utils/abl/unstable.py,sha256=K0b1VE2RrOET4_zkYV-dbHz5H3drFWMRkOhdgnAeK70,1611
283
+ foxes/utils/geom2d/__init__.py,sha256=Xu_4fStF3SPThrJ4mnauLWigTFxOH7sX94yZDkrI5vQ,417
284
+ foxes/utils/geom2d/area_geometry.py,sha256=CvkhXqfGM7g_gQKtyeCNg0_Xk5Wf46fipK8H7Bo_Ag4,19120
285
+ foxes/utils/geom2d/circle.py,sha256=xgI9zuOS6rx6NnN56FINHYAh07L0FCDesjpZVwoBA_I,4529
286
+ foxes/utils/geom2d/example_intersection.py,sha256=4e6sjpZEk_bNc462YvwKPzwxdV1B90M82bC63ICV4Lw,1626
287
+ foxes/utils/geom2d/example_union.py,sha256=BKfLt1mtQcSto-qExeMQkq8tQ6kfFXVJ93Cc7DhOal8,1750
288
+ foxes/utils/geom2d/half_plane.py,sha256=kzZD6pkZxZ03MK9WAboWzXb5Ws5dWLQY9GIahD4D9mA,6167
289
+ foxes/utils/geom2d/polygon.py,sha256=Xj7triA5Pe4-48sNSAvGxEXlQGptV161LUpKKCf3YOY,5535
290
+ foxes-1.4.dist-info/licenses/LICENSE,sha256=bBCH6mYTPzSepk2s2UUZ3II_ZYXrn1bnSqB85-aZHxU,1071
291
+ tests/0_consistency/iterative/test_iterative.py,sha256=lzagmJ1y241l6Szw4Cu80S8S1ATHIyD7ukr1vVBrusY,2637
292
+ tests/0_consistency/partial_wakes/test_partial_wakes.py,sha256=7rdg2lcUYUzxwCdGhue7A4QYCJQGrOO4E0bytgatYj4,2584
293
+ tests/1_verification/flappy_0_6/PCt_files/test_PCt_files.py,sha256=8tIqifsykvxMCd9eD-mZWxRwT56sKjIxrGf3hf8aCFA,2530
294
+ tests/1_verification/flappy_0_6/PCt_files/flappy/run.py,sha256=PfBmP70Y4ZORB2-tXRVo6qXbloOiupIptzsjmoD4jjw,2143
295
+ tests/1_verification/flappy_0_6/abl_states/test_abl_states.py,sha256=OhsOrPVdY73tXjYwTDj7tnJkusYeRnGHav2ysG_9Jv8,2167
296
+ tests/1_verification/flappy_0_6/abl_states/flappy/run.py,sha256=6S9yeVUFmIuKf_arPnSfZk_f56eqkPZc54Ie9P-_UWQ,2038
297
+ tests/1_verification/flappy_0_6/partial_top_hat/test_partial_top_hat.py,sha256=iU48ALm0us1Y80TFVcHxNXQJvN14yqxVor6DIG4qMnw,2092
298
+ tests/1_verification/flappy_0_6/partial_top_hat/flappy/run.py,sha256=FT04VYQhafV4dSI8QgkapMgfpTPolfKIQSavs5YrLTs,1973
299
+ tests/1_verification/flappy_0_6/row_Jensen_linear_centre/test_row_Jensen_linear_centre.py,sha256=usfaa-SuQGiMtqfLd6w434VFCExUPyce7DmbwePxagI,2449
300
+ tests/1_verification/flappy_0_6/row_Jensen_linear_centre/flappy/run.py,sha256=xTBI8dssYiqy7WC0IlKonfHQVshUk2ROyCzmecW0hbI,2184
301
+ tests/1_verification/flappy_0_6/row_Jensen_linear_tophat/test_row_Jensen_linear_tophat.py,sha256=PeaWzKzVC9dLoUGnnu6rstibfXZf65M6kH_qCFKWvB8,2456
302
+ tests/1_verification/flappy_0_6/row_Jensen_linear_tophat/flappy/run.py,sha256=uhWgRbEbmM5t_ZdcG1U_719eo_2idWfML04wjFQhYL0,2180
303
+ tests/1_verification/flappy_0_6/row_Jensen_linear_tophat_IECTI2005/test_row_Jensen_linear_tophat_IECTI_2005.py,sha256=7CQe3PU7IFjMkBRLp58bbWEsqJP9vKz6kerNzwOUVK8,2983
304
+ tests/1_verification/flappy_0_6/row_Jensen_linear_tophat_IECTI2005/flappy/run.py,sha256=84Vc_F4kZsluiPrKFX7WxWXKwfGZDNzW90npCsStJqQ,2259
305
+ tests/1_verification/flappy_0_6/row_Jensen_linear_tophat_IECTI2019/test_row_Jensen_linear_tophat_IECTI_2019.py,sha256=2CgqGkD_Yc3uRJpqLC6XLU1n5-5tmIfa5nGT5XEvnE0,2983
306
+ tests/1_verification/flappy_0_6/row_Jensen_linear_tophat_IECTI2019/flappy/run.py,sha256=cPLIXymqdzu3zxB6-B3g3CU_oDhiYf-TlgWqossDjUw,2259
307
+ tests/1_verification/flappy_0_6/row_Jensen_quadratic_centre/test_row_Jensen_quadratic_centre.py,sha256=FOc7SFLIp7Rkhf8krUgTMBTUnfQqxHmxZR3KCVhwIWY,2456
308
+ tests/1_verification/flappy_0_6/row_Jensen_quadratic_centre/flappy/run.py,sha256=u-LBBH_MVoqY4Gl__6_EuHUTXp7s-6xVU1OXkywrqrY,2187
309
+ tests/1_verification/flappy_0_6_2/grid_rotors/test_grid_rotors.py,sha256=Yv90h5oiPWEvq06QsWnIca77_cN7gQaDrmnnb54kNuE,3958
310
+ tests/1_verification/flappy_0_6_2/grid_rotors/flappy/run.py,sha256=kwope2eTU_lq5pyk8pBUuefwbfbz0nmEu4YftI1Tk_0,2421
311
+ tests/1_verification/flappy_0_6_2/row_Bastankhah_Crespo/test_row_Bastankhah_Crespo.py,sha256=lLBG8_RGfrM_WwKtRm_mUPgrHdAJAmFubVg1Fy8OgVU,2988
312
+ tests/1_verification/flappy_0_6_2/row_Bastankhah_Crespo/flappy/run.py,sha256=nwIyn20ZyYHhCKcPCnm02zjwNKMRzr9t0U8TjKK61QU,2213
313
+ tests/1_verification/flappy_0_6_2/row_Bastankhah_linear_centre/test_row_Bastankhah_linear_centre.py,sha256=QUULW3AJJq8zvUIdIQHkXiNZpaysVYIALh5HOJ6-428,2595
314
+ tests/1_verification/flappy_0_6_2/row_Bastankhah_linear_centre/flappy/run.py,sha256=1paRjCe71AIM8igK4_f0FFH1xiIETvuBwnZAATiwWUU,2102
315
+ tests/3_examples/test_examples.py,sha256=9_PtvlYA6ELsQGHt-xAnsjCYdGj1ekX237ymWvEJaCk,732
316
+ foxes-1.4.dist-info/METADATA,sha256=r9w07687-fq7KDg8IDzMMOsZZo5Tk87meetBbRL42So,8739
317
+ foxes-1.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
318
+ foxes-1.4.dist-info/entry_points.txt,sha256=KuS44FRH5NnMw201A8Btr76eNRKr2UOoKHjejAsqKwE,123
319
+ foxes-1.4.dist-info/top_level.txt,sha256=G7oHApEz5nc-iP__XsPcvjYe_NyXGmKMUMPHi3C3x6I,26
320
+ foxes-1.4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,5 +1,4 @@
1
1
  import numpy as np
2
- import pandas as pd
3
2
  import time
4
3
  import argparse
5
4
  from pathlib import Path
@@ -34,8 +33,8 @@ if __name__ == "__main__":
34
33
 
35
34
  # load model book:
36
35
  mbook = fl.ModelBook()
37
- mbook.turbine_models[f"ws_P"] = fl.models.Ws2P(P_curve_file=tPfile)
38
- mbook.turbine_models[f"ws_Ct"] = fl.models.Ws2Ct(ct_curve_file=tCtfile)
36
+ mbook.turbine_models["ws_P"] = fl.models.Ws2P(P_curve_file=tPfile)
37
+ mbook.turbine_models["ws_Ct"] = fl.models.Ws2Ct(ct_curve_file=tCtfile)
39
38
 
40
39
  # create wind farm:
41
40
  farm = fl.WindFarm()
@@ -90,7 +90,7 @@ def test():
90
90
  print(chk.loc[sel & sel_ws])
91
91
  print(chk.max())
92
92
 
93
- assert ((chk[FV.WS] < 1e-5)).all()
93
+ assert (chk[FV.WS] < 1e-5).all()
94
94
  assert (chk[FV.P] < 1e-3).all()
95
95
 
96
96
 
@@ -1,5 +1,4 @@
1
1
  import numpy as np
2
- import pandas as pd
3
2
  import time
4
3
  import argparse
5
4
  from pathlib import Path
@@ -1,5 +1,4 @@
1
1
  import numpy as np
2
- import pandas as pd
3
2
  import time
4
3
  import argparse
5
4
  from pathlib import Path
@@ -4,7 +4,6 @@ import inspect
4
4
 
5
5
  import foxes
6
6
  import foxes.variables as FV
7
- from foxes.config import config
8
7
 
9
8
  thisdir = Path(inspect.getfile(inspect.currentframe())).parent
10
9
 
@@ -36,7 +35,6 @@ def test():
36
35
  )
37
36
 
38
37
  with foxes.Engine.new("threads", chunk_size_states=1000):
39
-
40
38
  algo = foxes.algorithms.Downwind(
41
39
  farm,
42
40
  states,
@@ -44,7 +44,6 @@ def test():
44
44
  )
45
45
 
46
46
  with foxes.Engine.new("threads", chunk_size_states=1000):
47
-
48
47
  algo = foxes.algorithms.Downwind(
49
48
  farm,
50
49
  states,