IDF+: An Enhanced Editor for EnergyPlus Input FIles

IDF+ Screenshot

IDF+ Screenshot

In a previous post I set out my “Manifesto for Good Energy Modelling Tools“, in this post I wanted to share an initial public preview of a tool I’ve been working on. The tool is an enhanced editor for EnergyPlus idf files. In creating the tool, I’ve attempted to embrace the concepts in the manifesto (rather, I discovered and developed the concepts as I created the tool). I use the official IDF Editor that comes with EnergyPlus every day—it is the primary tool I use for interacting with IDF files. I have come to respect it and think it is probably the best tool out there right now for working with IDF tools, however, it also has some significant limitations that I decided to address. The working name I’ve chosen is IDF+, but I am hoping to find something a bit more original as development progresses (suggestions are welcome!).

Open Source and Cross Platform

The tool is written in Python and the source code is available under an open source licence at the BitBucket repository. It is currently working on both Ubuntu Linux and Windows, but will eventually work on Mac OS as well.

Lightweight But Enhanced Editor for EnergyPlus

The tool continues in the spirit of the official editor in that it’s a lightweight tool that interacts as directly as possible with the contents of the IDF files.

Full Undo Support

All primary editing features support undo. This includes cut, copy, paste, delete and duplicate. The undo history can be navigated allowing a user to return to previous points in the model’s recent history (within the given editing session).

Filter and Transpose

Both the list of classes and objects are search/filterable. This means a user can show only objects or classes containing arbitrary bits of text. The editing actions can then be performed on this subset of objects. The object list can also be transposed (rows/columns reversed) to show a more traditional spreadsheet-like view.

Highly Flexible Interface

Each of the main interface elements, such as the class list or comments box, can be moved around and resized as a user prefers, or even “undocked” from the main interface altogether to be positioned on a secondary monitor.

Future Development

On the roadmap are features such as search and replace, visualization of relationships between objects, enhanced contextual menus and help, as well as improvements to speed and visual appearance.

Please Try It Out

The tool is available on BitBucket now. I should consider it to be alpha stage software, meaning that it is for testing purposes only and should not be used for real projects. I would appreciate any feedback!

This entry was posted in Energy Modelling, Software Tools on by .

About Matt

Matt is a mechanical/building engineer who specializes in whole-building energy modelling, energy efficiency and solar buildings. He's worked for about 9 years analyzing the energy use patterns of buildings. He studied the energy performance of a low-energy, solar house for his Masters thesis. Matt has experience with EnergyPlus and eQuest.

4 thoughts on “IDF+: An Enhanced Editor for EnergyPlus Input FIles

  1. WouterBeck

    Dear Matt,

    I tried to open /usr/local/EnergyPlus-8-3-0/ExampleFiles/EquivalentLayerWindow.idf using idfplus.
    This fails and the error message is “Invalid or unknown idf object: SCHEDULE:COMPACT Loading cancelled! “.
    Loading another example idf (I tried 1ZoneEvapCooler.idf) that also has Schedule:Compact objects completes without errors.
    Any idea?

    1. Matt Post author

      Hi! My first thought is that it could be related to capitalization of the “SCHEDULE:COMPACT”. IDF+ is currently rather rigid in its reading of class names, which causes problems when things are not _exactly_ as they appear in the idd file. I have this on my list of things to fix, but it’s currently annoying. Try a file without caps in the object name and let me know? I have an issue tracked for it and similar issues here:

      1. WouterBeck

        The capitalization is generated by idfplus. The source file EquivalentLayerWindow.idf reads:
        Htg-SetP-Sch, !- Name
        Temperature, !- Schedule Type Limits Name
        … etc.

        1ZoneEvapCooler.idf has a schedule:compact in exactly the same style:
        System Availability Schedule, !- Name
        Any Number, !- Schedule Type Limits Name

        1ZoneEvapCooler.idf loads without problems. Only thing that’s different are the ScheduleTypeLimits.

        The idd says: “Irregular object. Does not follow the usual definition for fields.”
        I cannot oversee how that impacts parsing the idf-file.

        1. Matt Post author

          A few objects before the “Htg-SetP-Sch” object there is one called “ZONE CONTROL TYPE SCHEDULE”. This one has capitals for the object class name (“SCHEDULE:COMPACT”). When I remove these caps that file loads ok for me. It is definitely a bug that caps matter at all, and I’m working on it, sorry for the inconvenience!

Leave a Reply