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.
- {foxes-1.2.3/foxes.egg-info → foxes-1.2.4}/PKG-INFO +1 -1
- {foxes-1.2.3 → foxes-1.2.4}/foxes/config/config.py +9 -2
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/__init__.py +1 -0
- foxes-1.2.4/foxes/utils/wrg_utils.py +79 -0
- {foxes-1.2.3 → foxes-1.2.4/foxes.egg-info}/PKG-INFO +1 -1
- {foxes-1.2.3 → foxes-1.2.4}/foxes.egg-info/SOURCES.txt +1 -0
- {foxes-1.2.3 → foxes-1.2.4}/pyproject.toml +1 -1
- {foxes-1.2.3 → foxes-1.2.4}/LICENSE +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/Logo_FOXES.svg +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/MANIFEST.in +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/README.md +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/docs/source/conf.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/abl_states/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/compare_rotors_pwakes/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/compare_wakes/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/dyn_wakes/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/field_data_nc/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/induction/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/multi_height/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/power_mask/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/random_timeseries/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/scan_row/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/sector_management/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/sequential/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/single_state/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/states_lookup_table/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/streamline_wakes/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/tab_file/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/timelines/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/timeseries/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/timeseries_slurm/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/wind_rose/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/examples/yawed_wake/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/downwind.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/models/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/models/farm_wakes_calc.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/models/init_farm_data.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/models/point_wakes_calc.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/models/reorder_farm_output.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/models/set_amb_farm_results.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/downwind/models/set_amb_point_results.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/iterative/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/iterative/iterative.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/iterative/models/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/iterative/models/convergence.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/iterative/models/farm_wakes_calc.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/iterative/models/urelax.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/sequential/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/sequential/models/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/sequential/models/plugin.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/sequential/models/seq_state.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/algorithms/sequential/sequential.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/config/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/constants.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/algorithm.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/axial_induction_model.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/data.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/data_calc_model.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/engine.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/farm_controller.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/farm_data_model.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/farm_model.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/ground_model.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/model.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/partial_wakes_model.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/point_data_model.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/rotor_model.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/states.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/turbine.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/turbine_model.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/turbine_type.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/vertical_profile.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/wake_frame.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/wake_model.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/wake_superposition.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/core/wind_farm.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/farms/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/farms/test_farm_67.csv +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/parse.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/power_ct_curves/DTU-10MW-D178d3-H119.csv +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/power_ct_curves/IEA-15MW-D240-H150.csv +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/power_ct_curves/IWT-7d5MW-D164-H100.csv +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/power_ct_curves/NREL-5MW-D126-H90.csv +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/power_ct_curves/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/WRF-Timeseries-3000.nc +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/WRF-Timeseries-4464.csv.gz +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/abl_states_6000.csv.gz +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/timeseries_100.csv.gz +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/timeseries_3000.csv.gz +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/timeseries_8000.csv.gz +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/wind_rose_bremen.csv +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/wind_rotation.nc +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/states/winds100.tab +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/data/static_data.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/dask.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/default.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/futures.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/mpi.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/multiprocess.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/numpy.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/pool.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/ray.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/engines/single.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/from_csv.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/from_df.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/from_file.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/from_json.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/from_random.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/grid.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/ring.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/farm_layout/row.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/create/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/create/random_abl_states.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/create/random_timeseries.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/field_data_nc.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/multi_height.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/one_point_flow.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/scan.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/single.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/states/states_table.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/dict.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/windio/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/windio/read_attributes.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/windio/read_farm.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/windio/read_fields.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/windio/read_outputs.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/windio/read_site.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/windio/windio.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/input/yaml/yaml.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/axial_induction/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/axial_induction/betz.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/axial_induction/madsen.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/farm_controllers/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/farm_controllers/basic.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/farm_models/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/farm_models/turbine2farm.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/ground_models/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/ground_models/no_ground.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/ground_models/wake_mirror.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/model_book.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/partial_wakes/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/partial_wakes/axiwake.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/partial_wakes/centre.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/partial_wakes/grid.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/partial_wakes/rotor_points.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/partial_wakes/segregated.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/partial_wakes/top_hat.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/point_models/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/point_models/set_uniform_data.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/point_models/tke2ti.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/point_models/ustar2ti.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/point_models/wake_deltas.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/rotor_models/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/rotor_models/centre.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/rotor_models/grid.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/rotor_models/levels.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/calculator.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/kTI_model.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/lookup_table.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/power_mask.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/rotor_centre_calc.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/sector_management.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/set_farm_vars.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/table_factors.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/thrust2ct.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/yaw2yawm.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_models/yawm2yaw.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/CpCt_file.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/CpCt_from_two.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/PCt_file.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/PCt_from_two.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/TBL_file.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/lookup.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/null_type.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/wsrho2PCt_from_two.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/turbine_types/wsti2PCt_from_two.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/vertical_profiles/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/vertical_profiles/abl_log_neutral_ws.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/vertical_profiles/abl_log_stable_ws.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/vertical_profiles/abl_log_unstable_ws.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/vertical_profiles/abl_log_ws.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/vertical_profiles/data_profile.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/vertical_profiles/sheared_ws.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/vertical_profiles/uniform.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_frames/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_frames/dynamic_wakes.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_frames/farm_order.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_frames/rotor_wd.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_frames/seq_dynamic_wakes.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_frames/streamlines.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_frames/timelines.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_frames/yawed_wakes.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/axisymmetric.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/dist_sliced.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/gaussian.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/induction/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/induction/rankine_half_body.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/induction/rathmann.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/induction/self_similar.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/induction/self_similar2020.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/induction/vortex_sheet.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/ti/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/ti/crespo_hernandez.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/ti/iec_ti.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/top_hat.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/wind/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/wind/bastankhah14.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/wind/bastankhah16.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/wind/jensen.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_models/wind/turbopark.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ti_linear.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ti_max.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ti_pow.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ti_quadratic.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ws_linear.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ws_max.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ws_pow.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ws_product.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/models/wake_superpositions/ws_quadratic.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/animation.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/calc_points.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/farm_layout.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/farm_results_eval.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/flow_plots_2d/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/flow_plots_2d/flow_plots.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/flow_plots_2d/get_fig.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/grids.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/output.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/plt.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/results_writer.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/rose_plot.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/rotor_point_plots.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/round.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/seq_plugins/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/seq_plugins/seq_flow_ani_plugin.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/seq_plugins/seq_wake_debug_plugin.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/slice_data.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/slices_data.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/state_turbine_map.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/state_turbine_table.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/output/turbine_type_curves.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/abl/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/abl/neutral.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/abl/sheared.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/abl/stable.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/abl/unstable.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/cubic_roots.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/data_book.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/dev_utils.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/dict.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/exec_python.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/factory.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/geom2d/__init__.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/geom2d/area_geometry.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/geom2d/circle.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/geom2d/example_intersection.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/geom2d/example_union.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/geom2d/half_plane.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/geom2d/polygon.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/geopandas_utils.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/load.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/pandas_helpers.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/pandas_utils.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/random_xy.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/regularize.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/subclasses.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/tab_files.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/two_circles.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/wind_dir.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/utils/xarray_utils.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes/variables.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes.egg-info/dependency_links.txt +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes.egg-info/entry_points.txt +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes.egg-info/requires.txt +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/foxes.egg-info/top_level.txt +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/setup.cfg +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/tests/0_consistency/iterative/test_iterative.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/tests/0_consistency/partial_wakes/test_partial_wakes.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/PCt_files/flappy/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/PCt_files/test_PCt_files.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/abl_states/flappy/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/abl_states/test_abl_states.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/partial_top_hat/flappy/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/partial_top_hat/test_partial_top_hat.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/row_Jensen_linear_centre/flappy/run.py +0 -0
- {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
- {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/row_Jensen_linear_tophat/flappy/run.py +0 -0
- {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
- {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/row_Jensen_linear_tophat_IECTI2005/flappy/run.py +0 -0
- {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
- {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/row_Jensen_linear_tophat_IECTI2019/flappy/run.py +0 -0
- {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
- {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6/row_Jensen_quadratic_centre/flappy/run.py +0 -0
- {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
- {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6_2/grid_rotors/flappy/run.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6_2/grid_rotors/test_grid_rotors.py +0 -0
- {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6_2/row_Bastankhah_Crespo/flappy/run.py +0 -0
- {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
- {foxes-1.2.3 → foxes-1.2.4}/tests/1_verification/flappy_0_6_2/row_Bastankhah_linear_centre/flappy/run.py +0 -0
- {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
- {foxes-1.2.3 → foxes-1.2.4}/tests/3_examples/test_examples.py +0 -0
|
@@ -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
|
-
|
|
123
|
-
|
|
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()
|
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|