See zipped file at R:\e2projects_two\SoundCast\fehr_and_peers_soundcast
From Jeff Pierson
I’ve gone through all my changelogs and tried to pull out the biggest updates to give you an idea of what I was doing. Almost all of these could be described as “quality of life” improvements for the end user that should not have an impact on the model calculations or results.
Round 1 (January 2023)
Deleted unnecessary scripts (that are not used in our standard model run)
Reworked print commands during model run
Eliminated error statements during model run
Updated skims and paths log file to include iterations and convergence
Tested alternative feedback convergence tests
Round 2 (February 2024)
Reorganized files and renamed/numbered scripts
Output folders are created at beginning of model run and previous results are deleted
Removed model functions that are not in our standard model run (shadow pricing, integrated, HTML summary, etc.)
Scenario inputs are not copied from another location (this is just better with our internal workflow)
Removed unused and duplicate functions from Python scripts
Any file that is created or edited during a model run was moved to outputs (I have visceral reaction to “input” files being changed)
Round 3 (June 2025)
Accessibility and Daysim are run in separate windows to maintain clean model run log in main window
Removed user warning error messages during model run
Removed unnecessary module imports
Combined all configuration files and variables into one script (except for Daysim)
Consolidated similar variables to one common name
Hardcoded paths for all variables in configuration file (except for Daysim)
Combined all functions into one script
Rewrote scripts to avoid nested functions whenever possible
Reordered functions sequentially wherever possible
Tested scripts with pylint to improve “pythonic” style guide
Removed unnecessary input files
Organized input and output files thematically
Exported all soundcast.db tables as individual CSVs
Wrote progress monitor during “Skims and Paths” based on log file
I think the biggest thing for me when working with a new model is just trying to understand the general flow of the program. So, I think what I am most proud of is what the Command Prompt window looks like when the model is running to give the a clear sense of what is happening with the model. The model steps are clearly delineated and are consistent when looking at the runtime summaries, control options in the configuration files, and names of the scripts themselves. So, if people want to go digging into a specific stage of the model, they at least have a good idea of where to start.
See zipped file at R:\e2projects_two\SoundCast\fehr_and_peers_soundcast
From Jeff Pierson
I’ve gone through all my changelogs and tried to pull out the biggest updates to give you an idea of what I was doing. Almost all of these could be described as “quality of life” improvements for the end user that should not have an impact on the model calculations or results.
Round 1 (January 2023)
Deleted unnecessary scripts (that are not used in our standard model run)
Reworked print commands during model run
Eliminated error statements during model run
Updated skims and paths log file to include iterations and convergence
Tested alternative feedback convergence tests
Round 2 (February 2024)
Reorganized files and renamed/numbered scripts
Output folders are created at beginning of model run and previous results are deleted
Removed model functions that are not in our standard model run (shadow pricing, integrated, HTML summary, etc.)
Scenario inputs are not copied from another location (this is just better with our internal workflow)
Removed unused and duplicate functions from Python scripts
Any file that is created or edited during a model run was moved to outputs (I have visceral reaction to “input” files being changed)
Round 3 (June 2025)
Accessibility and Daysim are run in separate windows to maintain clean model run log in main window
Removed user warning error messages during model run
Removed unnecessary module imports
Combined all configuration files and variables into one script (except for Daysim)
Consolidated similar variables to one common name
Hardcoded paths for all variables in configuration file (except for Daysim)
Combined all functions into one script
Rewrote scripts to avoid nested functions whenever possible
Reordered functions sequentially wherever possible
Tested scripts with pylint to improve “pythonic” style guide
Removed unnecessary input files
Organized input and output files thematically
Exported all soundcast.db tables as individual CSVs
Wrote progress monitor during “Skims and Paths” based on log file
I think the biggest thing for me when working with a new model is just trying to understand the general flow of the program. So, I think what I am most proud of is what the Command Prompt window looks like when the model is running to give the a clear sense of what is happening with the model. The model steps are clearly delineated and are consistent when looking at the runtime summaries, control options in the configuration files, and names of the scripts themselves. So, if people want to go digging into a specific stage of the model, they at least have a good idea of where to start.