pub struct CtmNetwork {Show 13 fields
pub ac_line: Vec<CtmNetworkAcLineItem>,
pub area: Vec<CtmNetworkAreaItem>,
pub bus: Vec<CtmNetworkBusItem>,
pub gen: Vec<CtmNetworkGenItem>,
pub global_params: CtmNetworkGlobalParams,
pub hvdc_p2p: Vec<CtmNetworkHvdcP2pItem>,
pub load: Vec<CtmNetworkLoadItem>,
pub reserve: Vec<CtmNetworkReserveItem>,
pub shunt: Vec<CtmNetworkShuntItem>,
pub storage: Vec<CtmNetworkStorageItem>,
pub switch: Vec<CtmNetworkSwitchItem>,
pub transformer: Vec<CtmNetworkTransformerItem>,
pub zone: Vec<CtmNetworkZoneItem>,
}Expand description
structure to hold persistent network data
JSON schema
{
"description": "structure to hold persistent network data",
"type": "object",
"required": [
"area",
"bus",
"gen",
"global_params",
"load"
],
"properties": {
"ac_line": {
"type": "array",
"items": {
"description": "structure to hold ac line data using concentrated (6-parameter circuit) PI model",
"type": "object",
"required": [
"bus_fr",
"bus_to",
"r",
"status",
"uid",
"x"
],
"properties": {
"b_fr": {
"description": "[S or pu] shunt susceptance of line at from terminal",
"default": 0,
"type": "number"
},
"b_to": {
"description": "[S or pu] shunt susceptance of line at to terminal",
"default": 0,
"type": "number"
},
"bus_fr": {
"description": "uid of bus at the from terminal of ac line",
"$ref": "#/$defs/uid"
},
"bus_to": {
"description": "uid of bus at the to terminal of ac line",
"$ref": "#/$defs/uid"
},
"cm_ub_a": {
"description": "[kA or pu] persistent current rating",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"cm_ub_b": {
"description": "[kA or pu] 4-hour current rating",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"cm_ub_c": {
"description": "[kA or pu] 15-minute current rating",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"ext": {
"description": "additional ac line parameters currently not supported by CTM"
},
"g_fr": {
"description": "[S or pu] shunt conductance of line at from terminal",
"default": 0,
"type": "number"
},
"g_to": {
"description": "[S or pu] shunt conductance of line at to terminal",
"default": 0,
"type": "number"
},
"name": {
"description": "line name",
"type": "string"
},
"nominal_mva": {
"description": "[MVA] nominal apparent power of ac line",
"$ref": "#/$defs/positive_number"
},
"persistent_outage_duration": {
"description": "[hours] expected duration of persistent outage (time between outage and crews re-energizing the branch)",
"$ref": "#/$defs/nonnegative_number"
},
"persistent_outage_rate": {
"description": "[events/year] number of expected persistent outages per year (outages not cleared by reconnectors)",
"$ref": "#/$defs/nonnegative_number"
},
"r": {
"description": "[Ohm or pu] series resistance of line",
"type": "number"
},
"sm_ub_a": {
"description": "[MVA or pu] persistent apparent power rating",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"sm_ub_b": {
"description": "[MVA or pu] 4-hour apparent power rating",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"sm_ub_c": {
"description": "[MVA or pu] 15-minute apparent power rating",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"status": {
"$ref": "#/$defs/status"
},
"transient_outage_rate": {
"description": "[events/year] number of expected transient outages per year (outages cleared by reconnectors)",
"$ref": "#/$defs/nonnegative_number"
},
"uid": {
"$ref": "#/$defs/uid"
},
"vad_lb": {
"description": "[deg] voltage angle difference lower bound (stability)",
"type": "number"
},
"vad_ub": {
"description": "[deg] voltage angle difference upper bound (stability)",
"type": "number"
},
"x": {
"description": "[Ohm or pu] series impedance of line",
"type": "number"
}
}
}
},
"area": {
"type": "array",
"items": {
"description": "geographical subset of the electrical network with common Automatic Generation Control (AGC) and responsible for its Area Control Error (ACE)",
"type": "object",
"required": [
"status",
"uid"
],
"properties": {
"ext": {
"description": "additional area parameters currently not supported by CTM"
},
"name": {
"description": "area name",
"type": "string"
},
"status": {
"description": "binary indicator of whether area should be included or omitted (if omitted all elements within area should be omitted); 1=>included, 0=>omitted",
"$ref": "#/$defs/status"
},
"uid": {
"$ref": "#/$defs/uid"
}
}
}
},
"bus": {
"type": "array",
"items": {
"description": "structure to hold bus data",
"type": "object",
"required": [
"base_kv",
"status",
"uid"
],
"properties": {
"area": {
"description": "uid for area to which bus belongs to",
"$ref": "#/$defs/uid"
},
"base_kv": {
"description": "bus base (nominal) voltage",
"$ref": "#/$defs/positive_number"
},
"ext": {
"description": "additional bus parameters currently not supported by CTM"
},
"name": {
"description": "bus name",
"type": "string"
},
"status": {
"$ref": "#/$defs/status"
},
"type": {
"description": "bus type for power flow calculations (PV, PQ, or slack)",
"anyOf": [
{
"type": "string",
"enum": [
"PQ",
"PV",
"slack"
]
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"uid": {
"$ref": "#/$defs/uid"
},
"vm_lb": {
"description": "bus voltage lower bound",
"anyOf": [
{
"$ref": "#/$defs/positive_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"vm_ub": {
"description": "bus voltage upper bound",
"anyOf": [
{
"$ref": "#/$defs/positive_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"zone": {
"description": "uid for zone to which bus belongs to",
"$ref": "#/$defs/uid"
}
}
}
},
"gen": {
"type": "array",
"items": {
"description": "structure to hold generator data",
"type": "object",
"required": [
"bus",
"status",
"uid"
],
"properties": {
"bus": {
"description": "uid of bus to which generator is connected to",
"$ref": "#/$defs/uid"
},
"cost_pg_model": {
"description": "type of generation cost model (i.e., function translating power/energy to money); POLYNOMIAL => cost_pg_parameters is an array with n+1 coefficients <a_i> for f(x) = a_0 + a_1 x^1 + ... + a_n x^n; PIECEWISE_LINEAR => cost_pg_parameters is a series of values <x_i, f_i> and cost (f) should be interpolated linearly in between points; MARGINAL_COST => cost_pg_parameters is a series of values <b_i, m_i>, where m_i is a marginal cost ($/MWh or $/(pu*h)) and b_i is the amoung of power (MWh or pu*h) sold at marginal cost m_i",
"type": "string",
"enum": [
"POLYNOMIAL",
"PIECEWISE_LINEAR",
"MARGINAL_COST"
]
},
"cost_pg_parameters": {
"description": "parameters of generation cost function, can be time dependent",
"anyOf": [
{
"type": "array",
"items": {
"type": "number"
}
},
{
"$ref": "#/$defs/xy_pairs"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"down_time_lb": {
"description": "[h] minimim time the unit can be out of service (a.k.a., minimum down time)",
"$ref": "#/$defs/nonnegative_number"
},
"ext": {
"description": "additional gen parameters currently not supported by CTM"
},
"forced_outage_rate": {
"description": "[-] fraction of time the generator is out of service because of forced outages (i.e., hours out of service---because of failures---during a year, divided by 8760)",
"type": "number",
"maximum": 1.0,
"minumum": 0
},
"in_service_time_lb": {
"description": "[h] minimim time the unit can be in service (a.k.a., minimum up time)",
"$ref": "#/$defs/nonnegative_number"
},
"in_service_time_ub": {
"description": "[h] maximum time the unit can be in service (commitment == 1)",
"$ref": "#/$defs/nonnegative_number"
},
"mean_time_to_failure": {
"description": "[h] mean time to occurence of a failure; failures can be assumed to follow a Poisson process",
"$ref": "#/$defs/nonnegative_number"
},
"mean_time_to_repair": {
"description": "[h] mean time to repair a failure",
"$ref": "#/$defs/nonnegative_number"
},
"name": {
"description": "generator name",
"type": "string"
},
"nominal_mva": {
"description": "[MVA] nominal apparent power of generator (nameplate capacity)",
"$ref": "#/$defs/positive_number"
},
"pg_delta_lb": {
"description": "[MW/h or pu/h] maximum active power decrease per hour",
"$ref": "#/$defs/nonnegative_number"
},
"pg_delta_ub": {
"description": "[MW/h or pu/h] maximum active power increase per hour",
"$ref": "#/$defs/nonnegative_number"
},
"pg_lb": {
"description": "[MW or pu] lower bound of active power injection (rectangular operating zone)",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"pg_ub": {
"description": "[MW or pu] upper bound of active power injection (rectangular operating zone)",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"primary_source": {
"description": "primary energy source",
"type": "string",
"enum": [
"COAL",
"OIL",
"GAS",
"NUCLEAR",
"BIOMASS",
"GEOTHERMAL",
"SOLAR",
"WIND",
"HYDRO",
"OTHER"
]
},
"primary_source_subtype": {
"description": "subtype of primary energy source; thermal classification taken from https://www.eia.gov/survey/form/eia_923/instructions.pdf",
"type": "string",
"enum": [
"ANTRHC_BITMN_COAL",
"WASTE_COAL",
"DISTILLATE_FUEL_OIL",
"WASTE_OIL",
"PETROLEUM_COKE",
"RESIDUAL_FUEL_OIL",
"NATURAL_GAS",
"OTHER_GAS",
"NUCLEAR",
"AG_BIPRODUCT",
"MUNICIPAL_WASTE",
"WOOD_WASTE",
"GEOTHERMAL",
"SOLAR_PV",
"SOLAR_CSP",
"WIND_ONSHORE",
"WIND_OFFSHORE",
"HYDRO_RUN_OF_THE_RIVER",
"HYDRO_DAM",
"HYDRO_PUMPED_STORAGE",
"OTHER"
]
},
"qg_lb": {
"description": "[MVAr or pu] lower bound of reactive power injection (rectangular operating zone)",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"qg_ub": {
"description": "[MVAr or pu] upper bound of reactive power injection (rectangular operating zone)",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"scheduled_maintenance_rate": {
"description": "[-] fraction of time the generator is out of service because of scheduled maintenance (i.e., hours out of service---because of scheduled maintenance---during a year, divided by 8760)",
"type": "number",
"maximum": 1.0,
"minumum": 0
},
"service_required": {
"description": "whether generator must be in service (e.g., nuclear power plant) or out of service (e.g., generator during maintenance or after an outage); 0 => no requirement, 1 => fixed in service, 2 => fixed out of service",
"anyOf": [
{
"type": "integer",
"maximum": 2.0,
"minimum": 0.0
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"shutdown_cost": {
"description": "[$] cost of shutting down the unit",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"startup_cost_cold": {
"description": "[$] cost of starting the unit after being off > startup_time_warm hours",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"startup_cost_hot": {
"description": "[$] cost of starting the unit after being off <= startup_time_hot hours",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"startup_cost_warm": {
"description": "[$] cost of starting the unit after being off > startup_time_hot hours, but <= startup_time_warm hours",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"startup_time_hot": {
"description": "[h] maximum time the unit can be off before a hot startup",
"$ref": "#/$defs/nonnegative_number"
},
"startup_time_warm": {
"description": "[h] maximum time the unit can be off before a warm startup",
"$ref": "#/$defs/nonnegative_number"
},
"status": {
"$ref": "#/$defs/status"
},
"uid": {
"$ref": "#/$defs/uid"
},
"vm_setpoint": {
"description": "[kV or pu] target voltage magnitude of the bus that this generator connects to",
"anyOf": [
{
"$ref": "#/$defs/positive_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
}
}
}
},
"global_params": {
"description": "structure to hold global settings for parameters in the network",
"type": "object",
"required": [
"unit_convention"
],
"properties": {
"base_mva": {
"description": "[MVA] system-wide apparent power base",
"default": 100.0,
"$ref": "#/$defs/positive_number"
},
"bus_ref": {
"description": "UID of reference bus of the electrical network",
"$ref": "#/$defs/uid"
},
"unit_convention": {
"description": "units used for physical network parameters",
"type": "string",
"enum": [
"NATURAL_UNITS",
"PER_UNIT_COMPONENT_BASE",
"PER_UNIT_SYSTEM_BASE"
]
}
}
},
"hvdc_p2p": {
"type": "array",
"items": {
"description": "structure to hold point-to-point hvdc line data",
"type": "object",
"required": [
"bus_fr",
"bus_to",
"status",
"uid"
],
"properties": {
"base_kv_dc": {
"description": "[kV] base voltage at the dc side",
"$ref": "#/$defs/positive_number"
},
"bus_fr": {
"description": "uid of bus at the from terminal of hvdc line",
"$ref": "#/$defs/uid"
},
"bus_to": {
"description": "uid of bus at the to terminal of hvdc line",
"$ref": "#/$defs/uid"
},
"cm_ub_fr": {
"description": "[kA or pu] ac persistent current rating, from terminal (if in pu, use from bus base_kv)",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"cm_ub_to": {
"description": "[kA or pu] ac persistent current rating, to terminal (if in pu, use to bus base_kv)",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"ext": {
"description": "additional hvdc point-to-point parameters currently not supported by CTM"
},
"loss_a": {
"description": "[MW or pu] standby loss",
"default": 0,
"$ref": "#/$defs/nonnegative_number"
},
"loss_b": {
"description": "[kV or pu] loss proportional to current magnitude (if in pu, base voltage corresponds to base_kv_dc)",
"default": 0,
"$ref": "#/$defs/nonnegative_number"
},
"loss_c": {
"description": "[Ohm or pu] loss proportional to current magnitude squared (if in pu, base voltage corresponds to base_kv_dc)",
"default": 0,
"$ref": "#/$defs/nonnegative_number"
},
"name": {
"description": "HVDC line name",
"type": "string"
},
"nominal_mva": {
"description": "[MVA] nominal apparent power of hvdc line",
"$ref": "#/$defs/positive_number"
},
"p": {
"description": "number of poles; 1 => monopole, 2 => bipole",
"type": "integer",
"maximum": 2.0,
"minimum": 1.0
},
"pdc_fr_lb": {
"description": "[MW or pu] minimum active power entering hvdc line at from bus",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"pdc_fr_ub": {
"description": "[MW or pu] maximum active power entering hvdc line at from bus",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"pdc_to_lb": {
"description": "[MW or pu] minimum active power entering hvdc line at to bus",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"pdc_to_ub": {
"description": "[MW or pu] maximum active power entering hvdc line at to bus",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"persistent_outage_duration": {
"description": "[hours] expected duration of persistent outage (time between outage and crews re-energizing the branch)",
"$ref": "#/$defs/nonnegative_number"
},
"persistent_outage_rate": {
"description": "[events/year] number of expected persistent outages per year (outages not cleared by reconnectors)",
"$ref": "#/$defs/nonnegative_number"
},
"phi_lb": {
"description": "[deg] only meaningful if technology == LCC; firing angle minimum",
"type": "number"
},
"phi_ub": {
"description": "[deg] only meaningful if technology == LCC; firing angle maximum",
"type": "number"
},
"qdc_fr_lb": {
"description": "[MVAr or pu] minimum reactive power entering hvdc line at from bus",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"qdc_fr_ub": {
"description": "[MVAr or pu] maximum reactive power entering hvdc line at from bus",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"qdc_to_lb": {
"description": "[MVAr or pu] minimum reactive power entering hvdc line at to bus",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"qdc_to_ub": {
"description": "[MW or pu] maximum active power entering hvdc line at to bus",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"r": {
"description": "[Ohm or pu] dc line resistance (if in pu, base voltage corresponds to base_kv_dc)",
"default": 0.0,
"$ref": "#/$defs/nonnegative_number"
},
"sm_ub": {
"description": "[MVA or pu] ac persistent apparent power rating",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"status": {
"$ref": "#/$defs/status"
},
"technology": {
"description": "power conversion technology",
"type": "string",
"enum": [
"LCC",
"VSC",
"MMC"
]
},
"transient_outage_rate": {
"description": "[events/year] number of expected transient outages per year (outages cleared by reconnectors or other)",
"$ref": "#/$defs/nonnegative_number"
},
"uid": {
"$ref": "#/$defs/uid"
},
"vm_dc_lb": {
"description": "[kV or pu] minimum voltage at the dc side",
"$ref": "#/$defs/positive_number"
},
"vm_dc_ub": {
"description": "[kV or pu] maximum voltage at the dc side",
"$ref": "#/$defs/positive_number"
}
}
}
},
"load": {
"type": "array",
"items": {
"description": "structure to hold load (consumer) data using ZIP model",
"type": "object",
"required": [
"bus",
"pd",
"qd",
"status",
"uid"
],
"properties": {
"bus": {
"description": "uid of bus to which load is connected to",
"$ref": "#/$defs/uid"
},
"ext": {
"description": "additional bus parameters currently not supported by CTM"
},
"name": {
"description": "load name",
"type": "string"
},
"nominal_mva": {
"description": "[MVA] nominal power of load",
"$ref": "#/$defs/positive_number"
},
"pd": {
"description": "active power demand",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"pd_i": {
"description": "constant current active power demand at v_bus = 1.0 pu",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"pd_y": {
"description": "constant impedance active power demand at v_bus = 1.0 pu",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"qd": {
"description": "reactive power demand",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"qd_i": {
"description": "constant current reactive power demand at v_bus = 1.0 pu",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"qd_y": {
"description": "constant impedance reactive power demand at v_bus = 1.0 pu",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"status": {
"$ref": "#/$defs/status"
},
"uid": {
"$ref": "#/$defs/uid"
}
}
}
},
"reserve": {
"type": "array",
"items": {
"description": "structure to hold reserve product and requirement data",
"type": "object",
"required": [
"reserve_type",
"status",
"uid"
],
"properties": {
"ext": {
"description": "additional reserve parameters currently not supported by CTM"
},
"name": {
"description": "name of reserve product",
"type": "string"
},
"participants": {
"description": "uid of generators contributing to this reserve",
"type": "array",
"items": {
"$ref": "#/$defs/uid"
}
},
"pg_down": {
"description": "[MW or pu] downward active power required by this reserve",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"pg_up": {
"description": "[MW or pu] upward active power required by this reserve",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"reserve_type": {
"type": "string",
"enum": [
"PRIMARY",
"SECONDARY",
"TERTIARY"
]
},
"status": {
"$ref": "#/$defs/status"
},
"uid": {
"$ref": "#/$defs/uid"
}
}
}
},
"shunt": {
"type": "array",
"items": {
"description": "structure to hold shunt data",
"type": "object",
"required": [
"bs",
"bus",
"gs",
"num_steps_ub",
"status",
"uid"
],
"properties": {
"bs": {
"description": "[MVAr or pu] reactive power demand at v_bus = 1.0 pu, per step of each shunt section",
"anyOf": [
{
"type": "number"
},
{
"type": "array",
"items": {
"type": "number"
}
}
]
},
"bus": {
"description": "uid of bus to which shunt is connected to",
"$ref": "#/$defs/uid"
},
"ext": {
"description": "additional shunt parameters currently not supported by CTM"
},
"gs": {
"description": "[MW or pu] active power demand at v_bus = 1.0 pu, per step of each shunt section",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"type": "array",
"items": {
"$ref": "#/$defs/nonnegative_number"
}
}
]
},
"name": {
"description": "shunt name",
"type": "string"
},
"nominal_mva": {
"description": "[MVA] nominal apparent power of shunt (nameplate capacity)",
"$ref": "#/$defs/positive_number"
},
"num_steps_ub": {
"description": "upper bound for number of energized steps of shunt section (lower bound is always 0)",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_integer"
},
{
"type": "array",
"items": {
"$ref": "#/$defs/nonnegative_integer"
}
}
]
},
"status": {
"$ref": "#/$defs/status"
},
"uid": {
"$ref": "#/$defs/uid"
}
}
}
},
"storage": {
"type": "array",
"items": {
"description": "structure to hold storage (battery) data",
"type": "object",
"required": [
"bus",
"charge_efficiency",
"discharge_efficiency",
"ps_ex",
"qs_ex",
"status",
"uid"
],
"properties": {
"bus": {
"description": "uid of bus to which generator is connected to",
"$ref": "#/$defs/uid"
},
"charge_efficiency": {
"description": "[-] charge efficiency, in (0, 1]",
"anyOf": [
{
"type": "number",
"maximum": 1.0,
"exclusiveMinimum": 0.0
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"charge_ub": {
"description": "[MW or pu] maximum rate of charge",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"cm_ub": {
"description": "[kA or pu] converter current output rating",
"$ref": "#/$defs/nonnegative_number"
},
"discharge_efficiency": {
"description": "[-] discharge efficiency, in (0, 1]",
"anyOf": [
{
"type": "number",
"maximum": 1.0,
"exclusiveMinimum": 0.0
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"discharge_ub": {
"description": "[MW or pu] maximum rate of discharge",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"energy_ub": {
"description": "[MWh or pu*h] maximum state of charge",
"$ref": "#/$defs/nonnegative_number"
},
"ext": {
"description": "additional storage parameters currently not supported by CTM"
},
"name": {
"description": "storage name",
"type": "string"
},
"nominal_mva": {
"description": "[MVA] nominal apparent power of storage (nameplate capacity)",
"$ref": "#/$defs/positive_number"
},
"ps_delta_lb": {
"description": "[MW/h or pu/h] maximum active power decrease per hour",
"$ref": "#/$defs/nonnegative_number"
},
"ps_delta_ub": {
"description": "[MW/h or pu/h] maximum active power increase per hour",
"$ref": "#/$defs/nonnegative_number"
},
"ps_ex": {
"description": "converter standby active power exogenous draw",
"type": "number"
},
"qs_ex": {
"description": "converter standby reactive power exogenous draw",
"type": "number"
},
"qs_lb": {
"description": "[MVAr or pu] minumum reactive power injection",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"qs_ub": {
"description": "[MVAr or pu] maximum reactive power injection",
"anyOf": [
{
"type": "number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"sm_ub": {
"description": "[MVA or pu] converter apparent power rating",
"$ref": "#/$defs/nonnegative_number"
},
"status": {
"$ref": "#/$defs/status"
},
"uid": {
"$ref": "#/$defs/uid"
}
}
}
},
"switch": {
"type": "array",
"items": {
"type": "object",
"required": [
"bus_fr",
"bus_to",
"status",
"uid"
],
"properties": {
"bus_fr": {
"description": "uid of bus at the from terminal of switch",
"$ref": "#/$defs/uid"
},
"bus_to": {
"description": "uid of bus at the to terminal of switch",
"$ref": "#/$defs/uid"
},
"cm_ub": {
"description": "[kA or pu] current limit",
"$ref": "#/$defs/nonnegative_number"
},
"ext": {
"description": "additional switch parameters currently not supported by CTM"
},
"name": {
"description": "name of switch",
"type": "string"
},
"nominal_mva": {
"description": "[MVA] nominal apparent power of switch (nameplate capacity)",
"$ref": "#/$defs/positive_number"
},
"sm_ub": {
"description": "[MVA or pu] apparent power flow limit",
"$ref": "#/$defs/nonnegative_number"
},
"status": {
"$ref": "#/$defs/status"
},
"uid": {
"$ref": "#/$defs/uid"
}
}
}
},
"transformer": {
"type": "array",
"items": {
"description": "structure to hold 2-winding transformer and phase shifter data using simplified (4-parameter circuit) model",
"type": "object",
"required": [
"b",
"bus_fr",
"bus_to",
"g",
"r",
"status",
"uid",
"x"
],
"properties": {
"b": {
"description": "[S or pu] shunt susceptance of transformer at from terminal (magnetizing branch)",
"type": "number"
},
"bus_fr": {
"description": "uid of bus at the from terminal of transformer",
"$ref": "#/$defs/uid"
},
"bus_to": {
"description": "uid of bus at the to terminal of transformer",
"$ref": "#/$defs/uid"
},
"cm_ub_a": {
"description": "[kA or pu] persistent current rating, referred to from side",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"cm_ub_b": {
"description": "[kA or pu] 4-hour current rating, referred to from side",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"cm_ub_c": {
"description": "[kA or pu] 15-minute current rating, referred to from side",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"ext": {
"description": "additional transformer parameters currently not supported by CTM"
},
"g": {
"description": "[S or pu] shunt conductance of transformer at from terminal (magnetizing branch)",
"type": "number"
},
"name": {
"description": "transformer name",
"type": "string"
},
"nominal_mva": {
"description": "[MVA] nominal apparent power of transformer",
"$ref": "#/$defs/positive_number"
},
"persistent_outage_duration": {
"description": "[hours] expected duration of persistent outage (time between outage and crews re-energizing the branch)",
"$ref": "#/$defs/nonnegative_number"
},
"persistent_outage_rate": {
"description": "[events/year] number of expected persistent outages per year (outages not cleared by reconnectors)",
"$ref": "#/$defs/nonnegative_number"
},
"r": {
"description": "[Ohm or pu] series resistance of line",
"type": "number"
},
"sm_ub_a": {
"description": "[MVA or pu] persistent apparent power rating, referred to from side",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"sm_ub_b": {
"description": "[MVA or pu] 4-hour apparent power rating, referred to from side",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"sm_ub_c": {
"description": "[MVA or pu] 15-minute apparent power rating, referred to from side",
"anyOf": [
{
"$ref": "#/$defs/nonnegative_number"
},
{
"$ref": "#/$defs/time_series_reference"
}
]
},
"status": {
"$ref": "#/$defs/status"
},
"ta_lb": {
"description": "[deg] minimum angle phase shift (angle difference = va_from - va_to - angle_shift)",
"default": 0,
"type": "number"
},
"ta_steps": {
"description": "number of discrete steps between ta_lb and ta_ub (including limit values)",
"default": 1,
"$ref": "#/$defs/positive_integer"
},
"ta_ub": {
"description": "[deg] maximum angle phase shift (angle difference = va_from - va_to - angle_shift)",
"default": 0,
"type": "number"
},
"tm_lb": {
"description": "[-] minimum tap ratio (1.0 correspond to nominal ratio, inner_vm_from = vm_from * tap_value)",
"default": 1.0,
"$ref": "#/$defs/positive_number"
},
"tm_steps": {
"description": "number of discrete steps between tm_lb and tm_ub (including limit values)",
"default": 1,
"$ref": "#/$defs/positive_integer"
},
"tm_ub": {
"description": "[-] maximum tap ratio (1.0 correspond to nominal ratio, inner_vm_from = vm_from * tap_value)",
"default": 1.0,
"$ref": "#/$defs/positive_number"
},
"uid": {
"$ref": "#/$defs/uid"
},
"x": {
"description": "[Ohm or pu] series impedance of line",
"type": "number"
}
}
}
},
"zone": {
"type": "array",
"items": {
"description": "geographical subset of the electrical network commonly associated with market purposes (e.g., define sub-markets within a large interconnected system, defining different areas for reserve products, etc.)",
"type": "object",
"required": [
"status",
"uid"
],
"properties": {
"ext": {
"description": "additional zone parameters currently not supported by CTM"
},
"name": {
"description": "zone name",
"type": "string"
},
"status": {
"description": "binary indicator of whether zone should be included or omitted (if omitted all elements within zone should be omitted); 1=>included, 0=>omitted",
"$ref": "#/$defs/status"
},
"uid": {
"$ref": "#/$defs/uid"
}
}
}
}
}
}Fields§
§ac_line: Vec<CtmNetworkAcLineItem>§area: Vec<CtmNetworkAreaItem>§bus: Vec<CtmNetworkBusItem>§gen: Vec<CtmNetworkGenItem>§global_params: CtmNetworkGlobalParams§hvdc_p2p: Vec<CtmNetworkHvdcP2pItem>§load: Vec<CtmNetworkLoadItem>§reserve: Vec<CtmNetworkReserveItem>§shunt: Vec<CtmNetworkShuntItem>§storage: Vec<CtmNetworkStorageItem>§switch: Vec<CtmNetworkSwitchItem>§transformer: Vec<CtmNetworkTransformerItem>§zone: Vec<CtmNetworkZoneItem>Implementations§
Source§impl CtmNetwork
impl CtmNetwork
pub fn builder() -> CtmNetwork
Trait Implementations§
Source§impl Clone for CtmNetwork
impl Clone for CtmNetwork
Source§fn clone(&self) -> CtmNetwork
fn clone(&self) -> CtmNetwork
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CtmNetwork
impl Debug for CtmNetwork
Source§impl<'de> Deserialize<'de> for CtmNetwork
impl<'de> Deserialize<'de> for CtmNetwork
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<&CtmNetwork> for CtmNetwork
impl From<&CtmNetwork> for CtmNetwork
Source§fn from(value: &CtmNetwork) -> Self
fn from(value: &CtmNetwork) -> Self
Converts to this type from the input type.
Source§impl From<CtmNetwork> for CtmNetwork
impl From<CtmNetwork> for CtmNetwork
Source§fn from(value: CtmNetwork) -> Self
fn from(value: CtmNetwork) -> Self
Converts to this type from the input type.
Source§impl Serialize for CtmNetwork
impl Serialize for CtmNetwork
Source§impl TryFrom<CtmNetwork> for CtmNetwork
impl TryFrom<CtmNetwork> for CtmNetwork
Source§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
Source§fn try_from(value: CtmNetwork) -> Result<Self, ConversionError>
fn try_from(value: CtmNetwork) -> Result<Self, ConversionError>
Performs the conversion.
Auto Trait Implementations§
impl Freeze for CtmNetwork
impl RefUnwindSafe for CtmNetwork
impl Send for CtmNetwork
impl Sync for CtmNetwork
impl Unpin for CtmNetwork
impl UnwindSafe for CtmNetwork
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)