CtmNetwork

Struct CtmNetwork 

Source
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§

Trait Implementations§

Source§

impl Clone for CtmNetwork

Source§

fn clone(&self) -> CtmNetwork

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CtmNetwork

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for CtmNetwork

Source§

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

Source§

fn from(value: &CtmNetwork) -> Self

Converts to this type from the input type.
Source§

impl From<CtmNetwork> for CtmNetwork

Source§

fn from(value: CtmNetwork) -> Self

Converts to this type from the input type.
Source§

impl Serialize for CtmNetwork

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl TryFrom<CtmNetwork> for CtmNetwork

Source§

type Error = ConversionError

The type returned in the event of a conversion error.
Source§

fn try_from(value: CtmNetwork) -> Result<Self, ConversionError>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,