sdom.load_data#

sdom.load_data(input_data_dir: str = '.\\Data\\')[source]#

Load all required SDOM input datasets from CSV files in the specified directory.

Reads and validates all input CSV files needed for SDOM optimization including VRE data, fixed generation profiles, storage characteristics, thermal units, scalars, and formulation specifications. Performs data consistency checks and filters datasets based on completeness.

Parameters:

input_data_dir (str, optional) – Path to directory containing input CSV files. Defaults to ‘.Data'. Should contain all required files defined in constants.INPUT_CSV_NAMES.

Returns:

Dictionary containing loaded and processed data with keys:
  • ’formulations’ (pd.DataFrame): Component formulation specifications

  • ’solar_plants’, ‘wind_plants’ (list): Plant IDs for VRE technologies

  • ’cf_solar’, ‘cf_wind’ (pd.DataFrame): Hourly capacity factors

  • ’cap_solar’, ‘cap_wind’ (pd.DataFrame): Plant CAPEX and capacity data

  • ’load_data’ (pd.DataFrame): Hourly electricity demand

  • ’nuclear_data’ (pd.DataFrame): Hourly nuclear generation

  • ’large_hydro_data’ (pd.DataFrame): Hourly hydropower generation/availability

  • ’large_hydro_max’, ‘large_hydro_min’ (pd.DataFrame): Hydro bounds (if budget formulation)

  • ’other_renewables_data’ (pd.DataFrame): Hourly other renewable generation

  • ’storage_data’ (pd.DataFrame): Storage technology characteristics

  • ’STORAGE_SET_J_TECHS’, ‘STORAGE_SET_B_TECHS’ (list): Storage tech identifiers

  • ’thermal_data’ (pd.DataFrame): Thermal balancing unit parameters

  • ’scalars’ (pd.DataFrame): System-level scalar parameters

  • ’import_cap’, ‘export_cap’, ‘import_prices’, ‘export_prices’ (pd.DataFrame): Trade data (if import/export formulation active)

  • ’complete_solar_data’, ‘complete_wind_data’ (pd.DataFrame): Filtered VRE data

  • ’filtered_cap_solar_dict’, ‘filtered_cap_wind_dict’ (dict): Capacity mappings

Return type:

dict

Raises:
  • FileNotFoundError – If any required input file is missing from input_data_dir.

  • ValueError – If formulation specifications are invalid.

Notes

  • All numeric data rounded to 5 decimal places for consistency

  • VRE plant lists filtered to include only plants with complete data

  • Conditionally loads hydro bounds and import/export data based on formulations

  • Uses flexible filename matching via normalize_string() for CSV files

  • Logs detailed progress at debug level for troubleshooting data loading issues