Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add task definition in separate module #1891 #1940

Open
wants to merge 39 commits into
base: dev
Choose a base branch
from

Conversation

madbkr
Copy link
Contributor

@madbkr madbkr commented Oct 7, 2024

Summary of the discussion

In an effort to add energy-related task definitions I added a separate module called oeo-tasks and tried to implement the needed classes as proposed in #1891. The module is not yet imported by the oeo. There are still some questions open as seen in the issue.

Type of change (CHANGELOG.md)

Add

  • new file oeo-tasks.omn for all of the changes proposed. This would be a separate module to the current oeo.

Added classes:

  • All the subtasks of a task as a subclasses of action specification. For better readability they get their own parent class.

'action specification for available area for wind farm development'
- 'acquisition and processing datasets for exclusion criteria'
- 'determine area for development'
- 'determine geographical potential'
- 'determine MCDA approach for soft exclusion criteria'
- 'interpolate wind data to greater resolution horizontally'
- 'select exclusion criteria and buffer distances'

'action specification for for the technical wind potential'
- 'account for wake losses'
- 'calculate technical potential'
- 'determine capacity factor (CF)'
- 'place turbines in area or determine capacity density'
- 'select appropriate turbine type(s)'
- 'use power curve with wind distribution function to determine annual energy yield'

'action specification for techno-economic potential'
- 'calculate economic potential for LCOE range'
- 'calculate Levelized Cost of Energy (LCOE)'
- 'determine discount & interest rate'
- 'determine investment costs'
- 'determine operating and maintenance costs'
- 'determine wind turbine lifetime'

'action specification for the feasible potential'
- 'apply additional social/market constraints'
- 'calculate feasible potential for the region'

'action specification for wind characteristics'
- data acquisition and pre-processing
- extrapolate wind speed vertically to hub height
- account for air density change
- determine wind speed frequency distribution
- determine seasonal/diurnal variability
- determine the theoretical potential / WPD

  • Headline of the task as subclass of objective specification

    • determined wind characteristics of a region
    • 'determined available area for wind farm development'
    • 'determined feasible potential'
    • 'determined the technical wind potential of the available area'
    • 'determined the techno-economic potential of the available region'
  • Headline of the task + method as a subclass of methodology

    • determination method for wind characteristics of a region
    • 'determination method for the available area for wind farm development'
    • 'determination method for the feasible potential'
    • 'determination method for the technical wind potential of the available area'
    • 'determination method for the techno-economic potential of the available region'
  • As a subclass of process

    • determination process for wind characteristics of a region
    • 'determination process for the available area for wind farm development'
    • 'determination process for the feasible potential'
    • 'determination process for the technical wind potential of the available area'
    • 'determination process for the techno-economic potential of the available region'

Added axioms:

  • For determination method for wind characteristics of a region

    • 'has part' some 'determined wind characteristics of a region'
  • For 'determination method for the available area for wind farm development'

    • 'has part' some 'determined available area for wind farm development'
  • For 'determination method for the feasible potential'

    • 'has part' some 'determined feasible potential'
  • For 'determination method for the technical wind potential of the available area'

    • 'has part' some 'determined the technical wind potential of the available area'
  • For 'determination method for the techno-economic potential of the available region'

    • 'has part' some 'determined the techno-economic potential of the available region'
  • For determination process for wind characteristics of a region

    • 'structured by' some 'determination method for wind characteristics of a region'
  • For 'determination process for the available area for wind farm development'

    • 'structured by' some 'determination method for the available area for wind farm development'
  • For 'determination process for the feasible potential'

    • 'structured by' some 'determination method for the feasible potential'
  • For 'determination process for the technical wind potential of the available area'

    • 'structured by' some 'determination method for the technical wind potential of the available area'
  • For 'determination process for the techno-economic potential of the available region'

    • 'structured by' some 'determination method for the techno-economic potential of the available region'

Added Object Properties

  • As a subclass of has participant
    • structured by

Workflow checklist

Automation

Closes #

PR-Assignee

