foxes 1.2.3__tar.gz → 1.2.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of foxes might be problematic. Click here for more details.

Files changed (318) hide show
  1. {foxes-1.2.3/foxes.egg-info → foxes-1.2.4}/PKG-INFO +1 -1
  2. {foxes-1.2.3 → foxes-1.2.4}/foxes/config/config.py +9 -2
  3. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/__init__.py +1 -0
  4. foxes-1.2.4/foxes/utils/wrg_utils.py +79 -0
  5. {foxes-1.2.3 → foxes-1.2.4/foxes.egg-info}/PKG-INFO +1 -1
  6. {foxes-1.2.3 → foxes-1.2.4}/foxes.egg-info/SOURCES.txt +1 -0
  7. {foxes-1.2.3 → foxes-1.2.4}/pyproject.toml +1 -1
  8. {foxes-1.2.3 → foxes-1.2.4}/LICENSE +0 -0
  9. {foxes-1.2.3 → foxes-1.2.4}/Logo_FOXES.svg +0 -0
  10. {foxes-1.2.3 → foxes-1.2.4}/MANIFEST.in +0 -0
  11. {foxes-1.2.3 → foxes-1.2.4}/README.md +0 -0
  12. {foxes-1.2.3 → foxes-1.2.4}/docs/source/conf.py +0 -0
  13. {foxes-1.2.3 → foxes-1.2.4}/examples/abl_states/run.py +0 -0
  14. {foxes-1.2.3 → foxes-1.2.4}/examples/compare_rotors_pwakes/run.py +0 -0
  15. {foxes-1.2.3 → foxes-1.2.4}/examples/compare_wakes/run.py +0 -0
  16. {foxes-1.2.3 → foxes-1.2.4}/examples/dyn_wakes/run.py +0 -0
  17. {foxes-1.2.3 → foxes-1.2.4}/examples/field_data_nc/run.py +0 -0
  18. {foxes-1.2.3 → foxes-1.2.4}/examples/induction/run.py +0 -0
  19. {foxes-1.2.3 → foxes-1.2.4}/examples/multi_height/run.py +0 -0
  20. {foxes-1.2.3 → foxes-1.2.4}/examples/power_mask/run.py +0 -0
  21. {foxes-1.2.3 → foxes-1.2.4}/examples/random_timeseries/run.py +0 -0
  22. {foxes-1.2.3 → foxes-1.2.4}/examples/scan_row/run.py +0 -0
  23. {foxes-1.2.3 → foxes-1.2.4}/examples/sector_management/run.py +0 -0
  24. {foxes-1.2.3 → foxes-1.2.4}/examples/sequential/run.py +0 -0
  25. {foxes-1.2.3 → foxes-1.2.4}/examples/single_state/run.py +0 -0
  26. {foxes-1.2.3 → foxes-1.2.4}/examples/states_lookup_table/run.py +0 -0
  27. {foxes-1.2.3 → foxes-1.2.4}/examples/streamline_wakes/run.py +0 -0
  28. {foxes-1.2.3 → foxes-1.2.4}/examples/tab_file/run.py +0 -0
  29. {foxes-1.2.3 → foxes-1.2.4}/examples/timelines/run.py +0 -0
  30. {foxes-1.2.3 → foxes-1.2.4}/examples/timeseries/run.py +0 -0
  31. {foxes-1.2.3 → foxes-1.2.4}/examples/timeseries_slurm/run.py +0 -0
  32. {foxes-1.2.3 → foxes-1.2.4}/examples/wind_rose/run.py +0 -0
  33. {foxes-1.2.3 → foxes-1.2.4}/examples/yawed_wake/run.py +0 -0
  34. {foxes-1.2.3 → foxes-1.2.4}/foxes/__init__.py +0 -0
  35. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/__init__.py +0 -0
  36. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/__init__.py +0 -0
  37. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/downwind.py +0 -0
  38. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/models/__init__.py +0 -0
  39. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/models/farm_wakes_calc.py +0 -0
  40. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/models/init_farm_data.py +0 -0
  41. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/models/point_wakes_calc.py +0 -0
  42. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/models/reorder_farm_output.py +0 -0
  43. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/models/set_amb_farm_results.py +0 -0
  44. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/models/set_amb_point_results.py +0 -0
  45. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/iterative/__init__.py +0 -0
  46. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/iterative/iterative.py +0 -0
  47. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/iterative/models/__init__.py +0 -0
  48. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/iterative/models/convergence.py +0 -0
  49. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/iterative/models/farm_wakes_calc.py +0 -0
  50. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/iterative/models/urelax.py +0 -0
  51. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/sequential/__init__.py +0 -0
  52. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/sequential/models/__init__.py +0 -0
  53. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/sequential/models/plugin.py +0 -0
  54. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/sequential/models/seq_state.py +0 -0
  55. {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/sequential/sequential.py +0 -0
  56. {foxes-1.2.3 → foxes-1.2.4}/foxes/config/__init__.py +0 -0
  57. {foxes-1.2.3 → foxes-1.2.4}/foxes/constants.py +0 -0
  58. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/__init__.py +0 -0
  59. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/algorithm.py +0 -0
  60. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/axial_induction_model.py +0 -0
  61. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/data.py +0 -0
  62. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/data_calc_model.py +0 -0
  63. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/engine.py +0 -0
  64. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/farm_controller.py +0 -0
  65. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/farm_data_model.py +0 -0
  66. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/farm_model.py +0 -0
  67. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/ground_model.py +0 -0
  68. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/model.py +0 -0
  69. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/partial_wakes_model.py +0 -0
  70. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/point_data_model.py +0 -0
  71. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/rotor_model.py +0 -0
  72. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/states.py +0 -0
  73. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/turbine.py +0 -0
  74. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/turbine_model.py +0 -0
  75. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/turbine_type.py +0 -0
  76. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/vertical_profile.py +0 -0
  77. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/wake_frame.py +0 -0
  78. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/wake_model.py +0 -0
  79. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/wake_superposition.py +0 -0
  80. {foxes-1.2.3 → foxes-1.2.4}/foxes/core/wind_farm.py +0 -0
  81. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/__init__.py +0 -0
  82. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/farms/__init__.py +0 -0
  83. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/farms/test_farm_67.csv +0 -0
  84. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/parse.py +0 -0
  85. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/power_ct_curves/DTU-10MW-D178d3-H119.csv +0 -0
  86. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/power_ct_curves/IEA-15MW-D240-H150.csv +0 -0
  87. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/power_ct_curves/IWT-7d5MW-D164-H100.csv +0 -0
  88. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/power_ct_curves/NREL-5MW-D126-H90.csv +0 -0
  89. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/power_ct_curves/__init__.py +0 -0
  90. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/WRF-Timeseries-3000.nc +0 -0
  91. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/WRF-Timeseries-4464.csv.gz +0 -0
  92. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/__init__.py +0 -0
  93. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/abl_states_6000.csv.gz +0 -0
  94. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/timeseries_100.csv.gz +0 -0
  95. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/timeseries_3000.csv.gz +0 -0
  96. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/timeseries_8000.csv.gz +0 -0
  97. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/wind_rose_bremen.csv +0 -0
  98. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/wind_rotation.nc +0 -0
  99. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/winds100.tab +0 -0
  100. {foxes-1.2.3 → foxes-1.2.4}/foxes/data/static_data.py +0 -0
  101. {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/__init__.py +0 -0
  102. {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/dask.py +0 -0
  103. {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/default.py +0 -0
  104. {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/futures.py +0 -0
  105. {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/mpi.py +0 -0
  106. {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/multiprocess.py +0 -0
  107. {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/numpy.py +0 -0
  108. {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/pool.py +0 -0
  109. {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/ray.py +0 -0
  110. {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/single.py +0 -0
  111. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/__init__.py +0 -0
  112. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/__init__.py +0 -0
  113. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/from_csv.py +0 -0
  114. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/from_df.py +0 -0
  115. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/from_file.py +0 -0
  116. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/from_json.py +0 -0
  117. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/from_random.py +0 -0
  118. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/grid.py +0 -0
  119. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/ring.py +0 -0
  120. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/row.py +0 -0
  121. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/__init__.py +0 -0
  122. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/create/__init__.py +0 -0
  123. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/create/random_abl_states.py +0 -0
  124. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/create/random_timeseries.py +0 -0
  125. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/field_data_nc.py +0 -0
  126. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/multi_height.py +0 -0
  127. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/one_point_flow.py +0 -0
  128. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/scan.py +0 -0
  129. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/single.py +0 -0
  130. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/states_table.py +0 -0
  131. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/__init__.py +0 -0
  132. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/dict.py +0 -0
  133. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/windio/__init__.py +0 -0
  134. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/windio/read_attributes.py +0 -0
  135. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/windio/read_farm.py +0 -0
  136. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/windio/read_fields.py +0 -0
  137. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/windio/read_outputs.py +0 -0
  138. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/windio/read_site.py +0 -0
  139. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/windio/windio.py +0 -0
  140. {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/yaml.py +0 -0
  141. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/__init__.py +0 -0
  142. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/axial_induction/__init__.py +0 -0
  143. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/axial_induction/betz.py +0 -0
  144. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/axial_induction/madsen.py +0 -0
  145. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/farm_controllers/__init__.py +0 -0
  146. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/farm_controllers/basic.py +0 -0
  147. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/farm_models/__init__.py +0 -0
  148. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/farm_models/turbine2farm.py +0 -0
  149. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/ground_models/__init__.py +0 -0
  150. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/ground_models/no_ground.py +0 -0
  151. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/ground_models/wake_mirror.py +0 -0
  152. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/model_book.py +0 -0
  153. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/partial_wakes/__init__.py +0 -0
  154. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/partial_wakes/axiwake.py +0 -0
  155. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/partial_wakes/centre.py +0 -0
  156. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/partial_wakes/grid.py +0 -0
  157. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/partial_wakes/rotor_points.py +0 -0
  158. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/partial_wakes/segregated.py +0 -0
  159. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/partial_wakes/top_hat.py +0 -0
  160. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/point_models/__init__.py +0 -0
  161. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/point_models/set_uniform_data.py +0 -0
  162. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/point_models/tke2ti.py +0 -0
  163. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/point_models/ustar2ti.py +0 -0
  164. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/point_models/wake_deltas.py +0 -0
  165. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/rotor_models/__init__.py +0 -0
  166. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/rotor_models/centre.py +0 -0
  167. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/rotor_models/grid.py +0 -0
  168. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/rotor_models/levels.py +0 -0
  169. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/__init__.py +0 -0
  170. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/calculator.py +0 -0
  171. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/kTI_model.py +0 -0
  172. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/lookup_table.py +0 -0
  173. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/power_mask.py +0 -0
  174. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/rotor_centre_calc.py +0 -0
  175. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/sector_management.py +0 -0
  176. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/set_farm_vars.py +0 -0
  177. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/table_factors.py +0 -0
  178. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/thrust2ct.py +0 -0
  179. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/yaw2yawm.py +0 -0
  180. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/yawm2yaw.py +0 -0
  181. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/CpCt_file.py +0 -0
  182. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/CpCt_from_two.py +0 -0
  183. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/PCt_file.py +0 -0
  184. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/PCt_from_two.py +0 -0
  185. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/TBL_file.py +0 -0
  186. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/__init__.py +0 -0
  187. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/lookup.py +0 -0
  188. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/null_type.py +0 -0
  189. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/wsrho2PCt_from_two.py +0 -0
  190. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/wsti2PCt_from_two.py +0 -0
  191. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/vertical_profiles/__init__.py +0 -0
  192. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/vertical_profiles/abl_log_neutral_ws.py +0 -0
  193. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/vertical_profiles/abl_log_stable_ws.py +0 -0
  194. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/vertical_profiles/abl_log_unstable_ws.py +0 -0
  195. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/vertical_profiles/abl_log_ws.py +0 -0
  196. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/vertical_profiles/data_profile.py +0 -0
  197. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/vertical_profiles/sheared_ws.py +0 -0
  198. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/vertical_profiles/uniform.py +0 -0
  199. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_frames/__init__.py +0 -0
  200. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_frames/dynamic_wakes.py +0 -0
  201. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_frames/farm_order.py +0 -0
  202. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_frames/rotor_wd.py +0 -0
  203. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_frames/seq_dynamic_wakes.py +0 -0
  204. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_frames/streamlines.py +0 -0
  205. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_frames/timelines.py +0 -0
  206. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_frames/yawed_wakes.py +0 -0
  207. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/__init__.py +0 -0
  208. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/axisymmetric.py +0 -0
  209. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/dist_sliced.py +0 -0
  210. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/gaussian.py +0 -0
  211. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/induction/__init__.py +0 -0
  212. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/induction/rankine_half_body.py +0 -0
  213. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/induction/rathmann.py +0 -0
  214. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/induction/self_similar.py +0 -0
  215. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/induction/self_similar2020.py +0 -0
  216. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/induction/vortex_sheet.py +0 -0
  217. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/ti/__init__.py +0 -0
  218. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/ti/crespo_hernandez.py +0 -0
  219. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/ti/iec_ti.py +0 -0
  220. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/top_hat.py +0 -0
  221. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/wind/__init__.py +0 -0
  222. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/wind/bastankhah14.py +0 -0
  223. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/wind/bastankhah16.py +0 -0
  224. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/wind/jensen.py +0 -0
  225. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/wind/turbopark.py +0 -0
  226. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/__init__.py +0 -0
  227. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ti_linear.py +0 -0
  228. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ti_max.py +0 -0
  229. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ti_pow.py +0 -0
  230. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ti_quadratic.py +0 -0
  231. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ws_linear.py +0 -0
  232. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ws_max.py +0 -0
  233. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ws_pow.py +0 -0
  234. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ws_product.py +0 -0
  235. {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ws_quadratic.py +0 -0
  236. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/__init__.py +0 -0
  237. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/animation.py +0 -0
  238. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/calc_points.py +0 -0
  239. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/farm_layout.py +0 -0
  240. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/farm_results_eval.py +0 -0
  241. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/flow_plots_2d/__init__.py +0 -0
  242. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/flow_plots_2d/flow_plots.py +0 -0
  243. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/flow_plots_2d/get_fig.py +0 -0
  244. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/grids.py +0 -0
  245. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/output.py +0 -0
  246. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/plt.py +0 -0
  247. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/results_writer.py +0 -0
  248. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/rose_plot.py +0 -0
  249. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/rotor_point_plots.py +0 -0
  250. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/round.py +0 -0
  251. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/seq_plugins/__init__.py +0 -0
  252. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/seq_plugins/seq_flow_ani_plugin.py +0 -0
  253. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/seq_plugins/seq_wake_debug_plugin.py +0 -0
  254. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/slice_data.py +0 -0
  255. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/slices_data.py +0 -0
  256. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/state_turbine_map.py +0 -0
  257. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/state_turbine_table.py +0 -0
  258. {foxes-1.2.3 → foxes-1.2.4}/foxes/output/turbine_type_curves.py +0 -0
  259. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/abl/__init__.py +0 -0
  260. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/abl/neutral.py +0 -0
  261. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/abl/sheared.py +0 -0
  262. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/abl/stable.py +0 -0
  263. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/abl/unstable.py +0 -0
  264. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/cubic_roots.py +0 -0
  265. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/data_book.py +0 -0
  266. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/dev_utils.py +0 -0
  267. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/dict.py +0 -0
  268. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/exec_python.py +0 -0
  269. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/factory.py +0 -0
  270. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/geom2d/__init__.py +0 -0
  271. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/geom2d/area_geometry.py +0 -0
  272. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/geom2d/circle.py +0 -0
  273. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/geom2d/example_intersection.py +0 -0
  274. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/geom2d/example_union.py +0 -0
  275. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/geom2d/half_plane.py +0 -0
  276. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/geom2d/polygon.py +0 -0
  277. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/geopandas_utils.py +0 -0
  278. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/load.py +0 -0
  279. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/pandas_helpers.py +0 -0
  280. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/pandas_utils.py +0 -0
  281. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/random_xy.py +0 -0
  282. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/regularize.py +0 -0
  283. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/subclasses.py +0 -0
  284. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/tab_files.py +0 -0
  285. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/two_circles.py +0 -0
  286. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/wind_dir.py +0 -0
  287. {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/xarray_utils.py +0 -0
  288. {foxes-1.2.3 → foxes-1.2.4}/foxes/variables.py +0 -0
  289. {foxes-1.2.3 → foxes-1.2.4}/foxes.egg-info/dependency_links.txt +0 -0
  290. {foxes-1.2.3 → foxes-1.2.4}/foxes.egg-info/entry_points.txt +0 -0
  291. {foxes-1.2.3 → foxes-1.2.4}/foxes.egg-info/requires.txt +0 -0
  292. {foxes-1.2.3 → foxes-1.2.4}/foxes.egg-info/top_level.txt +0 -0
  293. {foxes-1.2.3 → foxes-1.2.4}/setup.cfg +0 -0
  294. {foxes-1.2.3 → foxes-1.2.4}/tests/0_consistency/iterative/test_iterative.py +0 -0
  295. {foxes-1.2.3 → foxes-1.2.4}/tests/0_consistency/partial_wakes/test_partial_wakes.py +0 -0
  296. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/PCt_files/flappy/run.py +0 -0
  297. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/PCt_files/test_PCt_files.py +0 -0
  298. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/abl_states/flappy/run.py +0 -0
  299. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/abl_states/test_abl_states.py +0 -0
  300. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/partial_top_hat/flappy/run.py +0 -0
  301. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/partial_top_hat/test_partial_top_hat.py +0 -0
  302. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/row_Jensen_linear_centre/flappy/run.py +0 -0
  303. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/row_Jensen_linear_centre/test_row_Jensen_linear_centre.py +0 -0
  304. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/row_Jensen_linear_tophat/flappy/run.py +0 -0
  305. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/row_Jensen_linear_tophat/test_row_Jensen_linear_tophat.py +0 -0
  306. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/row_Jensen_linear_tophat_IECTI2005/flappy/run.py +0 -0
  307. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/row_Jensen_linear_tophat_IECTI2005/test_row_Jensen_linear_tophat_IECTI_2005.py +0 -0
  308. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/row_Jensen_linear_tophat_IECTI2019/flappy/run.py +0 -0
  309. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/row_Jensen_linear_tophat_IECTI2019/test_row_Jensen_linear_tophat_IECTI_2019.py +0 -0
  310. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/row_Jensen_quadratic_centre/flappy/run.py +0 -0
  311. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/row_Jensen_quadratic_centre/test_row_Jensen_quadratic_centre.py +0 -0
  312. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6_2/grid_rotors/flappy/run.py +0 -0
  313. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6_2/grid_rotors/test_grid_rotors.py +0 -0
  314. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6_2/row_Bastankhah_Crespo/flappy/run.py +0 -0
  315. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6_2/row_Bastankhah_Crespo/test_row_Bastankhah_Crespo.py +0 -0
  316. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6_2/row_Bastankhah_linear_centre/flappy/run.py +0 -0
  317. {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6_2/row_Bastankhah_linear_centre/test_row_Bastankhah_linear_centre.py +0 -0
  318. {foxes-1.2.3 → foxes-1.2.4}/tests/3_examples/test_examples.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: foxes
3
- Version: 1.2.3
3
+ Version: 1.2.4
4
4
  Summary: Farm Optimization and eXtended yield Evaluation Software
5
5
  Author: Jonas Schulte
6
6
  Maintainer: Jonas Schulte
@@ -1,5 +1,6 @@
1
1
  import numpy as np
2
2
  from pathlib import Path
3
+ from sys import version_info
3
4
 
4
5
  from foxes.utils import Dict, import_module
5
6
  import foxes.constants as FC
@@ -26,6 +27,10 @@ class Config(Dict):
26
27
  name="config",
27
28
  )
28
29
 
30
+ # special treat for Python 3.8:
31
+ if version_info[0] == 3 and version_info[1] == 8:
32
+ self["nc_engine"] = None
33
+
29
34
  @property
30
35
  def dtype_double(self):
31
36
  """
@@ -119,8 +124,10 @@ class Config(Dict):
119
124
  The NetCDF engine
120
125
 
121
126
  """
122
- import_module(self[FC.NC_ENGINE])
123
- return self[FC.NC_ENGINE]
127
+ nce = self[FC.NC_ENGINE]
128
+ if nce is not None:
129
+ import_module(nce)
130
+ return nce
124
131
 
125
132
 
126
133
  config = Config()
@@ -17,6 +17,7 @@ from .regularize import sqrt_reg
17
17
  from .tab_files import read_tab_file
18
18
  from .random_xy import random_xy_square
19
19
  from .dev_utils import print_mem
20
+ from .wrg_utils import ReaderWRG
20
21
 
21
22
  from . import two_circles
22
23
  from . import abl
@@ -0,0 +1,79 @@
1
+ import pandas as pd
2
+ from pathlib import Path
3
+
4
+
5
+ class ReaderWRG:
6
+ """
7
+ A reader for WRG files
8
+
9
+ Attributes
10
+ ----------
11
+ fpath: pathlib.Path
12
+ Path to the wrg file
13
+
14
+ """
15
+
16
+ def __init__(self, fpath):
17
+ """
18
+ Constructor
19
+
20
+ Parameters
21
+ ----------
22
+ fpath: str
23
+ Path to the wrg file
24
+ """
25
+ self.fpath = Path(fpath)
26
+ self._prepare()
27
+
28
+ def _prepare(self):
29
+ # read the first two lines
30
+ with open(self.fpath, "r") as fstream:
31
+ self._nx, self._ny, self._utmx0, self._utmy0, self._res = (
32
+ fstream.readline().split()
33
+ )
34
+ second_line = fstream.readline().split()
35
+ n_cols = len(second_line)
36
+ self._n_sectors = int(second_line[8])
37
+ self._nx, self._ny, self._utmx0, self._utmy0, self._res = (
38
+ int(self._nx),
39
+ int(self._ny),
40
+ float(self._utmx0),
41
+ float(self._utmy0),
42
+ int(self._res),
43
+ )
44
+
45
+ cols_sel = lambda name, secs: [f"{name}_{i}" for i in range(secs)]
46
+
47
+ cols = [0] * (8 + 3 * self._n_sectors)
48
+ cols[0] = "utmx"
49
+ cols[1] = "utmy"
50
+ cols[2] = "z"
51
+ cols[3] = "h"
52
+ cols[4] = "A"
53
+ cols[5] = "K"
54
+ cols[6] = "pw"
55
+ cols[7] = "n_sectors"
56
+ cols[8::3] = cols_sel("fs", self._n_sectors)
57
+ cols[9::3] = cols_sel("As", self._n_sectors)
58
+ cols[10::3] = cols_sel("Ks", self._n_sectors)
59
+
60
+ self._data = pd.read_csv(
61
+ self.fpath, names=cols, skiprows=1, sep="\s+", usecols=range(1, n_cols)
62
+ )
63
+
64
+ self._data[cols_sel("fs", self._n_sectors)] /= 10
65
+ self._data[cols_sel("As", self._n_sectors)] /= 10
66
+ self._data[cols_sel("Ks", self._n_sectors)] /= 100
67
+
68
+ @property
69
+ def data(self):
70
+ """
71
+ The WRG data
72
+
73
+ Returns
74
+ -------
75
+ df: pandas.DataFrame
76
+ The WRG data
77
+
78
+ """
79
+ return self._data
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: foxes
3
- Version: 1.2.3
3
+ Version: 1.2.4
4
4
  Summary: Farm Optimization and eXtended yield Evaluation Software
5
5
  Author: Jonas Schulte
6
6
  Maintainer: Jonas Schulte
@@ -275,6 +275,7 @@ foxes/utils/subclasses.py
275
275
  foxes/utils/tab_files.py
276
276
  foxes/utils/two_circles.py
277
277
  foxes/utils/wind_dir.py
278
+ foxes/utils/wrg_utils.py
278
279
  foxes/utils/xarray_utils.py
279
280
  foxes/utils/abl/__init__.py
280
281
  foxes/utils/abl/neutral.py
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "foxes"
9
- version = "1.2.3"
9
+ version = "1.2.4"
10
10
  authors = [
11
11
  {name = "Jonas Schulte"},
12
12
  ]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes