empire.core package¶
Submodules¶
empire.core.config module¶
- class empire.core.config.EmpireConfiguration(use_temporary_directory, temporary_directory, forecast_horizon_year, number_of_scenarios, length_of_regular_season, discount_rate, wacc, optimization_solver, use_scenario_generation, use_fixed_sample, load_change_module, filter_make, filter_use, n_cluster, moment_matching, copula_clusters_make, copula_clusters_use, copulas_to_use, n_tree_compare, use_emission_cap, compute_operational_duals, print_in_iamc_format, write_in_lp_format, serialize_instance, north_sea, voronoi_sgr_make=False, voronoi_sgr_use=False, voronoi_mu_percentile=80, regular_seasons=['winter', 'spring', 'summer', 'fall'], n_peak_seasons=2, len_peak_season=24, leap_years_investment=5, time_format='%d/%m/%Y %H:%M', **kwargs)¶
Bases:
object- Parameters:
use_temporary_directory (bool)
temporary_directory (str | Path)
forecast_horizon_year (int)
number_of_scenarios (int)
length_of_regular_season (int)
discount_rate (float)
wacc (float)
optimization_solver (str)
use_scenario_generation (bool)
use_fixed_sample (bool)
load_change_module (bool)
filter_make (bool)
filter_use (bool)
n_cluster (int)
moment_matching (bool)
copula_clusters_make (bool)
copula_clusters_use (bool)
copulas_to_use (list[str])
n_tree_compare (int)
use_emission_cap (bool)
compute_operational_duals (bool)
print_in_iamc_format (bool)
write_in_lp_format (bool)
serialize_instance (bool)
north_sea (bool)
voronoi_sgr_make (bool)
voronoi_sgr_use (bool)
voronoi_mu_percentile (int)
regular_seasons (list[str])
n_peak_seasons (int)
len_peak_season (int)
leap_years_investment (int)
time_format (str)
- classmethod from_dict(config)¶
Constructs EmpireConfiguration object from a dictionary.
If constructor arguments are missing and they don’t have default values, they are added with None value to handle earlier versions of the configuration.
- Parameters:
config (Dict) – Dictionary with configurations.
- Returns:
An instance of EmpireConfiguration.
- Return type:
- to_dict()¶
Used for serialization.
- Returns:
dictionary
- Return type:
dict
- validate()¶
Validates the configuration. Raises an error if the configuration is invalid.
- class empire.core.config.EmpireRunConfiguration(run_name, dataset_path, tab_path, scenario_data_path, results_path, empire_path=PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/openempire/checkouts/latest/docs/source'))¶
Bases:
object- Parameters:
run_name (str)
dataset_path (Path | str)
tab_path (Path | str)
scenario_data_path (Path | str)
results_path (Path | str)
empire_path (Path | str)
- classmethod from_dict(config)¶
Constructs EmpireRunConfiguration object from a dictionary.
- Parameters:
config (dict) – Dictionary with configurations.
- Returns:
An instance of EmpireRunConfiguration.
- Return type:
- validate()¶
Validates the configuration. Raises an error if the configuration is invalid.
- empire.core.config.read_config_file(path)¶
- Parameters:
path (Path)
- Return type:
Dict
empire.core.empire module¶
- empire.core.empire.run_empire(name, tab_file_path, result_file_path, scenario_data_path, solver, temp_dir, FirstHoursOfRegSeason, FirstHoursOfPeakSeason, lengthRegSeason, lengthPeakSeason, Period, Operationalhour, Scenario, Season, HoursOfSeason, discountrate, WACC, LeapYearsInvestment, IAMC_PRINT, WRITE_LP, PICKLE_INSTANCE, EMISSION_CAP, USE_TEMP_DIR, LOADCHANGEMODULE, OPERATIONAL_DUALS, north_sea, OUT_OF_SAMPLE=False, sample_file_path=None)¶
- Parameters:
tab_file_path (Path)
result_file_path (Path)
OUT_OF_SAMPLE (bool)
sample_file_path (Path | None)
- Return type:
None | float
empire.core.model_runner module¶
- empire.core.model_runner.run_empire_model(empire_config, run_config, data_managers, test_run, OUT_OF_SAMPLE=False, sample_file_path=None)¶
- Parameters:
empire_config (EmpireConfiguration)
run_config (EmpireRunConfiguration)
data_managers (list[IDataManager])
test_run (bool)
OUT_OF_SAMPLE (bool)
sample_file_path (Path | None)
- Return type:
None | float
- empire.core.model_runner.runner(data_managers)¶
- empire.core.model_runner.setup_run_paths(version, empire_config, run_path, empire_path=PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/openempire/checkouts/latest/docs/source'))¶
Setup run paths for Empire.
- Parameters:
version (str) – dataset version.
empire_config (EmpireConfiguration) – Empire configuration.
run_path (Path) – Path containing input and output to the empire run.
empire_path (Path) – Path to empire project, optional.
- Returns:
Empire run configuration.
- Return type:
empire.core.reader module¶
- empire.core.reader.generate_tab_files(file_path, tab_file_path)¶
Read column value from excel sheet and save as .tab file “sheet.tab”
- Parameters:
file_path – Path to the dataset.
tab_file_path – Path to save the .tab files.
- empire.core.reader.read_file(excelfile, sheet, columns, tab_file_path, filename, skipheaders=0)¶
Reads data from an Excel file and saves it as a .tab file.
- Parameters:
excelfile (ExcelFile) – The Excel file object.
sheet (str) – The name of the sheet to read from.
columns (list) – List of columns to be read.
tab_file_path (Path) – Path to save the .tab file.
filename (str) – Base name for the .tab file.
skipheaders (int) – Number of header rows to skip. Defaults to 0.
- Return type:
None
- empire.core.reader.read_sets(excelfile, sheet, tab_file_path, filename)¶
Reads sets data from an Excel file and saves each column as a separate .tab file.
- Parameters:
excelfile (ExcelFile) – The Excel file object.
sheet (str) – The name of the sheet to read from.
tab_file_path (Path) – Path to save the .tab files.
filename (str) – Base name for the .tab files.
- Return type:
None
empire.core.scenario_random module¶
- empire.core.scenario_random.check_scenarios_exist(scenario_data_path)¶
Checks that the .tab files for the scenarios exist in scenario data folder.
- Parameters:
scenario_data_path (Path) – Path to ScenarioData folder.
- Returns:
True if exist, false if not.
- Return type:
bool
- empire.core.scenario_random.check_scenarios_exist_and_copy(run_config)¶
Checks that the .tab files for the scenarios exist in scenario data folder and copys to the tab folder of the run.
- Parameters:
run_config (EmpireRunConfiguration) – Empire run configuration
- Raises:
ValueError – If files are missing in scenario data.
- empire.core.scenario_random.gather_peak_sample(data, seasons, regularSeasonHours, peakSeasonHours, country_sample, overall_sample)¶
- empire.core.scenario_random.gather_regular_sample(data, season, seasons, regularSeasonHours, sample_hour)¶
- empire.core.scenario_random.generate_random_scenario(empire_config, dict_countries, scenario_data_path, tab_file_path)¶
Method to generate random scenarios. Can also read existing samples if fix_sample is True.
- Parameters:
run_config – Empire run configuration
empire_config (EmpireConfiguration) – Empire configuration
dict_countries (dict) – Dictionary mapping country names
scenario_data_path (Path)
tab_file_path (Path)
- empire.core.scenario_random.make_copula_filter(data, nodes, copulas, regularSeasonHours, seasons, n_cluster, filepath=PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/openempire/checkouts/latest/docs/source'))¶
- Parameters:
data (list[DataFrame])
nodes (list[str])
copulas (list[str])
regularSeasonHours (int)
seasons (list[str])
n_cluster (int)
filepath (Path)
- Return type:
None
- empire.core.scenario_random.make_filter_result(data1, data2, regularSeasonHours, seasons, n_cluster, filepath)¶
- Parameters:
filepath (Path)
- empire.core.scenario_random.make_mean(data, regularSeasonHours, seasons)¶
- empire.core.scenario_random.make_ws(data, regularSeasonHours, seasons)¶
- empire.core.scenario_random.sample_generator(data, regularSeasonHours, scenario, season, seasons, period, generator, sample_hour)¶
- empire.core.scenario_random.sample_generator_peak(data, seasons, g, scenario, period, regularSeasonHours, peakSeasonHours, overall_sample, country_sample)¶
- empire.core.scenario_random.sample_hydro(data, regularSeasonHours, scenario, season, seasons, period, sample_hour)¶
- empire.core.scenario_random.sample_hydro_peak(data, seasons, scenario, period, regularSeasonHours, peakSeasonHours, overall_sample, country_sample)¶
- empire.core.scenario_random.sample_load(data, regularSeasonHours, scenario, season, seasons, period, sample_hour)¶
- empire.core.scenario_random.sample_load_peak(data, seasons, scenario, period, regularSeasonHours, peakSeasonHours, overall_sample, country_sample)¶