compile meta data files for outputs
Request Summary
Provide a compiled meta data files for description of output. Follow Structure from OEP Metadata v2.0:
Use case
Enabling easy machine-readable meta data extraction.
Implementation
Use a metadata template that is to be filled with information from the protobuf file, scenario, and schema.
Following the current OEO Template v20, this could serve as a template:
{
"@context": "https://raw.githubusercontent.com/OpenEnergyPlatform/oemetadata/production/oemetadata/latest/context.json",
"name": "<schema:model:metadata:name>_result_metadata",
"title": "Results for <schema:model:metadata:name> run <scenario:general-properties:runid>.",
"description": "Input compiled with FAME-Io <fameio-input-version> on <compilation-timestamp>. Simulated by FAME-Core <famecore-version> on <simulation-timestamp>. Extracted by FAME-Io <fameio-output-version> on <extraction-timestamp>.",
"resources": [
{
"name": "<agent<_id if split>>.csv",
"topics": [],
"title": "Results for <agent>",
"path": "./<agent<_id if split>>.csv",
"description": "Simulation outputs by simulated time <<id> if !split> and of <agent> <with<id> if split>",
"languages": "en-GB",
"subject": [<schema:<agent>:metadata:subjects>],
"keywords": [<schema:<agent>:metadata:keywords>],
"publicationDate": "<scenario:medata:publicationDate>",
"embargoPeriod": "<scenario:medata:embargoPeriod>",
"context": {
"title": "<schema:model:metadata:name>",
"homepage": "<schema:model:metadata:hompage>",
"documentation": "<schema:model:metadata:documentation>",
"sourceCode": "<schema:model:metadata:sourceCode>",
"publisher": "<schema:model:metadata:publisher>",
"publisherLogo": "<schema:model:metadata:publisherLogo>",
"contact": "<schema:model:metadata:contact>",
"fundingAgency": "<schema:model:metadata:fundingAgency>",
"fundingAgencyLogo": "<schema:model:metadata:fundingAgencyLogo>",
"grantNo": "<schema:model:metadata:grantNo>"
},
"spatial": <scenario:<agent>:metadata:spatial>,
"temporal": <scenario:<agent>:metadata:temporal>,
"sources": <schema:<agent>:metadata:sources> + <scenario:<agent>:metadata:sources>,
"licenses": <scenario:metadata:licenses>,
"contributors": <schema:metadata:contributors> + <scenario:metadata:contributors>,
"type": "table",
"format": "CSV",
"encoding": "UTF-8",
"schema": {
"fields": [
{
"name": "AgentId",
"description": "Unique ID of the agent in the simulation",
"type": "integer",
"nullable": false,
"unit": "n/a",
"isAbout": [],
"valueReference": []
},
{
"name": "TimeStep",
"description": "Simulated time these values are associated with",
"type": "integer or time stamp",
"nullable": false,
"unit": "n/a",
"isAbout": [
{
"name": "TimeStamp",
"@id": "https://openenergyplatform.org/ontology/oeo/OEO_00140043"
}
],
"valueReference": []
},
{
"name": "<column_name>",
"description": "<schema:agent:outputs:column_name:metadata:description>",
"type": "decimal",
"nullable": true,
"unit": "<schema:agent:outputs:column_name:metadata:unit>",
"isAbout": ["<schema:agent:outputs:column_name:metadata:isAbout>"],
"valueReference": ["<schema:agent:outputs:column_name:metadata:valueReference>"]
}
],
"primaryKey": ["<AgentId if !split>", "TimeStep"],
"foreignKeys": [],
"dialect": {
"delimiter": ";",
"decimalSeparator": "."
},
"review": {}
}
}
],
"metaMetadata": {
"metadataVersion": "OEMetadata-2.0.4",
"metadataLicense": {
"name": "CC0-1.0",
"title": "Creative Commons Zero v1.0 Universal",
"path": "https://creativecommons.org/publicdomain/zero/1.0"
}
}
}
The required information can be drawn from the protobuf file:
Edited by Christoph Schimeczek