Input Folder Structure#
All input files must be placed inside the epm/input
folder.
The input structure consists of:
A folder containing all necessary input
.csv
files for the model. This folder is specified using the--folder_input
argument when running the model with Python.A main configuration file (
config.csv
) that defines which input files correspond to each model parameter. This file is specified using the--config
argument.
Below is an example of the structure based on the data_test_region
folder.
To run the model with Python, use the following command:
python epm.py --folder_input data_test_region --config input/data_test_region/config.csv
This folder contains all the input files required to run EPM for the Southern Africa Power Pool (SAPP) region.
data_test_region/
│
├── config.csv # Main configuration file for baseline run
│
├── constraint/ # Policy and emissions constraints
│ ├── pCarbonPrice.csv
│ ├── pEmissionsCountry.csv
│ ├── pEmissionsTotal.csv
│ └── pMaxFuellimit.csv
│
├── h2/ # Hydrogen-specific parameters
│ ├── pAvailabilityH2.csv
│ ├── pCapexTrajectoryH2.csv
│ ├── pExternalH2.csv
│ ├── pFuelDataH2.csv
│ └── pH2DataExcel.csv
│
├── load/ # Load and demand data
│ ├── pDemandData.csv
│ ├── pDemandForecast.csv
│ ├── pDemandProfile.csv
│ ├── pEnergyEfficiencyFactor.csv
│ └── srelevant.csv
│
├── reserve/ # Reserve requirements
│ ├── pPlanningReserveMargin.csv
│ ├── pSpinningReserveReqCountry.csv
│ └── pSpinningReserveReqSystem.csv
│
├── resources/ # General model inputs
│ ├── ftfindex.csv
│ ├── pFuelCarbonContent.csv
│ └── pTechData.csv
│
├── supply/ # Generation and availability data
│ ├── pAvailability.csv
│ ├── pAvailabilityCustom.csv
│ ├── pAvailabilityCustomUpdated.csv
│ ├── pAvailabilityDefault.csv
│ ├── pAvailabilityDefaultCCDR.csv
│ ├── pAvailabilityDefaultEmpty.csv
│ ├── pCapexTrajectories.csv
│ ├── pCapexTrajectoriesCustom.csv
│ ├── pCapexTrajectoriesDefault.csv
│ ├── pCapexTrajectoriesDefaultCCDR.csv
│ ├── pCapexTrajectoriesDefaultEmpty.csv
│ ├── pCSPData.csv
│ ├── pFuelPrice.csv
│ ├── pFuelPriceUpdated.csv
│ ├── pGenDataExcel.csv
│ ├── pGenDataExcelCustom.csv
│ ├── pGenDataExcelDefault.csv
│ ├── pGenDataExcelDefaultEmpty.csv
│ ├── pGenDataExcelDefaultRampHydro.csv
│ ├── pStorDataExcel.csv
│ ├── pVREgenProfile.csv
│ ├── pVREgenProfileFullROR.csv
│ ├── pVREgenProfileROR.csv
│ └── pVREProfile.csv
│
├── trade/ # Cross-border trade and transmission
│ ├── pExtTransferLimit.csv
│ ├── pLossFactor.csv
│ ├── pMaxExchangeShare.csv
│ ├── pMaxPriceImportShare.csv
│ ├── pMinImport.csv
│ ├── pNewTransmission.csv
│ ├── pTradePrice.csv
│ ├── pTransferLimit.csv
│ ├── pTransferLimitCurrent.csv
│ └── pTransferLimitRetradeUpdate.csv
│
├── scenarios_sapp.csv # Main scenario definition file
├── scenarios_sapp_small.csv # Alternative scenario file (e.g., limited scope)
├── mapGG.csv # Country/zone mapping
├── pHours.csv # Time slice definitions
├── pSettings.csv # Simulation settings
├── y.csv # Year list (basic)
├── ydetailed.csv # Year list (detailed)
└── zcmap.csv # Zone-country mapping
Example: Difference Between Scenario Files#
scenarios_sapp.csv
: Full scenario set with detailed assumptions for demand growth, new capacity, and trade policies.scenarios_sapp_small.csv
: Minimal variant for fast testing (e.g., fewer years or countries, no new builds).