foxes 1.2.5__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 (201) 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 +16 -0
  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 +22 -18
  23. foxes/algorithms/__init__.py +6 -6
  24. foxes/algorithms/downwind/__init__.py +2 -2
  25. foxes/algorithms/downwind/downwind.py +53 -27
  26. foxes/algorithms/downwind/models/__init__.py +6 -6
  27. foxes/algorithms/downwind/models/farm_wakes_calc.py +22 -14
  28. foxes/algorithms/downwind/models/init_farm_data.py +4 -5
  29. foxes/algorithms/downwind/models/point_wakes_calc.py +7 -13
  30. foxes/algorithms/downwind/models/reorder_farm_output.py +5 -1
  31. foxes/algorithms/downwind/models/set_amb_point_results.py +7 -7
  32. foxes/algorithms/iterative/__init__.py +7 -3
  33. foxes/algorithms/iterative/iterative.py +1 -2
  34. foxes/algorithms/iterative/models/__init__.py +7 -3
  35. foxes/algorithms/iterative/models/farm_wakes_calc.py +15 -8
  36. foxes/algorithms/sequential/__init__.py +3 -3
  37. foxes/algorithms/sequential/models/__init__.py +2 -2
  38. foxes/algorithms/sequential/models/seq_state.py +0 -18
  39. foxes/algorithms/sequential/sequential.py +8 -22
  40. foxes/config/__init__.py +5 -1
  41. foxes/constants.py +22 -0
  42. foxes/core/__init__.py +45 -22
  43. foxes/core/algorithm.py +0 -1
  44. foxes/core/data.py +56 -29
  45. foxes/core/engine.py +28 -14
  46. foxes/core/farm_controller.py +2 -2
  47. foxes/core/farm_data_model.py +1 -0
  48. foxes/core/ground_model.py +4 -13
  49. foxes/core/model.py +5 -5
  50. foxes/core/partial_wakes_model.py +147 -10
  51. foxes/core/point_data_model.py +2 -3
  52. foxes/core/rotor_model.py +42 -38
  53. foxes/core/states.py +4 -50
  54. foxes/core/turbine.py +2 -1
  55. foxes/core/wake_deflection.py +130 -0
  56. foxes/core/wake_model.py +222 -9
  57. foxes/core/wake_superposition.py +122 -4
  58. foxes/core/wind_farm.py +6 -6
  59. foxes/data/__init__.py +7 -2
  60. foxes/data/states/weibull_sectors_12.csv +13 -0
  61. foxes/data/states/weibull_sectors_12.nc +0 -0
  62. foxes/engines/__init__.py +14 -15
  63. foxes/engines/dask.py +39 -14
  64. foxes/engines/numpy.py +0 -3
  65. foxes/input/__init__.py +3 -3
  66. foxes/input/farm_layout/__init__.py +8 -8
  67. foxes/input/farm_layout/from_csv.py +1 -1
  68. foxes/input/farm_layout/ring.py +0 -1
  69. foxes/input/states/__init__.py +22 -11
  70. foxes/input/states/create/__init__.py +3 -2
  71. foxes/input/states/field_data_nc.py +48 -84
  72. foxes/input/states/multi_height.py +40 -60
  73. foxes/input/states/one_point_flow.py +22 -25
  74. foxes/input/states/scan.py +6 -19
  75. foxes/input/states/single.py +6 -18
  76. foxes/input/states/states_table.py +25 -44
  77. foxes/input/states/weibull_sectors.py +225 -0
  78. foxes/input/states/wrg_states.py +151 -37
  79. foxes/input/yaml/__init__.py +9 -3
  80. foxes/input/yaml/dict.py +19 -19
  81. foxes/input/yaml/windio/__init__.py +10 -5
  82. foxes/input/yaml/windio/read_attributes.py +2 -2
  83. foxes/input/yaml/windio/read_farm.py +5 -5
  84. foxes/input/yaml/windio/read_fields.py +4 -2
  85. foxes/input/yaml/windio/read_site.py +52 -0
  86. foxes/input/yaml/windio/windio.py +1 -1
  87. foxes/models/__init__.py +15 -14
  88. foxes/models/axial_induction/__init__.py +2 -2
  89. foxes/models/farm_controllers/__init__.py +1 -1
  90. foxes/models/farm_models/__init__.py +1 -1
  91. foxes/models/ground_models/__init__.py +3 -2
  92. foxes/models/ground_models/wake_mirror.py +3 -3
  93. foxes/models/model_book.py +175 -49
  94. foxes/models/partial_wakes/__init__.py +6 -6
  95. foxes/models/partial_wakes/axiwake.py +30 -5
  96. foxes/models/partial_wakes/centre.py +47 -0
  97. foxes/models/partial_wakes/rotor_points.py +45 -9
  98. foxes/models/partial_wakes/segregated.py +2 -20
  99. foxes/models/partial_wakes/top_hat.py +27 -2
  100. foxes/models/point_models/__init__.py +4 -4
  101. foxes/models/rotor_models/__init__.py +3 -3
  102. foxes/models/rotor_models/centre.py +6 -4
  103. foxes/models/turbine_models/__init__.py +11 -11
  104. foxes/models/turbine_models/set_farm_vars.py +0 -1
  105. foxes/models/turbine_types/PCt_file.py +0 -2
  106. foxes/models/turbine_types/PCt_from_two.py +0 -2
  107. foxes/models/turbine_types/__init__.py +9 -9
  108. foxes/models/vertical_profiles/__init__.py +7 -7
  109. foxes/models/wake_deflections/__init__.py +3 -0
  110. foxes/models/{wake_frames/yawed_wakes.py → wake_deflections/bastankhah2016.py} +32 -111
  111. foxes/models/wake_deflections/jimenez.py +277 -0
  112. foxes/models/wake_deflections/no_deflection.py +94 -0
  113. foxes/models/wake_frames/__init__.py +6 -7
  114. foxes/models/wake_frames/dynamic_wakes.py +12 -3
  115. foxes/models/wake_frames/rotor_wd.py +3 -1
  116. foxes/models/wake_frames/seq_dynamic_wakes.py +45 -8
  117. foxes/models/wake_frames/streamlines.py +8 -6
  118. foxes/models/wake_frames/timelines.py +19 -3
  119. foxes/models/wake_models/__init__.py +7 -7
  120. foxes/models/wake_models/dist_sliced.py +50 -84
  121. foxes/models/wake_models/gaussian.py +20 -0
  122. foxes/models/wake_models/induction/__init__.py +5 -5
  123. foxes/models/wake_models/induction/rankine_half_body.py +30 -71
  124. foxes/models/wake_models/induction/rathmann.py +65 -64
  125. foxes/models/wake_models/induction/self_similar.py +65 -68
  126. foxes/models/wake_models/induction/self_similar2020.py +0 -3
  127. foxes/models/wake_models/induction/vortex_sheet.py +71 -75
  128. foxes/models/wake_models/ti/__init__.py +2 -2
  129. foxes/models/wake_models/ti/crespo_hernandez.py +5 -3
  130. foxes/models/wake_models/ti/iec_ti.py +6 -4
  131. foxes/models/wake_models/top_hat.py +58 -7
  132. foxes/models/wake_models/wind/__init__.py +6 -4
  133. foxes/models/wake_models/wind/bastankhah14.py +25 -7
  134. foxes/models/wake_models/wind/bastankhah16.py +35 -3
  135. foxes/models/wake_models/wind/jensen.py +15 -2
  136. foxes/models/wake_models/wind/turbopark.py +28 -2
  137. foxes/models/wake_superpositions/__init__.py +18 -9
  138. foxes/models/wake_superpositions/ti_linear.py +4 -4
  139. foxes/models/wake_superpositions/ti_max.py +4 -4
  140. foxes/models/wake_superpositions/ti_pow.py +4 -4
  141. foxes/models/wake_superpositions/ti_quadratic.py +4 -4
  142. foxes/models/wake_superpositions/wind_vector.py +257 -0
  143. foxes/models/wake_superpositions/ws_linear.py +9 -10
  144. foxes/models/wake_superpositions/ws_max.py +8 -8
  145. foxes/models/wake_superpositions/ws_pow.py +8 -8
  146. foxes/models/wake_superpositions/ws_product.py +4 -4
  147. foxes/models/wake_superpositions/ws_quadratic.py +8 -8
  148. foxes/output/__init__.py +21 -19
  149. foxes/output/farm_layout.py +14 -6
  150. foxes/output/farm_results_eval.py +51 -27
  151. foxes/output/flow_plots_2d/__init__.py +2 -2
  152. foxes/output/flow_plots_2d/get_fig.py +4 -2
  153. foxes/output/rose_plot.py +23 -5
  154. foxes/output/seq_plugins/__init__.py +2 -2
  155. foxes/output/seq_plugins/seq_flow_ani_plugin.py +0 -3
  156. foxes/output/seq_plugins/seq_wake_debug_plugin.py +0 -1
  157. foxes/output/slice_data.py +16 -19
  158. foxes/output/turbine_type_curves.py +7 -8
  159. foxes/utils/__init__.py +37 -19
  160. foxes/utils/abl/__init__.py +4 -4
  161. foxes/utils/cubic_roots.py +1 -1
  162. foxes/utils/data_book.py +4 -3
  163. foxes/utils/dict.py +3 -3
  164. foxes/utils/exec_python.py +5 -5
  165. foxes/utils/factory.py +1 -3
  166. foxes/utils/geom2d/__init__.py +7 -5
  167. foxes/utils/geopandas_utils.py +2 -2
  168. foxes/utils/pandas_utils.py +4 -3
  169. foxes/utils/tab_files.py +0 -1
  170. foxes/utils/weibull.py +28 -0
  171. foxes/utils/wrg_utils.py +3 -1
  172. foxes/utils/xarray_utils.py +9 -2
  173. foxes/variables.py +67 -9
  174. {foxes-1.2.5.dist-info → foxes-1.4.dist-info}/METADATA +14 -21
  175. foxes-1.4.dist-info/RECORD +320 -0
  176. {foxes-1.2.5.dist-info → foxes-1.4.dist-info}/WHEEL +1 -1
  177. tests/0_consistency/iterative/test_iterative.py +2 -3
  178. tests/0_consistency/partial_wakes/test_partial_wakes.py +2 -2
  179. tests/1_verification/flappy_0_6/PCt_files/flappy/run.py +2 -3
  180. tests/1_verification/flappy_0_6/PCt_files/test_PCt_files.py +48 -56
  181. tests/1_verification/flappy_0_6/abl_states/flappy/run.py +0 -1
  182. tests/1_verification/flappy_0_6/abl_states/test_abl_states.py +33 -36
  183. tests/1_verification/flappy_0_6/partial_top_hat/flappy/run.py +0 -1
  184. tests/1_verification/flappy_0_6/partial_top_hat/test_partial_top_hat.py +0 -2
  185. tests/1_verification/flappy_0_6/row_Jensen_linear_centre/test_row_Jensen_linear_centre.py +3 -3
  186. tests/1_verification/flappy_0_6/row_Jensen_linear_tophat/test_row_Jensen_linear_tophat.py +3 -4
  187. tests/1_verification/flappy_0_6/row_Jensen_linear_tophat_IECTI2005/test_row_Jensen_linear_tophat_IECTI_2005.py +3 -4
  188. tests/1_verification/flappy_0_6/row_Jensen_linear_tophat_IECTI2019/test_row_Jensen_linear_tophat_IECTI_2019.py +3 -4
  189. tests/1_verification/flappy_0_6/row_Jensen_quadratic_centre/test_row_Jensen_quadratic_centre.py +3 -4
  190. tests/1_verification/flappy_0_6_2/grid_rotors/flappy/run.py +0 -2
  191. tests/1_verification/flappy_0_6_2/grid_rotors/test_grid_rotors.py +3 -3
  192. tests/1_verification/flappy_0_6_2/row_Bastankhah_Crespo/test_row_Bastankhah_Crespo.py +3 -3
  193. tests/1_verification/flappy_0_6_2/row_Bastankhah_linear_centre/flappy/run.py +0 -1
  194. tests/1_verification/flappy_0_6_2/row_Bastankhah_linear_centre/test_row_Bastankhah_linear_centre.py +3 -4
  195. tests/3_examples/test_examples.py +3 -2
  196. foxes/output/round.py +0 -10
  197. foxes/utils/pandas_helpers.py +0 -178
  198. foxes-1.2.5.dist-info/RECORD +0 -312
  199. {foxes-1.2.5.dist-info → foxes-1.4.dist-info}/entry_points.txt +0 -0
  200. {foxes-1.2.5.dist-info → foxes-1.4.dist-info/licenses}/LICENSE +0 -0
  201. {foxes-1.2.5.dist-info → foxes-1.4.dist-info}/top_level.txt +0 -0
