Skip to content

Structured Representations

We provide below examples of JSON-based structured representation for an application, and for each of its possible components (executables and flavors) and classification categories. This structured representation is based upon the Exabyte Data Convention implemented throughout our platform.

Work in progress

Some applications are yet to be fully integrated into our platform to have a structured representation. These are only available via Command Line Interface.

Application

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
    "$schema": "http://json-schema.org/draft-04/schema#", 
    "required": [
        "name"
    ], 
    "type": "object", 
    "properties": {
        "build": {
            "type": "string", 
            "description": "Application build. e.g. VTST"
        }, 
        "shortName": {
            "type": "string", 
            "description": "The short name of the application. e.g. qe"
        }, 
        "version": {
            "type": "string", 
            "description": "Application version. e.g. 5.3.5"
        }, 
        "name": {
            "type": "string", 
            "description": "The name of the application. e.g. espresso"
        }, 
        "summary": {
            "type": "string", 
            "description": "Application's short description."
        }
    }, 
    "title": "application schema (base)"
}
1
2
3
4
5
6
{
    "shortName": "qe", 
    "version": "5.1.1", 
    "name": "espresso", 
    "summary": "Quantum Espresso"
}

Executable

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
{
    "allOf": [
        {
            "type": "object", 
            "properties": {
                "postProcessors": {
                    "items": {
                        "oneOf": [
                            {
                                "required": [
                                    "name"
                                ], 
                                "type": "object", 
                                "properties": {
                                    "name": {
                                        "type": "string", 
                                        "description": "The name of this item. e.g. scf_accuracy"
                                    }
                                }, 
                                "title": "result schema"
                            }
                        ], 
                        "description": "currently using named onlject only b/c of problems using oneOf, but can be any on _runtime_item*", 
                        "title": "runtime item schema"
                    }, 
                    "type": "array", 
                    "description": "names of the post-processors for this calculation"
                }, 
                "results": {
                    "items": {
                        "oneOf": [
                            {
                                "required": [
                                    "name"
                                ], 
                                "type": "object", 
                                "properties": {
                                    "name": {
                                        "type": "string", 
                                        "description": "The name of this item. e.g. scf_accuracy"
                                    }
                                }, 
                                "title": "result schema"
                            }
                        ], 
                        "description": "currently using named onlject only b/c of problems using oneOf, but can be any on _runtime_item*", 
                        "title": "runtime item schema"
                    }, 
                    "type": "array", 
                    "description": "names of the results for this calculation"
                }, 
                "preProcessors": {
                    "items": {
                        "oneOf": [
                            {
                                "required": [
                                    "name"
                                ], 
                                "type": "object", 
                                "properties": {
                                    "name": {
                                        "type": "string", 
                                        "description": "The name of this item. e.g. scf_accuracy"
                                    }
                                }, 
                                "title": "result schema"
                            }
                        ], 
                        "description": "currently using named onlject only b/c of problems using oneOf, but can be any on _runtime_item*", 
                        "title": "runtime item schema"
                    }, 
                    "type": "array", 
                    "description": "names of the pre-processors for this calculation"
                }, 
                "monitors": {
                    "items": {
                        "oneOf": [
                            {
                                "required": [
                                    "name"
                                ], 
                                "type": "object", 
                                "properties": {
                                    "name": {
                                        "type": "string", 
                                        "description": "The name of this item. e.g. scf_accuracy"
                                    }
                                }, 
                                "title": "result schema"
                            }
                        ], 
                        "description": "currently using named onlject only b/c of problems using oneOf, but can be any on _runtime_item*", 
                        "title": "runtime item schema"
                    }, 
                    "type": "array", 
                    "description": "names of the monitors for this calculation"
                }
            }, 
            "title": "runtime items schema (pre-/post-processors, monitors, results"
        }
    ], 
    "required": [
        "name", 
        "applicationId"
    ], 
    "title": "executable schema", 
    "$schema": "http://json-schema.org/draft-04/schema#", 
    "type": "object", 
    "properties": {
        "applicationId": {
            "items": {
                "type": "string"
            }, 
            "type": "array", 
            "description": "_ids of the application this executable belongs to"
        }, 
        "name": {
            "type": "string", 
            "description": "The name of the executable. e.g. pw.x"
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
{
    "name": "pw.x", 
    "results": [
        {
            "name": "atomic_forces"
        }
    ], 
    "postProcessors": [], 
    "preProcessors": [], 
    "advancedComputeOptions": true, 
    "applicationId": [
        "eaJepm4AWfqpaCw59"
    ], 
    "monitors": [
        {
            "name": "standard_output"
        }
    ], 
    "isDefault": true
}

Flavor

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
{
    "allOf": [
        {
            "type": "object", 
            "properties": {
                "postProcessors": {
                    "items": {
                        "oneOf": [
                            {
                                "required": [
                                    "name"
                                ], 
                                "type": "object", 
                                "properties": {
                                    "name": {
                                        "type": "string", 
                                        "description": "The name of this item. e.g. scf_accuracy"
                                    }
                                }, 
                                "title": "result schema"
                            }
                        ], 
                        "description": "currently using named onlject only b/c of problems using oneOf, but can be any on _runtime_item*", 
                        "title": "runtime item schema"
                    }, 
                    "type": "array", 
                    "description": "names of the post-processors for this calculation"
                }, 
                "results": {
                    "items": {
                        "oneOf": [
                            {
                                "required": [
                                    "name"
                                ], 
                                "type": "object", 
                                "properties": {
                                    "name": {
                                        "type": "string", 
                                        "description": "The name of this item. e.g. scf_accuracy"
                                    }
                                }, 
                                "title": "result schema"
                            }
                        ], 
                        "description": "currently using named onlject only b/c of problems using oneOf, but can be any on _runtime_item*", 
                        "title": "runtime item schema"
                    }, 
                    "type": "array", 
                    "description": "names of the results for this calculation"
                }, 
                "preProcessors": {
                    "items": {
                        "oneOf": [
                            {
                                "required": [
                                    "name"
                                ], 
                                "type": "object", 
                                "properties": {
                                    "name": {
                                        "type": "string", 
                                        "description": "The name of this item. e.g. scf_accuracy"
                                    }
                                }, 
                                "title": "result schema"
                            }
                        ], 
                        "description": "currently using named onlject only b/c of problems using oneOf, but can be any on _runtime_item*", 
                        "title": "runtime item schema"
                    }, 
                    "type": "array", 
                    "description": "names of the pre-processors for this calculation"
                }, 
                "monitors": {
                    "items": {
                        "oneOf": [
                            {
                                "required": [
                                    "name"
                                ], 
                                "type": "object", 
                                "properties": {
                                    "name": {
                                        "type": "string", 
                                        "description": "The name of this item. e.g. scf_accuracy"
                                    }
                                }, 
                                "title": "result schema"
                            }
                        ], 
                        "description": "currently using named onlject only b/c of problems using oneOf, but can be any on _runtime_item*", 
                        "title": "runtime item schema"
                    }, 
                    "type": "array", 
                    "description": "names of the monitors for this calculation"
                }
            }, 
            "title": "runtime items schema (pre-/post-processors, monitors, results"
        }
    ], 
    "required": [
        "name", 
        "executableId"
    ], 
    "title": "flavor schema", 
    "$schema": "http://json-schema.org/draft-04/schema#", 
    "type": "object", 
    "properties": {
        "input": {
            "items": {
                "required": [
                    "templateId"
                ], 
                "type": "object", 
                "properties": {
                    "name": {
                        "type": "string", 
                        "description": "name of the resulting input file, if different than template name"
                    }, 
                    "templateId": {
                        "type": "string"
                    }
                }, 
                "title": "execution unit input item schema for physics-based simulation engines"
            }, 
            "type": "array", 
            "title": "execution unit input schema"
        }, 
        "executableId": {
            "type": "string", 
            "description": "_id of the executable this flavor belongs to"
        }, 
        "name": {
            "type": "string", 
            "description": "The name of the executable flavor. e.g. `pw_scf`"
        }
    }
}
1
2
3
4
5
6
7
8
9
{
    "input": [
        {
            "templateId": "dJ7HYz5pQ4AuN5qc9"
        }
    ], 
    "executableId": "4987JFJ3kKbwvFSG7", 
    "name": "pw_scf"
}