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.
new
() → MhkWave¶
-
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
-
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) → 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
(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
-
AdjustmentFactors Group¶
-
class
PySAM.MhkWave.MhkWave.
AdjustmentFactors
¶ -
assign
() → None¶ Assign attributes from dictionary
-
export
() → Dict¶ Export attributes into dictionary
-
constant
¶ float
Type: type
-
dc_constant
¶ DC Constant loss adjustment [%]
-
dc_hourly
¶ DC Hourly Adjustment Factors [%]
-
dc_periods
¶ DC Period-based Adjustment Factors [%]
-
hourly
¶ AC Hourly Adjustment Factors [%]
-
periods
¶ AC Period-based Adjustment Factors [%]
-
sf_constant
¶ DC Constant loss adjustment [%]
-
sf_hourly
¶ DC Hourly Adjustment Factors [%]
-
sf_periods
¶ DC Period-based Adjustment Factors [%]
-
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
-
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 energy production of array [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
-