Conversation
This PR attempts at a better, more intuitive, and logical nomenclature for out files as well as establishes naming conventions and guidelines for future new output files.
Updated CHANGELOG to reflect changes in output file naming.
There was a problem hiding this comment.
Pull request overview
This PR updates the naming convention for output CSV files from snake_case (e.g., capacity.csv, power_balance.csv) to PascalCase (e.g., Capacity.csv, PowerBalance.csv) to establish a more intuitive and consistent naming standard across the codebase.
Key Changes
- Established PascalCase naming convention for output files: single-word files use "Word.csv" format, multi-word files use "WordWordWord.csv" format
- Updated approximately 30+ output file references across multiple modules including capacity, emissions, storage, transmission, reserves, and VRE storage
- Updated internal references to maintain consistency with time series reconstruction functions
Reviewed changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/write_outputs/write_vre_stor.jl | Renamed 8 VRE storage output files from snake_case to PascalCase (e.g., vre_stor_capacity.csv → VreStorCapacity.csv) |
| src/write_outputs/write_storagedual.jl | Renamed storage dual output from storagebal_duals.csv to StoragebalDuals.csv |
| src/write_outputs/write_storage.jl | Updated temporal data output from storage to Storage |
| src/write_outputs/write_reliability.jl | Renamed reliability output from reliability.csv to Reliability.csv |
| src/write_outputs/write_power_balance.jl | Updated time series reconstruction reference to PowerBalance (note: main output filename not changed in this file) |
| src/write_outputs/write_power.jl | Updated temporal data output from power to Power |
| src/write_outputs/write_nse.jl | Renamed non-served energy output from nse.csv to NSE.csv for full mode |
| src/write_outputs/write_emissions.jl | Renamed emissions output from emissions.csv to Emissions.csv |
| src/write_outputs/write_curtailment.jl | Updated temporal data output from curtailment to Curtailment |
| src/write_outputs/write_costs.jl | Renamed costs output from costs.csv to Costs.csv |
| src/write_outputs/write_charge.jl | Updated temporal data output from charge to Charge |
| src/write_outputs/write_capacityfactor.jl | Renamed capacity factor outputs from capacityfactor.csv to CapacityFactor.csv and fusion_net_capacity_factor.csv to FusionNetCapacityFactor.csv |
| src/write_outputs/write_capacity.jl | Renamed capacity output from capacity.csv to Capacity.csv |
| src/write_outputs/ucommit/write_ucommit.jl | Updated unit commitment outputs from start, commit, shutdown to Start, Commit, Shutdown |
| src/write_outputs/transmission/write_transmission_losses.jl | Renamed transmission losses from tlosses.csv to TLosses.csv |
| src/write_outputs/transmission/write_transmission_flows.jl | Renamed transmission flows from flow.csv to Flow.csv |
| src/write_outputs/transmission/write_nw_expansion.jl | Renamed network expansion from network_expansion.csv to NetworkExpansion.csv |
| src/write_outputs/reserves/write_rsv.jl | Renamed reserves output from reserves.csv to Reserves.csv |
| src/write_outputs/reserves/write_reg.jl | Renamed regulation reserves from reg.csv to Reg.csv |
| src/write_outputs/min_max_capacity_requirement/write_minimum_capacity_requirement.jl | Renamed from MinCapReq_prices_and_penalties.csv to MinCapReqPricesAndPenalties.csv |
| src/write_outputs/min_max_capacity_requirement/write_maximum_capacity_requirement.jl | Renamed from MaxCapReq_prices_and_penalties.csv to MaxCapReqPricesAndPenalties.csv |
| src/write_outputs/capacity_reserve_margin/write_reserve_margin.jl | Contains critical bugs: Attempted to rename from ReserveMargin.csv to ReserveMarginPricec.csv but introduced typos in variable names |
| CHANGELOG.md | Added entry documenting the naming convention fix |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| end | ||
| dfResMar = DataFrame(temp_ResMar, :auto) | ||
| CSV.write(joinpath(path, "ReserveMargin.csv"), dfResMar) | ||
| dfResMarPricec = DataFrame(temp_ResMar_Pricec, :auto) |
There was a problem hiding this comment.
Typo in variable name: temp_ResMar_Pricec should be temp_ResMar_Prices. The variable is defined as temp_ResMar_Prices on lines 2 and 4, but referenced incorrectly here with a 'c' at the end instead of 's'.
| dfResMarPricec = DataFrame(temp_ResMar_Pricec, :auto) | |
| dfResMarPricec = DataFrame(temp_ResMar_Prices, :auto) |
| dfResMarPricec = DataFrame(temp_ResMar_Pricec, :auto) | ||
| CSV.write(joinpath(path, "ReserveMarginPricec.csv"), dfResMarPricec) |
There was a problem hiding this comment.
Typo in both variable name and filename: dfResMarPricec should be dfResMarPrices, and filename should be ReserveMarginPrices.csv (not ReserveMarginPricec.csv). The variable is defined as temp_ResMar_Prices on lines 2 and 4, but here both the DataFrame variable name and the output filename have incorrect 'c' instead of 's' at the end.
| dfResMarPricec = DataFrame(temp_ResMar_Pricec, :auto) | |
| CSV.write(joinpath(path, "ReserveMarginPricec.csv"), dfResMarPricec) | |
| dfResMarPrices = DataFrame(temp_ResMar_Prices, :auto) | |
| CSV.write(joinpath(path, "ReserveMarginPrices.csv"), dfResMarPrices) |
This PR attempts at a better, more intuitive, and logical nomenclature for out files as well as establishes naming conventions and guidelines for future new output files.
Description
This PR attempts at a better, more intuitive, and logical nomenclature for out files as well as establishes naming conventions and guidelines for future new output files, starting from renaming the one for writing output of capacity reserve margin prices.
All the files that are written when some settings switch is ON, the output filenames follow the "SnakeConvention.csv" format. For filenames that have only one word, the convention is "Word.csv" format.
What type of PR is this? (check all applicable)
Related Tickets & Documents
Checklist
How this can be tested
Post-approval checklist for GenX core developers
After the PR is approved