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.