Reviewer

  • 🐙 Follow the Reviewer Guide
  • 🐙 Provided feedback and show sufficient appreciation for the work done

@madbkr
Copy link
Contributor Author

madbkr commented Oct 7, 2024

@stap-m
Could you please let me know if this is what you had in mind? If not I'd like to correct my mistakes before I implement the other tasks.

Also it seems like I made a mistake and branched from my last feature (the small correction in the PR template) instead of from dev. I could use git revert but am unsure if that will cause even more problems when merging later. Any advice?

@madbkr madbkr self-assigned this Oct 7, 2024
@stap-m
Copy link
Contributor

stap-m commented Oct 8, 2024

Also it seems like I made a mistake and branched from my last feature (the small correction in the PR template) instead of from dev. I could use git revert but am unsure if that will cause even more problems when merging later. Any advice?

No worries. You can merge dev into this branch. This will probably cause merge conflicts, too, though.

@stap-m
Copy link
Contributor

stap-m commented Oct 8, 2024

Could you please let me know if this is what you had in mind? If not I'd like to correct my mistakes before I implement the other tasks

Yes, it goes into the right direction. But lets focus on the first tasks for now. I have some general remarks:

In general, especially for such a complex changes, please document your changes in the PR header a more detailed, such that I can directly see what you did (wanted to do)

  • which new class is of which kind, group the different types, ...
  • adding a new file(!)
  • complex axioms
  • ...

I'd recommend to discuss definitions and axioms in the issue first.

For the definitions, please use the Aristotelian schema "A xxx is a yyy that zzz". E.g. "An account for air density change is a ... ".

I not yet sure whether we actually need the relations that you added, they were rather for illustrating the complex model. That's why I used dashed lines. Sorry for not mentioning that.

@madbkr
Copy link
Contributor Author

madbkr commented Oct 8, 2024

@stap-m
Thank you for your answer.

In general, especially for such a complex changes, please document your changes in the PR header a more detailed, such that I can directly see what you did (wanted to do)

I was going to do that before converting the draft to a proper pull request. But now I know a lot more about what to write, so thank you.

I'd recommend to discuss definitions and axioms in the issue first.

Alright, then I'll move all the stuff I did there and wait for feedback.

For the definitions, please use the Aristotelian schema "A xxx is a yyy that zzz". E.g. "An account for air density change is a ... ".

I did try to do that. I really did. I'll go over them again.

I not yet sure whether we actually need the relations that you added, they were rather for illustrating the complex model. That's why I used dashed lines. Sorry for not mentioning that.

I thought they made everything more understandable but I am ready to remove them. I will move this question to the issue.

@madbkr madbkr changed the title Add task definition in seperate module #1891 Add task definition in separate module #1891 Oct 11, 2024
Copy link
Contributor

@LillyG901 LillyG901 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good to me (except for the small changes I suggested).
I'm not sure how important the period at the end of a definiton is. If it isn't you may ignore those annotations. I just pointed them out for consistency.

I do have an issue however: When opening the files in Protege I still see the old (non Aristotlean) definitions, no task trackers and some axioms are missing.
These things do look correct within the file,
I'm not sure if this is an issue on my end, so I'd like for someone else to take a look.

src/ontology/edits/oeo-tasks.omn Outdated Show resolved Hide resolved
OEO_00020426 "Add:
issue: https://github.com/OpenEnergyPlatform/ontology/issues/1891
pull request: https://github.com/OpenEnergyPlatform/ontology/pull/1940",
<http://purl.obolibrary.org/obo/IAO_0000115> "A relationship between a process and a plan specification, in which the process is predefined or planned by the process.",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am slightly confused by the wording of this definiton. Is it intended, that it says 'process is predefined or planned by the process' or should the second process be plan specification?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for noticing! I fixed it.

