-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdataset-schema.yaml
More file actions
109 lines (109 loc) · 4.52 KB
/
dataset-schema.yaml
File metadata and controls
109 lines (109 loc) · 4.52 KB
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
meta:
version: 1
description: >-
Structure of UppASD datasets, combined DFT and spindynamics inputs and outputs.
Only files/directories listed in the schema are allowed in the dataset.
File content is only validated for selected files.
filesystem-schema:
metadata.yaml: {type: file, required: true}
DOSCAR: {type: file, required: false}
README.md: {type: file, required: false}
intrinsic_properties.yaml: {type: file, required: true}
structure.cif: {type: file, required: true}
RSPt:
type: directory
required: true
consistent_gs_mode: true # all gs_* must either have hist OR out_MF
schema:
README.md: {type: file, required: false}
common_input:
type: directory
required: true
schema:
atomdens: {type: file, required: true}
kmap: {type: file, required: true}
spts: {type: file, required: true}
symcof: {type: file, required: true}
symt.inp: {type: file, required: true}
gs_x: &gs_dir
type: directory
required: true
schema:
data: {type: file, required: true}
out_last: {type: file, required: true} # output of self-consistent run
hist: {type: file, excludes: out_MF, required: true}
out_MF: {type: file, excludes: hist, required: true}
# re-use definition of gs_x for gs_y (not required) and gs_z
gs_y: {<<: *gs_dir, required: false}
gs_z: *gs_dir
Jij:
type: directory
required: true
# The Jij directory contains data, out_last, and pairs of green.inp-* and out-* files with arbitrary suffix.
# The following rules enforce that green.inp-* and out-* come in pairs and that no other unknown files are present.
schema:
data: {type: file, required: true}
out_last: {type: file, required: true}
allow_unknown:
type: file
keysrules:
regex: '^(data|out_last|green\.inp-.+|out-.+)$'
paired_prefix: ['green.inp-', 'out-']
UppASD:
type: directory
required: true
schema:
MC_1: &MC_dir
type: directory
required: true
schema:
jfile: {type: file, required: true}
momfile: {type: file, required: true}
posfile: {type: file, required: true}
inpsd.dat: {type: file, required: true}
thermal.csv: {type: file, required: true}
thermal.dat: {type: file, required: true}
# reuse definition of MC_1 but make the following two directories optional
MC_2: {<<: *MC_dir, required: false}
MC_3: {<<: *MC_dir, required: false}
README.md: {type: file, required: false}
file-schemas:
- validator: mc_order
files:
- UppASD # operate on base directory to access all MC subdirectories
schema: {} # the check is fully defined in mc_order, no schema is required
- validator: mammos_entity_file
files:
- intrinsic_properties.yaml
schema:
Js: {type: mammos_entity.Entity, ontology_label: SpontaneousMagneticPolarization, unit: T}
Ms: {type: mammos_entity.Entity, ontology_label: SpontaneousMagnetization, unit: kA/m}
Ku: {type: mammos_entity.Entity, ontology_label: UniaxialAnisotropyConstant, unit: MJ/m3}
Tc: {type: mammos_entity.Entity, ontology_label: CurieTemperature, unit: K}
- validator: mammos_entity_file
files:
- UppASD/MC_1/thermal.csv
- UppASD/MC_2/thermal.csv
- UppASD/MC_3/thermal.csv
schema:
T: {type: mammos_entity.Entity, ontology_label: ThermodynamicTemperature, unit: K}
Ms: {type: mammos_entity.Entity, ontology_label: SpontaneousMagnetization, unit: kA/m}
Js: {type: mammos_entity.Entity, ontology_label: SpontaneousMagneticPolarization, unit: T}
U_L: {type: mammos_entity.Entity, ontology_label: BinderCumulant, unit: ''}
chi: {type: mammos_entity.Entity, ontology_label: MagneticSusceptibility, unit: ''}
E: {type: mammos_entity.Entity, ontology_label: HelmholtzEnergy, unit: eV}
Cv: {type: mammos_entity.Entity, ontology_label: IsochoricHeatCapacity, unit: eV/K} # dE/dT
- validator: csv_file
files:
- UppASD/MC_1/thermal.dat
- UppASD/MC_2/thermal.dat
- UppASD/MC_3/thermal.dat
schema:
sep: '\s+'
columns: ['T', '<M>', '<M^2>', '<M^4>', 'U_{Binder}', '\chi', 'C_v(tot)', '<E>', '<E_{exc}>', '<E_{lsf}>']
- validator: yaml_file
files:
- metadata.yaml
schema:
dataset_schema_version: {type: integer, allowed: [1], required: true}
mammos_parser_version: {type: string, required: true}