MhkWave

Wrapper for SAM Simulation Core model: cmod_mhk_wave.cpp

Input Consistency Warning

As described in Possible Problems, some input parameters are interdependent but the equations that enforce consistency are not available in this PySAM module. Therefore, the onus is on the PySAM user to check that interdependencies are correctly handled. The variables which may require additional logic include:

  • balance_of_system_cost_total
  • device_costs_total
  • device_rated_power
  • financial_cost_total
  • number_devices
  • system_capacity
  • total_operating_cost
  • wave_power_matrix

Provided for each of these inputs is a list of other inputs that are potentially interdependent.

Creating an Instance

Refer to the Initializing a Model page for details on the different ways to create an instance of a PySAM class.

MhkWave model description

Wave marine hydrokinetic system

PySAM.MhkWave.default(config) → MhkWave

Use default attributes config options:

  • “MEwaveLCOECalculator”
PySAM.MhkWave.from_existing(data, optional config) → MhkWave

Share underlying data with an existing PySAM class. If config provided, default attributes are loaded otherwise.

PySAM.MhkWave.new() → MhkWave
PySAM.MhkWave.wrap(ssc_data_t) → MhkWave

Use existing PySSC data

Warning

Do not call PySSC.data_free on the ssc_data_t provided to wrap

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

unassign(name) → None

Unassign a value in any of the variable groups.

value(name, optional value) → Union[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() → None

Assign attributes from dictionary

MHKWave_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

balance_of_system_cost_total

BOS costs [$]

Required: If not provided, assumed to be 1

This variable may need to be updated if the values of the following have changed:
  • device_costs_total
  • device_rated_power
  • number_devices
  • system_capacity
  • wave_power_matrix
Type:float
device_costs_total

Device costs [$]

Required: If not provided, assumed to be 1

Changes to this variable may require updating the values of the following:
  • balance_of_system_cost_total
  • financial_cost_total
This variable may need to be updated if the values of the following have changed:
  • device_rated_power
  • number_devices
  • system_capacity
  • wave_power_matrix
Type:float
device_rated_power

Rated capacity of device [kW]

Required: True

Changes to this variable may require updating the values of the following:
  • balance_of_system_cost_total
  • device_costs_total
  • financial_cost_total
  • number_devices
  • system_capacity
  • total_operating_cost
This variable may need to be updated if the values of the following have changed:
  • wave_power_matrix
Type:float
financial_cost_total

Financial costs [$]

Required: If not provided, assumed to be 1

This variable may need to be updated if the values of the following have changed:
  • device_costs_total
  • device_rated_power
  • number_devices
  • system_capacity
  • wave_power_matrix
Type:float
fixed_charge_rate

FCR from LCOE Cost page

Required: If not provided, assumed to be 1

Type:float
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
number_devices

Number of wave devices in the system

Constraints: INTEGER

Required: If not provided, assumed to be 1

Changes to this variable may require updating the values of the following:
  • balance_of_system_cost_total
  • device_costs_total
  • financial_cost_total
  • system_capacity
  • total_operating_cost
This variable may need to be updated if the values of the following have changed:
  • device_rated_power
  • wave_power_matrix
Type:float
system_capacity

System Nameplate Capacity [kW]

Required: If not provided, assumed to be 0

Changes to this variable may require updating the values of the following:
  • balance_of_system_cost_total
  • device_costs_total
  • financial_cost_total
  • total_operating_cost
This variable may need to be updated if the values of the following have changed:
  • device_rated_power
  • number_devices
  • wave_power_matrix
Type:float
total_operating_cost

O&M costs [$]

Required: If not provided, assumed to be 1

This variable may need to be updated if the values of the following have changed:
  • device_rated_power
  • number_devices
  • system_capacity
  • wave_power_matrix
Type:float
wave_power_matrix

Wave Power Matrix

Required: True

Changes to this variable may require updating the values of the following:
  • balance_of_system_cost_total
  • device_costs_total
  • device_rated_power
  • financial_cost_total
  • number_devices
  • system_capacity
  • total_operating_cost
Type:sequence[sequence]
wave_resource_matrix

Frequency distribution of wave resource as a function of Hs and Te

Required: True

Type:sequence[sequence]

Outputs Group

class PySAM.MhkWave.MhkWave.Outputs
assign() → None

Assign attributes from dictionary

Outputs_vals = { var: val, ...}

export() → dict

Export attributes into dictionary

annual_energy

Annual energy production of array [kWh]

Type:float
annual_energy_distribution

Annual energy production as function of Hs and Te

Type:sequence[sequence]
capacity_factor

Capacity Factor [%]

Type:float
device_average_power

Average power production of a single device [kW]

Type:float
total_bos_cost_kwh

Balance of system costs per unit annual energy [$/kWh]

Type:float
total_bos_cost_lcoe

BOS cost [%]

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_device_cost_kwh

Device costs per unit annual energy [$/kWh]

Type:float
total_device_cost_lcoe

Device cost [%]

Type:float
total_financial_cost_kwh

Financial costs per unit annual energy [$/kWh]

Type:float
total_financial_cost_lcoe

Financial cost [%]

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
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_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