@@ -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.6.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -3,12 +3,11 @@ import inspect
3
3
 
4
4
  import foxes
5
5
  import foxes.variables as FV
6
- from foxes.config import config
7
-
8
- thisdir = Path(inspect.getfile(inspect.currentframe())).parent
9
6
 
10
7
 
11
8
  def test():
9
+ thisdir = Path(inspect.getabsfile(inspect.currentframe())).parent
10
+ print("TESTDIR:", thisdir)
12
11
 
13
12
  ttype = "DTU10MW"
14
13
  sfile = "wind_rose_bremen.csv"
@@ -4,10 +4,10 @@ import inspect
4
4
  import foxes
5
5
  import foxes.variables as FV
6
6
 
7
- thisdir = Path(inspect.getfile(inspect.currentframe())).parent
8
-
9
7
 
10
8
  def test():
9
+ thisdir = Path(inspect.getabsfile(inspect.currentframe())).parent
10
+ print("TESTDIR:", thisdir)
11
11
 
12
12
  tfile = thisdir / "NREL-5MW-D126-H90.csv"
13
13
  sfile = thisdir / "states.csv.gz"
@@ -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()
@@ -4,13 +4,11 @@ import inspect
4
4
 
5
5
  import foxes
6
6
  import foxes.variables as FV
