Issue overview
The R and T formats still need to be eliminated.
Upgrading fmt from the current version of 8.0.1 to 10+ (fmt 12.0.0 was released recently) will require significant work to get the custom double formats to match the old fortran formats (R, T).
I'm speaking about what is done around here: https://github.com/NREL/EnergyPlus/blob/4ac10380c7037bee7740ce3c7a51a4caa10da0c9/src/EnergyPlus/IOFiles.hh#L95
It's not impossible to do it, but since (I believe) these were provided so the I/O upgrade to fmt could pass without CI diffs (so we could trust the upgrade), maybe it's time to just remove these formats, and accept the diffs?
Notes:
- Why upgrade fmt?
- Not saying this needs to be done now, but just anticipating that at some point we will want to do it.
- it seems like this is going to be required to bring the codebase to C++20 and above (from my limited testing enabling C++20 instead of C++17).
- And recent fmt versions gained interesting functionality like formatting std::filesystem::path out of the box, etc.
- The reason there is work to be done is that fmt internals changed, and the
specs_.type is no longer a char but an actual enum, so rewritting it requires more effort.
Operating System (Multiple choices)
Any
Operating System Version
All
Version of EnergyPlus
25.2.0, 4ac1038
Unmethours link or helpdesk ticket number
N/A
Defect file
No response
Issue overview
The
RandTformats still need to be eliminated.Upgrading fmt from the current version of 8.0.1 to 10+ (fmt 12.0.0 was released recently) will require significant work to get the custom double formats to match the old fortran formats (R, T).
I'm speaking about what is done around here: https://github.com/NREL/EnergyPlus/blob/4ac10380c7037bee7740ce3c7a51a4caa10da0c9/src/EnergyPlus/IOFiles.hh#L95
It's not impossible to do it, but since (I believe) these were provided so the I/O upgrade to fmt could pass without CI diffs (so we could trust the upgrade), maybe it's time to just remove these formats, and accept the diffs?
Notes:
specs_.typeis no longer a char but an actualenum, so rewritting it requires more effort.Operating System (Multiple choices)
Any
Operating System Version
All
Version of EnergyPlus
25.2.0, 4ac1038
Unmethours link or helpdesk ticket number
N/A
Defect file
No response