src/ontology/edits/oeo-tasks.omn Outdated Show resolved Hide resolved
src/ontology/edits/oeo-tasks.omn Outdated Show resolved Hide resolved
src/ontology/edits/oeo-tasks.omn Outdated Show resolved Hide resolved
src/ontology/edits/oeo-tasks.omn Outdated Show resolved Hide resolved
src/ontology/edits/oeo-tasks.omn Outdated Show resolved Hide resolved
src/ontology/edits/oeo-tasks.omn Outdated Show resolved Hide resolved
src/ontology/edits/oeo-tasks.omn Outdated Show resolved Hide resolved
src/ontology/edits/oeo-tasks.omn Outdated Show resolved Hide resolved
src/ontology/edits/oeo-tasks.omn Outdated Show resolved Hide resolved
src/ontology/edits/oeo-tasks.omn Outdated Show resolved Hide resolved
src/ontology/edits/oeo-tasks.omn Outdated Show resolved Hide resolved
@stap-m
Copy link
Contributor

stap-m commented Oct 21, 2024

I have two general remarks:

  1. I am wondering for all these cases with the long labels, whether the definitions would read more smoothly if they started with "A" (indefinite article)). Currently, they start directly with the label, which is also ok in the Aristotelian style.
  2. Many/most of the action specification labels sound like processes, e.g. data acquisition and pre-processing. We usually try to avoid that. That could be done by adding the word "action" of "method". However, this would make the labels even more clumsy.

Any opinions @madbkr @LillyG901

OEO_00020426 "Add:
issue: https://github.com/OpenEnergyPlatform/ontology/issues/1891
pull request: https://github.com/OpenEnergyPlatform/ontology/pull/1940",
<http://purl.obolibrary.org/obo/IAO_0000115> "Determined wind characteristics of a region is an object specification that defines the goal of a process as a state of understanding the specific wind characteristics of a predefined region.",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<http://purl.obolibrary.org/obo/IAO_0000115> "Determined wind characteristics of a region is an object specification that defines the goal of a process as a state of understanding the specific wind characteristics of a predefined region.",
<http://purl.obolibrary.org/obo/IAO_0000115> "Determined wind characteristics of a region is an object specification that defines the goal of a methodology as a state of understanding the specific wind characteristics of a predefined region.",

I'd argue that the object specification is the goal of the plan specificaton or methodology respectively, not the process. I think, the process has not goal itself.
Please check for all object specifications @madbkr

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that sounds more reasonable. I will change it.

OEO_00020426 "Add:
issue: https://github.com/OpenEnergyPlatform/ontology/issues/1891
pull request: https://github.com/OpenEnergyPlatform/ontology/pull/1940",
<http://purl.obolibrary.org/obo/IAO_0000115> "Determination process for wind characteristics of a region is a process that follows some kind of methodology to gain knowledge of the specific wind characteristics of a predefined region.",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<http://purl.obolibrary.org/obo/IAO_0000115> "Determination process for wind characteristics of a region is a process that follows some kind of methodology to gain knowledge of the specific wind characteristics of a predefined region.",
<http://purl.obolibrary.org/obo/IAO_0000115> "Determination process for wind characteristics of a region is a process that follows some kind of methodology to gain knowledge of the specific wind characteristics of a predefined region.",
Suggested change
<http://purl.obolibrary.org/obo/IAO_0000115> "Determination process for wind characteristics of a region is a process that follows some kind of methodology to gain knowledge of the specific wind characteristics of a predefined region.",
<http://purl.obolibrary.org/obo/IAO_0000115> "Determination process for wind characteristics of a region is a process that follows a determination methodology for wind characteristics, to gain knowledge of the specific wind characteristics of a predefined region.",

It is a very specific methodology, not just "some kind", right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

alright, updated for all the processes

@madbkr
Copy link
Contributor Author

madbkr commented Oct 21, 2024

@stap-m
I don't think the lables necessarily sound like processes but their length is very uncomfortable. It sounds more like a sentence than a name.
If I had not used the given names I probably would have used a summarizing name for a task. For example
Data preparation and included in the definition that this is about acquisition and pre-processing.

@stap-m
Copy link
Contributor

stap-m commented Oct 22, 2024

@stap-m I don't think the lables necessarily sound like processes but their length is very uncomfortable. It sounds more like a sentence than a name. If I had not used the given names I probably would have used a summarizing name for a task. For example Data preparation and included in the definition that this is about acquisition and pre-processing.

