ERTAC EGU Code v3.0 Available

A new version of the ERTAC EGU code, v3.0, is now available. The new version of the code simply ports v2.2 to work with Python v3.x, so this upgrade was more about retesting features than actual code changes. James at MDE was coded the port and I focused on the testing.

The new code base is available on github: I hope others can put the code to good use.

ERTAC EGU Code v2.2 Available

It is exciting that the new version of the ERTAC EGU code, v2.2, is now available. I have worked on developing the new features for this open source python codebase, that uses EPA and state data to project future emissions from power plants. It was great to work with partners in several states and regional organizations to then test and evaluate the new code.

Full details of the new features are in a README, but some of the things I am particularly excited about are the so called “HIZG” hours and the new fuel/unit types and state input files.

We have found in previous versions that in projections, emissions from startup and shutdowns don’t get maintained. This because in the hourly Clean Air Markets Data (CAMD) that ERTAC EGU relies upon startups and shutdowns have heat input and emissions, but no gross load, though Heat Input Zero Gross load (HIZG). Since there ERTAC EGU projects by growing or shrinking generations due to supplied changes in demand, hours with no generation were simply dropped from consideration. With ERTAC v2.2 those hours can now be maintained. This not only allows startups and shutdowns to be projected to future years, it also is one of two necessary requirements to allow ERTAC EGU to process so called “non-EGUs,” essentially units in CAMD that do not generate power (e.g., oil refineries, steel mills, pulp mills).

The other major improvement is the ability to add new fuel unit types. The code was originally written to limit the user to five fuel/unit types. However, a new input allows users to add fuel/unit types. This was particularly useful to the group to allow non-EGUs to be processed. It also allows some types of power generators to be projected, such as various biomass facilities that were ignored in the original code. With incorporation of other data sources and extensive use of the “demand transfer” functionality one might be able to include renewables, though this was never tested. Also the ability to override the default state.csv file was included, which could allow this tool to be used to subdivide states (for instance to include EGUs within, and outside of, a nonattainment area in a state) or allow this tool to be used in other countries where hourly power plant data can be found.

This is all quite exciting. The new code base is available on github: I hope others can put the code to good use.


I was able to make a little time to post links to the code repositories that are up on Git Hub that I have been working on.  The first is ERTAC EGU, which is a python-based power plant projection tool that I contribute code to.  The second is r4movess, which is an R library I developed for accessing data from EPA’s MOVES model.

You can check out the code through here.