Skip to content

Commit

Permalink
[BUGFIX] Add enable_active_wake_mixing field to v3 to v4 documentatio…
Browse files Browse the repository at this point in the history
…n and conversion (#878)

* Mention enable_active_wake_mixing in v3_to_v4 doc

* A few more details in docs.

* Trailing whitespace in docs.

* Bug fixes for AWC model.

* Rename example for docs.

* Fix broken links to docs in README.

* Small improvements to helix documentation

* Clear notebook outputs by default.

---------

Co-authored-by: jfrederik-nrel <[email protected]>
  • Loading branch information
misi9170 and jfrederik-nrel authored Apr 12, 2024
1 parent 3b24465 commit f704aab
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 145 deletions.
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,15 +115,15 @@ fmodel.run()
Finally, results can be analyzed via post-processing functions available within
[FlorisModel](https://nrel.github.io/floris/_autosummary/floris.floris_model.FlorisModel.html#floris.floris_model.FlorisModel)
such as
- [FlorisModel.get_turbine_layout](https://nrel.github.io/floris/_autosummary/floris.floris_model.FlorisModel.html#floris.floris_model.FlorisModel.get_turbine_layout)
- [FlorisModel.get_turbine_powers](https://nrel.github.io/floris/_autosummary/floris.floris_model.FlorisModel.html#floris.floris_model.FlorisModel.get_turbine_powers)
- [FlorisModel.get_farm_AEP](https://nrel.github.io/floris/_autosummary/floris.floris_model.FlorisModel.html#floris.floris_model.FlorisModel.get_farm_AEP)
- [FlorisModel.get_turbine_layout](https://nrel.github.io/floris/_autosummary/floris.floris_model.html#floris.floris_model.FlorisModel.get_turbine_layout)
- [FlorisModel.get_turbine_powers](https://nrel.github.io/floris/_autosummary/floris.floris_model.html#floris.floris_model.FlorisModel.get_turbine_powers)
- [FlorisModel.get_farm_AEP](https://nrel.github.io/floris/_autosummary/floris.floris_model.html#floris.floris_model.FlorisModel.get_farm_AEP)

and in two visualization packages: [layoutviz](https://nrel.github.io/floris/_autosummary/floris.layout_visualization.html) and [flowviz](https://nrel.github.io/floris/_autosummary/floris.flow_visualization.html).
A collection of examples describing the creation of simulations as well as
analysis and post processing are included in the
[repository](https://github.com/NREL/floris/tree/main/examples)
and described in [Examples Index](https://github.nrel.io/floris/examples).
[repository](https://github.com/NREL/floris/tree/main/examples). Examples are also listed
in the [online documentation](https://nrel.github.io/floris/examples/001_opening_floris_computing_power.html).

## Engaging on GitHub

Expand Down
6 changes: 3 additions & 3 deletions docs/empirical_gauss_model.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,10 +172,10 @@ The effect of AWC is represented by updating the
wake-induced mixing term as follows:

$$ \text{WIM}_j = \sum_{i \in T^{\text{up}}(j)} \frac{A_{ij} a_i} {(x_j - x_i)/D_i} +
\frac{A_{\text{AWC},j}^{p_\text{AWC}}}{d_\text{AWC}}$$
\frac{\beta_{j}^{p}{d}$$

where $A_{\text{AWC},j}$ is the AWC amplitude of turbine $j$, and the exponent $p_\text{AWC}$ and
denominator $d_\text{AWC}$ are tuning parameters that can be set in the `emgauss.yaml` file with
where $\beta_{j}$ is the AWC amplitude of turbine $j$, and the exponent $p$ and
denominator $d$ are tuning parameters that can be set in the `emgauss.yaml` file with
the fields `awc_wake_exp` and `awc_wake_denominator`, respectively.
Note that, in contrast to the yaw added mixing case, a turbine currently affects _only_ its own
wake by applying AWC.
154 changes: 19 additions & 135 deletions docs/operation_models_user.ipynb

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion docs/v3_to_v4.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,12 +108,16 @@ in v3. However, there are a few changes to the fields on each that mean that exi
will not run in v4 as is.

#### Main FLORIS input yaml
The only change in fields on the main FLORIS input file is that the `turbulence_intensity` field,
On the main FLORIS input file, the `turbulence_intensity` field (on`flow_field`),
which was specified as a scalar in FLORIS v3, has been changed to `turbulence_intensities`, and
should now contain a list of turbulence intensities that is of the same length as `wind_directions`
and `wind_speeds`. Additionally, the length of the lists for `wind_directions` and `wind_speeds`
_must_ now be of equal length.

In addition, a new field `enable_active_wake_mixing` has been added to the `wake` field,
which users may set to `false` unless they would like to use active wake mixing strategies such
as [Helix](empirical_gauss_model.md#Added-mixing-by-active-wake-control).

#### Turbine input yaml
To reflect the transition to more flexible [operation models](#operation-model), there are a
number of changes to the fields on the turbine yaml. The changes are mostly regrouping and
Expand Down
2 changes: 1 addition & 1 deletion examples/examples_control_types/002_disable_turbines.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""Example 001: Disable turbines
"""Example: Disabling turbines
This example is adapted from https://github.com/NREL/floris/pull/693
contributed by Elie Kadoche.
Expand Down
3 changes: 3 additions & 0 deletions floris/convert_floris_input_v3_to_v4.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@
)
v4_floris_input_dict["wake"]["model_strings"]["velocity_model"] = "gauss"

# Add enable_active_wake_mixing field
v4_floris_input_dict["wake"]["enable_active_wake_mixing"] = False

yaml.dump(
v4_floris_input_dict,
open(output_path, "w"),
Expand Down

0 comments on commit f704aab

Please sign in to comment.