Array System Design API
For detailed methodology, please see Array System Design.
- class ORBIT.phases.design.ArraySystemDesign(config, **kwargs)
The design phase for an array cabling system.
- Variables:
system (Plant) – A Plant object for wind farm specifications.
cables (collections.OrderedDict) – A dictionary of Cable objects sorted from smallest to largest.
full_string (list) – A list of Cable.name that represents the longest (in turbine connections) possible string.
partial_string (list) – A list of Cable.name that represents the leftover turbines that could not create another full_string to complete the layout.
num_turbines_full_string (int) – Number of turbines on a full_string.
num_turbines_partial_string (int) – Number of turbines on a partial_string.
num_full_strings (int) – Number of full strings required to connect the wind farm.
num_partial_strings (int) – Number of partial strings required to connect the wind farm.
num_strings (int) – Total number of strings in the system.
turbines_x (np.ndarray, [num_strings, num_turbines_full_string]) – The relative x-coordinates of every turbine.
turbines_y (np.ndarray, [num_strings, num_turbines_full_string]) – The relative y-coordinates of every turbines.
oss_x (float) – The relative x-coordinates for the OSS.
oss_y (float) – The relative y-coordinates for the OSS.
coordinates (np.ndarray, [num_strings, num_turbines_full_string + 1, 2]) – The relative (x, y) coordinates for the entire wind farm with the first column representing the OSS.
sections_distances (np.ndarray, [num_strings, num_turbines_full_string]) – The Euclidean distance between any two points in a string extending outward from the OSS.
sections_cable_lengths (np.ndarray, [num_strings, num_turbines_full_string]) – sections_distances + 2 * system.site_depth to account for the water depth at each turbine.
sections_cables (np.ndarray, [num_strings, num_turbines_full_string]) – The type of cable being used to connect turbines in a string. All values are either
None
or Cable.name.
- property total_length
Returns total array system length.
- property total_cable_cost
Returns total array system cable cost.
- property detailed_output
Returns array system design outputs.
- create_strings()
Calculates the required full and partial string design.
Note
For custom layouts this is to provide guidance on the number
of strings.
- run()
Runs all the functions to create an array sytem.
- save_layout(save_name, return_df=False, folder='cables')
Outputs a csv of the substation and turbine positional and cable related components.
- Parameters:
save_name (str) – The name of the file without an extension to be saved to <library_path>/cables/<save_name>.csv.
return_df (bool, optional) – If true, returns layout_df, a pandas.DataFrame of the cabling layout, by default False.
folder (str, optional) – If “cables”, then the layout will saved to the “cables” folder, and if “plant”, then the layout will be saved to the “project/plant” folder.
- Returns:
The DataFrame with the layout data.
- Return type:
pd.DataFrame
- Raises:
ValueError – Raised if
folder
is not one of “cables” or “plant”.
- plot_array_system(show=True, save_path_name=None, return_fig=False)
Plot the array cabling system.
- Parameters:
show (bool, default: True) – If True the plot will be output inline or to screen.
save_path_name (str, default: None) – The <path_to_file>/<file_name> of where to save the created plot. If None then the plot will not be saved.
return_fig (bool, default: False) – If true, the figure (fig) and axes (ax) objects will be returned.
- Returns:
fig (matplotlib.pyplot.figure) – The matplotlib figure object. This will contain the overarching figure settings, and can be manipulated to change dimensions, resolotion, and etc.
ax (matplotlib.pyplot.axes) – The matplotlib axes object. This will contain the actual plot settings, and can be manipulated to add annotations, or other elements.