Revision control for text-based modeling programs
When you're using EnergyPlus or eQuest for example, your input file is a simple text file. During the course of a project, you'll often end up modifying your input file over and over again, as part of an iterative process, be it to debug, calibrate or improve accuracy.
Before long, if you haven't been really careful about backing up and naming files and keeping a list of the changes you've made in another file, you'll be crawling under a sea of poorly named files, unable to know what changes you've made between this and that files.
This is no different than writing computer code, and the programmers have tools to deal with version control / revision control / source control. I could quote Apache Subversion (SVN) and Git for example.
According to wikipedia, Revision control, also known as version control and source control is the management of changes to documents, computer programs, large web sites, and other collections of information. Each revision is associated with a timestamp and the person making the change. Revisions can be compared, restored, and with some types of files, merged.
It's a very handy thing: you'll get a complete track record or what you made (you can comment on what the change is too on some tools), rollback capacities, compare capabitilities, you can fork (for an ECM for example), etc.
Have people being using Revision control with success? What tools have you been using? (eg: Git/Github, TortoiseSVN, etc) How did you set them up to suit your modeling workflow?
Hi all,
Are the options above still the go-to solution for version control in Energy modelling? I'm looking to implement it in our workflows and it's helpful to know what people are using in our industry nowadays.
In any case, thanks for sharing with so much detail.
Rafael
Hi Rafael, I would be curious to hear what your solution/best practice is. For my personal playground with really small examples Github is a nice place, but in the office environment Google Drive and Dropbox are being used, and it's hard to introduce yet another service. So instead of proper version control, endless streams of randomly named files occupy the folders, many of them are being generated by LBT/Pollination or DesignBuilder... It's a mess.
I would recommend Sourcetree and BitBucket (either run it on your own local server or use their cloud version). You can still have files synced with Google Drive and Dropbox if you want, but being able to have one version of the file names and then being able to see the commit tree visually along with the commit messages is really helpful. It's worth taking the time to learn it and train your co-workers.