[PR_REP, PR_REL, PR_ADD, PR_TCONT, PR_TYPES, PR_TMPCD,...
PR_TXGD, PR_TCTD, PR_TSTGD, PR_CHGTYPES] = idx_profile;
Indicates and defines numeric and string id's for the types of profiles
that can be created to modify input data for MOST across time and
scenarios. Some types may require that a table is further specified,
i.e., a specific table of data whose content is to be modified by the
profile. Rows (rows) and columns (col) fields of each profile further
specify which entries of the data in question is to be modified by the
profile. The change type field (chgtype) indicates how the change is
applied, and finally, the values field (values) contains the new values
to be used.
type: string field of each profile struct where the id of the type of
the profile is stored. Possible values are:
string 'mpcData' indicates changes on fields of mpc
(e.g. bus or gen tables)
string 'xGenData' indicates changes on xgd fields
(e.g. offers or commitment vars)
string 'ContingencyData' indicates changes on the set of
contingencies to be applied
string 'StorageData' indicates changes on the storage struct
table: scalar or string field of each profile struct where the id/name
of the table/field that needs to be modified is stored.
Possible values are:
- if type is 'mpcData' you may modify the following tables
(specified with a scalar):
scalar CT_TBUS change in bus table
scalar CT_TGEN change in gen table
scalar CT_TBRCH change in branch table
scalar CT_TAREABUS area-wide change in bus table
scalar CT_TAREAGEN area-wide change in gen table
scalar CT_TAREABRCH area-wide change in branch table
scalar CT_TLOAD load modification (bus and/or gen tables)
scalar CT_TAREALOAD area-wide change in load (bus/gen tables)
scalar CT_TGENCOST change in gencost table
scalar CT_TAREAGENCOST area-wide change in gencost table
- if type is 'xGenData' you may modify the following fields:
string 'CommitSched'
string 'InitialPg'
string 'RampWearCostCoeff'
string 'PositiveActiveReservePrice'
string 'PositiveActiveReserveQuantity'
string 'NegativeActiveReservePrice'
string 'NegativeActiveReserveQuantity'
string 'PositiveActiveDeltaPrice'
string 'NegativeActiveDeltaPrice'
string 'PositiveLoadFollowReservePrice'
string 'PositiveLoadFollowReserveQuantity'
string 'NegativeLoadFollowReservePrice'
string 'NegativeLoadFollowReserveQuantity'
- if type is 'ContingencyData' you may modify the following
tables:
scalar PR_TCONT indicates a modification of the subset of
contingencies (of the master table of contingencies) to be
applied at each time period and/or scenario.
- if type is 'StorageData' you may modify the following fields:
string 'MinStorageLevel'
string 'MaxStorageLevel'
string 'OutEff'
string 'InEff'
string 'LossFactor'
string 'rho'
rows: numeric vector field of each profile struct where the row
numbers (1st-dim) of the array to be modified are stored. Row
numbers usually represent specifically which gens, branches,
buses, contingencies (by the labels), or area will be affected
by the modification across time or across scenarios. A value of
"0" in this field has the special meaning of "apply to all
rows". For an area-wide type of change, the area number is
stored here instead.
col: scalar field of each profile struct where the id of the
parameter to be modified is stored. This id may indicate a
column number or some other parameter depending
on the type and the table/field. Possible values are:
- if type is 'mpcData' the parameters you may modify depend on
the table chosen, see IDX_CT on CT_COL for details.
- if type is 'xGenData', 'ContingencyData', or 'StorageData',
then col is completely ignored.
chgtype: scalar field of each profile struct where the id of the type of
change to be made is stored. Possible values are:
scalar PR_REP replaces old values by new 'values'
scalar PR_REL multiplies old value by factors in 'vales'
scalar PR_ADD adds entries in 'values' field to old value
values: numeric array field of each profile struct where the new
values/factors, i.e., the profile itself, is stored. This array
must have 3 dimensions in a pre-defined order: [nt nj_max n]
(i) dimension corresponding to time periods
(ii) dimension corresponding to scenarios
(iii) dimension corresponding to elements indicated by 'rows'
A singleton dimension in 'values' not matching with nt==1,
nj_max==1 or length(profile.rows)==1 is interpreted as "apply
to all" whenever the parameter being modified allows such an
expansion. These "expansions" occur within loadmd().