flasc.utilities.tuner_utilities#
Utilities for tuning FLORIS parameters.
This module contains utilities for tuning FLORIS parameters. This includes functions for resimulating FLORIS with SCADA data, and functions for setting parameters in a FLORIS model.
Functions
Get a value from a nested dictionary using a list of keys. |
|
Set a value in a nested dictionary using a list of keys. |
|
Replicate NaN Values in DataFrame df_2 to Match DataFrame df_1. |
|
Resimulate FLORIS with SCADA data. |
- flasc.utilities.tuner_utilities.replicate_nan_values(df_1: DataFrame | FlascDataFrame, df_2: DataFrame | FlascDataFrame)[source]#
Replicate NaN Values in DataFrame df_2 to Match DataFrame df_1.
For columns that are common between df_1 and df_2, this function ensures that NaN values in df_2 appear in the same locations as NaN values in df_1. This is primarily useful when df_2 represents a FLORIS resimulation of df_1, and you want to ensure that missing data is consistent between the two DataFrames.
- Parameters:
df_1 (pandas.DataFrame | FlascDataFrame) -- The reference DataFrame containing NaN values.
df_2 (pandas.DataFrame | FlascDataFrame) -- The DataFrame to be updated to match NaN positions in df_1.
- Returns:
A new DataFrame with NaN values in df_2 replaced to match df_1.
- Return type:
pandas.DataFrame
- flasc.utilities.tuner_utilities.nested_get(dic: Dict[str, Any], keys: List[str]) Any [source]#
Get a value from a nested dictionary using a list of keys.
Based on: stackoverflow.com/questions/14692690/access-nested-dictionary-items-via-a-list-of-keys
- Parameters:
dic (Dict[str, Any]) -- The dictionary to get the value from.
keys (List[str]) -- A list of keys to traverse the dictionary.
- Returns:
The value at the end of the key traversal.
- Return type:
Any
- flasc.utilities.tuner_utilities.nested_set(dic: Dict[str, Any], keys: List[str], value: Any, idx: None | int = None) None [source]#
Set a value in a nested dictionary using a list of keys.
Based on: stackoverflow.com/questions/14692690/access-nested-dictionary-items-via-a-list-of-keys
- Parameters:
dic (Dict[str, Any]) -- The dictionary to set the value in.
keys (List[str]) -- A list of keys to traverse the dictionary.
value (Any) -- The value to set.
idx (Optional[int], optional) -- If the value is an list, the index to change. Defaults to None.
- Return type:
None
- flasc.utilities.tuner_utilities.resim_floris(fm_in: FlorisModel, df_scada: DataFrame | FlascDataFrame, yaw_angles: array | None = None)[source]#
Resimulate FLORIS with SCADA data.
This function takes a FlorisModel and a SCADA dataframe, and resimulates the FlorisModel with the SCADA data. The SCADA data is expected to contain columns for wind speed, wind direction, and power reference. The function returns a dataframe containing the power output of each turbine in the FlorisModel.
- Parameters:
fm_in (FlorisModel) -- The FlorisModel to resimulate.
df_scada (pd.DataFrame | FlascDataFrame) -- The SCADA data to use for resimulation.
yaw_angles (np.array, optional) -- The yaw angles to use for resimulation. Defaults to None.
- Returns:
A DataFrame containing the power output of each turbine in the FlorisModel.
- Return type:
pd.DataFrame