7
- from foxes.config import config
8
-
9
- thisdir = Path(inspect.getfile(inspect.currentframe())).parent
10
7
 
11
8
 
12
9
  def test():
13
- print(thisdir)
10
+ thisdir = Path(inspect.getabsfile(inspect.currentframe())).parent
11
+ print("TESTDIR:", thisdir)
14
12
 
15
13
  cfile = thisdir / "flappy" / "results.csv.gz"
16
14
  tPfile = thisdir / "NREL-5MW-D126-H90-P.csv"
@@ -45,61 +43,55 @@ def test():
45
43
  farm, lfile, turbine_models=[ttype.name], verbosity=0
46
44
  )
47
45
 
48
- with foxes.Engine.new("threads", chunk_size_states=1000):
49
-
50
- algo = foxes.algorithms.Downwind(
51
- farm,
52
- states,
53
- mbook=mbook,
54
- rotor_model="centre",
55
- wake_models=["Jensen_linear_k007"],
56
- wake_frame="rotor_wd",
57
- partial_wakes={"Jensen_linear_k007": "top_hat"},
58
- verbosity=0,
59
- )
46
+ algo = foxes.algorithms.Downwind(
47
+ farm=farm,
48
+ states=states,
49
+ mbook=mbook,
50
+ rotor_model="centre",
51
+ wake_models=["Jensen_linear_k007"],
52
+ wake_frame="rotor_wd",
53
+ partial_wakes={"Jensen_linear_k007": "top_hat"},
54
+ verbosity=0,
55
+ )
60
56
 
