This project provides a complete workflow for processing renewable energy data, from raw weather and generation data to comprehensive analysis and simulation dashboards.
This project processes renewable energy data through multiple stages:
- Data Preparation: Weather data processing and solar generation modeling
- Data Integration: Combining generation, price, and weather data
- Analysis & Simulation: Running simulations and creating interactive dashboards
V1_infrasure_GPR/
βββ README.md # This file
βββ site_registry.csv # Site configuration and portfolio mapping
βββ weather_data/ # Weather data processing
β βββ weather_processing_script.py # Weather data processing script
β βββ run_weather_processing.bat # Weather processing batch file
β βββ requirements.txt # Weather processing dependencies
βββ generation_data/ # Solar generation modeling
β βββ solar_generation_modeling.py # Generation modeling script
β βββ run_solar_modeling.bat # Generation modeling batch file
β βββ requirements.txt # Generation modeling dependencies
βββ resurety_gen_pr_data/ # Data combination
β βββ combine_data_script.py # Data combination script
β βββ run_data_combiner.bat # Data combination batch file
β βββ requirements.txt # Data combination dependencies
βββ simulation/ # Simulation and analysis
β βββ simulation_script.py # Simulation script
β βββ run_simulation.bat # Simulation batch file
β βββ requirements.txt # Simulation dependencies
βββ dashboard/ # Interactive dashboard
β βββ dash_app.py # Dashboard application
β βββ run_dashboard.bat # Dashboard batch file
β βββ requirements.txt # Dashboard dependencies
βββ output/ # Generated output files
βββ infrasure_input_data/ # Combined data (CSV format)
βββ infrasure_input_data_parquet/ # Combined data (Parquet format)
βββ simulation_results/ # Simulation outputs
- Python Installation: Ensure Python 3.8+ is installed
- Required Packages: Install all dependencies
pip install pandas numpy pvlib pyarrow plotly dash
Purpose: Process raw weather data into hourly format for generation modeling
Location: weather_data/ folder
How to Run:
# Method 1: Batch file (Windows)
cd weather_data
run_weather_processing.bat
# Method 2: Direct Python execution
cd weather_data
python weather_processing_script.pyWhat it does:
- Processes raw ERA5 weather data
- Converts to hourly format
- Creates site-specific weather files
- Output:
[SITE_NAME]_weather_hourly.csvfiles
Purpose: Model solar generation using weather data and site parameters
Location: generation_data/ folder
How to Run:
# Method 1: Batch file (Windows)
cd generation_data
run_solar_modeling.bat
# Method 2: Direct Python execution
cd generation_data
python solar_generation_modeling.pyWhat it does:
- Loads weather data and site parameters
- Models solar generation using hybrid approach
- Applies degradation, soiling, and efficiency factors
- Output:
[SITE_NAME]_modeled_generation.csvfiles
Purpose: Integrate generation, price, and weather data into unified datasets
Location: resurety_gen_pr_data/ folder
How to Run:
# Method 1: Batch file (Windows)
cd resurety_gen_pr_data
run_data_combiner.bat
# Method 2: Direct Python execution
cd resurety_gen_pr_data
python combine_data_script.pyWhat it does:
- Matches files across price, generation, and weather folders
- Combines data with flexible date handling options
- Calculates revenue metrics (RT and DA)
- Organizes output by portfolio
- Output:
[PORTFOLIO]/[ASSET_NAME]_generation_price_combined.csvor.parquet
Purpose: Perform statistical analysis and simulations on combined data
Location: simulation/ folder
How to Run:
# Method 1: Batch file (Windows)
cd simulation
run_simulation.bat
# Method 2: Direct Python execution
cd simulation
python simulation_script.pyWhat it does:
- Loads combined data from previous step
- Performs statistical analysis
- Runs Monte Carlo simulations
- Generates risk metrics and forecasts
- Output: Simulation results and reports
Purpose: Create interactive web dashboard for data visualization
Location: dashboard/ folder
How to Run:
# Method 1: Batch file (Windows)
cd dashboard
run_dashboard.bat
# Method 2: Direct Python execution
cd dashboard
python dash_app.pyWhat it does:
- Creates interactive web dashboard
- Visualizes generation, prices, and revenue data
- Provides filtering and analysis tools
- Runs on local web server (typically http://localhost:8050)
V1_Input_data_files/
βββ site_registry.csv # Site configuration
βββ weather_data/
β βββ raw_data/ # Raw ERA5 weather files
βββ resurety_gen_pr_data/
β βββ [PRICE_DATA_FILES].csv # Price data files
βββ [OTHER_INPUT_FILES] # Additional input files
site_name,portfolio_name,latitude,longitude,dc_capacity_mw,ac_capacity_mw,system_type,start_month,start_year
Albemarle_Beach_Solar,General_Renewable,29.30418,-98.40034,100.0,80.0,fixed,Jan,2020
- Date range selection
- Weather variables selection
- Output format options
- Site selection (individual or all sites)
- Degradation model parameters
- Efficiency factor adjustments
- Date handling (fixed year, common date, all data)
- Output format (CSV or Parquet)
- Portfolio organization
- Analysis parameters
- Simulation scenarios
- Risk metrics calculation
weather_data/[SITE_NAME]_weather_hourly.csv
generation_data/[SITE_NAME]_modeled_generation.csv
infrasure_input_data/[PORTFOLIO]/[ASSET_NAME]_generation_price_combined.csvinfrasure_input_data_parquet/[PORTFOLIO]/[ASSET_NAME]_generation_price_combined.parquet
simulation_results/folder with analysis reports
-
Missing Dependencies
pip install pandas numpy pvlib pyarrow plotly dash
-
File Path Issues
- Ensure all required input files are in correct locations
- Check file naming conventions
- Verify site registry format
-
Memory Issues
- Process smaller datasets for testing
- Use Parquet format for large files
- Close other applications to free memory
-
Data Quality Issues
- Check input file formats
- Verify date ranges and time zones
- Review error messages in console output
- Use Parquet format for large datasets
- Process sites individually for testing
- Monitor memory usage during processing
- Use batch files for automated execution
For issues or questions:
- Check the individual README files in each folder
- Review console output for error messages
- Verify input file formats and requirements
- Ensure all dependencies are installed
Raw Weather Data β Weather Processing β Hourly Weather Files
β
Site Parameters β Generation Modeling β Modeled Generation Files
β
Price Data β Data Combination β Combined Data Files
β
Combined Data β Simulation β Analysis Results
β
Analysis Results β Dashboard β Interactive Visualization
- Each step can be run independently if previous outputs exist
- Batch files provide easy execution on Windows
- Scripts include comprehensive error handling and progress reporting
- Output files are organized by portfolio and asset name
- All scripts support both individual and batch processing modes