Great American Coil: Coil Performance
Great American Coil makes heating and cooling coils for HVAC systems. Around 2010, I inherited its coil performance application, written in Visual Basic 6. It worked out the hot water (heating) and chilled water (cooling) coils an air-conditioning job needed. These coils were typically used in large office buildings, with separate A/C controls for each office. Great American Coil’s sales staff used it, its engineers used it to cross-check customer requests, and its customers used it too. For each coil type, it printed out all of the relevant inputs and calculations.
What I Did
- Fixed the screens. The original application’s code was inconsistent, and it showed. I fixed a lot of visual quirks.
- Brought in code nobody could explain. In 2011, Great American Coil acquired GW-BASIC code for steam, evaporator, and condenser coil calculations. It came with no documentation and was rather buggy. I read the code to work out its inputs and outputs, wrapped it in a Visual Basic 6 DLL, and wrote unit tests that checked its results against known values. That added three more coil types for the application. Its calculations were slightly more accurate than the original application’s, so the hot and chilled water coils moved to the DLL as well.
- Made the application stable again. Once the DLL was in the main application, its calls would often freeze the
screen, stuck in infinite loops left by bad
GOTOstates. I fixed several of the more common causes in the DLL code. Visual Basic 6 isn’t designed to be multi-threaded, but I also added threading to the main application so that a timer could stop any call that still hung. Partway through, the manager asked a more experienced software engineer to review my approach to the DLL and the threading. The review came back with a compliment. - Print-outs. I wrote the print-outs for the three new coil types, and cleaned up the printed output for the original two.
- AHRI rating text. In October 2013, I added rating criteria that alert customers to non-standard coil constructions. Those coils can still be built, but may not perform as well as expected. Hot and chilled water coils now carried one of three notices: certified by AHRI, rated to AHRI Standard 410 but not certified, or outside the scope of Standard 410. As part of this update, I submitted the application to AHRI, and AHRI certified it for hot and chilled water coils.
The application and the DLL were Visual Basic 6; the calculations inside the DLL started out as GW-BASIC.
Where It Went
I maintained the application until 2018. By then, Great American Coil was working on a web version, which launched soon afterward.