57
+ with foxes.Engine.new("threads", chunk_size_states=2000):
61
58
  data = algo.calc_farm()
62
59
 
63
- df = data.to_dataframe()[
64
- [FV.AMB_WD, FV.WD, FV.AMB_REWS, FV.REWS, FV.AMB_P, FV.P]
65
- ]
66
- df = df.reset_index()
67
-
68
- print()
69
- print("TRESULTS\n")
70
- print(df)
71
-
72
- # print("\Reading file", cfile)
73
- fdata = pd.read_csv(cfile)
74
- print(fdata)
75
-
76
- print("\nVERIFYING\n")
77
- df[FV.WS] = df["REWS"]
78
- df[FV.AMB_WS] = df["AMB_REWS"]
79
-
80
- # neglecting ws < 5 and ws > 20
81
- sel_ws = (
82
- (fdata[FV.WS] > 5)
83
- & (fdata[FV.WS] < 20)
84
- & (df["REWS"] > 5)
85
- & (df["REWS"] < 20)
86
- )
87
-
88
- # calculating difference
89
- delta = df.reset_index() - fdata
90
- delta = delta[sel_ws]
91
- print(delta)
92
- print(delta.max())
93
- chk = delta[[FV.AMB_WS, FV.AMB_P, FV.WS, FV.P]].abs()
94
- sel = chk[FV.WS] >= 1e-5
95
- print(sel)
96
- print(df[sel & sel_ws])
97
- print(fdata[sel & sel_ws])
98
- print(chk.loc[sel & sel_ws])
99
- print(chk.max())
100
-
101
- assert ((chk[FV.WS] < 1e-5)).all()
102
- assert (chk[FV.P] < 1e-3).all()
60
+ df = data.to_dataframe()[[FV.AMB_WD, FV.WD, FV.AMB_REWS, FV.REWS, FV.AMB_P, FV.P]]
61
+ df = df.reset_index()
62
+
63
+ print()
64
+ print("TRESULTS\n")
65
+ print(df)
66
+
67
+ # print("\Reading file", cfile)
68
+ fdata = pd.read_csv(cfile)
69
+ print(fdata)
70
+
71
+ print("\nVERIFYING\n")
72
+ df[FV.WS] = df["REWS"]
73
+ df[FV.AMB_WS] = df["AMB_REWS"]
74
+
75
+ # neglecting ws < 5 and ws > 20
76
+ sel_ws = (
77
+ (fdata[FV.WS] > 5) & (fdata[FV.WS] < 20) & (df["REWS"] > 5) & (df["REWS"] < 20)
78
+ )
79
+
80
+ # calculating difference
81
+ delta = df.reset_index() - fdata
82
+ delta = delta[sel_ws]
83
+ print(delta)
84
+ print(delta.max())
85
+ chk = delta[[FV.AMB_WS, FV.AMB_P, FV.WS, FV.P]].abs()
86
+ sel = chk[FV.WS] >= 1e-5
87
+ print(sel)
88
+ print(df[sel & sel_ws])
89
+ print(fdata[sel & sel_ws])
90
+ print(chk.loc[sel & sel_ws])
91
+ print(chk.max())
92
+
93
+ assert (chk[FV.WS] < 1e-5).all()
94
+ assert (chk[FV.P] < 1e-3).all()
103
95
 
