gitextract_8emkfpo1/ ├── .codecov.yml ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── config.yml │ │ └── feature_request.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── dependabot.yml │ └── workflows/ │ ├── check-working-examples.yaml │ ├── continuous-integration-workflow.yaml │ ├── deploy-pages.yaml │ ├── python-publish.yml │ └── quality-metrics-workflow.yaml ├── .gitignore ├── .pre-commit-config.yaml ├── CONTRIBUTING.md ├── LICENSE.txt ├── README.md ├── benchmarks/ │ └── bench.py ├── docs/ │ ├── .nojekyll │ ├── _config.yml │ ├── _toc.yml │ ├── advanced_concepts.ipynb │ ├── api_docs.md │ ├── architecture.md │ ├── bibliography.md │ ├── code_quality.ipynb │ ├── dev_guide.md │ ├── empirical_gauss_model.md │ ├── floating_wind_turbine.md │ ├── floris_models.ipynb │ ├── heterogeneous_map.ipynb │ ├── index.md │ ├── input_reference_main.md │ ├── input_reference_turbine.md │ ├── installation.md │ ├── intro_concepts.ipynb │ ├── layout_optimization.md │ ├── multidimensional_wind_turbine.ipynb │ ├── operation_models_user.ipynb │ ├── references.bib │ ├── turbine_library.md │ ├── turbine_models.ipynb │ ├── v3_to_v4.md │ ├── wake_models.ipynb │ └── wind_data_user.ipynb ├── examples/ │ ├── 001_opening_floris_computing_power.py │ ├── 002_visualizations.py │ ├── 003_wind_data_objects.py │ ├── 004_set.py │ ├── 005_getting_power.py │ ├── 006_get_farm_aep.py │ ├── 007_sweeping_variables.py │ ├── 008_uncertain_models.py │ ├── 009_parallel_models.py │ ├── 010_compare_farm_power_with_neighbor.py │ ├── _convert_examples_to_notebooks.py │ ├── examples_control_optimization/ │ │ ├── 001_opt_yaw_single_ws.py │ │ ├── 002_opt_yaw_single_ws_uncertain.py │ │ ├── 003_opt_yaw_multiple_ws.py │ │ ├── 004_optimize_yaw_aep.py │ │ ├── 005_optimize_yaw_aep_parallel.py │ │ ├── 006_compare_yaw_optimizers.py │ │ ├── 007_optimize_yaw_with_neighbor_farms.py │ │ └── 008_optimize_yaw_with_disabled_turbines.py │ ├── examples_control_types/ │ │ ├── 001_derating_control.py │ │ ├── 002_disable_turbines.py │ │ ├── 003_setting_yaw_and_disabling.py │ │ ├── 004_helix_active_wake_mixing.py │ │ └── 005_peak_shaving.py │ ├── examples_emgauss/ │ │ ├── 001_empirical_gauss_velocity_deficit_parameters.py │ │ └── 002_empirical_gauss_deflection_parameters.py │ ├── examples_floating/ │ │ ├── 001_floating_turbine_models.py │ │ ├── 002_floating_vs_fixedbottom_farm.py │ │ └── 003_tilt_driven_vertical_wake_deflection.py │ ├── examples_get_flow/ │ │ ├── 001_extract_wind_speed_at_turbines.py │ │ ├── 002_extract_wind_speed_at_points.py │ │ ├── 003_extract_turbulence_intensity_at_points.py │ │ └── 004_plot_velocity_deficit_profiles.py │ ├── examples_heterogeneous/ │ │ ├── 001_heterogeneous_inflow_single.py │ │ ├── 002_heterogeneous_using_wind_data.py │ │ ├── 003_heterogeneous_speedup_by_wd_and_ws.py │ │ └── 004_heterogeneous_2d_and_3d.py │ ├── examples_layout_optimization/ │ │ ├── 001_optimize_layout.py │ │ ├── 002_optimize_layout_with_heterogeneity.py │ │ ├── 003_genetic_random_search.py │ │ ├── 004_generate_gridded_layout.py │ │ └── 005_layout_optimization_complex_boundary.py │ ├── examples_load_optimization/ │ │ ├── 001_lti_and_voc.py │ │ └── 002_row_opt_example.py │ ├── examples_multidim/ │ │ ├── 001_multi_dimensional_cp_ct.py │ │ ├── 002_multi_dimensional_cp_ct_2Hs.py │ │ └── 003_multi_dimensional_cp_ct_TI.py │ ├── examples_operation_models/ │ │ └── 001_compare_yaw_loss.py │ ├── examples_turbine/ │ │ ├── 001_reference_turbines.py │ │ ├── 002_multiple_turbine_types.py │ │ └── 003_specify_turbine_power_curve.py │ ├── examples_turbopark/ │ │ ├── 001_compare_turbopark_implementations.py │ │ └── comparison_data/ │ │ ├── Rowpark_Orsted.csv │ │ └── WindDirection_Sweep_Orsted.csv │ ├── examples_uncertain/ │ │ ├── 001_uncertain_model_params.py │ │ ├── 002_approx_floris_model.py │ │ └── 003_uncertain_model_with_parallelization.py │ ├── examples_visualizations/ │ │ ├── 001_layout_visualizations.py │ │ ├── 002_visualize_y_cut_plane.py │ │ ├── 003_visualize_cross_plane.py │ │ ├── 004_visualize_rotor_values.py │ │ └── 005_visualize_flow_by_sweeping_turbines.py │ ├── examples_wind_data/ │ │ ├── 001_wind_data_comparisons.py │ │ ├── 002_generate_ti.py │ │ └── 003_generate_value.py │ ├── examples_wind_resource_grid/ │ │ ├── 000_generate_example_wrg.py │ │ ├── 001_wind_rose_wrg.py │ │ ├── 002_set_floris_with_wrg.py │ │ ├── 003_wrg_compar_layout_optimization.py │ │ └── wrg_example.wrg │ ├── inputs/ │ │ ├── cc.yaml │ │ ├── emgauss.yaml │ │ ├── emgauss_helix.yaml │ │ ├── gch.yaml │ │ ├── gch_heterogeneous_inflow.yaml │ │ ├── gch_multi_dim_cp_ct.yaml │ │ ├── gch_multi_dim_cp_ct_TI.yaml │ │ ├── gch_multiple_turbine_types.yaml │ │ ├── jensen.yaml │ │ ├── turbine_files/ │ │ │ ├── iea_15MW_multi_dim_TI.csv │ │ │ └── iea_15MW_multi_dim_TI.yaml │ │ ├── turbopark.yaml │ │ ├── turbopark_cubature.yaml │ │ ├── turboparkgauss.yaml │ │ ├── turboparkgauss_cubature.yaml │ │ └── wind_rose.csv │ └── inputs_floating/ │ ├── emgauss_fixed.yaml │ ├── emgauss_floating.yaml │ ├── emgauss_floating_fixedtilt15.yaml │ ├── emgauss_floating_fixedtilt5.yaml │ ├── gch_fixed.yaml │ ├── gch_floating.yaml │ ├── gch_floating_defined_floating.yaml │ └── turbine_files/ │ ├── nrel_5MW_fixed.yaml │ ├── nrel_5MW_floating.yaml │ ├── nrel_5MW_floating_defined_floating.yaml │ ├── nrel_5MW_floating_fixedtilt15.yaml │ └── nrel_5MW_floating_fixedtilt5.yaml ├── floris/ │ ├── __init__.py │ ├── convert_floris_input_v3_to_v4.py │ ├── convert_turbine_v3_to_v4.py │ ├── core/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── core.py │ │ ├── farm.py │ │ ├── flow_field.py │ │ ├── grid.py │ │ ├── rotor_velocity.py │ │ ├── solver.py │ │ ├── turbine/ │ │ │ ├── __init__.py │ │ │ ├── controller_dependent_operation_model.py │ │ │ ├── operation_models.py │ │ │ ├── turbine.py │ │ │ └── unified_momentum_model.py │ │ ├── wake.py │ │ ├── wake_combination/ │ │ │ ├── __init__.py │ │ │ ├── fls.py │ │ │ ├── max.py │ │ │ └── sosfs.py │ │ ├── wake_deflection/ │ │ │ ├── __init__.py │ │ │ ├── empirical_gauss.py │ │ │ ├── gauss.py │ │ │ ├── jimenez.py │ │ │ └── none.py │ │ ├── wake_turbulence/ │ │ │ ├── __init__.py │ │ │ ├── crespo_hernandez.py │ │ │ ├── none.py │ │ │ └── wake_induced_mixing.py │ │ └── wake_velocity/ │ │ ├── __init__.py │ │ ├── cumulative_gauss_curl.py │ │ ├── empirical_gauss.py │ │ ├── gauss.py │ │ ├── jensen.py │ │ ├── none.py │ │ ├── turbopark.py │ │ ├── turbopark_lookup_table.mat │ │ └── turboparkgauss.py │ ├── cut_plane.py │ ├── default_inputs.yaml │ ├── floris_model.py │ ├── flow_visualization.py │ ├── heterogeneous_map.py │ ├── layout_visualization.py │ ├── logging_manager.py │ ├── optimization/ │ │ ├── __init__.py │ │ ├── layout_optimization/ │ │ │ ├── __init__.py │ │ │ ├── layout_optimization_base.py │ │ │ ├── layout_optimization_boundary_grid.py │ │ │ ├── layout_optimization_gridded.py │ │ │ ├── layout_optimization_pyoptsparse.py │ │ │ ├── layout_optimization_pyoptsparse_spread.py │ │ │ ├── layout_optimization_random_search.py │ │ │ └── layout_optimization_scipy.py │ │ ├── load_optimization/ │ │ │ ├── __init__.py │ │ │ └── load_optimization.py │ │ ├── other/ │ │ │ ├── __init__.py │ │ │ └── boundary_grid.py │ │ └── yaw_optimization/ │ │ ├── __init__.py │ │ ├── yaw_optimization_base.py │ │ ├── yaw_optimization_tools.py │ │ ├── yaw_optimizer_geometric.py │ │ ├── yaw_optimizer_scipy.py │ │ └── yaw_optimizer_sr.py │ ├── par_floris_model.py │ ├── parallel_floris_model.py │ ├── turbine_library/ │ │ ├── __init__.py │ │ ├── demo_cp_ct_surfaces/ │ │ │ ├── iea_10MW_demo_cp_ct_surface.npz │ │ │ ├── iea_15MW_demo_cp_ct_surface.npz │ │ │ └── nrel_5MW_demo_cp_ct_surface.npz │ │ ├── iea_10MW.yaml │ │ ├── iea_15MW.yaml │ │ ├── iea_15MW_floating_multi_dim_cp_ct.yaml │ │ ├── iea_15MW_multi_dim_TI_u.csv │ │ ├── iea_15MW_multi_dim_Tp_Hs.csv │ │ ├── iea_15MW_multi_dim_cp_ct.yaml │ │ ├── iea_22MW.yaml │ │ ├── nrel_5MW.yaml │ │ ├── turbine_previewer.py │ │ └── turbine_utilities.py │ ├── type_dec.py │ ├── uncertain_floris_model.py │ ├── utilities.py │ └── wind_data.py ├── profiling/ │ ├── linux_perf.py │ ├── profiling.py │ ├── quality_metrics.py │ ├── serial_vectorize.py │ └── timing.py ├── pyproject.toml └── tests/ ├── __init__.py ├── base_unit_test.py ├── conftest.py ├── controller_dependent_operation_model_unit_test.py ├── convert_v3_to_v4_test.py ├── core_unit_test.py ├── data/ │ ├── __init__.py │ ├── input_full.yaml │ ├── nrel_5MW_custom.yaml │ ├── wind_rose.csv │ ├── wind_ti_rose.csv │ └── wrg_test.wrg ├── farm_unit_test.py ├── floris_model_integration_test.py ├── flow_field_unit_test.py ├── geometric_yaw_unit_test.py ├── heterogeneous_map_integration_test.py ├── layout_optimization_integration_test.py ├── layout_visualization_test.py ├── load_optimization_test.py ├── par_floris_model_unit_test.py ├── parallel_floris_model_integration_test.py ├── reg_tests/ │ ├── cumulative_curl_regression_test.py │ ├── empirical_gauss_regression_test.py │ ├── gauss_regression_test.py │ ├── jensen_jimenez_regression_test.py │ ├── none_regression_test.py │ ├── random_search_layout_opt_regression_test.py │ ├── scipy_layout_opt_regression.py │ ├── turbopark_regression_test.py │ ├── turboparkgauss_regression_test.py │ ├── turbulence_models_regression_test.py │ └── yaw_optimization_regression_test.py ├── rotor_velocity_unit_test.py ├── serial_refine_unit_test.py ├── turbine_grid_unit_test.py ├── turbine_multi_dim_unit_test.py ├── turbine_operation_models_unit_test.py ├── turbine_unit_test.py ├── turbine_utilities_unit_test.py ├── turboparkgauss_unit_test.py ├── type_dec_unit_test.py ├── uncertain_floris_model_integration_test.py ├── unified_momentum_operation_model_unit_test.py ├── utilities_unit_test.py ├── v3_to_v4_convert_test/ │ ├── gch.yaml │ └── nrel_5MW_v3.yaml ├── wake_unit_tests.py ├── wind_data_integration_test.py ├── wind_rose_wrg_test.py └── yaw_optimization_integration_test.py