Skip to content

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
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information