ProjectManager
ProjectManager
is the primary system for interacting with ORBIT. It
provides the ability to configure and run one or multiple modules at a time,
allowing the user to customize ORBIT to fit the needs of a specific project.
It also provides a helper method to detail what inputs are required to run the
desired configuration. The example below shows how to import
ProjectManager
, configure a simple project with two phases, and return the
required configuration parameters.
from ORBIT import ProjectManager
phases = [
"MonopileDesign", # Returns monopile sizing given site information
"MonopileInstallation" # Simulates the installation of monopiles
]
expected_config = ProjectManager.compile_input_dict(phases)
expected_config
>>>
{
'site': {
'depth': 'float',
'mean_windspeed': 'float'
},
'turbine': {
'rotor_diameter': 'float',
'hub_height': 'float',
'rated_windspeed': 'float'
},
'monopile_design': {
'design_time': 'float (optional)',
...
},
...
'design_phases': ['MonopileDesign'],
'install_phases': ['MonopileInstallation']
}
expected_config
contains all parameters that are required to run the
MonopileDesign
and MonopileInstallation
phases (as well as the optional
ones in the monopile_design
sub dictionary). The returned dictionary can
now be filled out and the model can be ran:
...
config = {
'site': {
'depth': 20,
'mean_windspeed': 9.5,
},
'turbine': {
'rotor_diameter': 205,
'hub_height': 125,
'rated_windspeed': 11
},
'monopile_design': {},
'design_phases': ['MonopileDesign'],
'install_phases': ['MonopileInstallation']
}
project = ProjectManager(config)
project.run()
# .design_results returns the results of all design phases that were ran
project.design_results
>>>
{
'monopile': {
'diameter': 7.11, # m
'thickness': 0.078, # m
'embedment_length': 55.84, # m
'length': 85.84, # m
'mass': 640.57, # t
'deck_space': 5.58, # m2
'type': 'Monopile'
}
}
Note
To include weather in the simulation, pass an hourly pandas DataFrame into
ProjectManager
. Eg. ProjectManager(config, weather=weather_df)
. All
installation phases will use this time series.
Design Modules
For a more detailed description of design modules and the interaction with installation modules, please see the Design Phases documentation.