104
96
 
105
97
  if __name__ == "__main__":
@@ -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
@@ -5,11 +5,11 @@ import inspect
5
5
  import foxes
6
6
  import foxes.variables as FV
7
7
 
8
- thisdir = Path(inspect.getfile(inspect.currentframe())).parent
9
-
10
8
 
11
9
  def test():
12
- c = 2000
10
+ thisdir = Path(inspect.getabsfile(inspect.currentframe())).parent
11
+ print("TESTDIR:", thisdir)
12
+
13
13
  cfile = thisdir / "flappy" / "results.csv.gz"
14
14
  tfile = thisdir / "NREL-5MW-D126-H90.csv"
15
15
  sfile = thisdir / "states.csv.gz"
@@ -40,47 +40,44 @@ def test():
40
40
  verbosity=0,
41
41
  )
42
42
 
43
- with foxes.Engine.new("threads", chunk_size_states=c):
44
-
45
- algo = foxes.algorithms.Downwind(
46
- farm,
47
- states,
48
- mbook=mbook,
49
- rotor_model="centre",
50
- wake_models=["Jensen_linear_k007"],
51
- wake_frame="rotor_wd",
52
- partial_wakes={"Jensen_linear_k007": "centre"},
53
- verbosity=0,
54
- )
43
+ algo = foxes.algorithms.Downwind(
44
+ farm,
45
+ states,
46
+ mbook=mbook,
47
+ rotor_model="centre",
48
+ wake_models=["Jensen_linear_k007"],
49
+ wake_frame="rotor_wd",
50
+ partial_wakes={"Jensen_linear_k007": "centre"},
51
+ verbosity=0,
52
+ )
55
53
 
