Turbine Installation#

For detailed methodology, please see the Turbine Installation methodology documentation

TurbineInstallation class and related processes.

class ORBIT.phases.install.turbine_install.standard.TurbineInstallation(config, weather=None, **kwargs)[source]#

Standard turbine installation module using a Wind Turbine Installation Vessel (WTIV). If input feeder and num_feeders are not supplied, the WTIV will perform all transport and installation tasks. If the above inputs are defined, feeder barges will transport turbine components from port to site.

phase = 'Turbine Installation'#
capex_category = 'Turbine'#
expected_config = {'feeder': 'dict | str (optional)', 'num_feeders': 'int (optional)', 'plant': {'num_turbines': 'int'}, 'port': {'monthly_rate': 'USD/mo (optional)', 'name': 'str (optional)', 'num_cranes': 'int (optional, default: 1)'}, 'site': {'depth': 'm', 'distance': 'km'}, 'turbine': {'blade': {'deck_space': 'm2', 'mass': 't'}, 'hub_height': 'm', 'nacelle': {'deck_space': 'm2', 'mass': 't'}, 'tower': {'deck_space': 'm2', 'length': 'm', 'mass': 't', 'sections': 'int (optional)'}}, 'wtiv': 'dict | str'}#
property system_capex#

Returns 0 as turbine capex is handled at in ProjectManager.

setup_simulation(**kwargs)[source]#

Sets up simulation infrastructure, routing to specific methods dependent on number of feeders.

setup_simulation_without_feeders(**kwargs)[source]#

Creates the infrastructure for turbine installation without feeder barges.

setup_simulation_with_feeders(**kwargs)[source]#

Creates the infrastructure for turbine installation using feeder barges.

initialize_wtiv()[source]#

Initializes the WTIV simulation object and its onboard storage.

initialize_feeders()[source]#

Initializes feeder barge objects.

initialize_turbines()[source]#

Initializes turbine components at port.

initialize_queue()[source]#

Initializes the queue, modeled as a SimPy.Resource that feeders join at site. This limits the simulation to one active feeder at a time.

property detailed_output#

Returns detailed outputs of the turbine installation.

_abc_impl = <_abc._abc_data object>#
ORBIT.phases.install.turbine_install.standard.solo_install_turbines(vessel, port, distance, turbines, tower_sections, num_blades, **kwargs)[source]#

Logic that a Wind Turbine Installation Vessel (WTIV) uses during a single turbine installation process.

Parameters:
  • vessel (vessels.Vessel) -- Vessel object that represents the WTIV.

  • distance (int | float) -- Distance between port and site (km).

  • component_list (dict) -- Turbine components to retrieve and install.

  • number (int) -- Total turbine component sets to install.

ORBIT.phases.install.turbine_install.standard.install_turbine_components_from_queue(wtiv, queue, distance, turbines, tower_sections, num_blades, **kwargs)[source]#

Logic that a Wind Turbine Installation Vessel (WTIV) uses to install turbine componenets from a queue of feeder barges.

Parameters:
  • env (simulation.Environment) -- SimPy environment that the simulation runs in.

  • wtiv (vessels.Vessel) -- Vessel object that represents the WTIV.

  • queue (simpy.Resource) -- Queue object to interact with active feeder barge.

  • component_list (dict) -- Turbine components to retrieve and install.

  • number (int) -- Total turbine component sets to install.

  • distance (int | float) -- Distance from site to port (km).

Common processes and cargo types for Turbine Installations.

class ORBIT.phases.install.turbine_install.common.TowerSection(length=None, mass=None, deck_space=None, **kwargs)[source]#

Tower Section Cargo.

static fasten(**kwargs)[source]#

Returns time required to fasten a tower section at port.

static release(**kwargs)[source]#

Returns time required to release tower section from fastenings.

class ORBIT.phases.install.turbine_install.common.Nacelle(mass=None, deck_space=None, **kwargs)[source]#

Nacelle Cargo.

static fasten(**kwargs)[source]#

Returns time required to fasten a nacelle at port.

static release(**kwargs)[source]#

Returns time required to release nacelle from fastenings.

class ORBIT.phases.install.turbine_install.common.Blade(length=None, mass=None, deck_space=None, **kwargs)[source]#

Blade Cargo.

static fasten(**kwargs)[source]#

Returns time required to fasten a blade at port.

static release(**kwargs)[source]#

Returns time required to release blade from fastenings.

ORBIT.phases.install.turbine_install.common.lift_nacelle(vessel, **kwargs)[source]#

Calculates time required to lift nacelle to hub height.

Parameters:
  • vessel (Vessel) -- Vessel to perform action.

  • hub_height (int | float) -- Hub height above MSL (m).

Yields:

vessel.task representing time to "Lift Nacelle"

ORBIT.phases.install.turbine_install.common.attach_nacelle(vessel, **kwargs)[source]#

Returns time required to attach nacelle to tower.

Parameters:
  • vessel (Vessel) -- Vessel to perform action.

  • nacelle_attach_time (int | float) -- Time required to attach nacelle.

Yields:

vessel.task representing time to "Attach Nacelle"

ORBIT.phases.install.turbine_install.common.lift_turbine_blade(vessel, **kwargs)[source]#

Calculates time required to lift turbine blade to hub height.

Parameters:
  • vessel (Vessel) -- Vessel to perform action.

  • hub_height (int | float) -- Hub height above MSL (m).

Yields:

vessel.task representing time to "Lift Blade"

ORBIT.phases.install.turbine_install.common.attach_turbine_blade(vessel, **kwargs)[source]#

Returns time required to attach turbine blade to hub.

Parameters:
  • vessel (Vessel) -- Vessel to perform action.

  • blade_attach_time (int | float) -- Time required to attach turbine blade.

Yields:

vessel.task representing time to "Attach Blade"

ORBIT.phases.install.turbine_install.common.lift_tower_section(vessel, height, **kwargs)[source]#

Calculates time required to lift tower section at site.

Parameters:
  • vessel (Vessel) -- Vessel to perform action.

  • height (int | float) -- Height above MSL (m) required for lift.

Yields:

vessel.task representing time to "Lift Tower Section"

ORBIT.phases.install.turbine_install.common.attach_tower_section(vessel, **kwargs)[source]#

Returns time required to attach tower section at site.

Parameters:
  • vessel (Vessel) -- Vessel to perform action.

  • section_attach_time (int | float) -- Time required to attach tower section (h).

Yields:

vessel.task representing time to "Attach Tower Section"

ORBIT.phases.install.turbine_install.common.install_tower_section(vessel, section, height, **kwargs)[source]#

Process logic for installing a tower at site.

Subprocesses:

  • Lift tower, tasks.lift_tower()

  • Attach tower, tasks.attach_tower()

Parameters:
  • vessel (Vessel)

  • tower (dict)

ORBIT.phases.install.turbine_install.common.install_nacelle(vessel, nacelle, **kwargs)[source]#

Process logic for installing a nacelle on a pre-installed tower.

Subprocesses:

  • Lift nacelle, tasks.lift_nacelle()

  • Attach nacelle, tasks.attach_nacelle()

Parameters:
  • vessel (Vessel)

  • tower (dictå)

ORBIT.phases.install.turbine_install.common.install_turbine_blade(vessel, blade, **kwargs)[source]#

Process logic for installing a turbine blade on a pre-installed tower and nacelle assembly.

Subprocesses:

  • Lift blade, tasks.lift_turbine_blade()

  • Attach blade, tasks.attach_turbine_blade()

Parameters:
  • vessel (Vessel)

  • tower (dict)