I like the idea. If you can find more meaningful labels that summarize the content, we could add either the shorend or the long ones as alternative labels.
EDIT: Please propose them in the issue first before committing.

src/ontology/edits/oeo-tasks.omn Outdated Show resolved Hide resolved
OEO_00020426 "Add:
issue: https://github.com/OpenEnergyPlatform/ontology/issues/1891
pull request: https://github.com/OpenEnergyPlatform/ontology/pull/1940",
<http://purl.obolibrary.org/obo/IAO_0000115> "Determination process for wind characteristics of a region is a process that follows a determination methodology for wind characteristics to gain knowledge of the specific wind characteristics of a predefined region.",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<http://purl.obolibrary.org/obo/IAO_0000115> "Determination process for wind characteristics of a region is a process that follows a determination methodology for wind characteristics to gain knowledge of the specific wind characteristics of a predefined region.",
<http://purl.obolibrary.org/obo/IAO_0000115> "Determination process for wind characteristics of a region is a process that follows a determination methodology for wind characteristics to gain knowledge of the specific wind characteristics of a predefined region.",

Please add to to do list in Issue:
add axiom to study region/region of relevance. Maybe harmonize the wording in the definitions, too.

issue: https://github.com/OpenEnergyPlatform/ontology/issues/1891
pull request: https://github.com/OpenEnergyPlatform/ontology/pull/1940",
<http://purl.obolibrary.org/obo/IAO_0000115> "Determine seasonal/diurnal variability is an action specification that describes the process of identifying variations in wind characteristics across different seasons and times of day.",
rdfs:label "determine seasonal/diurnal variability"@en
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
rdfs:label "determine seasonal/diurnal variability"@en
rdfs:label "determine seasonal/diurnal wind variability"@en

The label should refer to wind somehow. Please also change in the definition.

OEO_00020426 "Add:
issue: https://github.com/OpenEnergyPlatform/ontology/issues/1891
pull request: https://github.com/OpenEnergyPlatform/ontology/pull/1940",
<http://purl.obolibrary.org/obo/IAO_0000115> "Determine the theoretical potential / WPD is an action specification that describes how Wind Power Density (WPD) is calculated to estimate the theoretical wind power potential based on wind speed and air density.",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<http://purl.obolibrary.org/obo/IAO_0000115> "Determine the theoretical potential / WPD is an action specification that describes how Wind Power Density (WPD) is calculated to estimate the theoretical wind power potential based on wind speed and air density.",
<http://purl.obolibrary.org/obo/IAO_0000115> "Determine the theoretical wind power potential / wind power density is an action specification that describes how wind power density (WPD) is calculated to estimate the theoretical wind power potential based on wind speed and air density.",

Please add to to do list in Issue:
We have something like theoretical potential and maybe also wind power density in the OEO. We should add axioms in a later step (OEO_00140063).

OEO_00020426 "Add:
issue: https://github.com/OpenEnergyPlatform/ontology/issues/1891
pull request: https://github.com/OpenEnergyPlatform/ontology/pull/1940",
<http://purl.obolibrary.org/obo/IAO_0000115> "Determine MCDA approach for soft exclusion criteria is an action specification that describes how a Multi-Criteria Decision Analysis (MCDA) method is applied to areas where exclusions are not absolute, allowing for weighted decision-making",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add MCDA as separate concept?

@madbkr
Copy link
Contributor Author

madbkr commented Oct 22, 2024

@stap-m I don't think the lables necessarily sound like processes but their length is very uncomfortable. It sounds more like a sentence than a name. If I had not used the given names I probably would have used a summarizing name for a task. For example Data preparation and included in the definition that this is about acquisition and pre-processing.

I like the idea. If you can find more meaningful labels that summarize the content, we could add either the shorend or the long ones as alternative labels. EDIT: Please propose them in the issue first before committing.

Alright, I will try to come up with better lables for all of the tasks and propose adjusted definitions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Review in progress
Development

Successfully merging this pull request may close these issues.

3 participants