Integrated models

I recently submitted a paper which said that an integrated model of domestic energy consumption is desperately needed. What’s more, I said that it didn’t look as though anyone else was really working on something like this. Turns out I was only partly right – people are working on integrated models, they’re just not integrating them with each other.

The idea of the paper was that if people could get behind one way of discussing domestic energy consumption, refering to its different constituent parts, and exploring the links between these parts, energy researchers would be better off. Research from one discipline could be used in another by using such a framework to put things in context. People would be speaking the same language and even if things weren’t perfect, it would be a big step forward.

These other projects that I’ve recently come across (CARB and Tyndall’s CIAM) seem to be going down the same path but in different directions. Both are trying to integrate the complexities of energy consumption (not just in the domestic sector) but they seem to be struggling to find this sort of common language. To be fair, both projects have slightly different aims and they have only begun recently and perhaps they’ve tried to find a common language and decided against it.

I realize that might come across wrong so let me clarify the two points I’m trying to make:

  1. It’s great that other people are trying to develop an integrated model of energy consumption. Funny that everyone seems to be getting the same idea all at once but the more the merrier I see and hopefully something will come of it.
  2. However given all the effort that has been and will be invested in these two projects, some effort should be made to reduce overlap and present them in a compatible way. I don’t think multiple “integrated” models are terribly useful by definition – there should at least be some degree of theoretical compatibility between integrated models.

This doesn’t mean that what I’m working on is an ideal third way. These other projects, like my work, is just starting and so I’m very keen to see how they progress. Given my flexibility as a doctoral student, I hope that I will be able to learn from these two projects, build a theoretical foundation and present a model which I feel is suitable for the integrated analysis of energy consumption.

Electricity load profiles

I read an interesting article yesterday by Yao et al (in Energy and Buildings) about how to create domestic load profiles. This paper is properly the most direct precursor to what I’m trying to do with my modelling. The main behavioural response to PV that I will be examining is a temporal shift and so if I’m going to simulate that change I need to be able to simulate consumption on a comparable time scale. Anyway the paper was interesting but left me wondering:

  1. How exactly does the model decide what appliances get used at what time during the day? The most useful part and as always happens, it’s not explained.
  2. Yao et al use per capita appliance loads to simulate specific households. I wonder if these are applicable in an agent-based framework. My hesitation is that they are average figures and I’m building up from the bottom.

So all this is very promising but it raised an interesting point. If I’m going to build a model to simulate a behavioural change, I first need to verify that it can simulate energy use in a base condition. This means generating a profile and then comparing it to Electricity Association data. However these data include hot water and domestic heating loads, which I’d initially tried to avoid to save on coding. But it looks like I’m going to have to model DHW, space heating, and lights and appliances to verify that the total profile is right. Only at this stage can I then reasonably play around with the lights and appliances stuff thinking that I’m on the right track.

Update on household interviews

Follow-up interviews have been conducted with those who were willing to be contacted. If you have not been contacted yet but feel you have something to add to the research, please get in touch using the contact information on the side of this page.

Version numbers

Does anyone have any advice on version numbers? Is there a rule of thumb to figure out what constitutes a 0.x release? Do others not even bothering numbering their model versions?

I know, I know…

…don’t even think about coding before you’ve got the program designed.

Ha – easier said than done! As anyone who’s ever been bitten by the programming bug would tell you, it’s much more fun to just start typing. You want to see if it works. You’ll try out little bits and pieces, saying “I’ll just sketch it out”, “let’s make sure I can get these functions to talking to each other” and so on. Before you know it, you’ve got this big unwieldly mess of code and you can’t remember what it was supposed to do.

While I’d like to say I’ve finally learned this lesson, I haven’t. I’ve already started coding bits and pieces of my model, “just to see if it works”. But before I get too carried away, I should really outline what I want my model to do.

General Aims

Specific Aims

I’m studying behavioural responses to solar photovoltaics in the UK domestic sector and there are a few specific things that I need to check through modelling. Hopefully this will provide a chance to sketch out and evaluate the model. In other words, after this modelling is done I should have a framework which should be usable in other contexts without too much modification. Anyway these goals are:

Before I code anymore, I clearly need to narrow these down more. But that’s for later.

Tools of the trade

Before I get into all the nitty-gritty of what I’m working on, I thought I’d give a quick run down of my setup.

I’ve got a bit of programming experience but not so much that I would want to use C or any of its variants so all the coding is done in Java 1.5 (or 5.0 – whatever the right one is). I’m using Eclipse 3 M4 as an IDE (works great except for JavaDoc support) with the RePast agent-based modelling framework. R is used for statistical analysis.

Next Page →