BC_Nexus Integration#
Overview#
BC_Nexus is the CLEWs (Climate, Land-use, Energy, Water, and Food Security Nexus) component of the BC Combined Modelling framework. It provides comprehensive renewable energy resource assessment and system-wide analysis for British Columbia.
Key Features#
Renewable Energy Resource Assessment#
Solar Resource Mapping: High-resolution solar irradiance and photovoltaic potential analysis
Wind Resource Analysis: Wind speed and wind power generation potential assessment
Hydro Resource Evaluation: Existing and potential hydroelectric generation capacity
Storage Integration: Battery and pumped hydro storage modeling
Land Use and Constraints#
Protected Areas: Integration of conservation and protected land designations
Infrastructure Constraints: Transmission line proximity and grid connection costs
Environmental Factors: Ecological and environmental constraint mapping
Urban and Agricultural Land: Exclusion of incompatible land uses
Temporal Analysis#
Multi-Year Assessment: Analysis across multiple meteorological years
Seasonal Patterns: Seasonal renewable energy generation patterns
Hourly Resolution: High temporal resolution for detailed system analysis
Extreme Events: Assessment of extreme weather impacts on renewable generation
Integration with Combined Framework#
Data Outputs to Linking Tool#
BC_Nexus provides several key data products that are processed by the linking tool:
# Example BC_Nexus outputs
bc_nexus_outputs = {
'renewable_profiles': {
'solar_pv': 'hourly generation profiles by region',
'wind_onshore': 'hourly generation profiles by wind class',
'hydro_run_of_river': 'hourly generation profiles'
},
'capacity_potentials': {
'technical_potential': 'MW by technology and region',
'economic_potential': 'MW considering cost constraints',
'constrained_potential': 'MW after land use constraints'
},
'cost_parameters': {
'capex': 'Capital costs by technology',
'opex': 'Operating costs by technology',
'connection_costs': 'Grid connection costs by location'
}
}
Scenario Framework#
BC_Nexus supports multiple scenario dimensions:
Technology Scenarios#
Current Technology: Based on existing technology performance
Advanced Technology: Improved efficiency and reduced costs
Breakthrough Technology: Emerging technologies with high potential
Policy Scenarios#
Business as Usual: Current policy framework
Enhanced Targets: Increased renewable energy targets
Carbon Pricing: Various carbon price trajectories
Infrastructure Scenarios#
Existing Grid: Analysis with current transmission infrastructure
Enhanced Grid: Planned transmission expansions
Optimized Grid: Optimal transmission development
Model Configuration#
Basic Configuration#
bc_nexus:
region: "BC"
base_year: 2020
analysis_years: [2020, 2025, 2030, 2035, 2040, 2045, 2050]
technologies:
solar_pv:
enabled: true
efficiency_improvement: 0.02 # per year
cost_reduction: 0.05 # per year
wind_onshore:
enabled: true
turbine_classes: ["IEC_1", "IEC_2", "IEC_3"]
hub_heights: [80, 100, 120] # meters
hydro:
run_of_river: true
small_hydro: true
storage_hydro: true
constraints:
protected_areas: true
urban_exclusion: true
transmission_distance_limit: 50 # km
Advanced Configuration#
bc_nexus:
spatial_resolution: 1 # km
temporal_resolution: "hourly"
weather_years: [2012, 2013, 2014, 2015, 2016]
land_use:
exclusion_layers:
- protected_areas
- urban_areas
- agricultural_land_reserve
- water_bodies
buffer_distances:
airports: 3000 # meters
urban_areas: 500 # meters
highways: 100 # meters
economics:
discount_rate: 0.07
project_lifetime: 25 # years
capacity_factor_threshold: 0.15 # minimum CF
Running BC_Nexus Analysis#
Command Line Interface#
# Run BC_Nexus analysis
make nexus
# Run specific scenario
python workflow/scripts/BCNexus.py --scenario CNZ_1 --timeslices 96
# Generate BC_Nexus plots
make nexus_plots SCENARIO=Base_CNZ_noCCS TIMESLICES=24
Python API#
from bc_combined_modelling.bc_nexus import BCNexusInterface
# Initialize BC_Nexus interface
nexus = BCNexusInterface(
config_file='config/bc_nexus_config.yaml',
scenario='high_renewable'
)
# Run renewable resource assessment
results = nexus.run_resource_assessment(
technologies=['solar_pv', 'wind_onshore'],
regions=['lower_mainland', 'vancouver_island', 'peace_river']
)
# Access results
solar_potential = results['solar_pv']['technical_potential']
wind_profiles = results['wind_onshore']['generation_profiles']
constraint_maps = results['spatial_constraints']
Output Data Structure#
Generation Profiles#
# Hourly generation profiles by technology and region
generation_profiles = {
'solar_pv': pd.DataFrame({
'datetime': pd.date_range('2020-01-01', periods=8760, freq='H'),
'lower_mainland': [0.45, 0.52, ...], # Capacity factors
'vancouver_island': [0.38, 0.44, ...],
'interior': [0.52, 0.61, ...]
}),
'wind_onshore': pd.DataFrame({
'datetime': pd.date_range('2020-01-01', periods=8760, freq='H'),
'coastal': [0.35, 0.42, ...],
'interior': [0.28, 0.31, ...],
'peace_river': [0.41, 0.48, ...]
})
}
Capacity Potentials#
# Regional capacity potentials by technology
capacity_potentials = {
'solar_pv': {
'lower_mainland': {'technical': 15000, 'economic': 8000, 'constrained': 5000}, # MW
'vancouver_island': {'technical': 8000, 'economic': 4500, 'constrained': 3000},
'interior': {'technical': 45000, 'economic': 25000, 'constrained': 18000}
},
'wind_onshore': {
'coastal': {'technical': 12000, 'economic': 7000, 'constrained': 5500},
'interior': {'technical': 35000, 'economic': 20000, 'constrained': 15000},
'peace_river': {'technical': 18000, 'economic': 12000, 'constrained': 9000}
}
}
Cost Data#
# Technology cost parameters
cost_parameters = {
'solar_pv': {
'capex': {'2020': 1500, '2030': 1000, '2040': 800}, # CAD/kW
'opex_fixed': 15, # CAD/kW/year
'opex_variable': 0, # CAD/MWh
'lifetime': 25 # years
},
'wind_onshore': {
'capex': {'2020': 2000, '2030': 1700, '2040': 1500}, # CAD/kW
'opex_fixed': 35, # CAD/kW/year
'opex_variable': 5, # CAD/MWh
'lifetime': 20 # years
}
}
Quality Assurance and Validation#
Data Validation#
Resource Data: Validation against measured meteorological data
Capacity Factors: Comparison with existing renewable energy facilities
Cost Data: Benchmarking against industry surveys and databases
Sensitivity Analysis#
Weather Year Sensitivity: Analysis across multiple meteorological years
Technology Parameter Sensitivity: Impact of cost and performance variations
Constraint Sensitivity: Effect of different land use restriction scenarios
Model Validation#
Historical Comparison: Validation against historical renewable energy deployment
Expert Review: Regular review by industry and academic experts
Cross-Model Validation: Consistency checks with other modeling frameworks
Future Enhancements#
Planned Improvements#
Offshore Wind: Integration of offshore wind resource assessment
Floating Solar: Assessment of floating photovoltaic potential
Agrivoltaics: Co-location of solar and agricultural activities
Green Hydrogen: Renewable hydrogen production potential
Advanced Features#
Machine Learning: AI-enhanced resource assessment and forecasting
Real-time Data: Integration of real-time meteorological and grid data
Climate Change: Assessment of climate change impacts on renewable resources
Social Acceptance: Integration of social and community factors
For technical details on data linking, see Linking Methodology. For PyPSA integration, see PyPSA Integration.