Welcome to FBMC quality analysis’s documentation!
Indices and tables¶
Introduction¶
Module reference¶
- fbmc_quality.linearisation_analysis.compute_functions.compute_cnec_vulnerability_to_err(cnec_data, target_net_positions, target_flow, alt_fmax=None, relative_or_absolute='relative')¶
returns the mean value of the vulnerability score, and mean basecase relative margin
- vulnerability is the fraction of linearisation-error to the margin in MW in the target situation:
v = linearisation-error/(f_max - target-flow)
basecase relative margin is the
- Parameters:
cnec_data (DataFrame[CnecData]) – zonal ptdfs and y axis offset
target_net_positions (DataFrame[NetPosition]) – target net positions to linearise from
target_flow (pd.Series[pd.Float64Dtype]) – target for computing linearisation error
- Returns:
frame with vulnerability score, basecase_relative_margin
- Return type:
pd.DataFrame
- fbmc_quality.linearisation_analysis.compute_functions.compute_linearisation_error(cnec_data, target_net_positions, target_flow)¶
Computes the linearisation error as a relative error, with target_flow - linear_flow as the return value
- Parameters:
cnec_data (DataFrame[CnecData]) – Zonal PTDFs and y axis offset
target_net_positions (DataFrame[NetPosition]) – net positions to use for the linearisation
target_flow (pd.Series[pd.Float64Dtype]) – observed flow at the given net positions
- Returns:
linearisation error
- Return type:
pd.Series[pd.Float64Dtype]
- fbmc_quality.linearisation_analysis.compute_functions.compute_linearised_flow(cnec_data, target_net_positions)¶
Computes the FBMC linearised flow given a set of target net positions, zonal PTDFS and the y-axis offset
- Parameters:
cnec_data (DataFrame[CnecData]) – Zonal PTDFs and y axis offset
target_net_positions (DataFrame[NetPosition]) – Net positions to use as targets for computing the flow
- Returns:
linearlised flow
- Return type:
pd.Series[pd.Float64Dtype]
- class fbmc_quality.linearisation_analysis.dataclasses.CnecDataAndNPS(cnec_id: str, cnec_name: str, cnecData: DataFrame[CnecData], basecaseNPs: DataFrame[NetPosition], observedNPs: DataFrame[NetPosition], observed_flow: DataFrame)¶
Dataclass conaining pandas Dataframes of data from JAO and observed and basecase Net Positions, as well as observed flow. For a single CNEC.
-
basecaseNPs:
DataFrame[NetPosition]¶ Alias for field number 3
-
cnecData:
DataFrame[CnecData]¶ Alias for field number 2
-
cnec_id:
str¶ Alias for field number 0
-
cnec_name:
str¶ Alias for field number 1
-
observedNPs:
DataFrame[NetPosition]¶ Alias for field number 4
-
observed_flow:
DataFrame¶ Alias for field number 5
-
basecaseNPs:
- class fbmc_quality.linearisation_analysis.dataclasses.JaoDataAndNPS(jaoData: DataFrame[JaoData], basecaseNPs: DataFrame[NetPosition], observedNPs: DataFrame[NetPosition])¶
Dataclass conaining pandas Dataframes of data from JAO and observed and basecase Net Positions
-
basecaseNPs:
DataFrame[NetPosition]¶ Alias for field number 1
-
jaoData:
DataFrame[JaoData]¶ Alias for field number 0
-
observedNPs:
DataFrame[NetPosition]¶ Alias for field number 2
-
basecaseNPs:
- class fbmc_quality.linearisation_analysis.dataclasses.PlotData(expected_observed_flow: Series, unweighted_delta_net_pos: DataFrame[NetPosition], x: ndarray, y: ndarray)¶
Simple container used for plotting when investigating the difference between basecase Net Positions and an observed state.
-
expected_observed_flow:
Series¶ Alias for field number 0
-
unweighted_delta_net_pos:
DataFrame[NetPosition]¶ Alias for field number 1
-
x:
ndarray¶ Alias for field number 2
-
y:
ndarray¶ Alias for field number 3
-
expected_observed_flow:
- fbmc_quality.linearisation_analysis.process_data.load_data_for_corridor_cnec(cnecName, jaodata_and_net_positions)¶
Loads data for a given cnec from its name as it appears in the JAO API
- Parameters:
cnecName (str) – Name of the CNEC as it appears in the JAO API
jao_and_entsoe_data (JaoDataAndNPS) – Data from JAO and Entsoe APIs
- Raises:
ValueError – If the cnecName is a border CNEC - raises if no mapping to ENTSOE transparency is found
- Returns:
CNEC data if any is found
- Return type:
CnecDataAndNPS | None
- fbmc_quality.linearisation_analysis.process_data.load_data_for_internal_cnec(cnecName, fetch_cnec_data, jaodata_and_net_positions)¶
Loads data for a given cnec from its name as it appears in the JAO API. Takes a callable to fetch data from an arbitrary source
- Parameters:
cnecName (str) – Name of the CNEC as it appears in the JAO API
fetch_cnec_data (Callable[[date, date, str], pd.DataFrame]) – Callable that queries for cnec data
jaodata_and_net_positions (JaoDataAndNPS) – Data from JAO and target Net Positions
- Returns:
Data on the CNEC and with relevant net_positions
- Return type:
CnecDataAndNPS | None
- fbmc_quality.linearisation_analysis.process_data.transform_delta_np_and_ptdfs_to_numpy(unweighted_delta_np, cnec_ds)¶
takes net position and ptdf data array and concatenates them to a numpy array. Will replace NaN with 0 in the PTDF matrix
- Parameters:
unweighted_delta_np (DataFrame[NetPosition]) – Dataframe net_positions
cnec_ds (DataFrame[JaoData]) – Dataframe with ptdfs
- Returns:
Array with dimensions (time, bidding_zones x 2)
- Return type:
np.ndarray
- fbmc_quality.jao_data.analyse_jao_data.compute_basecase_net_pos(start, end, bidding_zones=None, filter_non_conforming_hours=False)¶
- Computes the net-positions in a period from start to end from data in dataset,
for the given bidding_zones
- Parameters:
dataset (DataFrame[JaoData]) – Data used to compute the net positions.
start (date | None, optional) – Date to start filter the computation on.
end (date | None, optional) – Date to end filter the computation on.
bidding_zones (BiddingZonesEnum | list[BiddingZones] | None, optional) – Bidding zones to compute the net position for. Defaults to None, which will compute for ALL bidding zones.
- Return type:
Optional[DataFrame[NetPosition]]
Returns DataFrame[JaoData]:
- fbmc_quality.jao_data.analyse_jao_data.get_cnec_id_from_name(cnecName, dataset, alternative_names={'NO_NO2_DE->NO2': ['DE->NO2'], 'NO_NO2_DK1->NO2': ['DK1->NO2'], 'NO_NO2_NL->NO2': ['NL->NO2']})¶
Gets the CNEC-ID for a given cnec name. Returns the id(s) associated with this name at the 0th timestep of the dataset
- Parameters:
cnecName (str) – CNEC to find the correspondig ID for
dataset (DataFrame[JaoData]) – Dataset of CNEC information. See make_data_array_from_datetime for the schema
alternative_names (dict[str, list[str]]) – mapping of names that may have changed
- Returns:
Possibly Id(s) of the cnecs that correspond to the
- Return type:
np.ndarray | int
- fbmc_quality.jao_data.analyse_jao_data.get_cross_border_cnec_ids(df, bidding_zones=None, bidding_zone_cnec_map={BiddingZonesEnum.DK1: [('Border_CNEC_DK1_DE-DK1', BiddingZonesEnum.DK1_DE), ('Border_CNEC_DK1_KS-DK1', BiddingZonesEnum.DK1_KS), ('Border_CNEC_DK1_SB-DK1', BiddingZonesEnum.DK1_SB), ('Border_CNEC_DK1_CO-DK1', BiddingZonesEnum.DK1_CO), ('Border_CNEC_DK1_SK-DK1', BiddingZonesEnum.DK1_SK)], BiddingZonesEnum.DK1_CO: [('Border_CNEC_DK1-DK1_CO', BiddingZonesEnum.DK1)], BiddingZonesEnum.DK1_DE: [('Border_CNEC_DK1-DK1_DE', BiddingZonesEnum.DK1)], BiddingZonesEnum.DK1_KS: [('Border_CNEC_DK1-DK1_KS', BiddingZonesEnum.DK1)], BiddingZonesEnum.DK1_SB: [('Border_CNEC_DK1-DK1_SB', BiddingZonesEnum.DK1)], BiddingZonesEnum.DK1_SK: [('Border_CNEC_DK1-DK1_SK', BiddingZonesEnum.DK1)], BiddingZonesEnum.DK2: [('Border_CNEC_DK2_SB-DK2', BiddingZonesEnum.DK2_SB), ('Border_CNEC_DK2_KO-DK2', BiddingZonesEnum.DK2_KO), ('Border_CNEC_SE4-DK2', BiddingZonesEnum.SE4)], BiddingZonesEnum.FI: [('Border_CNEC_NO4-FI', BiddingZonesEnum.NO4), ('Border_CNEC_SE1-FI', BiddingZonesEnum.SE1), ('Border_CNEC_FI_FS-FI', BiddingZonesEnum.FI_FS), ('Border_CNEC_FI_EL-FI', BiddingZonesEnum.FI_EL)], BiddingZonesEnum.FI_EL: [('Border_CNEC_FI-FI_EL', BiddingZonesEnum.FI)], BiddingZonesEnum.FI_FS: [('Border_CNEC_FI-FI_FS', BiddingZonesEnum.FI)], BiddingZonesEnum.NO1: [('NO2->NO1', BiddingZonesEnum.NO2), ('NO3->NO1', BiddingZonesEnum.NO3), ('NO5->NO1', BiddingZonesEnum.NO5), ('SE3->NO1', BiddingZonesEnum.SE3)], BiddingZonesEnum.NO2: [('NO_NO2_NL->NO2', BiddingZonesEnum.NO2_ND), ('NO_NO2_DE->NO2', BiddingZonesEnum.NO2_NK), ('NO_NO2_DK1->NO2', BiddingZonesEnum.NO2_SK), ('NO5->NO2', BiddingZonesEnum.NO5), ('NO1->NO2', BiddingZonesEnum.NO1)], BiddingZonesEnum.NO2_ND: [('Border_CNEC_NO2-NO2_ND', BiddingZonesEnum.NO2)], BiddingZonesEnum.NO2_NK: [('Border_CNEC_NO2-NO2_NK', BiddingZonesEnum.NO2)], BiddingZonesEnum.NO2_SK: [('Border_CNEC_NO2-NO2_SK', BiddingZonesEnum.NO2)], BiddingZonesEnum.NO3: [('NO1->NO3', BiddingZonesEnum.NO1), ('NO5->NO3', BiddingZonesEnum.NO5), ('NO4->NO3', BiddingZonesEnum.NO4), ('SE2->NO3', BiddingZonesEnum.SE2)], BiddingZonesEnum.NO4: [('SE1->NO4', BiddingZonesEnum.SE1), ('FI->NO4', BiddingZonesEnum.FI), ('NO3->NO4', BiddingZonesEnum.NO3), ('SE2->NO4', BiddingZonesEnum.SE2)], BiddingZonesEnum.NO5: [('NO1->NO5', BiddingZonesEnum.NO1), ('NO3->NO5', BiddingZonesEnum.NO3), ('NO2->NO5', BiddingZonesEnum.NO2)], BiddingZonesEnum.SE1: [('Border_CNEC_NO4-SE1', BiddingZonesEnum.NO4), ('Border_CNEC_SE2-SE1', BiddingZonesEnum.SE2), ('Border_CNEC_FI-SE1', BiddingZonesEnum.FI)], BiddingZonesEnum.SE2: [('Border_CNEC_SE1-SE2', BiddingZonesEnum.SE1), ('Border_CNEC_SE3-SE2', BiddingZonesEnum.SE3), ('Border_CNEC_NO4-SE2', BiddingZonesEnum.NO4), ('Border_CNEC_NO3-SE2', BiddingZonesEnum.NO3)], BiddingZonesEnum.SE3: [('Border_CNEC_NO1-SE3', BiddingZonesEnum.NO1), ('Border_CNEC_SE3_KS-SE3', BiddingZonesEnum.SE3_KS), ('Border_CNEC_SE3_FS-SE3', BiddingZonesEnum.SE3_FS), ('Border_CNEC_SE4-SE3', BiddingZonesEnum.SE4), ('Border_CNEC_SE2-SE3', BiddingZonesEnum.SE2)], BiddingZonesEnum.SE3_FS: [('Border_CNEC_SE3-SE3_FS', BiddingZonesEnum.SE3)], BiddingZonesEnum.SE3_KS: [('Border_CNEC_SE3-SE3_KS', BiddingZonesEnum.SE3)], BiddingZonesEnum.SE4: [('Border_CNEC_SE3-SE4', BiddingZonesEnum.SE3), ('Border_CNEC_SE4_BC-SE4', BiddingZonesEnum.SE4_BC), ('Border_CNEC_SE4_SP-SE4', BiddingZonesEnum.SE4_SP), ('Border_CNEC_SE4_NB-SE4', BiddingZonesEnum.SE4_NB), ('Border_CNEC_DK2-SE4', BiddingZonesEnum.DK2)], BiddingZonesEnum.SE4_BC: [('Border_CNEC_SE4-SE4_BC', BiddingZonesEnum.SE4)], BiddingZonesEnum.SE4_NB: [('Border_CNEC_SE4-SE4_NB', BiddingZonesEnum.SE4)], BiddingZonesEnum.SE4_SP: [('Border_CNEC_SE4-SE4_SP', BiddingZonesEnum.SE4)]})¶
From a dataset find the cnec ids (a coordinate in the DS) that correspond to the cross border flows. The mapping is maintained in BIDDING_ZONE_CNEC_MAP
- Parameters:
ds (DataFrame[JaoData]) – Dataset in which to find the cross border flows. Must have index cnec_id, and column cnecName
bidding_zones (BiddingZonesEnum | list[BiddingZones] | None, optional) – Bidding zones for which to find cross border cnecs. Defaults to None.
bidding_zone_cnec_map (dict[BiddingZonesEnum, list[str]]) – Mapping from bidding zone to cnec names, i.e. >>> bidding_zone_cnec_map = { >>> BiddingZonesEnum.NO1: [ >>> “NO2->NO1”, >>> “NO3->NO1”, >>> “NO5->NO1”, >>> “SE3->NO1”, >>> ], >>> … >>> }
- Returns:
mapping of bidding zone to cnec_id strings
- Return type:
dict[BiddingZonesEnum, list[str]]
- fbmc_quality.jao_data.fetch_jao_data.fetch_jao_dataframe_timeseries(from_time, to_time)¶
Reads JAO data from the API and returns the corresponding frame. Pulls data from cache in the write_path
- Parameters:
from_time (timedata) – from when to pull data
to_time (timedata) – to when to pull data
write_path (Path | None, optional) – Path to use for data caching. Defaults to None, and uses ~/.linearisation_error.
- Raises:
FileError – If write_path does not exist
- Returns:
- pandas Dataframe with JAO date,
returns None if no data is found in API or cache
- Return type:
DataFrame[JaoData] | None
- async fbmc_quality.jao_data.fetch_jao_data.get_ptdfs(date, session)¶
get PTDFs from JAO, query by datetime
- Parameters:
date (datetime) – date to query the JAO by
- Returns:
HTTP payload from the API request
- Return type:
Dict[str, object]
- fbmc_quality.entsoe_data.fetch_entsoe_data.fetch_entsoe_data_from_bidding_zones(start_date, end_date, from_area, to_area)¶
Calculates the flow on a border CNEC between two areas for a time period
- Parameters:
from_area (BiddingZonesEnum) – Start biddingzone - flow from this area has a positive sign
to_area (BiddingZonesEnum) – End biddingzone - flow to this area has positive sign
start_date (date) – start date to pull data from
end_date (date) – enddate to pull data to
- Raises:
ENTSOELookupException – Mapping error if ENTSOE_BIDDING_ZONE_MAP does not contain the from/to zone.
- Returns:
Frame with time as index and one column flow
- Return type:
DataFrame
- fbmc_quality.entsoe_data.fetch_entsoe_data.fetch_entsoe_data_from_cnecname(start_date, end_date, cnecName)¶
Calculates the flow on a border CNEC between two areas for a time period Wrapper around fetch_entsoe_data_from_bidding_zones
- Parameters:
start_date (date) – start date to pull data from
end_date (date) – enddate to pull data to
cnecName (str) – name of cnec to pull data for
- Raises:
ENTSOELookupException – Mapping error if ENTSOE_BIDDING_ZONE_MAP does not contain the from/to zone.
- Returns:
Frame with time as index and one column flow
- Return type:
DataFrame
- fbmc_quality.entsoe_data.fetch_entsoe_data.fetch_net_position_from_crossborder_flows(start, end, bidding_zones=None, filter_non_conforming_hours=False)¶
- Computes the net-positions in a period from start to end from data from ENTSOE Transparency,
for the given bidding_zones
- Parameters:
start (datetime | pd.Timestamp) – Datetime to start filter the computation on.
end (datetime | pd.Timestamp) – Datetime to end filter the computation on.
bidding_zones (BiddingZones | list[BiddingZones] | None, optional) – Bidding zones to compute the net position for. Defaults to None, which will compute for ALL bidding zones.
- Return type:
Optional[DataFrame[NetPosition]]
Returns DataFrame[NetPosition]:
- fbmc_quality.entsoe_data.fetch_entsoe_data.get_cross_border_flow(start, end, area_from, area_to)¶
Gets the cross border flow from in a date-range for an interchange from/to an Area. Timestamps are converted to UTC before querying the API. Returned time-data is in UTC.
- Parameters:
start (date) – start of the retrieval range, in local time
end (date) – end of the retrieval range, in local time
area_from (Area) – from area
area_to (Area) – to area
- Returns:
series of cross border flow
- Return type:
pd.Series
- enum fbmc_quality.enums.bidding_zones.AltBiddingZonesEnum(value)¶
An enumeration.
- Member Type:
str
Valid values are as follows:
- NO_NO2_NL = <AltBiddingZonesEnum.NO_NO2_NL: 'NO_NO2_NL'>¶
- NO_NO2_DE = <AltBiddingZonesEnum.NO_NO2_DE: 'NO_NO2_DE'>¶
- NO_NO2_DK1 = <AltBiddingZonesEnum.NO_NO2_DK1: 'NO_NO2_DK1'>¶
- enum fbmc_quality.enums.bidding_zones.BiddingZonesEnum(value)¶
An enumeration.
- Member Type:
str
Valid values are as follows:
- DK1 = <BiddingZonesEnum.DK1: 'DK1'>¶
- DK1_SB = <BiddingZonesEnum.DK1_SB: 'DK1_SB'>¶
- DK1_CO = <BiddingZonesEnum.DK1_CO: 'DK1_CO'>¶
- DK1_DE = <BiddingZonesEnum.DK1_DE: 'DK1_DE'>¶
- DK1_KS = <BiddingZonesEnum.DK1_KS: 'DK1_KS'>¶
- DK1_SK = <BiddingZonesEnum.DK1_SK: 'DK1_SK'>¶
- DK2_SB = <BiddingZonesEnum.DK2_SB: 'DK2_SB'>¶
- DK2_KO = <BiddingZonesEnum.DK2_KO: 'DK2_KO'>¶
- DK2 = <BiddingZonesEnum.DK2: 'DK2'>¶
- FI = <BiddingZonesEnum.FI: 'FI'>¶
- FI_EL = <BiddingZonesEnum.FI_EL: 'FI_EL'>¶
- FI_FS = <BiddingZonesEnum.FI_FS: 'FI_FS'>¶
- NO1 = <BiddingZonesEnum.NO1: 'NO1'>¶
- NO2 = <BiddingZonesEnum.NO2: 'NO2'>¶
- NO2_ND = <BiddingZonesEnum.NO2_ND: 'NO2_ND'>¶
- NO2_SK = <BiddingZonesEnum.NO2_SK: 'NO2_SK'>¶
- NO2_NK = <BiddingZonesEnum.NO2_NK: 'NO2_NK'>¶
- NO3 = <BiddingZonesEnum.NO3: 'NO3'>¶
- NO4 = <BiddingZonesEnum.NO4: 'NO4'>¶
- NO5 = <BiddingZonesEnum.NO5: 'NO5'>¶
- SE1 = <BiddingZonesEnum.SE1: 'SE1'>¶
- SE2 = <BiddingZonesEnum.SE2: 'SE2'>¶
- SE3 = <BiddingZonesEnum.SE3: 'SE3'>¶
- SE3_FS = <BiddingZonesEnum.SE3_FS: 'SE3_FS'>¶
- SE3_KS = <BiddingZonesEnum.SE3_KS: 'SE3_KS'>¶
- SE4 = <BiddingZonesEnum.SE4: 'SE4'>¶
- SE4_BC = <BiddingZonesEnum.SE4_BC: 'SE4_BC'>¶
- SE4_NB = <BiddingZonesEnum.SE4_NB: 'SE4_NB'>¶
- SE4_SP = <BiddingZonesEnum.SE4_SP: 'SE4_SP'>¶
- class fbmc_quality.dataframe_schemas.BiddingZones(*args, **kwargs)¶
-
-
DK1:
Optional[Series[float]] = 'DK1'¶ value of bidding zone
-
DK1_CO:
Series[float] = 'DK1_CO'¶ value of bidding zone
-
DK1_DE:
Series[float] = 'DK1_DE'¶ value of bidding zone
-
DK1_KS:
Series[float] = 'DK1_KS'¶ value of bidding zone
-
DK1_SK:
Series[float] = 'DK1_SK'¶ value of bidding zone
-
DK2:
Series[float] = 'DK2'¶ value of bidding zone
-
DK2_KO:
Series[float] = 'DK2_KO'¶ value of bidding zone
-
FI:
Series[float] = 'FI'¶ value of bidding zone
-
FI_EL:
Series[float] = 'FI_EL'¶ value of bidding zone
-
FI_FS:
Series[float] = 'FI_FS'¶ value of bidding zone
-
NO1:
Series[float] = 'NO1'¶ value of bidding zone
-
NO2:
Series[float] = 'NO2'¶ value of bidding zone
-
NO2_ND:
Series[float] = 'NO2_ND'¶ value of bidding zone
-
NO2_NK:
Series[float] = 'NO2_NK'¶ value of bidding zone
-
NO2_SK:
Series[float] = 'NO2_SK'¶ value of bidding zone
-
NO3:
Series[float] = 'NO3'¶ value of bidding zone
-
NO4:
Series[float] = 'NO4'¶ value of bidding zone
-
NO5:
Series[float] = 'NO5'¶ value of bidding zone
-
SE1:
Series[float] = 'SE1'¶ value of bidding zone
-
SE2:
Series[float] = 'SE2'¶ value of bidding zone
-
SE3:
Series[float] = 'SE3'¶ value of bidding zone
-
SE3_FS:
Series[float] = 'SE3_FS'¶ value of bidding zone
-
SE3_KS:
Series[float] = 'SE3_KS'¶ value of bidding zone
-
SE4:
Series[float] = 'SE4'¶ value of bidding zone
-
SE4_BC:
Series[float] = 'SE4_BC'¶ value of bidding zone
-
SE4_NB:
Series[float] = 'SE4_NB'¶ value of bidding zone
-
SE4_SP:
Series[float] = 'SE4_SP'¶ value of bidding zone
-
DK1:
- class fbmc_quality.dataframe_schemas.NetPosition(*args, **kwargs)
Schema describing net positions of a set of areas
- DK1: Optional[Series[float]] = 'DK1'
value of bidding zone
- DK1_CO: Series[float] = 'DK1_CO'
value of bidding zone
- DK1_DE: Series[float] = 'DK1_DE'
value of bidding zone
- DK1_KS: Series[float] = 'DK1_KS'
value of bidding zone
- DK1_SK: Series[float] = 'DK1_SK'
value of bidding zone
- DK2: Series[float] = 'DK2'
value of bidding zone
- DK2_KO: Series[float] = 'DK2_KO'
value of bidding zone
- FI: Series[float] = 'FI'
value of bidding zone
- FI_EL: Series[float] = 'FI_EL'
value of bidding zone
- FI_FS: Series[float] = 'FI_FS'
value of bidding zone
- NO1: Series[float] = 'NO1'
value of bidding zone
- NO2: Series[float] = 'NO2'
value of bidding zone
- NO2_ND: Series[float] = 'NO2_ND'
value of bidding zone
- NO2_NK: Series[float] = 'NO2_NK'
value of bidding zone
- NO2_SK: Series[float] = 'NO2_SK'
value of bidding zone
- NO3: Series[float] = 'NO3'
value of bidding zone
- NO4: Series[float] = 'NO4'
value of bidding zone
- NO5: Series[float] = 'NO5'
value of bidding zone
- SE1: Series[float] = 'SE1'
value of bidding zone
- SE2: Series[float] = 'SE2'
value of bidding zone
- SE3: Series[float] = 'SE3'
value of bidding zone
- SE3_FS: Series[float] = 'SE3_FS'
value of bidding zone
- SE3_KS: Series[float] = 'SE3_KS'
value of bidding zone
- SE4: Series[float] = 'SE4'
value of bidding zone
- SE4_BC: Series[float] = 'SE4_BC'
value of bidding zone
- SE4_NB: Series[float] = 'SE4_NB'
value of bidding zone
- SE4_SP: Series[float] = 'SE4_SP'
value of bidding zone
-
time:
Index[Annotated[DatetimeTZDtype]] = 'time' time index
- class fbmc_quality.dataframe_schemas.JaoData(*args, **kwargs)
Schema describing the flow based market clearing data coming from JAO.
- DK1: Optional[Series[float]] = 'DK1'
value of bidding zone
- DK1_CO: Series[float] = 'DK1_CO'
value of bidding zone
- DK1_DE: Series[float] = 'DK1_DE'
value of bidding zone
- DK1_KS: Series[float] = 'DK1_KS'
value of bidding zone
- DK1_SK: Series[float] = 'DK1_SK'
value of bidding zone
- DK2: Series[float] = 'DK2'
value of bidding zone
- DK2_KO: Series[float] = 'DK2_KO'
value of bidding zone
- FI: Series[float] = 'FI'
value of bidding zone
- FI_EL: Series[float] = 'FI_EL'
value of bidding zone
- FI_FS: Series[float] = 'FI_FS'
value of bidding zone
- NO1: Series[float] = 'NO1'
value of bidding zone
- NO2: Series[float] = 'NO2'
value of bidding zone
- NO2_ND: Series[float] = 'NO2_ND'
value of bidding zone
- NO2_NK: Series[float] = 'NO2_NK'
value of bidding zone
- NO2_SK: Series[float] = 'NO2_SK'
value of bidding zone
- NO3: Series[float] = 'NO3'
value of bidding zone
- NO4: Series[float] = 'NO4'
value of bidding zone
- NO5: Series[float] = 'NO5'
value of bidding zone
- SE1: Series[float] = 'SE1'
value of bidding zone
- SE2: Series[float] = 'SE2'
value of bidding zone
- SE3: Series[float] = 'SE3'
value of bidding zone
- SE3_FS: Series[float] = 'SE3_FS'
value of bidding zone
- SE3_KS: Series[float] = 'SE3_KS'
value of bidding zone
- SE4: Series[float] = 'SE4'
value of bidding zone
- SE4_BC: Series[float] = 'SE4_BC'
value of bidding zone
- SE4_NB: Series[float] = 'SE4_NB'
value of bidding zone
- SE4_SP: Series[float] = 'SE4_SP'
value of bidding zone
- aac: Series[float] = 'aac'
JAO field value
- amr: Series[float] = 'amr'
JAO field value
- cneEic: Series[pd.StringDtype] = 'cneEic'
JAO field value
- cneName: Series[pd.StringDtype] = 'cneName'
JAO field value
- cneStatus: Series[pd.StringDtype] = 'cneStatus'
JAO field value
- cneType: Series[pd.StringDtype] = 'cneType'
JAO field value
- cnecName: Series[pd.StringDtype] = 'cnecName'
JAO field value
- cnecType: Series[pd.StringDtype] = 'cnecType'
JAO field value
- cnec_id: Index[pd.StringDtype] = 'cnec_id'
Index value
- contName: Series[pd.StringDtype] = 'contName'
JAO field value
- contStatus: Series[pd.StringDtype] = 'contStatus'
JAO field value
- contingencies: Series[pd.StringDtype] = 'contingencies'
JAO field value
- dateTimeUtc: Series[Annotated[pd.DatetimeTZDtype, 'ns', 'utc']] = 'dateTimeUtc'
JAO field value
- fall: Series[float] = 'fall'
JAO field value
- fmax: Series[float] = 'fmax'
JAO field value
- fnrao: Series[float] = 'fnrao'
JAO field value
- fref: Series[float] = 'fref'
JAO field value
- frm: Series[float] = 'frm'
JAO field value
- id: Series[pd.Int64Dtype] = 'id'
JAO field value
- imax: Series[float] = 'imax'
JAO field value
- imaxMethod: Series[pd.StringDtype] = 'imaxMethod'
JAO field value
- iva: Series[float] = 'iva'
JAO field value
- maxFlow: Series[float] = 'maxFlow'
JAO field value
- minFlow: Series[float] = 'minFlow'
JAO field value
- nonRedundant: Series[pd.BooleanDtype] = 'nonRedundant'
JAO field value
- ram: Series[float] = 'ram'
JAO field value
- significant: Series[pd.BooleanDtype] = 'significant'
JAO field value
- substationFrom: Series[pd.StringDtype] = 'substationFrom'
JAO field value
- substationTo: Series[pd.StringDtype] = 'substationTo'
JAO field value
- time: Index[Annotated[pd.DatetimeTZDtype, 'ns', 'utc']] = 'time'
Index value
- tso: Series[pd.StringDtype] = 'tso'
JAO field value
- u: Series[float] = 'u'
JAO field value
- class fbmc_quality.dataframe_schemas.CnecData(*args, **kwargs)
Schema describing the flow based market clearing data coming from JAO. For a single CNEC
- DK1: Optional[Series[float]] = 'DK1'
value of bidding zone
- DK1_CO: Series[float] = 'DK1_CO'
value of bidding zone
- DK1_DE: Series[float] = 'DK1_DE'
value of bidding zone
- DK1_KS: Series[float] = 'DK1_KS'
value of bidding zone
- DK1_SK: Series[float] = 'DK1_SK'
value of bidding zone
- DK2: Series[float] = 'DK2'
value of bidding zone
- DK2_KO: Series[float] = 'DK2_KO'
value of bidding zone
- FI: Series[float] = 'FI'
value of bidding zone
- FI_EL: Series[float] = 'FI_EL'
value of bidding zone
- FI_FS: Series[float] = 'FI_FS'
value of bidding zone
- NO1: Series[float] = 'NO1'
value of bidding zone
- NO2: Series[float] = 'NO2'
value of bidding zone
- NO2_ND: Series[float] = 'NO2_ND'
value of bidding zone
- NO2_NK: Series[float] = 'NO2_NK'
value of bidding zone
- NO2_SK: Series[float] = 'NO2_SK'
value of bidding zone
- NO3: Series[float] = 'NO3'
value of bidding zone
- NO4: Series[float] = 'NO4'
value of bidding zone
- NO5: Series[float] = 'NO5'
value of bidding zone
- SE1: Series[float] = 'SE1'
value of bidding zone
- SE2: Series[float] = 'SE2'
value of bidding zone
- SE3: Series[float] = 'SE3'
value of bidding zone
- SE3_FS: Series[float] = 'SE3_FS'
value of bidding zone
- SE3_KS: Series[float] = 'SE3_KS'
value of bidding zone
- SE4: Series[float] = 'SE4'
value of bidding zone
- SE4_BC: Series[float] = 'SE4_BC'
value of bidding zone
- SE4_NB: Series[float] = 'SE4_NB'
value of bidding zone
- SE4_SP: Series[float] = 'SE4_SP'
value of bidding zone
- aac: Series[float] = 'aac'
JAO field value
- amr: Series[float] = 'amr'
JAO field value
- cneEic: Series[pd.StringDtype] = 'cneEic'
JAO field value
- cneName: Series[pd.StringDtype] = 'cneName'
JAO field value
- cneStatus: Series[pd.StringDtype] = 'cneStatus'
JAO field value
- cneType: Series[pd.StringDtype] = 'cneType'
JAO field value
- cnecName: Series[pd.StringDtype] = 'cnecName'
JAO field value
- cnecType: Series[pd.StringDtype] = 'cnecType'
JAO field value
- contName: Series[pd.StringDtype] = 'contName'
JAO field value
- contStatus: Series[pd.StringDtype] = 'contStatus'
JAO field value
- contingencies: Series[pd.StringDtype] = 'contingencies'
JAO field value
- dateTimeUtc: Series[Annotated[pd.DatetimeTZDtype, 'ns', 'utc']] = 'dateTimeUtc'
JAO field value
- fall: Series[float] = 'fall'
JAO field value
- fmax: Series[float] = 'fmax'
JAO field value
- fnrao: Series[float] = 'fnrao'
JAO field value
- fref: Series[float] = 'fref'
JAO field value
- frm: Series[float] = 'frm'
JAO field value
- id: Series[pd.Int64Dtype] = 'id'
JAO field value
- imax: Series[float] = 'imax'
JAO field value
- imaxMethod: Series[pd.StringDtype] = 'imaxMethod'
JAO field value
- iva: Series[float] = 'iva'
JAO field value
- maxFlow: Series[float] = 'maxFlow'
JAO field value
- minFlow: Series[float] = 'minFlow'
JAO field value
- nonRedundant: Series[pd.BooleanDtype] = 'nonRedundant'
JAO field value
- ram: Series[float] = 'ram'
JAO field value
- significant: Series[pd.BooleanDtype] = 'significant'
JAO field value
- substationFrom: Series[pd.StringDtype] = 'substationFrom'
JAO field value
- substationTo: Series[pd.StringDtype] = 'substationTo'
JAO field value
-
time:
Index[Annotated[DatetimeTZDtype]] = 'time' time index
- tso: Series[pd.StringDtype] = 'tso'
JAO field value
- u: Series[float] = 'u'
JAO field value