54
+ with foxes.Engine.new("threads", chunk_size_states=2000):
56
55
  data = algo.calc_farm()
57
56
 
58
- df = data.to_dataframe()[
59
- [FV.AMB_WD, FV.WD, FV.AMB_REWS, FV.REWS, FV.AMB_P, FV.P]
60
- ]
57
+ df = data.to_dataframe()[[FV.AMB_WD, FV.WD, FV.AMB_REWS, FV.REWS, FV.AMB_P, FV.P]]
61
58
 
62
- print()
63
- print("TRESULTS\n")
64
- print(df)
59
+ print()
60
+ print("TRESULTS\n")
61
+ print(df)
65
62
 
66
- print("\nReading file", cfile)
67
- fdata = pd.read_csv(cfile)
68
- print(fdata)
63
+ print("\nReading file", cfile)
64
+ fdata = pd.read_csv(cfile)
65
+ print(fdata)
69
66
 
70
- print("\nVERIFYING\n")
71
- df[FV.WS] = df["REWS"]
72
- df[FV.AMB_WS] = df["AMB_REWS"]
67
+ print("\nVERIFYING\n")
68
+ df[FV.WS] = df["REWS"]
69
+ df[FV.AMB_WS] = df["AMB_REWS"]
73
70
 
74
- delta = df.reset_index() - fdata
75
- print(delta)
76
- print(delta.max())
77
- chk = delta[[FV.AMB_WS, FV.AMB_P, FV.WS, FV.P]].abs()
78
- print(chk.max())
71
+ delta = df.reset_index() - fdata
72
+ print(delta)
73
+ print(delta.max())
74
+ chk = delta[[FV.AMB_WS, FV.AMB_P, FV.WS, FV.P]].abs()
75
+ print(chk.max())
79
76
 
80
- assert (chk[FV.AMB_WS] < 1e-5).all()
81
- assert (chk[FV.AMB_P] < 1e-3).all()
82
- assert (chk[FV.WS] < 1e-5).all()
83
- assert (chk[FV.P] < 1e-3).all()
77
+ assert (chk[FV.AMB_WS] < 1e-5).all()
78
+ assert (chk[FV.AMB_P] < 1e-3).all()
79
+ assert (chk[FV.WS] < 1e-5).all()
80
+ assert (chk[FV.P] < 1e-3).all()
84
81
 
85
82
 
86
83
  if __name__ == "__main__":
@@ -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,