MhkWave
Wave marine hydrokinetic system
- PySAM.MhkWave.default(config) MhkWave
Load defaults for the configuration
config
. Available configurations are:“MEwaveBatterySingleOwner”
“MEwaveLCOECalculator”
“MEwaveNone”
“MEwaveSingleOwner”
Note
Some inputs do not have default values and may be assigned a value from the variable’s Required attribute. See variable attribute descriptions below.
- PySAM.MhkWave.from_existing(data, optional config) MhkWave
Share data with an existing PySAM class. If
optional config
is a valid configuration name, load the module’s defaults for that configuration.
- PySAM.MhkWave.wrap(ssc_data_t) MhkWave
Load data from a PySSC object.
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap()
MhkWave is a wrapper for the SSC compute module cmod_mhk_wave.cpp
Interdependent Variables
The variables listed below are interdependent with other variables. If you change the value of one of these variables, you may need to change values of other variables. The SAM user interface manages these interdependent variables, but in PySAM, it is up to you change the value of all interdependent variables so they are consistent. See Interdependent Variables for examples and details.
device_rated_power
number_devices
system_capacity
wave_power_matrix
Functions
- class PySAM.MhkWave.MhkWave
This class contains all the variable information for running a simulation. Variables are grouped together in the subclasses as properties. If property assignments are the wrong type, an error is thrown.
- assign(dict) None
Assign attributes from nested dictionary, except for Outputs
nested_dict = { 'MHKWave': { var: val, ...}, ...}
- execute(int verbosity) None
Execute simulation with verbosity level 0 (default) or 1
- export() dict
Export attributes into nested dictionary
- get_data_ptr() Pointer
Get ssc_data_t pointer
- replace(dict) None
Replace attributes from nested dictionary, except for Outputs. Unassigns all values in each Group then assigns from the input dict.
nested_dict = { 'MHKWave': { var: val, ...}, ...}
- unassign(name) None
Unassign a value in any of the variable groups.
- value(name, optional value) None | float | dict | sequence | str
Get or set by name a value in any of the variable groups.
MHKWave Group
- class PySAM.MhkWave.MhkWave.MHKWave
- assign(dict) None
Assign attributes from dictionary, overwriting but not removing values.
MHKWave_vals = { var: val, ...}
- export() dict
Export attributes into dictionary.
- replace(dict) None
Replace attributes from dictionary, unassigning values not present in input
dict
.MHKWave_vals = { var: val, ...}
- balance_of_system_cost_total
BOS costs [$]
Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults.
- Type:
float
- day
Day [dy]
Info: 1-365
- Type:
sequence
- device_costs_total
Device costs [$]
Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults.
- Type:
float
- device_rated_power
Rated capacity of device [kW]
Required: True
The value of the following variables depends on
device_rated_power
:number_devices
system_capacity
The value of
device_rated_power
depends on the following variables:wave_power_matrix
- Type:
float
- energy_period
Wave period time series data [s]
Required: False for configuration with default inputs. May be required if a variable dependent on its value changes. Example: For the Detailed PV - Single Owner configuration, only Subarray 1 is enabled in the configuration defaults, so Subarray 2 inputs would not be required; if Subarray 2 is enabled, then Subarray 2 inputs is required.
- Type:
sequence
- financial_cost_total
Financial costs [$]
Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults.
- Type:
float
- fixed_charge_rate
FCR from LCOE Cost page
Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults.
- Type:
float
- hour
Hour [hr]
Info: 0-23
- Type:
sequence
- loss_additional
Additional losses [%]
Required: True
- Type:
float
- loss_array_spacing
Array spacing loss [%]
Required: True
- Type:
float
- loss_downtime
Array/WEC downtime loss [%]
Required: True
- Type:
float
- loss_resource_overprediction
Resource overprediction loss [%]
Required: True
- Type:
float
- loss_transmission
Transmission losses [%]
Required: True
- Type:
float
- minute
Minute [min]
Info: 0-59
- Type:
sequence
- month
Month [mn]
Info: 1-12
- Type:
sequence
- number_devices
Number of wave devices in the system
Constraints: INTEGER
Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults.
The value of the following variables depends on
number_devices
:system_capacity
The value of
number_devices
depends on the following variables:device_rated_power
wave_power_matrix
- Type:
float
- number_hours
Number of hours in wave time series
Required: False for configuration with default inputs. May be required if a variable dependent on its value changes. Example: For the Detailed PV - Single Owner configuration, only Subarray 1 is enabled in the configuration defaults, so Subarray 2 inputs would not be required; if Subarray 2 is enabled, then Subarray 2 inputs is required.
- Type:
float
- number_records
Number of records in wave time series
Required: False for configuration with default inputs. May be required if a variable dependent on its value changes. Example: For the Detailed PV - Single Owner configuration, only Subarray 1 is enabled in the configuration defaults, so Subarray 2 inputs would not be required; if Subarray 2 is enabled, then Subarray 2 inputs is required.
- Type:
float
- significant_wave_height
Significant wave height time series data [m]
Required: False for configuration with default inputs. May be required if a variable dependent on its value changes. Example: For the Detailed PV - Single Owner configuration, only Subarray 1 is enabled in the configuration defaults, so Subarray 2 inputs would not be required; if Subarray 2 is enabled, then Subarray 2 inputs is required.
- Type:
sequence
- system_capacity
System Nameplate Capacity [kW]
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
The value of
system_capacity
depends on the following variables:device_rated_power
number_devices
wave_power_matrix
- Type:
float
- total_operating_cost
O&M costs [$]
Required: False. Automatically set to 1 if not assigned explicitly or loaded from defaults.
- Type:
float
- wave_power_matrix
Wave Power Matrix
Required: True
The value of the following variables depends on
wave_power_matrix
:device_rated_power
number_devices
system_capacity
- Type:
sequence[sequence]
- wave_resource_data
Array input of wave_resource_matrix (JPD) or time series (significant_wave_height and energy_period) data
Required: False for configuration with default inputs. May be required if a variable dependent on its value changes. Example: For the Detailed PV - Single Owner configuration, only Subarray 1 is enabled in the configuration defaults, so Subarray 2 inputs would not be required; if Subarray 2 is enabled, then Subarray 2 inputs is required.
- Type:
dict
- wave_resource_matrix
Frequency distribution of wave resource as a function of Hs and Te
Required: False for configuration with default inputs. May be required if a variable dependent on its value changes. Example: For the Detailed PV - Single Owner configuration, only Subarray 1 is enabled in the configuration defaults, so Subarray 2 inputs would not be required; if Subarray 2 is enabled, then Subarray 2 inputs is required.
- Type:
sequence[sequence]
- wave_resource_model_choice
Hourly or JPD wave resource data [0/1]
Constraints: INTEGER
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
- Type:
float
- year
Year [yr]
- Type:
sequence
Lifetime Group
- class PySAM.MhkWave.MhkWave.Lifetime
- assign(dict) None
Assign attributes from dictionary, overwriting but not removing values.
Lifetime_vals = { var: val, ...}
- export() dict
Export attributes into dictionary.
- replace(dict) None
Replace attributes from dictionary, unassigning values not present in input
dict
.Lifetime_vals = { var: val, ...}
- analysis_period
Lifetime analysis period [years]
Required: Required if system_use_lifetime_output=1
- Type:
float
- generic_degradation
Annual AC degradation [%/year]
Required: Required if system_use_lifetime_output=1
- Type:
sequence
- system_use_lifetime_output
Generic lifetime simulation [0/1]
Constraints: INTEGER,MIN=0,MAX=1
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
- Type:
float
AdjustmentFactors Group
- class PySAM.MhkWave.MhkWave.AdjustmentFactors
- assign(dict) None
Assign attributes from dictionary, overwriting but not removing values.
AdjustmentFactors_vals = { var: val, ...}
- export() dict
Export attributes into dictionary.
- replace(dict) None
Replace attributes from dictionary, unassigning values not present in input
dict
.AdjustmentFactors_vals = { var: val, ...}
- adjust_constant
Constant loss adjustment [%]
Info: ‘adjust’ and ‘constant’ separated by _ instead of : after SAM 2022.12.21
Constraints: MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
- Type:
float
- adjust_en_periods
Enable period-based adjustment factors [0/1]
Info: ‘adjust’ and ‘en_periods’ separated by _ instead of : after SAM 2022.12.21
Constraints: BOOLEAN
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
- Type:
float
- adjust_en_timeindex
Enable lifetime adjustment factors [0/1]
Info: ‘adjust’ and ‘en_timeindex’ separated by _ instead of : after SAM 2022.12.21
Constraints: BOOLEAN
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
- Type:
float
- adjust_periods
Period-based adjustment factors [%]
Info: Syntax: n x 3 matrix [ start, end, loss ]; Version upgrade: ‘adjust’ and ‘periods’ separated by _ instead of : after SAM 2022.12.21
Constraints: COLS=3
Required: Required if adjust_en_periods=1
- Type:
sequence[sequence]
- adjust_timeindex
Lifetime adjustment factors [%]
Info: ‘adjust’ and ‘timeindex’ separated by _ instead of : after SAM 2022.12.21
Required: Required if adjust_en_timeindex=1
- Type:
sequence
Outputs Group
- class PySAM.MhkWave.MhkWave.Outputs
- assign(dict) None
Assign attributes from dictionary, overwriting but not removing values.
Outputs_vals = { var: val, ...}
- export() dict
Export attributes into dictionary.
- replace(dict) None
Replace attributes from dictionary, unassigning values not present in input
dict
.Outputs_vals = { var: val, ...}
- annual_energy
Annual AC energy in Year 1 [kWh]
- Type:
float
- annual_energy_distribution
Annual energy production as function of Hs and Te [kWh]
- Type:
sequence[sequence]
- annual_energy_distribution_time
Annual energy production as function of Time [kWh]
- Type:
sequence[sequence]
- capacity_factor
Capacity factor [%]
- Type:
float
- device_average_power
Average power production of a single device [kW]
- Type:
float
- energy_hourly_kW
Power output of array [kW]
- Type:
sequence
- energy_hourly_kWh
Energy production of array [kWh]
- Type:
sequence
- energy_period_data
Energy period time series data [s]
- Type:
sequence
- energy_period_index_mat
Wave period index locations for time series [s]
- Type:
sequence
- gen
System power generated [kW]
- Type:
sequence
- numberHours
Number of Hours
- Type:
float
- numberRecords
Number of Records
- Type:
float
- sig_wave_height_data
Significant wave height time series data [m]
- Type:
sequence
- sig_wave_height_index_mat
Wave height index locations for time series [m]
- Type:
sequence
- total_bos_cost_kwh
Balance of system costs per unit annual energy [$/kWh]
- Type:
float
- total_bos_cost_lcoe
BOS cost [%]
- Type:
float
- total_bos_cost_per_kw
Balance of Systems cost per kW [$/kW]
- Type:
float
- total_capital_cost_kwh
Capital costs per unit annual energy [$/kWh]
- Type:
float
- total_capital_cost_lcoe
Capital cost as percentage of overall LCOE [%]
- Type:
float
- total_capital_cost_per_kw
Capital cost per kW [$/kW]
- Type:
float
- total_device_cost_kwh
Device costs per unit annual energy [$/kWh]
- Type:
float
- total_device_cost_lcoe
Device cost [%]
- Type:
float
- total_device_cost_per_kw
Device cost per kW [$/kW]
- Type:
float
- total_financial_cost_kwh
Financial costs per unit annual energy [$/kWh]
- Type:
float
- total_financial_cost_lcoe
Financial cost [%]
- Type:
float
- total_financial_cost_per_kw
Financial cost per kW [$/kW]
- Type:
float
- total_om_cost_kwh
O&M costs per unit annual energy [$/kWh]
- Type:
float
- total_om_cost_lcoe
O&M cost (annual) [%]
- Type:
float
- total_operations_cost_per_kw
O&M cost per kW [$/kW]
- Type:
float
- wave_power_end_height
Wave height at which last non-zero WEC power output occurs (m)
- Type:
float
- wave_power_end_period
Wave period at which last non-zero WEC power output occurs (s)
- Type:
float
- wave_power_index_mat
Wave power for time series [kW]
- Type:
sequence
- wave_power_start_height
Wave height at which first non-zero WEC power output occurs (m)
- Type:
float
- wave_power_start_period
Wave period at which first non-zero WEC power output occurs (s)
- Type:
float
- wave_resource_end_height
Wave height at which last non-zero wave resource value occurs (m)
- Type:
float
- wave_resource_end_period
Wave period at which last non-zero wave resource value occurs (s)
- Type:
float
- wave_resource_start_height
Wave height at which first non-zero wave resource value occurs (m)
- Type:
float
- wave_resource_start_period
Wave period at which first non-zero wave resource value occurs (s)
- Type:
float