Attribute datatypes#

SHOP uses different objects and attributes to build up the topology and specifying the various input data. Each attribute has a datatype, which is described in the following document.

int#

A single integer number.

int_array#

A list of integers.

double#

A decimal number.

double_array#

A list of decimal numbers.

string#

A text string.

string_array#

A list of text strings. Note that there are currently no accessible string_array attributes in SHOP, only internal attributes related to the SINTEF internal lp_model object.

xy#

A table of (x, y) points used to represent two-dimensional attributes such as gen_eff_curve. The xy table can also include a double reference value, though this is mostly used for the related xy_array datatype.

xy_array#

A list of xy tables where each xy table has a reference value. Used to represent three-dimensional attributes such as turb_eff_curves.

TimeSeries (old name: txy)#

A time series consisting of timestamps and double values. Most time series are interpreted as a series of breakpoints where missing values are forward filled, meaning that missing timestamps are filled using the most recent previous value. If the first timestamp in the TimeSeries is after the start time of the optimization, the missing values at the beginning will be front filled based on the first given value.

Any timestamps after the end time of the SHOP horizon are ignored, while timestamps before the start of the horizon is kept as historical values. Historical time series are used for some constraints that require data from before the start of the optimization, such as the complex ramping functionality.

TimeSeries can also be stochastic by specifying several values for each timestamp to represent scenarios.

xyt#

Similar to xy_array, but the xy reference value is a timestamp. Used to represent two-dimensional attributes that may change over time, such as the marginal cost curves of a plant.

sy#

A map with string keys and numerical double values.