public release 4.2.0 - see README.md and CHANGES.md for details
This commit is contained in:
139
pmsco/schema/project.schema.json
Normal file
139
pmsco/schema/project.schema.json
Normal file
@@ -0,0 +1,139 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "file:project.schema.json",
|
||||
"title": "PMSCO Project",
|
||||
"description": "PMSCO Project",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"__module__": {
|
||||
"type": "string",
|
||||
"title": "name of project module",
|
||||
"examples": ["projects.twoatom.twoatom"]
|
||||
},
|
||||
"__class__": {
|
||||
"type": "string",
|
||||
"title": "name of project class",
|
||||
"examples": ["TwoatomProject"]
|
||||
},
|
||||
"job_tags": {
|
||||
"type": "object"
|
||||
},
|
||||
"description": {"type": "string"},
|
||||
"mode": {
|
||||
"type": "string",
|
||||
"enum": ["genetic", "grid", "single", "swarm", "table", "test", "validate"]
|
||||
},
|
||||
"directories": {"type": "object"},
|
||||
"db_file": {"type": "string"},
|
||||
"keep_files": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": ["all", "cluster", "atomic", "input", "output", "report",
|
||||
"region", "emitter", "scan", "domain", "model", "log", "debug", "population", "rfac"]
|
||||
},
|
||||
"uniqueItems": true
|
||||
},
|
||||
"keep_best": {"type": "integer"},
|
||||
"keep_levels": {"type": "integer"},
|
||||
"time_limit": {
|
||||
"type": "number",
|
||||
"title": "time limit in hours",
|
||||
"minimum": 0
|
||||
},
|
||||
"log_level": {
|
||||
"type": "string",
|
||||
"enum": ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]
|
||||
},
|
||||
"cluster_generator": {
|
||||
"type": "object",
|
||||
"description": "class name and initial values of cluster generator attributes",
|
||||
"examples": ["TwoatomCluster"],
|
||||
"properties": {
|
||||
"__class__": {
|
||||
"type": "string",
|
||||
"description": "class name of cluster generator"
|
||||
}
|
||||
},
|
||||
"required": ["__class__"]
|
||||
},
|
||||
"atomic_scattering_factory": {
|
||||
"type": "string",
|
||||
"enum": ["InternalAtomicCalculator", "PhagenCalculator"]
|
||||
},
|
||||
"multiple_scattering_factory": {
|
||||
"type": "string",
|
||||
"enum": ["EdacCalculator", "TestCalculator"]
|
||||
},
|
||||
"model_space": {
|
||||
"type": "object"
|
||||
},
|
||||
"domains": {"type": "array",
|
||||
"items": {"type": "object"},
|
||||
"minItems": 1,
|
||||
"uniqueItems": true
|
||||
},
|
||||
"scans": {"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"__class__": {
|
||||
"type": "string",
|
||||
"enum": ["ScanCreator", "ScanKey", "ScanLoader", "HoloScanCreator"]
|
||||
},
|
||||
"key": {"type": "string"},
|
||||
"filename": {"type": "string"},
|
||||
"emitter": {"type": "string"},
|
||||
"initial_state": {"type": "string"},
|
||||
"positions": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"e": {"type": ["number", "string"]},
|
||||
"t": {"type": ["number", "string"]},
|
||||
"p": {"type": ["number", "string"]},
|
||||
"a": {"type": ["number", "string"]}
|
||||
}
|
||||
},
|
||||
"patch": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"e": {"type": ["number", "string"]},
|
||||
"t": {"type": ["number", "string"]},
|
||||
"p": {"type": ["number", "string"]},
|
||||
"a": {"type": ["number", "string"]}
|
||||
}
|
||||
},
|
||||
"generator": {"type": "string"},
|
||||
"generator_params": {"type": "object"},
|
||||
"other_positions": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"e": {"type": ["number", "string"]},
|
||||
"t": {"type": ["number", "string"]},
|
||||
"p": {"type": ["number", "string"]},
|
||||
"a": {"type": ["number", "string"]}
|
||||
}
|
||||
},
|
||||
"is_modf": {"type": "boolean"}
|
||||
},
|
||||
"required": ["__class__"]
|
||||
},
|
||||
"minItems": 1,
|
||||
"uniqueItems": true
|
||||
},
|
||||
"optimizer_params": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"pop_size": {"type": "integer"},
|
||||
"seed_file": {"type": "string"},
|
||||
"seed_limit": {"type": "integer"},
|
||||
"recalc_seed": {"type": "boolean"},
|
||||
"table_source": {"type": "string"}
|
||||
}
|
||||
},
|
||||
"reports": {
|
||||
"$ref": "file:reports.schema.json"
|
||||
}
|
||||
},
|
||||
"required": ["__class__", "__module__"]
|
||||
}
|
||||
60
pmsco/schema/reports.schema.json
Normal file
60
pmsco/schema/reports.schema.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "file:reports.schema.json",
|
||||
"title": "PMSCO Reports",
|
||||
"description": "PMSCO Reports",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"__class__": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"ConvergencePlot",
|
||||
"GeneticPlot",
|
||||
"Rfactor1DPlot",
|
||||
"Rfactor2DPlot",
|
||||
"SwarmPlot"
|
||||
]
|
||||
},
|
||||
"enabled": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"title": "enable the report",
|
||||
"description": "disabled reports will not execute at run time"
|
||||
},
|
||||
"filename_format": {
|
||||
"type": "string",
|
||||
"examples": [
|
||||
"${base}.convergence",
|
||||
"${base}-${gen}.geneticplot",
|
||||
"${base}-${param0}-${param1}-${gen}.swarmplot"
|
||||
]
|
||||
},
|
||||
"titlename_format": {
|
||||
"type": "string",
|
||||
"examples": [
|
||||
"${job_name}",
|
||||
"${job_name} gen ${gen}",
|
||||
"${job_name} ${param0}-${param1} gen ${gen}"
|
||||
]
|
||||
},
|
||||
"params": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"minItems": 2,
|
||||
"maxItems": 2,
|
||||
"uniqueItems": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"__class__"
|
||||
]
|
||||
},
|
||||
"minItems": 1
|
||||
}
|
||||
16
pmsco/schema/runfile.schema.json
Normal file
16
pmsco/schema/runfile.schema.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "file:runfile.schema.json",
|
||||
"title": "PMSCO Runfile",
|
||||
"description": "PMSCO Runfile",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"schedule": {
|
||||
"$ref": "file:schedule.schema.json"
|
||||
},
|
||||
"project": {
|
||||
"$ref": "file:project.schema.json"
|
||||
}
|
||||
},
|
||||
"required": ["project"]
|
||||
}
|
||||
78
pmsco/schema/schedule.schema.json
Normal file
78
pmsco/schema/schedule.schema.json
Normal file
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "file:schedule.schema.json",
|
||||
"title": "PMSCO Job Schedule",
|
||||
"description": "PMSCO Job Schedule",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"__module__": {
|
||||
"type": "string",
|
||||
"examples": ["pmsco.schedule"]
|
||||
},
|
||||
"__class__": {
|
||||
"type": "string",
|
||||
"examples": ["PsiRaSchedule"]
|
||||
},
|
||||
"nodes": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"default": 1
|
||||
},
|
||||
"tasks": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"default": 8
|
||||
},
|
||||
"tasks_per_node": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"default": 8
|
||||
},
|
||||
"wall_time": {
|
||||
"type": "string",
|
||||
"description": "[days-]hours[:minutes[:seconds]]",
|
||||
"pattern": "^([0-9]+-)?[0-9]+(:[0-9]+)?(:[0-9]+)?$",
|
||||
"default": "1",
|
||||
"examples": [
|
||||
"2:00",
|
||||
"5-4:3:21"
|
||||
]
|
||||
},
|
||||
"partition": {
|
||||
"type": "string",
|
||||
"description": "name of slurm partition",
|
||||
"default": ""
|
||||
},
|
||||
"modules": {
|
||||
"type": "array",
|
||||
"description": "names of system modules to load",
|
||||
"items": {"type": "string"},
|
||||
"minItems": 0,
|
||||
"uniqueItems": true
|
||||
},
|
||||
"conda_env": {
|
||||
"type": "string",
|
||||
"description": "name or path of conda environment",
|
||||
"default": ""
|
||||
},
|
||||
"manual": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"title": "manual submission",
|
||||
"description": "produce a job file that is submitted separately."
|
||||
},
|
||||
"enabled": {
|
||||
"type": "boolean",
|
||||
"title": "enable schedule",
|
||||
"default": false,
|
||||
"description": "true: schedule the job, false: run it directly."
|
||||
},
|
||||
"overwrite_job_dir": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"title": "overwrite job directory",
|
||||
"description": "true: overwrite contents in output directory (dangerous), false (default): raise error if directory exists."
|
||||
}
|
||||
},
|
||||
"required": ["__class__", "__module__"]
|
||||
}
|
||||
Reference in New Issue
Block a user