-
Notifications
You must be signed in to change notification settings - Fork 21
DOLPHYN Flow Chart (WIP)
Ruaridh Macdonald edited this page Aug 9, 2023
·
1 revision
flowchart TB
subgraph Input Files
subgraph settings[Settings]
setup_genx[/genx_settings/]
setup_hsc[/hsc_settings/]
setup_global[/global_settings/]
setup_solver[/solver_settings/]
end
subgraph genx[GenX Data]
genx_gendata[/Generators_data.csv/]
genx_genvar[/Generators_variability.csv/]
genx_fuels[/Fuels_data.csv/]
genx_load[/Load_data.csv/]
genx_net[/Network.csv/]
genx_co2[/CO2_cap.csv/]
genx_csr[/Capacity_reserve_margin.csv/]
genx_esr[/Energy_share_requirement.csv/]
genx_mcr[/Minimum_capacity_requirement.csv/]
genx_res[/Reserves.csv/]
end
subgraph hsc[HSC Data]
hsc_gen[/HSC_generation.csv/]
hsc_genvar[/HSC_generators_variability.csv/]
hsc_g2p[/HSC_G2P.csv/]
hsc_load[/HSC_load_data.csv/]
hsc_g2pvar[/HSC_g2p_variability.csv/]
hsc_co2[/HSC_CO2_cap.csv/]
hsc_pipe[/HSC_pipelines.csv/]
hsc_truck[/HSC_trucks.csv/]
hsc_dist[/HSC_zone_distances_miles.csv/]
end
end
subgraph main[Main]
START --> load_settings --> run_TDR{TDR == 1} -->|Yes| cluster_inputs --> configure_solver
run_TDR -->|No| configure_solver
configure_solver --> load_inputs --> run_modelh2_1{ModelH2 == 1} -->|Yes| load_h2_inputs
load_h2_inputs --> generate_model --> solve_model
run_modelh2_1 -->|No| generate_model
solve_model --> write_outputs --> run_modelh2_2{ModelH2 == 1} -->|Yes| write_HSC_outputs --> END
run_modelh2_2 -->|No| END
optimizer -.-> generate_model
end
subgraph results[Results]
results_genx[/Results/]
results_hsc[/Results_HSC/]
results_TDR[/TDR_Results/]
end
settings -.-> load_settings -.-> setup[(setup)]
settings -.-> cluster_inputs
configure_solver -.-> optimizer[Optimizer]
genx -.-> load_inputs
setup -.-> load_inputs
hsc -.-> load_h2_inputs
load_inputs -.-> inputs[(inputs)]
load_h2_inputs -.-> inputs[(inputs)]
inputs[(inputs)] -.-> generate_model
generate_model -.-> model[(model)]
model -.-> solve_model
solve_model -.-> model
model -.-> write_outputs
setup -.-> write_outputs
inputs -.-> write_outputs
model -.-> write_HSC_outputs
setup -.-> write_HSC_outputs
inputs -.-> write_HSC_outputs
write_outputs -.-> results
write_HSC_outputs -.-> results
flowchart TB
subgraph load_settings_fun[load_settings]
direction TB
get_setting_paths --> create_setup[Create setup dict] --> load_genx_settings
load_genx_settings --> load_hsc_settings --> load_global_settings
load_global_settings --> load_solver_settings --> merge_settings -->
return_setup[Return setup]
end
setup_genx[/genx_settings/] -.-> load_genx_settings
setup_hsc[/hsc_settings/] -.-> load_hsc_settings
setup_global[/global_settings/] -.-> load_global_settings
setup_solver[/solver_settings/] -.-> load_solver_settings
return_setup -.-> setup[(setup)]
flowchart TB
subgraph load_data_fun[load_data]
direction TB
create_inputs[Create inputs dict] --> load_load_data --> load_fuels_data --> load_generators_data --> load_generators_variability
load_generators_variability --> load_csr_check{CSR on?}
load_csr_check --> |Yes| load_cap_reserve_margin --> load_res_check
load_csr_check --> |No| load_cap_reserve_margin_trans --> load_res_check
load_res_check{Reserves == 1} --> |Yes| load_reserves_data --> load_mincap_check
load_res_check --> |No| load_mincap_check
load_mincap_check{MinCapReq == 1} --> |Yes| load_minimum_capacity_requirement --> load_esr_check
load_mincap_check --> |No| load_esr_check
load_esr_check{EnergyShareRequirement == 1} --> |Yes| load_energy_share_requirement --> load_co2_check
load_esr_check --> |No| load_co2_check
load_co2_check{CO2Cap > 0?} --> |Yes| load_co2_cap --> load_period_check
load_co2_check --> |No| load_period_check
load_period_check{Period mapping?} --> |Yes| load_period_map --> return
load_period_check --> |No| return[Return inputs]
end
setup[(setup)] -.-> load_load_data
GenX_data[/GenX_data/] -.-> load_load_data
return -.-> inputs[(inputs)]
%%load_load_data -.->|T, SEG, omega, \nREP_PERIOD, H, Weights, \nhours_per_subperiod ,INTERIOR_SUBPERIODS, Voll, \npD, pC_D_Curtail, pMac_D_Curtail| inputs