We are having the following classes demand, electricity consumption, heat consumption as subclasses of consumption quantity and the discussion about load in issue #116.
These classes and their definitions need to be discussed and restructured if necessary.
Tasks:
I am aware that
The definition of the class _Demand_ right now is: "Demand is generally the need for energy, colloquially referred to as energy consumption.
Source: https://wiki.openmod-initiative.org/wiki/Demand"
Which would mean it is a synonym to the class _EnergyConsumption_.
If demand and consumption are used interchangeably than the other two sibling classes of _EnergyConsumption_ and _Demand_ have equivalents as subclasses of _Demand_:
So we could just make all the Consumption class names labels of the demand classes and delete them?
If we do that, do we need the _Demand_ class or is the _ConsumptionQuantity_ class enough?
I think, _Demand_ should be defined more generally like _Demand is the need for something_ and then EnergyDemand is a child of demand.
In modeling there could be other demands than only energy demands. E.g. when modeling the bioenergy food nexus the demand of food of the population.
Right now Demand is a subclass of ConsumptionQuantity. That wouldn't really fit with a broader Demand definition. I just dont know what would fit.
so where to put a need in bfo?
generically dependent continuant because someone needs to have that need but that someone can change?
so where to put a need in bfo?
generically dependent continuant because someone needs to have that need but that someone can change?
That would probably fit best. There, I would make it a subclass of quantity value since you usually need a certain amount of something.
As @han-f pointed out in Issue #365 , it could be useful to make a distinction between demand and consumption.
From an economic perspective a consumer could express a demand for something (e.g. 5 units electricity). However, it may be that the demand cannot be met completely and the consumer received only 3 units of electricity. Then her/his consumption of electricity would be 3 units, while her/his demand were 5 units.
What I am pointing towards is whether we may want/need to make a distinction between demand and consumption.
So I would propose two subclasses of quantity value, demand (defined among the lines of _a quantity value stating the amount of something needed by someone_) and consumption (_a quantity value stating the amount of something consumed by someone_). Possible subclasses like energy consumption could then be added if necessary.
Possible subclasses like
energy consumptioncould then be added if necessary.
We do not only need the subclass energy consumption but also the subsubclasses primary energy consumption and final energy consumption, see #390.
I'd like to refer to this comment about how to work with quantity values: https://github.com/OpenEnergyPlatform/ontology/issues/434#issuecomment-648837549
There are always four separate things: (1) the entity in reality (some sort of specifically dependent continuant, perhaps, or a process) (2) a number (3) a unit. The entity then has_value some (4) quantity value entity, that has_unit the unit. (And may have a specified value with a data property). The relationship between the quantity value entity (4) and the entity in the world (1) is is_about.
According to this, the quantity value of demand or consumption would be (4), related to a numer (2) and a unit (3). What is missing is the "entity in reality" (1).
The entity in really or "concept" of consumption could be seen as a process, I guess. _The process of using something and thereby reducing its amount_?
Could the concept of demand be a specifically dedendent _realizable entity_, since the demand is not necessarily fulfilled? I am not sure about that one...
That is a good pattern. So we have a process consumption that has quantity value some quantity value. Do we need another subclass of quantity value like consumption value or is it sufficient to use quantity value directly?
For demand I would prefer _quality_, so a specifically dependent continuant that doesn't need to be realized. From my understanding the demand itself is real (as soon as long as it exists), even when it remains unfulfilled.
I think consumption can be measured in such different ways that the generalquantity value class should be right.
The idea behindspecifically dependent continuant is that the demand can't exist without the person having it.
I would interpret the "realisation" of demand like @sfluegel05, the creation of the demand (not the fullfillment). But in my opinion a demand has to be realised because it's no inherent property of the person it depends on thats there since birth. There is some event that caused it to get this demand (at list the process of thinking) so it first has to be realised. Which leads me to realizable entity. More concrete rolebecause the exist or missing of the demand won't change the bearer physically and the demand happened because of "some special physical, social, or institutional set of circumstances" as the bfo creators write.
I can agree with demand being a role. So demand basically would be _a role of a person or organization to need something_ .
Would demand also be an agent (_a role of a person or organization that directs its activity towards achieving goals_)? From an intuitive standpoint that doesn't make much sense, but it fits the definition.
I can go with demand being a role. It gets 'realised' when a person gets it or has it? E.g. I realise the demand for food when I feel hungry. I then demand 3 pieces of cake. Since cake is scarce I only obtain 1 piece and my consumptionis therefore 1?
Would
demandalso be anagent(_a role of a person or organization that directs its activity towards achieving goals_)? From an intuitive standpoint that doesn't make much sense, but it fits the definition.
I see your point. this would fit with producer and prosumer, just that they are formulated as persons, demand sounds more abstract and "demander" sounds weird
@han-f what do you think of "demand" as an "agent role"?
(Right now the class is called "agent" but I think renaming it would make the intended meaning clearer)
I am somehow quarreling with "role". There are kinds of demands that are realizable, but others are rather existential, as such energy demand. And energy demand will probably THE kind of demand that is needed in the OEO.
Maybe we should think about who can be the bearer here. If we have a role demand and a relationship ... has role some demand, then we are limited to persons or organizations if demand is an agent. Couldn't other things also have a demand? Like machines who need electricity to be able to work.
Another question: Do we need some way of knowing what is actually demanded? For that a relation has demand would make sense. Also, we probably wouldn't need a role demand in that case, because the fact that a person demands something is already indicated by the circumstance that this person is part of a has demand-relation.
Maybe we should think about who can be the bearer here. If we have a role
demandand a relationship... has role some demand, then we are limited to persons or organizations ifdemandis an agent. Couldn't other things also have a demand? Like machines who need electricity to be able to work.
I would argue that it depends on the kind of demand whether it is limited to persons (or organisations):
From the discussion so far I don't see a clear proposal for a definition of demand. I see two options:
I prefer the more general demand definition (second option).
Another example: A car has a specific fuel demand. The person who is driving doesn't has the demand for the fuel, his or her demand is mobility. This means that objects could also have specific needs/demand in order to provide another demand for a person or organisation.
I am also favouring a generic definition.
Another question: Do we need some way of knowing what is actually demanded? For that a relation has demand would make sense. Also, we probably wouldn't need a role demand in that case, because that fact that a person demands something is already indicated by the circumstance that this person is part of a has demand-relation.
This would solve the classification problem.
I am just wondering, if this would suit our use cases. We'd rather have a model that uses e.g. data on the accumulated heat demand of a certain region (i.e. the buildings in that region) as input. It's not the model that has the demand and it might be difficult to clearly define who or what has the demand.
From a model perspective the demands are often related to sectors. For example:
the building sector or the household sector has the aggregated heat demand of ...
I am somehow quarreling with "role". There are kinds of demands that are realizable, but others are rather existential, as such energy demand. And energy demand will probably THE kind of demand that is needed in the OEO.
I think that doesn't have to be a problem. The BFO-creators write that there are also "realizable entities that are realized during all times when the bearer exists, as, for example, in the continuous functioning of a mammal's heart and lungs".
If we want to use the broader definition, we should probably stick to role as the parent class since agent doesn't work for objects:
_Demand is a role of a person, organisation or object that needs something for a specific purpose._
"Demand is a role" sounds a bit weird to me. Why not stick with quantity as parent class?
Or if quantity is not suitable, we could maybe use request which we started to define in one of these FIBO meetings?
I think that doesn't have to be a problem. The BFO-creators write that there are also "realizable entities that are realized during all times when the bearer exists, as, for example, in the continuous functioning of a mammal's heart and lungs".
Your example refers to realizable entity, not explicitly to role, right?
Taking a look at the explanation of role, it says a role is "externally grounded" and "possessed by its bearer because of some external circumstances" . My demand for food is not due to external circumstances but it's inherent, i.e. what I meant by existential.
Why not clasify demand as realizable entity directly, or as disposition instead?
"Demand is a role" sounds a bit weird to me. Why not stick with
quantityas parent class?Or if
quantityis not suitable, we could maybe userequestwhich we started to define in one of these FIBO meetings?
Currently, we don't have quantity in the OEO. Do you have a suggestion for a definition?
request (_a process whereby an agent asks another agent for something or to do something_, according to our spreadsheet) is probably related to demand, but I would argue that it does not work for all cases. For example, an object can have a demand as we agreed, but it cannot request something (maybe some objects like computers can do that, but our definition of role is restricted to persons and organizations).
Taking a look at the explanation of
role, it says aroleis "externally grounded" and "possessed by its bearer because of some external circumstances" . My demand for food is not due to external circumstances but it's inherent, i.e. what I meant by existential.
Why not clasifydemandasrealizable entitydirectly, or asdispositioninstead?
That's a good point.
@akleinau wrote:
More concrete
rolebecause the exist or missing of the demand won't change the bearer physically and the demand happened because of "some special physical, social, or institutional set of circumstances" as the bfo creators write.
From what you say, I can agree that there are demands that are internally grounded and in contrast to roles not optional. On the other hand, there are probably also demands that are not existential and do not change the bearer physically if they cease to exist, like my demand to read a book.
Indeed, the easiest solution would be to classify demand directly as a realizable entity.
Indeed, the easiest solution would be to classify demand directly as a realizable entity.
I agree.
To summarize the discussion so far:
We got
consumption: _Consumption is the process of using something and thereby reducing its amount._demand: _Demand is a realizable entity that is characterized by a person, organisation or object needing it for a specific purpose._Open questions:
consumption quantity class that got deleted in PR #368 had a lot of subclasses (electricity consumption, energy consumption, heat consumption and demand, which itself had the subclasses agricultural, commercial, electrical, heat, residential and transport demand). Should they get reimplemented?load? This was originally discussed in #116, where it was looked upon as a synonym of consumption. Is this, according to our definition of consumption, still the case?The original
consumption quantityclass that got deleted in PR #368 had a lot of subclasses (electricity consumption,energy consumption,heat consumptionanddemand, which itself had the subclasses agricultural, commercial, electrical, heat, residential and transport demand). Should they get reimplemented?
So far I don't see to need to include the subclasses now. Most of them were without definitions. If we need one or more of them, we should do that with a new issue. So let's focus here on consumption and demand and let the subclasses out.
Do we need a class load? This was originally discussed in #116, where it was looked upon as a synonym of consumption. Is this, according to our definition of consumption, still the case?
A class load profile would be helpful. This is an example from my energy sytem model to explain the 3 terms:
There is an aggregated demand for lightening in the houshold sector. Then there is a load profile which describes the fractions of that demand per time step. The model chooses from several lightening technologies one or several and calculates the energy consumption for lightening purposes.
So I would suggest to include load profile instead of load. This is a definition from Wikipedia:
In a power system, a load curve or load profile is a chart illustrating the variation in demand/electrical load over a specific time.
As the load profile is the profile of the load we still need to define load. Your definition proposal from Wikipedia explicitly uses load.
From my example above the term demand profile would actually fit better than load profile. I would change the def from Wikipedia to:
A demand profile is a chart ilustrating the variation in demand over a specific time.
Additionally we could add the concepts of electrical load and load profile:
An electrical load is an electrical component or portion of a circuit that consumes (active) electric power. (Source)
A load curve or load profile is a chart illustrating the variation in electrical load over a specific time.
For demand profile I would suggest to classify it as a data set. If this data gets measured (does it?), we could use time sampled measurement data set.
The same also applies to load curve I suppose.
Does electrical load refer to the physical object that consumes power or the consumption itself?
For demand profile I would suggest to classify it as a data set. If this data gets measured (does it?)
No demand profiles are usually simulated or generated (maybe with surveys). data set as parent class sounds good.
load curves or load profiles can be measured in an electrical circuit. Should we still also use data set?
Does electrical load refer to the physical object that consumes power or the consumption itself?
I paste here a more detailed definition of electric load: (source)
The device which takes electrical energy is known as the electric load. In other words, the electrical load is a device that consumes electrical energy in the form of the current and transforms it into other forms like heat, light, work, etc. The electrical load may be resistive, inductive, capacitive or some combination between them. The term load is used in the number of ways.
- To indicates a device or a collection of the equipment which use electrical energy.
- For showing the power requires from a given supply circuit.
- The electrical load indicates the current or power passing through the line or machine.
I suggest to define it as a physical object, but inlcude the bullets points as expample of usage?
We currently have the following general:
energy converting device: _An energy converting device is an artificial object that transforms or changes a certain type of energy._And classes like:
heater: _A heater is an energy converting device that converts other forms of energy into useful heat._electric motor: _An electric motor is an energy converting device that converts electrical energy into kinetic energy._So you basically propose a class between energy converting device and the its current subclasses:
energy converting deviceelectric loadheaterelectric motorAnd then load profile or load curve would describe the time series data set of the energy consumption of a electric load. Do I understand this correctly?
No I would put it directly under artificial object. All electrical appliances or the sum of them can be electrical loads. The energy converting devices are the ones generating electricity (or other forms of energy) and the electrical loads are the ones consuming that electricity. (This is at least true for resistive load, I am not sure about the other types.)
And yes, load profile or load curve would describe the time series data set of the energy consumption of an electric load.
@0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q Can you check if my understanding of electrical load is rhight?
The energy converting devices are the ones generating electricity (or other forms of energy) and the electrical loads are the ones consuming that electricity. (This is at least true for resistive load, I am not sure about the other types.)
According to what we already have in the ontology what you describe is what we defined as generator: _A generator is an energy converting device that converts other forms of energy into electrical energy._
The energy converting device is (as already mentioned above) defined as a device having any energy input, not only electricity: _An energy converting device is an artificial object that transforms or changes a certain type of energy._
In the context of our models, load (and residual load) is usually aggregated and not (just) used for single devices. Is is rather used synonymous to consumption, e.g. from the electrical network point of view.
I think it would be good to change the electrical load definition in that sense that it can be a single device or the sum of several devices.
I inlcude here a picture of a load profile to visualise my understanding of load profile:
So, for you an electrical load is an object aggregate of energy converting devices consuming electrical energy?
So, for you an electrical load is an object aggregate of energy converting devices consuming electrical energy?
No, it's rather the electricity consumption of an aggregate of devices (e.g. in a sector, spatial region,...), measured in kW, MW, resulting in a load profile when being a time series, like illustrated in @Vera-IERs figure.
@0UmfHxcvx5J7JoaOhFSs5mncnisTJJ6q Can you check if my understanding of electrical load is rhight?
All electrical appliances or the sum of them can be
electrical loads.
True that. The definition in https://github.com/OpenEnergyPlatform/ontology/issues/140#issuecomment-700537828 is quite good (orthography not withstanding).
So you basically propose a class between
energy converting deviceand the its current subclasses
Batteries are loads more often than not.
An
electric loadis anartificial objectthathas some inputelectricity.
(Batteries need input and output, by the way.)
In the context of our models, load (and residual load) is usually aggregated and not (just) used for single devices. Is is rather used synonymous to
consumption, e.g. from the electrical network point of view.
I would argue that a load is an instantaneous measurement (a power in Watts), while demand is an time integral (an energy in Joules). "Load" is a technical term in power engineering that can refer to a single node in an electrical network, or a sub-network (which can be mathematically abstracted to be a single node), or the whole network, which is also just a sub-network.
No, it's rather the electricity consumption of an aggregate of devices
It can be either, see the definition in https://github.com/OpenEnergyPlatform/ontology/issues/140#issuecomment-700537828.
I would argue that a
loadis an instantaneous measurement (a power in Watts),
Agreed. And for the classification it is important to distiguish between "devices" (object (aggregate)) and "consumption of devices" (process). From the energy system modelling perspective load is the latter. Whereas the proposed def suggests the electrical engineering perspective as a device/devices.
And for the classification it is important to distiguish between "devices" (object (aggregate)) and "consumption of devices" (process).
Which is begging the question: what do we need the classification of "devices" as electrical loads for?
We need the definition of electrical load to define the term load profile.
I would just need the term load profile to describe datasets of the model.
I would argue that a
loadis an instantaneous measurement (a power in Watts),Agreed. And for the classification it is important to distiguish between "devices" (object (aggregate)) and "consumption of devices" (process).
I agree here, too.
Which is begging the question: what do we need the classification of "devices" as
electrical loadsfor?
In my view, this class is not really needed. I discussed this above only to understand @Vera-IER's point.
We need the definition of
electrical loadto define the termload profile.
I do not consent to this. A load profile can also be given for non-electrical consumption. For modelling of the heating sector you often have something like a thermal load profile.
I think most people use load profile as a synonym to electric load profile, thats why I started to look for definitions in that way. Talking about heat, I would always use the term heat load profile.
So how are do we move on with this topic? Try to come up with generic definitions for loadand load curve or split it up into electric load and heat load?
What about:
load profile is a time series that describes the energy input an energy converting device._ (Alternative term: load curve)electric load profile is a load profile that describes the electrical energy input of an energy converting device._ (Alternative term: electric load curve)thermal load profile is a load profile that describes the thermal energy input of an energy converting device._ (Alternative term: thermal load curve) Instead of distinguishing between electric and heat load _profile_, I'd propose electric load and heat load as subclasses of load/ consumption.
As subclasses of load profile, I find standard, measured, synthetic, ... load profiles useful.
Then, we can relate them like this: e.g. standard load profile is about electric load. What do you think?
I am okay with that. Can you please propose some definitions for your suggested classes?
What about:
electrical load: _the consumption of eletrical energy/ power_
heat load: _the consumption of heat/ thermal energy_
load profile: _a time series that contains (the temporal development of?) consumption data_
standard load profile: _a load profile that indicates a representative and simplyfied load development for a specific (aggregate of) consumers_
measured load profile: _a load profile containing measured data_
synthetic load profile: _a load profile containing artificially created data_
These definitions look good to me. It may be a bit confusing that the subclasses of consumption are called ... load. So I would suggest to either call them electrical / heat consumption or call the parent class load (and add the other term as a synonym)
The way stap-m descibes the definitions and relations sound also good to me.
However I would not put load and consumption as synonyms with the current definition of consumption:
consumption: _Consumption is the process of using something and thereby reducing its amount._
What about having a seperate class load with this definitions:?
load: _Load is a process that describes the energy input of an (aggregate of) energy consumer._
Or loadcould be a synonym to energy consumption, but we would need to add such a class first.
What about having a seperate class load with this definitions:?
load: _Load is a process that describes the energy input of an (aggregate of) energy consumer._
What exactly would be the differentiating property in comparison to energy consumption?
In that sence its the same, we could even put energy consumption as an alternative term. Or second option we can define energy consumption as a subclass to consumption and add load as synonym there.
electric loadandheat loadas subclasses ofload/consumption
electrical load: _the consumption of eletrical energy/ power_
heat load: _the consumption of heat/ thermal energy_
load: _Load is a process that describes the energy input of an (aggregate of) energy consumer._
loadcould be a synonym toenergy consumption
we can define
energy consumptionas a subclass toconsumptionand addloadas synonym there
Nope, nope, nope.
- The electrical load indicates the current or power passing through the line or machine.
Load – Power – Watts.
Consumption/Demand – Energy – Joules.
electrical load: _the consumption of electrical power_
heat load: _the consumption of heat/thermal power_
load profile: _a time series that contains (the temporal development of?) load data_
Once again we're spinning in circles around the labels of the classes. But it is more important to get the the concepts right than the labels. So I suggest that we forget about the labels for the moment and focus on the definitions of the concepts and find labels for the concepts later.
What about:
electrical load (or other label): _is a process attribute that describes the consumption of electrical power._
heat load (or other label): _is a process attribute that describes the consumption of heat/thermal power._
load profile: _is a data set that contains (the temporal development of) load data._
load: _is a synonym of power_power: _is the process attribute of some energy transformation that is the amount of energy transformed or transferred per time unit._electrical load: _is a process attribute of some energy transformation which has electrical energy as input, that is the amount of electrical energy transformed or transferred per time unit._heat load: _is a process attribute of some energy transformation which has heat as input, that is the amount of heat transformed or transferred per time unit._heat is wrong under energy, should be thermal energy as input.)load profile: _is a time series (subclass of data set to be added #267) that contains load data._Nope, nope, nope.
If you disagree, please communicate that in a friendly way.
Consumption/Demand – Energy – Joules.
I agree for demand, but not necessarily for consumption, which we are about to define as _process_, considering its time dependency.
Once again we're spinning in circles around the labels of the classes. But it is more important to get the the concepts right than the labels. So I suggest that we forget about the labels for the moment and focus on the definitions of the concepts and find labels for the concepts later.
@l-emele you are right.
I tried to sum up the discussion in this figure without using labels: what we need is an instantaneous X, an aggregated X and an aggregated Y. From my point of view, we don't need an instantaneous Y. After agreeing on the concepts, we can name them.

I think it was good to define X as a process, because nearly everything in an energy system model is time dependent. Also all entities which are integrated over time, are mostly integrated over one time step or one year and can change with the next time step/year. So it’s not wrong to have time series of all types of X or even Y. Because we have this time step concept in the models I would rename the „instantaneous“ circle into „divided by time“. Or maybe it’s easier to have two different concepts, one for aggregated X and one for instantaneous X.
this issue has 60 comments. Maybe it is a good idea to define an upper limit like 30 comments, after which an issue should be discussed in a dev meeting as it got too complex?
Most helpful comment
this issue has 60 comments. Maybe it is a good idea to define an upper limit like 30 comments, after which an issue should be discussed in a dev meeting as it got too complex?