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 Categoriesnpv: Net Present Valueturbine_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 theProjectManagerclass.register_install_phase: Add a custom install phase to theProjectManagerclass.
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.044tax_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#
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.
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.