Project Manager#

The following pages cover the methodology behind the project manager.

Overview#

The ProjectManager is the primary system for interacting with ORBIT to simulate a wind project. Users can customize their project by specifying a a wide variety of parameters as a dictionary (see the ProjectManager tutorial for further details). For more details of the code implementation, please see the ProjectManager API.

It instantiates a class aggregates project parameters, specifies a start date, and interprets a weather profile, and it employs a collection of decorators, methods, and classmethods to run the simulation. Among these methods are design_phases and install_phases that serve as components to the simulation. Additionally, some methods search and catch key errors to avoid simulation issues, export progress logs, and save the outputs.

Run#

This method checks to see if a design or install phase is instantiated prior to running them. Depending on which design phases are specified, each phase is run in no particular order and the results are added to design_results dictionary. Conversely, the install phases can be run sequentially or as overlapped processes (see example: Overlapping install). It is worth noting, that ORBIT has built in logic to determine any dependency between install phases.

Properties#

The @property decorators allow the ProjectManager to access and manipulate the attributes of certain classes. Of the several properties some important ones are:

.. toctree:: :maxdepth: 2 :caption: Contents:

  • capex_categories: CapEx Categories

  • npv: Net Present Value

  • turbine_capex: CapEx of the Wind Turbine.

  • bos_capex: BOS CapEx includes the System CapEx and Installation CapEx.

  • system_capex: Total system procurement cost.

  • installation_capex: Total installation cost.

  • project_capex: Project Capex includes, site auction, site assessment, construction plan, and installation plan costs.

  • soft_capex_breakdown: Soft CapEx Categories

Finally, these attributes are collected in an output dictionary.

Class Methods#

The @classmethod decorator allows the ProjectManager to access and modify class-level attributes.

  • register_design_phase: Add a custom design phase to the ProjectManager class.

  • register_install_phase: Add a custom install phase to the ProjectManager class.

Soft CapEx Methodology#

The methodology outlined in Beiter and Stehly [BS16] applies multipliers (or assumed factors) to the magnitude of capital expenditure (CapEx) components in order to derive the Soft CapEx components. The factors used are consistent with those used in Stehly et al. [SDMH24], enabling the soft costs to scale in proportion to the other costs calculated within ORBIT. Soft Capex is calculated using the default multipliers and parameters from Stehly et al. [SDMH24]. Users can specify any of the :py:attr:soft_capex_factors below if they prefer to override the default values. Additionally, users can assign $/kW values for any calculated Soft CapEx component, ending with :math:\_capex, for simplicity. The soft CapEx component's definitions and their calculations are provided below.

Construction Insurance#

All risk property, delays in start-up, third party liability, and broker's fees. Unless otherwise specified, a construction_insurance_factor of 0.0207 is applied to following calculation. See the ProjectManager.construction_insurance_capex() documentation for further details.

construction_insurance_capex = construction_insurance_factor \(\times\) (turbine_capex + bos_capex + project_capex)

Commissioning#

Cost to integrate and commission the project where the commissioning_factor is assumed to be 0.0115 unless otherwise specified. Please see the ProjectManager.commissioning_capex() documentation for further details.

commissioning_capex = commissioning_factor \(\times\) (turbine_capex + bos_capex + project_capex)

Decommissioning#

Surety bond lease to ensure that the burden for removing offshore structures at the end of their useful life does not fall on taxpayers where the decommissioning_factor is assumed to be 0.2 unless specified otherwise. Please see the ProjectManager.decommissioning_capex() documentation for further details.

decommissioning_capex = decommissioning_factor \(\times\) installation_capex

Procurement Contingency#

Provision for an unforeseen event or circumstance during the procurement process where the procurement_contingency_factor is assumed to be 0.0575 unless specified otherwise. Please see the ProjectManager.procurement_contingency() documentation for further details.

procurement_contingency_capex = procurement_contingency_factor \(\times\) (turbine\_capex + bos_capex + project_capex - installation_capex)

Installation Contingency#

Provision for an unforeseen event or circumstance during the installation process where the installation_contingency_factor is assumed to be 0.345 unless specified otherwise. Please see the ProjectManager.installation_contingency() documentation for further details.

installation_contingency_capex = installation_contingency_factor \(\times\) installation_capex

Construction Financing#

Additional expenses incurred from interest on loans used to fund a construction project, calculated based on the borrowing period and the project's spending schedule.

The spend_schedule is based on industry data from a U.S. project with the following default payment schedule unless specified otherwise. Please see the ProjectManager.construction_financing_factor() documentation for further details.

Year

Amount

Cumulative

0

0.25

0.25

1

0.25

0.5

2

0.30

0.8

3

0.10

0.9

4

0.10

1.0

5

0.00

1.0

The following default values also apply unless configured otherwise:

  • interest_during_construction = 0.044

  • tax_rate = 0.26

construction_financing_factor =

\(\sum_{k=0}^{n-1} spend\_schedule_k \times (1 + (1 - tax\_rate) \times ((1+ interest\_during\_construction)^{k+0.5} - 1)\)

where k is the current year and n is the total number of years in spend_schedule.

construction_financing_capex = (construction_financing_factor - 1) \(\times\) (construction_insurance_capex + commissioning_capex + decommissioning_capex+ procurement_contingency_capex + installation_contingency_capex + turbine_capex + bos_capex)

References#

[BS16]

Philipp Beiter and Tyler Stehly. A spatial-economic cost-reduction pathway analysis for us offshore wind energy development from 2015-2030. Technical Report, NREL (National Renewable Energy Laboratory (NREL), Golden, CO (United States)), 2016. doi:10.2172/1324526.

[SDMH24] (1,2)

Tyler Stehly, Patrick Duffy, and Daniel Mulas Hernando. Cost of wind energy review: 2024 edition [slides]. Technical Report, National Renewable Energy Laboratory (NREL), Golden, CO (United States), 2024. doi:10.2172/2479271.