eya_def
A digital format for exchange of wind energy yield assessment reporting information as defined by IEC 61400-15-2
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.7%) to scientific vocabulary
Keywords
Repository
A digital format for exchange of wind energy yield assessment reporting information as defined by IEC 61400-15-2
Basic Info
Statistics
- Stars: 13
- Watchers: 8
- Forks: 1
- Open Issues: 16
- Releases: 0
Topics
Metadata Files
README.md
The IEC 61400-15-2 EYA DEF
The IEC 61400-15-2 Wind Energy Yield Assessment Digital Exchange Format (EYA DEF) defines a complementary format for energy yield assessment reporting to the main written report, aimed at facilitating automated solutions for data exchange. It is organised as a deeply nested hierarchical data model and published in the form of a JSON Schema. Whereas the written EYA report provides an effective narrative for a human reader, the EYA DEF provides the clear definitions of namespace, structure and format required for computer systems to exchange energy yield assessment data. It provides a standard protocol for data exchange, so that producers and consumers of the data have a common and clear definition of the data structure and meaning of data fields. The JSON Schema also facilitates data validation, so that the receiver of EYA DEF data automatically can validate that the data is fully compliant with the data model specification.
This repo provides all source data files for the EYA DEF, along with associated material and tools, as well as serving as the platform for development work.
This README file only briefly covers some key topics for convenient reference. Full details will be provided at a separate documentation site, which still needs to be developed.
Status
Please note that the EYA DEF is currently in draft status and will be subject to extension and modification. Some elements are currently incomplete. Please see the issues page for details of open items.
We welcome new people to get involved in the development work.
Aims and use cases
The EYA DEF aims to facilitate the following:
- data sharing with a wider range of stakeholders in an automated fashion;
- securing of data traceability and accuracy;
- integration with systems that process EYA data, such as financial model software;
- comparison of EYA results from different parties, for example from different third-party consultants; and
- automated generation of reporting tables.
For example, if a project developer receives EYA DEF JSON documents from its independent consultants, the data can immediately be loaded into the relevant internal databases and applications, and the results compared between the different consultants and with internal findings. Then the developer can share the EYA DEF JSON documents with lenders, investors and any other financial institutions who require the information to evaluate the project. They in turn will all be able to pull the data they need into the relevant applications without the requirement for any manual data processing. The same goes for other project stakeholders who require EYA reporting data.
It is also expected that the EYA DEF data models will provide a helpful reference for companies developing energy yield assessment software. Whilst the data models used internally in such software of course do not need to mirror the EYA DEF in order to be able to export results in EYA DEF format, the EYA DEF data models may in some circumstances prove useful and avoid the need for completely new designs of data models.
The EYA DEF JSON Schema
The latest version of EYA DEF JSON Schema is available here here. The JSON Schema is the primary definition of the EYA DEF data model.
Example EYA DEF JSON documents
Examples of JSON document files that implement (comply with) the JSON Schema are found here.
Python package
This repo includes the Python package eyadeftools, which provides a convenient interface for working with the EYA DEF data model in a Python environment. It has a separate README file, which is located here.
Schema diagrams
The Python package (see below) uses erdantic to generate graphical
representations of the pydantic data model. Note that the data types
shown in the diagrams are the Python types defined in the pydantic
data model and not the JSON Schema types.
The top levels of the current draft of the data model is illustrated below.
Basic example of format
The text below shows an example of a small subset of energy yield assessment reporting data from a title page, in unstructured form.
```text Barefoot Wind Farm EYA
Document ID.: 12345678, version B 7th of October 2023
Confidential Prepared for Miranda Investments Limited ```
The equivalent data is represented in structured EYA DEF JSON format below. Each piece of information appears together with a standard field name.
json
{
"confidentiality_classification": "Confidential",
"document_id": "12345678",
"document_version": "B",
"issue_date": "2023-10-07",
"project_name": "Barefoot Wind Farm",
"receiving_organisations": [
{
"abbreviation": "Miranda",
"address": "9 Acosta St., Republic of Miranda",
"contact_name": "Luis Bunuel",
"name": "Miranda Investments Limited"
}
],
"title": "Barefoot Wind Farm EYA",
}
Data security and integrity
The EYA DEF specification and toolset in this repo covers the schema content and imposes no requirements with regards to technology for data transmission and storage, or protocols for digital signatures and encryption. In the simplest form of data exchange, an EYA DEF document may simply be transmitted as a JSON text data file attached to an email together with the main written report. It is however expected that secure APIs for EYA DEF documents will be developed to automate the data exchange process and provide comprehensive functionality to ensure data security and integrity. The user of this standard should adopt appropriate best practices to ensure data security and integrity in transmission and storage of EYA DEF data. Adherence to such best practices will minimise the risk for data manipulation or unauthorised access. It is recommended that encoding and compression of the data be specified at the point of access (for example in the API specification).
Developer guidance
For guidance related to tools and processes for development work, see the Python package README. The Python package forms an integral part of the development workflow.
Acknowledgements
The EYA DEF has been developed with contributions from the following people: Christian Jonsson, Stephen Holleran, Jason Fields, Charlie Plumley, Bjarke Olsen, Alina Brenneke, Philippe Beaucage, Mark Stoelinga, Andrew Henderson, Mark Kelly, Steve Clark, Thomas van Delft, Craig Robinson, Lars Levermann, Jan Heinen, Nikolaos Simisiroglou, Andres Blanco, Jonny Crease, Roy Spence, Demetrios Zigras, Mouhamet Diallo, Mitchel Scott, Steve Cordle and Okan Sargin.
Owner
- Name: IEC 61400-15
- Login: IEC-61400-15
- Kind: organization
- Repositories: 1
- Profile: https://github.com/IEC-61400-15
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use the schema and/or software in this repository, please cite them as below." authors: - family-names: "Jonsson" given-names: "Christian" orcid: "https://orcid.org/0009-0001-8891-1276" title: "The IEC 61400-15-2 Wind Energy Yield Assessment Digital Exchange Format (EYA DEF)" url: "https://github.com/IEC-61400-15/eya_def"
GitHub Events
Total
- Create event: 6
- Issues event: 25
- Watch event: 2
- Delete event: 8
- Member event: 2
- Issue comment event: 17
- Push event: 21
- Pull request review event: 38
- Pull request review comment event: 36
- Pull request event: 12
- Fork event: 1
Last Year
- Create event: 6
- Issues event: 25
- Watch event: 2
- Delete event: 8
- Member event: 2
- Issue comment event: 17
- Push event: 21
- Pull request review event: 38
- Pull request review comment event: 36
- Pull request event: 12
- Fork event: 1
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 13
- Total pull requests: 6
- Average time to close issues: 4 months
- Average time to close pull requests: about 1 month
- Total issue authors: 1
- Total pull request authors: 1
- Average comments per issue: 0.69
- Average comments per pull request: 1.0
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 12
- Pull requests: 6
- Average time to close issues: 3 months
- Average time to close pull requests: about 1 month
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.58
- Average comments per pull request: 1.0
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jonssonchristian (23)
- WindyMark3 (1)
- SimonHH (1)
Pull Request Authors
- jonssonchristian (10)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v3 composite
- actions/setup-python v3 composite
- black ==24.4.2 development
- flake8 ==7.0.0 development
- isort ==5.13.2 development
- mypy ==1.10.0 development
- pip_audit ==2.7.2 development
- pre-commit ==3.7.0 development
- pytest-cov ==5.0.0 development
- sphinx ==7.3.7 development
- types-jsonschema ==4.21.0.20240331 development
- erdantic ==0.7.0
- pygraphviz ==1.12
- email-validator ==2.1.1
- jsonschema ==4.21.1
- pandas ==2.2.1
- pandas-stubs ==2.2.1.240316
- pycountry ==23.12.11
- pydantic ==2.7.1
- pytest ==8.2.0
- ruamel.yaml ==0.18.6