From 394ff4083a87b0b47cc3d9e298bdc47685f4dba2 Mon Sep 17 00:00:00 2001 From: Timur Bazhirov Date: Sun, 24 Dec 2023 05:44:59 -0800 Subject: [PATCH] feat: add JS docs assets --- .../file/applications/espresso/7.2/pw.x.json | 94 + docs/js/example/core/abstract/2d_data.json | 19 + docs/js/example/core/abstract/2d_plot.json | 26 + docs/js/example/core/abstract/3d_grid.json | 12 + docs/js/example/core/abstract/3d_tensor.json | 17 + .../core/abstract/3d_vector_basis.json | 17 + docs/js/example/core/abstract/point.json | 5 + docs/js/example/core/abstract/vector.json | 5 + .../core/primitive/1d_data_series.json | 12 + .../js/example/core/primitive/3d_lattice.json | 8 + .../core/primitive/array_of_3_booleans.json | 5 + .../core/primitive/array_of_3_numbers.json | 5 + .../example/core/primitive/array_of_ids.json | 8 + docs/js/example/core/primitive/axis.json | 4 + docs/js/example/core/primitive/scalar.json | 3 + docs/js/example/core/primitive/string.json | 3 + docs/js/example/core/reference.json | 9 + .../js/example/core/reference/experiment.json | 38 + .../core/reference/experiment/condition.json | 12 + .../core/reference/experiment/location.json | 4 + .../js/example/core/reference/literature.json | 10 + .../core/reference/literature/name.json | 5 + .../core/reference/literature/pages.json | 4 + docs/js/example/core/reference/modeling.json | 9 + .../core/reference/modeling/exabyte.json | 9 + .../example/core/reusable/atomic_vectors.json | 18 + docs/js/example/core/reusable/band_gap.json | 16 + docs/js/example/core/reusable/energy.json | 5 + .../example/core/reusable/file_metadata.json | 5 + .../object_storage_container_data.json | 8 + docs/js/example/element.json | 17 + docs/js/example/job.json | 126 + docs/js/example/job/compute.json | 26 + docs/js/example/material.json | 128 + docs/js/example/method.json | 7 + .../js/example/method/categorized_method.json | 47 + docs/js/example/method/method_parameters.json | 3 + .../legacy/localorbital.json | 4 + .../legacy/pseudopotential.json | 4 + .../methods_directory/legacy/regression.json | 61 + .../methods_directory/legacy/unknown.json | 4 + .../methods_directory/mathematical/cg.json | 10 + .../mathematical/regression.json | 65 + .../physical/ao/dunning.json | 13 + .../methods_directory/physical/psp.json | 67 + .../methods_directory/physical/psp/file.json | 54 + .../methods_directory/physical/pw.json | 9 + .../methods_directory/physical/smearing.json | 10 + .../physical/tetrahedron.json | 10 + docs/js/example/model.json | 11 + docs/js/example/model/categorized_model.json | 77 + docs/js/example/model/model_parameters.json | 7 + .../models_category/pb/qm/abin/gw.json | 7 + .../models_category/pb/qm/dft/ksdft.json | 6 + .../example/models_category/pb/qm/semp.json | 5 + docs/js/example/models_directory/gga.json | 15 + docs/js/example/models_directory/gw.json | 15 + docs/js/example/models_directory/hybrid.json | 15 + docs/js/example/models_directory/lda.json | 15 + .../example/models_directory/legacy/dft.json | 12 + .../example/models_directory/legacy/ml.json | 11 + .../models_directory/legacy/unknown.json | 11 + docs/js/example/models_directory/re.json | 9 + docs/js/example/project.json | 25 + .../electronic_configuration.json | 4 + .../elemental/atomic_radius.json | 4 + .../elemental/electronegativity.json | 4 + .../elemental/ionization_potential.json | 4 + .../non_scalar/band_gaps.json | 25 + .../non_scalar/band_structure.json | 47 + .../non_scalar/charge_density_profile.json | 22 + .../non_scalar/density_of_states.json | 55 + .../non_scalar/dielectric_tensor.json | 133 + .../non_scalar/file_content.json | 13 + .../non_scalar/hubbard_u.json | 24 + .../non_scalar/hubbard_v.json | 26 + .../non_scalar/phonon_dispersions.json | 41 + .../non_scalar/phonon_dos.json | 37 + .../non_scalar/potential_profile.json | 32 + .../non_scalar/reaction_energy_profile.json | 30 + .../non_scalar/stress_tensor.json | 21 + .../total_energy_contributions.json | 44 + .../non_scalar/vibrational_spectrum.json | 25 + .../scalar/electron_affinity.json | 5 + .../scalar/fermi_energy.json | 5 + .../scalar/formation_energy.json | 5 + .../scalar/ionization_potential.json | 5 + .../properties_directory/scalar/pressure.json | 5 + .../scalar/reaction_energy_barrier.json | 5 + .../scalar/surface_energy.json | 5 + .../scalar/total_energy.json | 5 + .../scalar/total_force.json | 5 + .../scalar/valence_band_offset.json | 5 + .../scalar/zero_point_energy.json | 5 + .../structural/atomic_forces.json | 22 + .../structural/basis.json | 46 + .../structural/basis/atomic_constraints.json | 21 + .../structural/basis/atomic_coordinate.json | 8 + .../structural/basis/atomic_coordinates.json | 21 + .../structural/basis/atomic_element.json | 4 + .../structural/basis/bonds.json | 24 + .../structural/density.json | 5 + .../structural/elemental_ratio.json | 5 + .../structural/inchi.json | 4 + .../structural/inchi_key.json | 4 + .../structural/lattice.json | 33 + .../structural/lattice/lattice_bravais.json | 13 + .../structural/lattice/lattice_vectors.json | 19 + .../structural/magnetic_moments.json | 22 + .../structural/molecular_pattern.json | 71 + .../structural/p_norm.json | 5 + .../structural/symmetry.json | 9 + .../structural/volume.json | 5 + .../workflow/convergence/electronic.json | 15 + .../workflow/convergence/ionic.json | 20 + .../workflow/convergence/kpoint.json | 22 + docs/js/example/property/base.json | 31 + docs/js/example/software/application.json | 7 + docs/js/example/software/executable.json | 20 + docs/js/example/software/flavor.json | 9 + docs/js/example/software/template.json | 14 + .../software_directory/ml/exabyteml.json | 6 + .../execution/evaluate/cross_validate.json | 20 + .../ml/unit/execution/initialize.json | 23 + .../ml/unit/execution/score.json | 18 + .../ml/unit/execution/train.json | 29 + .../data_transformation/manipulation.json | 14 + .../data_transformation/scale_and_reduce.json | 26 + .../feature_selection/filter_based.json | 13 + .../software_directory/modeling/espresso.json | 6 + .../modeling/espresso/arguments.json | 5 + .../software_directory/modeling/nwchem.json | 6 + .../modeling/unit/execution.json | 19 + .../software_directory/modeling/vasp.json | 6 + .../scripting/jupyter_lab.json | 8 + .../software_directory/scripting/python.json | 8 + .../software_directory/scripting/shell.json | 8 + .../scripting/unit/execution.json | 22 + docs/js/example/system/_material.json | 5 + docs/js/example/system/_parent_job.json | 5 + docs/js/example/system/_project.json | 5 + docs/js/example/system/consistency_check.json | 6 + docs/js/example/system/creator.json | 5 + docs/js/example/system/entity_reference.json | 5 + docs/js/example/system/file_source.json | 6 + docs/js/example/system/message.json | 16 + docs/js/example/system/owner.json | 5 + docs/js/example/workflow.json | 72 + docs/js/example/workflow/subworkflow.json | 37 + docs/js/example/workflow/unit.json | 10 + docs/js/example/workflow/unit/assignment.json | 19 + docs/js/example/workflow/unit/condition.json | 22 + docs/js/example/workflow/unit/execution.json | 66 + .../workflow/unit/input/_inputItemScope.json | 4 + docs/js/example/workflow/unit/io.json | 41 + docs/js/example/workflow/unit/io/api.json | 31 + docs/js/example/workflow/unit/io/db.json | 15 + .../workflow/unit/io/object_storage.json | 12 + docs/js/example/workflow/unit/map.json | 16 + docs/js/example/workflow/unit/processing.json | 13 + docs/js/example/workflow/unit/reduce.json | 16 + .../workflow/unit/runtime/runtime_items.json | 14 + .../file/applications/espresso/7.2/pw.x.json | 1789 +++++++ .../espresso/7.2/pw.x/atomic_positions.json | 75 + .../espresso/7.2/pw.x/atomic_species.json | 30 + .../applications/espresso/7.2/pw.x/cell.json | 89 + .../espresso/7.2/pw.x/cell_parameters.json | 57 + .../espresso/7.2/pw.x/control.json | 181 + .../espresso/7.2/pw.x/electrons.json | 164 + .../espresso/7.2/pw.x/hubbard.json | 219 + .../applications/espresso/7.2/pw.x/ions.json | 216 + .../espresso/7.2/pw.x/k_points.json | 87 + .../espresso/7.2/pw.x/system.json | 649 +++ docs/js/schema/core/abstract/2d_data.json | 32 + docs/js/schema/core/abstract/2d_plot.json | 75 + docs/js/schema/core/abstract/3d_grid.json | 33 + docs/js/schema/core/abstract/3d_tensor.json | 19 + .../schema/core/abstract/3d_vector-basis.json | 46 + docs/js/schema/core/abstract/point.json | 11 + docs/js/schema/core/abstract/vector.json | 29 + .../schema/core/primitive/1d_data-series.json | 16 + docs/js/schema/core/primitive/3d_lattice.json | 40 + .../core/primitive/array_of-3-booleans.json | 11 + .../core/primitive/array_of-3-numbers.json | 11 + .../schema/core/primitive/array_of-ids.json | 17 + .../core/primitive/array_of-strings.json | 11 + docs/js/schema/core/primitive/axis.json | 18 + docs/js/schema/core/primitive/group_info.json | 16 + .../core/primitive/integer_one-or-zero.json | 8 + .../js/schema/core/primitive/linked_list.json | 175 + .../core/primitive/linked_list/base-node.json | 36 + .../linked_list/named-node-in-group.json | 48 + .../primitive/linked_list/named-node.json | 40 + .../primitive/linked_list/node-with-type.json | 39 + docs/js/schema/core/primitive/scalar.json | 14 + .../primitive/slugified_entry-or-slug.json | 32 + .../core/primitive/slugified_entry.json | 21 + docs/js/schema/core/primitive/string.json | 14 + docs/js/schema/core/reference.json | 443 ++ docs/js/schema/core/reference/exabyte.json | 19 + docs/js/schema/core/reference/experiment.json | 251 + .../core/reference/experiment/condition.json | 29 + .../core/reference/experiment/location.json | 19 + docs/js/schema/core/reference/literature.json | 133 + .../core/reference/literature/name.json | 24 + .../core/reference/literature/pages.json | 17 + docs/js/schema/core/reference/modeling.json | 52 + .../core/reference/modeling/exabyte.json | 45 + .../atomic_data-per-orbital-numeric.json | 26 + .../atomic_data-per-orbital-pair-numeric.json | 43 + .../atomic_data/per-orbital-pair.json | 39 + .../reusable/atomic_data/per-orbital.json | 22 + .../reusable/atomic_data/string-value.json | 13 + .../reusable/atomic_data/value-number.json | 13 + .../schema/core/reusable/atomic_orbital.json | 32 + .../schema/core/reusable/atomic_scalars.json | 31 + .../schema/core/reusable/atomic_strings.json | 20 + .../schema/core/reusable/atomic_vectors.json | 46 + docs/js/schema/core/reusable/band_gap.json | 66 + docs/js/schema/core/reusable/categories.json | 169 + .../schema/core/reusable/category_path.json | 7 + .../reusable/dielectric_tensor-component.json | 47 + docs/js/schema/core/reusable/energy.json | 39 + .../schema/core/reusable/file_metadata.json | 20 + .../reusable/frequency_function-matrix.json | 31 + .../object_storage-container-data.json | 37 + docs/js/schema/definitions/units.json | 103 + docs/js/schema/element.json | 105 + docs/js/schema/in_memory-entity/base.json | 65 + .../schema/in_memory-entity/defaultable.json | 70 + .../named-defaultable-has-metadata.json | 77 + .../named-defaultable-runtime-items.json | 207 + .../in_memory-entity/named-defaultable.json | 74 + docs/js/schema/in_memory-entity/named.json | 69 + docs/js/schema/job.json | 4146 +++++++++++++++++ docs/js/schema/job/base.json | 388 ++ docs/js/schema/job/compute.json | 186 + docs/js/schema/material.json | 643 +++ docs/js/schema/material/conventional.json | 10 + docs/js/schema/method.json | 27 + docs/js/schema/method/categorized_method.json | 235 + docs/js/schema/method/method_parameters.json | 44 + docs/js/schema/method/unit_method.json | 203 + .../methods_category/mathematical/diff.json | 172 + .../mathematical/diff/enum-options.json | 8 + .../mathematical/diff/fd.json | 175 + .../methods_category/mathematical/discr.json | 172 + .../mathematical/discr/enum-options.json | 8 + .../mathematical/discr/mesh.json | 175 + .../mathematical/discr/mesh/enum-options.json | 18 + .../mathematical/discr/mesh/hybrid.json | 178 + .../mathematical/discr/mesh/nstruct.json | 178 + .../mathematical/discr/mesh/struct.json | 178 + .../discr/mesh/struct/cartesian.json | 181 + .../discr/mesh/struct/enum-options.json | 8 + .../mathematical/enum-options.json | 45 + .../methods_category/mathematical/fapprx.json | 172 + .../mathematical/fapprx/basisexp.json | 175 + .../mathematical/fapprx/enum-options.json | 13 + .../mathematical/fapprx/ipol.json | 175 + .../fapprx/ipol/enum-options.json | 18 + .../mathematical/fapprx/ipol/lin.json | 178 + .../mathematical/fapprx/ipol/poly.json | 178 + .../mathematical/fapprx/ipol/spline.json | 178 + .../methods_category/mathematical/intgr.json | 172 + .../mathematical/intgr/analytic.json | 175 + .../intgr/analytic/enum-options.json | 20 + .../mathematical/intgr/analytic/volume.json | 188 + .../mathematical/intgr/diffeq.json | 175 + .../intgr/diffeq/enum-options.json | 13 + .../mathematical/intgr/diffeq/order1.json | 178 + .../mathematical/intgr/diffeq/order2.json | 178 + .../mathematical/intgr/enum-options.json | 23 + .../mathematical/intgr/numquad.json | 175 + .../intgr/numquad/enum-options.json | 13 + .../mathematical/intgr/numquad/gauss.json | 178 + .../mathematical/intgr/numquad/newcot.json | 178 + .../mathematical/intgr/transf.json | 175 + .../intgr/transf/enum-options.json | 8 + .../mathematical/intgr/transf/fourier.json | 178 + .../methods_category/mathematical/linalg.json | 172 + .../mathematical/linalg/dcomp.json | 175 + .../mathematical/linalg/diag.json | 175 + .../mathematical/linalg/diag/davidson.json | 178 + .../linalg/diag/enum-options.json | 8 + .../mathematical/linalg/enum-options.json | 23 + .../mathematical/linalg/lintra.json | 175 + .../mathematical/linalg/matf.json | 175 + .../methods_category/mathematical/opt.json | 172 + .../mathematical/opt/diff.json | 175 + .../mathematical/opt/diff/bracket.json | 178 + .../mathematical/opt/diff/enum-options.json | 28 + .../mathematical/opt/diff/local.json | 178 + .../mathematical/opt/diff/order1.json | 178 + .../mathematical/opt/diff/order2.json | 178 + .../mathematical/opt/diff/ordern.json | 178 + .../mathematical/opt/diff/ordern/cg.json | 181 + .../opt/diff/ordern/enum-options.json | 8 + .../mathematical/opt/enum-options.json | 18 + .../mathematical/opt/ndiff.json | 175 + .../mathematical/opt/ndiff/direct.json | 178 + .../mathematical/opt/ndiff/enum-options.json | 18 + .../mathematical/opt/ndiff/pop.json | 178 + .../mathematical/opt/ndiff/stoch.json | 178 + .../mathematical/opt/root.json | 175 + .../mathematical/opt/root/bracket.json | 178 + .../mathematical/opt/root/enum-options.json | 13 + .../mathematical/opt/root/iter.json | 178 + .../mathematical/regression.json | 177 + .../physical/enum-options.json | 8 + .../schema/methods_category/physical/qm.json | 172 + .../physical/qm/enum-options.json | 8 + .../methods_category/physical/qm/wf.json | 175 + .../methods_category/physical/qm/wf/ao.json | 183 + .../physical/qm/wf/ao/dunning.json | 181 + .../physical/qm/wf/ao/other.json | 181 + .../physical/qm/wf/ao/pople.json | 181 + .../physical/qm/wf/enum-options.json | 63 + .../methods_category/physical/qm/wf/psp.json | 184 + .../methods_category/physical/qm/wf/pw.json | 178 + .../physical/qm/wf/smearing.json | 184 + .../physical/qm/wf/tetrahedron.json | 183 + .../legacy/localorbital.json | 33 + .../legacy/pseudopotential.json | 36 + .../methods_directory/legacy/regression.json | 188 + .../methods_directory/legacy/unknown.json | 33 + .../methods_directory/mathematical/cg.json | 219 + .../mathematical/davidson.json | 216 + .../mathematical/regression.json | 370 ++ .../mathematical/regression/data.json | 123 + .../mathematical/regression/dataset.json | 21 + .../kernel-ridge/data-per-property.json | 46 + .../regression/linear/data-per-property.json | 41 + .../regression/per-feature-item.json | 22 + .../regression/precision-per-property.json | 23 + .../mathematical/regression/precision.json | 34 + .../physical/ao/dunning.json | 241 + .../physical/ao/enum-options.json | 28 + .../methods_directory/physical/ao/other.json | 249 + .../methods_directory/physical/ao/pople.json | 241 + .../methods_directory/physical/psp.json | 366 ++ .../physical/psp/file-data-item.json | 117 + .../methods_directory/physical/psp/file.json | 141 + .../schema/methods_directory/physical/pw.json | 216 + .../methods_directory/physical/smearing.json | 222 + .../physical/tetrahedron.json | 220 + docs/js/schema/model.json | 48 + docs/js/schema/model/categorized_model.json | 572 +++ .../mixins/dft/double_hybrid-functional.json | 13 + .../schema/model/mixins/dft/enum_options.json | 30 + .../model/mixins/dft/gga_functional.json | 14 + .../model/mixins/dft/hybrid_functional.json | 14 + .../model/mixins/dft/lda_functional.json | 13 + .../model/mixins/dft/mgga_functional.json | 13 + .../model/mixins/dispersion_correction.json | 16 + docs/js/schema/model/mixins/enum_options.json | 22 + docs/js/schema/model/mixins/hubbard.json | 13 + .../model/mixins/spin_orbit-coupling.json | 11 + .../model/mixins/spin_polarization.json | 14 + docs/js/schema/model/model_parameters.json | 99 + .../js/schema/model/model_without-method.json | 336 ++ .../schema/models_category/enum-options.json | 13 + docs/js/schema/models_category/pb.json | 172 + .../models_category/pb/enum-options.json | 8 + docs/js/schema/models_category/pb/qm.json | 175 + .../js/schema/models_category/pb/qm/abin.json | 178 + .../pb/qm/abin/enum-options.json | 15 + .../schema/models_category/pb/qm/abin/gw.json | 186 + docs/js/schema/models_category/pb/qm/dft.json | 178 + .../pb/qm/dft/enum-options.json | 8 + .../models_category/pb/qm/dft/ksdft.json | 181 + .../pb/qm/dft/ksdft/double-hybrid.json | 184 + .../pb/qm/dft/ksdft/enum-options.json | 28 + .../models_category/pb/qm/dft/ksdft/gga.json | 184 + .../pb/qm/dft/ksdft/hybrid.json | 184 + .../models_category/pb/qm/dft/ksdft/lda.json | 184 + .../models_category/pb/qm/dft/ksdft/mgga.json | 184 + .../models_category/pb/qm/enum-options.json | 18 + .../js/schema/models_category/pb/qm/semp.json | 178 + docs/js/schema/models_category/st.json | 172 + docs/js/schema/models_category/st/det.json | 175 + .../models_category/st/det/enum-options.json | 8 + docs/js/schema/models_category/st/det/ml.json | 178 + .../st/det/ml/enum-options.json | 8 + .../schema/models_category/st/det/ml/re.json | 181 + .../models_category/st/enum-options.json | 8 + .../models_directory/double-hybrid.json | 404 ++ docs/js/schema/models_directory/gga.json | 418 ++ docs/js/schema/models_directory/gw.json | 431 ++ docs/js/schema/models_directory/hybrid.json | 418 ++ docs/js/schema/models_directory/lda.json | 417 ++ .../schema/models_directory/legacy/dft.json | 153 + .../js/schema/models_directory/legacy/ml.json | 54 + .../models_directory/legacy/unknown.json | 54 + docs/js/schema/models_directory/mgga.json | 417 ++ docs/js/schema/models_directory/re.json | 349 ++ docs/js/schema/project.json | 104 + .../derived-properties.json | 186 + .../electronic-configuration.json | 16 + .../elemental/atomic-radius.json | 35 + .../elemental/electronegativity.json | 20 + .../elemental/ionization-potential.json | 31 + .../non-scalar/average-potential-profile.json | 108 + .../non-scalar/band-gaps.json | 122 + .../non-scalar/band-structure.json | 119 + .../non-scalar/charge-density-profile.json | 89 + .../non-scalar/density-of-states.json | 124 + .../non-scalar/dielectric-tensor.json | 66 + .../non-scalar/file-content.json | 72 + .../non-scalar/hubbard-u.json | 56 + .../non-scalar/hubbard-v.json | 74 + .../non-scalar/phonon-dispersions.json | 104 + .../non-scalar/phonon-dos.json | 96 + .../non-scalar/potential-profile.json | 95 + .../non-scalar/reaction-energy-profile.json | 95 + .../non-scalar/stress-tensor.json | 37 + .../total-energy-contributions.json | 284 ++ .../non-scalar/vibrational-spectrum.json | 100 + .../scalar/electron-affinity.json | 42 + .../scalar/fermi-energy.json | 42 + .../scalar/formation-energy.json | 42 + .../scalar/ionization-potential.json | 42 + .../properties_directory/scalar/pressure.json | 26 + .../scalar/reaction-energy-barrier.json | 42 + .../scalar/surface-energy.json | 42 + .../scalar/total-energy.json | 42 + .../scalar/total-force.json | 29 + .../scalar/valence-band-offset.json | 42 + .../scalar/zero-point-energy.json | 42 + .../structural/atomic-forces.json | 69 + .../structural/basis.json | 133 + .../structural/basis/atomic-constraints.json | 59 + .../structural/basis/atomic-coordinate.json | 40 + .../structural/basis/atomic-coordinates.json | 70 + .../structural/basis/atomic-element.json | 25 + .../structural/basis/bonds.json | 44 + .../structural/density.json | 24 + .../structural/elemental-ratio.json | 26 + .../structural/inchi-key.json | 19 + .../structural/inchi.json | 19 + .../structural/lattice.json | 153 + .../structural/lattice/lattice-bravais.json | 82 + .../structural/lattice/lattice-vectors.json | 66 + .../structural/lattice/type-enum.json | 22 + .../lattice/type-extended-enum.json | 32 + .../structural/magnetic-moments.json | 64 + .../structural/molecular-pattern.json | 120 + .../structural/p-norm.json | 24 + .../structural/patterns/functional-group.json | 38 + .../structural/patterns/ring.json | 37 + .../structural/patterns/special-bond.json | 35 + .../structural/symmetry.json | 40 + .../structural/volume.json | 24 + .../workflow/convergence/electronic.json | 31 + .../workflow/convergence/ionic.json | 60 + .../workflow/convergence/kpoint.json | 46 + docs/js/schema/property/base.json | 392 ++ docs/js/schema/property/meta.json | 392 ++ docs/js/schema/property/raw.json | 392 ++ docs/js/schema/property/source.json | 290 ++ docs/js/schema/software/application.json | 40 + docs/js/schema/software/executable.json | 159 + docs/js/schema/software/flavor.json | 185 + docs/js/schema/software/template.json | 47 + .../software_directory/ml/exabyteml.json | 23 + .../software_directory/ml/unit/execution.json | 2644 +++++++++++ .../execution/evaluate/cross-validate.json | 658 +++ .../ml/unit/execution/initialize.json | 662 +++ .../ml/unit/execution/score.json | 648 +++ .../ml/unit/execution/train.json | 671 +++ .../ml/unit/processing.json | 634 +++ .../unit/processing/data-transformation.json | 327 ++ .../data-transformation/manipulation.json | 302 ++ .../data-transformation/scale-and-reduce.json | 322 ++ .../ml/unit/processing/feature-selection.json | 302 ++ .../feature-selection/filter-based.json | 297 ++ .../software_directory/modeling/espresso.json | 26 + .../modeling/espresso/arguments.json | 44 + .../software_directory/modeling/nwchem.json | 55 + .../modeling/unit/execution.json | 695 +++ .../software_directory/modeling/vasp.json | 61 + .../scripting/jupyter-lab.json | 59 + .../software_directory/scripting/python.json | 73 + .../software_directory/scripting/shell.json | 73 + .../scripting/unit/execution.json | 695 +++ docs/js/schema/system/_material.json | 22 + docs/js/schema/system/_parent-job.json | 22 + docs/js/schema/system/_project.json | 22 + docs/js/schema/system/bankable.json | 15 + docs/js/schema/system/consistency_check.json | 39 + docs/js/schema/system/creator.json | 22 + docs/js/schema/system/creator_account.json | 26 + docs/js/schema/system/database_source.json | 40 + docs/js/schema/system/defaultable.json | 12 + docs/js/schema/system/description.json | 14 + docs/js/schema/system/entity_reference.json | 19 + docs/js/schema/system/file_source.json | 30 + docs/js/schema/system/history.json | 25 + docs/js/schema/system/in_set.json | 36 + docs/js/schema/system/is_multi-material.json | 10 + docs/js/schema/system/is_outdated.json | 10 + docs/js/schema/system/job_extended.json | 63 + docs/js/schema/system/message.json | 67 + docs/js/schema/system/metadata.json | 10 + docs/js/schema/system/name.json | 11 + docs/js/schema/system/owner.json | 22 + docs/js/schema/system/path.json | 15 + docs/js/schema/system/path_entity.json | 19 + docs/js/schema/system/schema_version.json | 12 + docs/js/schema/system/scope.json | 10 + docs/js/schema/system/set.json | 16 + docs/js/schema/system/sharing.json | 10 + docs/js/schema/system/soft_removable.json | 15 + docs/js/schema/system/status.json | 31 + docs/js/schema/system/tags.json | 14 + docs/js/schema/system/timestampable.json | 37 + docs/js/schema/system/use_values.json | 10 + docs/js/schema/workflow.json | 3757 +++++++++++++++ docs/js/schema/workflow/base.json | 104 + docs/js/schema/workflow/base_flow.json | 221 + docs/js/schema/workflow/scope.json | 20 + docs/js/schema/workflow/subworkflow.json | 576 +++ docs/js/schema/workflow/unit.json | 256 + docs/js/schema/workflow/unit/assertion.json | 267 ++ docs/js/schema/workflow/unit/assignment.json | 293 ++ docs/js/schema/workflow/unit/condition.json | 307 ++ docs/js/schema/workflow/unit/execution.json | 648 +++ .../js/schema/workflow/unit/input/_input.json | 57 + .../workflow/unit/input/_inputItem.json | 20 + .../workflow/unit/input/_inputItemId.json | 21 + .../workflow/unit/input/_inputItemScope.json | 20 + docs/js/schema/workflow/unit/io.json | 422 ++ docs/js/schema/workflow/unit/io/api.json | 24 + docs/js/schema/workflow/unit/io/db.json | 39 + .../workflow/unit/io/object_storage.json | 76 + docs/js/schema/workflow/unit/map.json | 306 ++ docs/js/schema/workflow/unit/processing.json | 273 ++ docs/js/schema/workflow/unit/reduce.json | 289 ++ .../runtime/_runtime-item-full-object.json | 15 + .../runtime/_runtime-item-name-object.json | 15 + .../unit/runtime/_runtime-item-string.json | 7 + .../workflow/unit/runtime/runtime_item.json | 29 + .../workflow/unit/runtime/runtime_items.json | 140 + 543 files changed, 61095 insertions(+) create mode 100644 docs/js/example/3pse/file/applications/espresso/7.2/pw.x.json create mode 100644 docs/js/example/core/abstract/2d_data.json create mode 100644 docs/js/example/core/abstract/2d_plot.json create mode 100644 docs/js/example/core/abstract/3d_grid.json create mode 100644 docs/js/example/core/abstract/3d_tensor.json create mode 100644 docs/js/example/core/abstract/3d_vector_basis.json create mode 100644 docs/js/example/core/abstract/point.json create mode 100644 docs/js/example/core/abstract/vector.json create mode 100644 docs/js/example/core/primitive/1d_data_series.json create mode 100644 docs/js/example/core/primitive/3d_lattice.json create mode 100644 docs/js/example/core/primitive/array_of_3_booleans.json create mode 100644 docs/js/example/core/primitive/array_of_3_numbers.json create mode 100644 docs/js/example/core/primitive/array_of_ids.json create mode 100644 docs/js/example/core/primitive/axis.json create mode 100644 docs/js/example/core/primitive/scalar.json create mode 100644 docs/js/example/core/primitive/string.json create mode 100644 docs/js/example/core/reference.json create mode 100644 docs/js/example/core/reference/experiment.json create mode 100644 docs/js/example/core/reference/experiment/condition.json create mode 100644 docs/js/example/core/reference/experiment/location.json create mode 100644 docs/js/example/core/reference/literature.json create mode 100644 docs/js/example/core/reference/literature/name.json create mode 100644 docs/js/example/core/reference/literature/pages.json create mode 100644 docs/js/example/core/reference/modeling.json create mode 100644 docs/js/example/core/reference/modeling/exabyte.json create mode 100644 docs/js/example/core/reusable/atomic_vectors.json create mode 100644 docs/js/example/core/reusable/band_gap.json create mode 100644 docs/js/example/core/reusable/energy.json create mode 100644 docs/js/example/core/reusable/file_metadata.json create mode 100644 docs/js/example/core/reusable/object_storage_container_data.json create mode 100644 docs/js/example/element.json create mode 100644 docs/js/example/job.json create mode 100644 docs/js/example/job/compute.json create mode 100644 docs/js/example/material.json create mode 100644 docs/js/example/method.json create mode 100644 docs/js/example/method/categorized_method.json create mode 100644 docs/js/example/method/method_parameters.json create mode 100644 docs/js/example/methods_directory/legacy/localorbital.json create mode 100644 docs/js/example/methods_directory/legacy/pseudopotential.json create mode 100644 docs/js/example/methods_directory/legacy/regression.json create mode 100644 docs/js/example/methods_directory/legacy/unknown.json create mode 100644 docs/js/example/methods_directory/mathematical/cg.json create mode 100644 docs/js/example/methods_directory/mathematical/regression.json create mode 100644 docs/js/example/methods_directory/physical/ao/dunning.json create mode 100644 docs/js/example/methods_directory/physical/psp.json create mode 100644 docs/js/example/methods_directory/physical/psp/file.json create mode 100644 docs/js/example/methods_directory/physical/pw.json create mode 100644 docs/js/example/methods_directory/physical/smearing.json create mode 100644 docs/js/example/methods_directory/physical/tetrahedron.json create mode 100644 docs/js/example/model.json create mode 100644 docs/js/example/model/categorized_model.json create mode 100644 docs/js/example/model/model_parameters.json create mode 100644 docs/js/example/models_category/pb/qm/abin/gw.json create mode 100644 docs/js/example/models_category/pb/qm/dft/ksdft.json create mode 100644 docs/js/example/models_category/pb/qm/semp.json create mode 100644 docs/js/example/models_directory/gga.json create mode 100644 docs/js/example/models_directory/gw.json create mode 100644 docs/js/example/models_directory/hybrid.json create mode 100644 docs/js/example/models_directory/lda.json create mode 100644 docs/js/example/models_directory/legacy/dft.json create mode 100644 docs/js/example/models_directory/legacy/ml.json create mode 100644 docs/js/example/models_directory/legacy/unknown.json create mode 100644 docs/js/example/models_directory/re.json create mode 100644 docs/js/example/project.json create mode 100644 docs/js/example/properties_directory/electronic_configuration.json create mode 100644 docs/js/example/properties_directory/elemental/atomic_radius.json create mode 100644 docs/js/example/properties_directory/elemental/electronegativity.json create mode 100644 docs/js/example/properties_directory/elemental/ionization_potential.json create mode 100644 docs/js/example/properties_directory/non_scalar/band_gaps.json create mode 100644 docs/js/example/properties_directory/non_scalar/band_structure.json create mode 100644 docs/js/example/properties_directory/non_scalar/charge_density_profile.json create mode 100644 docs/js/example/properties_directory/non_scalar/density_of_states.json create mode 100644 docs/js/example/properties_directory/non_scalar/dielectric_tensor.json create mode 100644 docs/js/example/properties_directory/non_scalar/file_content.json create mode 100644 docs/js/example/properties_directory/non_scalar/hubbard_u.json create mode 100644 docs/js/example/properties_directory/non_scalar/hubbard_v.json create mode 100644 docs/js/example/properties_directory/non_scalar/phonon_dispersions.json create mode 100644 docs/js/example/properties_directory/non_scalar/phonon_dos.json create mode 100644 docs/js/example/properties_directory/non_scalar/potential_profile.json create mode 100644 docs/js/example/properties_directory/non_scalar/reaction_energy_profile.json create mode 100644 docs/js/example/properties_directory/non_scalar/stress_tensor.json create mode 100644 docs/js/example/properties_directory/non_scalar/total_energy_contributions.json create mode 100644 docs/js/example/properties_directory/non_scalar/vibrational_spectrum.json create mode 100644 docs/js/example/properties_directory/scalar/electron_affinity.json create mode 100644 docs/js/example/properties_directory/scalar/fermi_energy.json create mode 100644 docs/js/example/properties_directory/scalar/formation_energy.json create mode 100644 docs/js/example/properties_directory/scalar/ionization_potential.json create mode 100644 docs/js/example/properties_directory/scalar/pressure.json create mode 100644 docs/js/example/properties_directory/scalar/reaction_energy_barrier.json create mode 100644 docs/js/example/properties_directory/scalar/surface_energy.json create mode 100644 docs/js/example/properties_directory/scalar/total_energy.json create mode 100644 docs/js/example/properties_directory/scalar/total_force.json create mode 100644 docs/js/example/properties_directory/scalar/valence_band_offset.json create mode 100644 docs/js/example/properties_directory/scalar/zero_point_energy.json create mode 100644 docs/js/example/properties_directory/structural/atomic_forces.json create mode 100644 docs/js/example/properties_directory/structural/basis.json create mode 100644 docs/js/example/properties_directory/structural/basis/atomic_constraints.json create mode 100644 docs/js/example/properties_directory/structural/basis/atomic_coordinate.json create mode 100644 docs/js/example/properties_directory/structural/basis/atomic_coordinates.json create mode 100644 docs/js/example/properties_directory/structural/basis/atomic_element.json create mode 100644 docs/js/example/properties_directory/structural/basis/bonds.json create mode 100644 docs/js/example/properties_directory/structural/density.json create mode 100644 docs/js/example/properties_directory/structural/elemental_ratio.json create mode 100644 docs/js/example/properties_directory/structural/inchi.json create mode 100644 docs/js/example/properties_directory/structural/inchi_key.json create mode 100644 docs/js/example/properties_directory/structural/lattice.json create mode 100644 docs/js/example/properties_directory/structural/lattice/lattice_bravais.json create mode 100644 docs/js/example/properties_directory/structural/lattice/lattice_vectors.json create mode 100644 docs/js/example/properties_directory/structural/magnetic_moments.json create mode 100644 docs/js/example/properties_directory/structural/molecular_pattern.json create mode 100644 docs/js/example/properties_directory/structural/p_norm.json create mode 100644 docs/js/example/properties_directory/structural/symmetry.json create mode 100644 docs/js/example/properties_directory/structural/volume.json create mode 100644 docs/js/example/properties_directory/workflow/convergence/electronic.json create mode 100644 docs/js/example/properties_directory/workflow/convergence/ionic.json create mode 100644 docs/js/example/properties_directory/workflow/convergence/kpoint.json create mode 100644 docs/js/example/property/base.json create mode 100644 docs/js/example/software/application.json create mode 100644 docs/js/example/software/executable.json create mode 100644 docs/js/example/software/flavor.json create mode 100644 docs/js/example/software/template.json create mode 100644 docs/js/example/software_directory/ml/exabyteml.json create mode 100644 docs/js/example/software_directory/ml/unit/execution/evaluate/cross_validate.json create mode 100644 docs/js/example/software_directory/ml/unit/execution/initialize.json create mode 100644 docs/js/example/software_directory/ml/unit/execution/score.json create mode 100644 docs/js/example/software_directory/ml/unit/execution/train.json create mode 100644 docs/js/example/software_directory/ml/unit/processing/data_transformation/manipulation.json create mode 100644 docs/js/example/software_directory/ml/unit/processing/data_transformation/scale_and_reduce.json create mode 100644 docs/js/example/software_directory/ml/unit/processing/feature_selection/filter_based.json create mode 100644 docs/js/example/software_directory/modeling/espresso.json create mode 100644 docs/js/example/software_directory/modeling/espresso/arguments.json create mode 100644 docs/js/example/software_directory/modeling/nwchem.json create mode 100644 docs/js/example/software_directory/modeling/unit/execution.json create mode 100644 docs/js/example/software_directory/modeling/vasp.json create mode 100644 docs/js/example/software_directory/scripting/jupyter_lab.json create mode 100644 docs/js/example/software_directory/scripting/python.json create mode 100644 docs/js/example/software_directory/scripting/shell.json create mode 100644 docs/js/example/software_directory/scripting/unit/execution.json create mode 100644 docs/js/example/system/_material.json create mode 100644 docs/js/example/system/_parent_job.json create mode 100644 docs/js/example/system/_project.json create mode 100644 docs/js/example/system/consistency_check.json create mode 100644 docs/js/example/system/creator.json create mode 100644 docs/js/example/system/entity_reference.json create mode 100644 docs/js/example/system/file_source.json create mode 100644 docs/js/example/system/message.json create mode 100644 docs/js/example/system/owner.json create mode 100644 docs/js/example/workflow.json create mode 100644 docs/js/example/workflow/subworkflow.json create mode 100644 docs/js/example/workflow/unit.json create mode 100644 docs/js/example/workflow/unit/assignment.json create mode 100644 docs/js/example/workflow/unit/condition.json create mode 100644 docs/js/example/workflow/unit/execution.json create mode 100644 docs/js/example/workflow/unit/input/_inputItemScope.json create mode 100644 docs/js/example/workflow/unit/io.json create mode 100644 docs/js/example/workflow/unit/io/api.json create mode 100644 docs/js/example/workflow/unit/io/db.json create mode 100644 docs/js/example/workflow/unit/io/object_storage.json create mode 100644 docs/js/example/workflow/unit/map.json create mode 100644 docs/js/example/workflow/unit/processing.json create mode 100644 docs/js/example/workflow/unit/reduce.json create mode 100644 docs/js/example/workflow/unit/runtime/runtime_items.json create mode 100644 docs/js/schema/3pse/file/applications/espresso/7.2/pw.x.json create mode 100644 docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/atomic_positions.json create mode 100644 docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/atomic_species.json create mode 100644 docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/cell.json create mode 100644 docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/cell_parameters.json create mode 100644 docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/control.json create mode 100644 docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/electrons.json create mode 100644 docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/hubbard.json create mode 100644 docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/ions.json create mode 100644 docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/k_points.json create mode 100644 docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/system.json create mode 100644 docs/js/schema/core/abstract/2d_data.json create mode 100644 docs/js/schema/core/abstract/2d_plot.json create mode 100644 docs/js/schema/core/abstract/3d_grid.json create mode 100644 docs/js/schema/core/abstract/3d_tensor.json create mode 100644 docs/js/schema/core/abstract/3d_vector-basis.json create mode 100644 docs/js/schema/core/abstract/point.json create mode 100644 docs/js/schema/core/abstract/vector.json create mode 100644 docs/js/schema/core/primitive/1d_data-series.json create mode 100644 docs/js/schema/core/primitive/3d_lattice.json create mode 100644 docs/js/schema/core/primitive/array_of-3-booleans.json create mode 100644 docs/js/schema/core/primitive/array_of-3-numbers.json create mode 100644 docs/js/schema/core/primitive/array_of-ids.json create mode 100644 docs/js/schema/core/primitive/array_of-strings.json create mode 100644 docs/js/schema/core/primitive/axis.json create mode 100644 docs/js/schema/core/primitive/group_info.json create mode 100644 docs/js/schema/core/primitive/integer_one-or-zero.json create mode 100644 docs/js/schema/core/primitive/linked_list.json create mode 100644 docs/js/schema/core/primitive/linked_list/base-node.json create mode 100644 docs/js/schema/core/primitive/linked_list/named-node-in-group.json create mode 100644 docs/js/schema/core/primitive/linked_list/named-node.json create mode 100644 docs/js/schema/core/primitive/linked_list/node-with-type.json create mode 100644 docs/js/schema/core/primitive/scalar.json create mode 100644 docs/js/schema/core/primitive/slugified_entry-or-slug.json create mode 100644 docs/js/schema/core/primitive/slugified_entry.json create mode 100644 docs/js/schema/core/primitive/string.json create mode 100644 docs/js/schema/core/reference.json create mode 100644 docs/js/schema/core/reference/exabyte.json create mode 100644 docs/js/schema/core/reference/experiment.json create mode 100644 docs/js/schema/core/reference/experiment/condition.json create mode 100644 docs/js/schema/core/reference/experiment/location.json create mode 100644 docs/js/schema/core/reference/literature.json create mode 100644 docs/js/schema/core/reference/literature/name.json create mode 100644 docs/js/schema/core/reference/literature/pages.json create mode 100644 docs/js/schema/core/reference/modeling.json create mode 100644 docs/js/schema/core/reference/modeling/exabyte.json create mode 100644 docs/js/schema/core/reusable/atomic_data-per-orbital-numeric.json create mode 100644 docs/js/schema/core/reusable/atomic_data-per-orbital-pair-numeric.json create mode 100644 docs/js/schema/core/reusable/atomic_data/per-orbital-pair.json create mode 100644 docs/js/schema/core/reusable/atomic_data/per-orbital.json create mode 100644 docs/js/schema/core/reusable/atomic_data/string-value.json create mode 100644 docs/js/schema/core/reusable/atomic_data/value-number.json create mode 100644 docs/js/schema/core/reusable/atomic_orbital.json create mode 100644 docs/js/schema/core/reusable/atomic_scalars.json create mode 100644 docs/js/schema/core/reusable/atomic_strings.json create mode 100644 docs/js/schema/core/reusable/atomic_vectors.json create mode 100644 docs/js/schema/core/reusable/band_gap.json create mode 100644 docs/js/schema/core/reusable/categories.json create mode 100644 docs/js/schema/core/reusable/category_path.json create mode 100644 docs/js/schema/core/reusable/dielectric_tensor-component.json create mode 100644 docs/js/schema/core/reusable/energy.json create mode 100644 docs/js/schema/core/reusable/file_metadata.json create mode 100644 docs/js/schema/core/reusable/frequency_function-matrix.json create mode 100644 docs/js/schema/core/reusable/object_storage-container-data.json create mode 100644 docs/js/schema/definitions/units.json create mode 100644 docs/js/schema/element.json create mode 100644 docs/js/schema/in_memory-entity/base.json create mode 100644 docs/js/schema/in_memory-entity/defaultable.json create mode 100644 docs/js/schema/in_memory-entity/named-defaultable-has-metadata.json create mode 100644 docs/js/schema/in_memory-entity/named-defaultable-runtime-items.json create mode 100644 docs/js/schema/in_memory-entity/named-defaultable.json create mode 100644 docs/js/schema/in_memory-entity/named.json create mode 100644 docs/js/schema/job.json create mode 100644 docs/js/schema/job/base.json create mode 100644 docs/js/schema/job/compute.json create mode 100644 docs/js/schema/material.json create mode 100644 docs/js/schema/material/conventional.json create mode 100644 docs/js/schema/method.json create mode 100644 docs/js/schema/method/categorized_method.json create mode 100644 docs/js/schema/method/method_parameters.json create mode 100644 docs/js/schema/method/unit_method.json create mode 100644 docs/js/schema/methods_category/mathematical/diff.json create mode 100644 docs/js/schema/methods_category/mathematical/diff/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/diff/fd.json create mode 100644 docs/js/schema/methods_category/mathematical/discr.json create mode 100644 docs/js/schema/methods_category/mathematical/discr/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/discr/mesh.json create mode 100644 docs/js/schema/methods_category/mathematical/discr/mesh/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/discr/mesh/hybrid.json create mode 100644 docs/js/schema/methods_category/mathematical/discr/mesh/nstruct.json create mode 100644 docs/js/schema/methods_category/mathematical/discr/mesh/struct.json create mode 100644 docs/js/schema/methods_category/mathematical/discr/mesh/struct/cartesian.json create mode 100644 docs/js/schema/methods_category/mathematical/discr/mesh/struct/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/fapprx.json create mode 100644 docs/js/schema/methods_category/mathematical/fapprx/basisexp.json create mode 100644 docs/js/schema/methods_category/mathematical/fapprx/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/fapprx/ipol.json create mode 100644 docs/js/schema/methods_category/mathematical/fapprx/ipol/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/fapprx/ipol/lin.json create mode 100644 docs/js/schema/methods_category/mathematical/fapprx/ipol/poly.json create mode 100644 docs/js/schema/methods_category/mathematical/fapprx/ipol/spline.json create mode 100644 docs/js/schema/methods_category/mathematical/intgr.json create mode 100644 docs/js/schema/methods_category/mathematical/intgr/analytic.json create mode 100644 docs/js/schema/methods_category/mathematical/intgr/analytic/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/intgr/analytic/volume.json create mode 100644 docs/js/schema/methods_category/mathematical/intgr/diffeq.json create mode 100644 docs/js/schema/methods_category/mathematical/intgr/diffeq/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/intgr/diffeq/order1.json create mode 100644 docs/js/schema/methods_category/mathematical/intgr/diffeq/order2.json create mode 100644 docs/js/schema/methods_category/mathematical/intgr/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/intgr/numquad.json create mode 100644 docs/js/schema/methods_category/mathematical/intgr/numquad/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/intgr/numquad/gauss.json create mode 100644 docs/js/schema/methods_category/mathematical/intgr/numquad/newcot.json create mode 100644 docs/js/schema/methods_category/mathematical/intgr/transf.json create mode 100644 docs/js/schema/methods_category/mathematical/intgr/transf/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/intgr/transf/fourier.json create mode 100644 docs/js/schema/methods_category/mathematical/linalg.json create mode 100644 docs/js/schema/methods_category/mathematical/linalg/dcomp.json create mode 100644 docs/js/schema/methods_category/mathematical/linalg/diag.json create mode 100644 docs/js/schema/methods_category/mathematical/linalg/diag/davidson.json create mode 100644 docs/js/schema/methods_category/mathematical/linalg/diag/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/linalg/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/linalg/lintra.json create mode 100644 docs/js/schema/methods_category/mathematical/linalg/matf.json create mode 100644 docs/js/schema/methods_category/mathematical/opt.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/diff.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/diff/bracket.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/diff/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/diff/local.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/diff/order1.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/diff/order2.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/diff/ordern.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/diff/ordern/cg.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/diff/ordern/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/ndiff.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/ndiff/direct.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/ndiff/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/ndiff/pop.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/ndiff/stoch.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/root.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/root/bracket.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/root/enum-options.json create mode 100644 docs/js/schema/methods_category/mathematical/opt/root/iter.json create mode 100644 docs/js/schema/methods_category/mathematical/regression.json create mode 100644 docs/js/schema/methods_category/physical/enum-options.json create mode 100644 docs/js/schema/methods_category/physical/qm.json create mode 100644 docs/js/schema/methods_category/physical/qm/enum-options.json create mode 100644 docs/js/schema/methods_category/physical/qm/wf.json create mode 100644 docs/js/schema/methods_category/physical/qm/wf/ao.json create mode 100644 docs/js/schema/methods_category/physical/qm/wf/ao/dunning.json create mode 100644 docs/js/schema/methods_category/physical/qm/wf/ao/other.json create mode 100644 docs/js/schema/methods_category/physical/qm/wf/ao/pople.json create mode 100644 docs/js/schema/methods_category/physical/qm/wf/enum-options.json create mode 100644 docs/js/schema/methods_category/physical/qm/wf/psp.json create mode 100644 docs/js/schema/methods_category/physical/qm/wf/pw.json create mode 100644 docs/js/schema/methods_category/physical/qm/wf/smearing.json create mode 100644 docs/js/schema/methods_category/physical/qm/wf/tetrahedron.json create mode 100644 docs/js/schema/methods_directory/legacy/localorbital.json create mode 100644 docs/js/schema/methods_directory/legacy/pseudopotential.json create mode 100644 docs/js/schema/methods_directory/legacy/regression.json create mode 100644 docs/js/schema/methods_directory/legacy/unknown.json create mode 100644 docs/js/schema/methods_directory/mathematical/cg.json create mode 100644 docs/js/schema/methods_directory/mathematical/davidson.json create mode 100644 docs/js/schema/methods_directory/mathematical/regression.json create mode 100644 docs/js/schema/methods_directory/mathematical/regression/data.json create mode 100644 docs/js/schema/methods_directory/mathematical/regression/dataset.json create mode 100644 docs/js/schema/methods_directory/mathematical/regression/kernel-ridge/data-per-property.json create mode 100644 docs/js/schema/methods_directory/mathematical/regression/linear/data-per-property.json create mode 100644 docs/js/schema/methods_directory/mathematical/regression/per-feature-item.json create mode 100644 docs/js/schema/methods_directory/mathematical/regression/precision-per-property.json create mode 100644 docs/js/schema/methods_directory/mathematical/regression/precision.json create mode 100644 docs/js/schema/methods_directory/physical/ao/dunning.json create mode 100644 docs/js/schema/methods_directory/physical/ao/enum-options.json create mode 100644 docs/js/schema/methods_directory/physical/ao/other.json create mode 100644 docs/js/schema/methods_directory/physical/ao/pople.json create mode 100644 docs/js/schema/methods_directory/physical/psp.json create mode 100644 docs/js/schema/methods_directory/physical/psp/file-data-item.json create mode 100644 docs/js/schema/methods_directory/physical/psp/file.json create mode 100644 docs/js/schema/methods_directory/physical/pw.json create mode 100644 docs/js/schema/methods_directory/physical/smearing.json create mode 100644 docs/js/schema/methods_directory/physical/tetrahedron.json create mode 100644 docs/js/schema/model.json create mode 100644 docs/js/schema/model/categorized_model.json create mode 100644 docs/js/schema/model/mixins/dft/double_hybrid-functional.json create mode 100644 docs/js/schema/model/mixins/dft/enum_options.json create mode 100644 docs/js/schema/model/mixins/dft/gga_functional.json create mode 100644 docs/js/schema/model/mixins/dft/hybrid_functional.json create mode 100644 docs/js/schema/model/mixins/dft/lda_functional.json create mode 100644 docs/js/schema/model/mixins/dft/mgga_functional.json create mode 100644 docs/js/schema/model/mixins/dispersion_correction.json create mode 100644 docs/js/schema/model/mixins/enum_options.json create mode 100644 docs/js/schema/model/mixins/hubbard.json create mode 100644 docs/js/schema/model/mixins/spin_orbit-coupling.json create mode 100644 docs/js/schema/model/mixins/spin_polarization.json create mode 100644 docs/js/schema/model/model_parameters.json create mode 100644 docs/js/schema/model/model_without-method.json create mode 100644 docs/js/schema/models_category/enum-options.json create mode 100644 docs/js/schema/models_category/pb.json create mode 100644 docs/js/schema/models_category/pb/enum-options.json create mode 100644 docs/js/schema/models_category/pb/qm.json create mode 100644 docs/js/schema/models_category/pb/qm/abin.json create mode 100644 docs/js/schema/models_category/pb/qm/abin/enum-options.json create mode 100644 docs/js/schema/models_category/pb/qm/abin/gw.json create mode 100644 docs/js/schema/models_category/pb/qm/dft.json create mode 100644 docs/js/schema/models_category/pb/qm/dft/enum-options.json create mode 100644 docs/js/schema/models_category/pb/qm/dft/ksdft.json create mode 100644 docs/js/schema/models_category/pb/qm/dft/ksdft/double-hybrid.json create mode 100644 docs/js/schema/models_category/pb/qm/dft/ksdft/enum-options.json create mode 100644 docs/js/schema/models_category/pb/qm/dft/ksdft/gga.json create mode 100644 docs/js/schema/models_category/pb/qm/dft/ksdft/hybrid.json create mode 100644 docs/js/schema/models_category/pb/qm/dft/ksdft/lda.json create mode 100644 docs/js/schema/models_category/pb/qm/dft/ksdft/mgga.json create mode 100644 docs/js/schema/models_category/pb/qm/enum-options.json create mode 100644 docs/js/schema/models_category/pb/qm/semp.json create mode 100644 docs/js/schema/models_category/st.json create mode 100644 docs/js/schema/models_category/st/det.json create mode 100644 docs/js/schema/models_category/st/det/enum-options.json create mode 100644 docs/js/schema/models_category/st/det/ml.json create mode 100644 docs/js/schema/models_category/st/det/ml/enum-options.json create mode 100644 docs/js/schema/models_category/st/det/ml/re.json create mode 100644 docs/js/schema/models_category/st/enum-options.json create mode 100644 docs/js/schema/models_directory/double-hybrid.json create mode 100644 docs/js/schema/models_directory/gga.json create mode 100644 docs/js/schema/models_directory/gw.json create mode 100644 docs/js/schema/models_directory/hybrid.json create mode 100644 docs/js/schema/models_directory/lda.json create mode 100644 docs/js/schema/models_directory/legacy/dft.json create mode 100644 docs/js/schema/models_directory/legacy/ml.json create mode 100644 docs/js/schema/models_directory/legacy/unknown.json create mode 100644 docs/js/schema/models_directory/mgga.json create mode 100644 docs/js/schema/models_directory/re.json create mode 100644 docs/js/schema/project.json create mode 100644 docs/js/schema/properties_directory/derived-properties.json create mode 100644 docs/js/schema/properties_directory/electronic-configuration.json create mode 100644 docs/js/schema/properties_directory/elemental/atomic-radius.json create mode 100644 docs/js/schema/properties_directory/elemental/electronegativity.json create mode 100644 docs/js/schema/properties_directory/elemental/ionization-potential.json create mode 100644 docs/js/schema/properties_directory/non-scalar/average-potential-profile.json create mode 100644 docs/js/schema/properties_directory/non-scalar/band-gaps.json create mode 100644 docs/js/schema/properties_directory/non-scalar/band-structure.json create mode 100644 docs/js/schema/properties_directory/non-scalar/charge-density-profile.json create mode 100644 docs/js/schema/properties_directory/non-scalar/density-of-states.json create mode 100644 docs/js/schema/properties_directory/non-scalar/dielectric-tensor.json create mode 100644 docs/js/schema/properties_directory/non-scalar/file-content.json create mode 100644 docs/js/schema/properties_directory/non-scalar/hubbard-u.json create mode 100644 docs/js/schema/properties_directory/non-scalar/hubbard-v.json create mode 100644 docs/js/schema/properties_directory/non-scalar/phonon-dispersions.json create mode 100644 docs/js/schema/properties_directory/non-scalar/phonon-dos.json create mode 100644 docs/js/schema/properties_directory/non-scalar/potential-profile.json create mode 100644 docs/js/schema/properties_directory/non-scalar/reaction-energy-profile.json create mode 100644 docs/js/schema/properties_directory/non-scalar/stress-tensor.json create mode 100644 docs/js/schema/properties_directory/non-scalar/total-energy-contributions.json create mode 100644 docs/js/schema/properties_directory/non-scalar/vibrational-spectrum.json create mode 100644 docs/js/schema/properties_directory/scalar/electron-affinity.json create mode 100644 docs/js/schema/properties_directory/scalar/fermi-energy.json create mode 100644 docs/js/schema/properties_directory/scalar/formation-energy.json create mode 100644 docs/js/schema/properties_directory/scalar/ionization-potential.json create mode 100644 docs/js/schema/properties_directory/scalar/pressure.json create mode 100644 docs/js/schema/properties_directory/scalar/reaction-energy-barrier.json create mode 100644 docs/js/schema/properties_directory/scalar/surface-energy.json create mode 100644 docs/js/schema/properties_directory/scalar/total-energy.json create mode 100644 docs/js/schema/properties_directory/scalar/total-force.json create mode 100644 docs/js/schema/properties_directory/scalar/valence-band-offset.json create mode 100644 docs/js/schema/properties_directory/scalar/zero-point-energy.json create mode 100644 docs/js/schema/properties_directory/structural/atomic-forces.json create mode 100644 docs/js/schema/properties_directory/structural/basis.json create mode 100644 docs/js/schema/properties_directory/structural/basis/atomic-constraints.json create mode 100644 docs/js/schema/properties_directory/structural/basis/atomic-coordinate.json create mode 100644 docs/js/schema/properties_directory/structural/basis/atomic-coordinates.json create mode 100644 docs/js/schema/properties_directory/structural/basis/atomic-element.json create mode 100644 docs/js/schema/properties_directory/structural/basis/bonds.json create mode 100644 docs/js/schema/properties_directory/structural/density.json create mode 100644 docs/js/schema/properties_directory/structural/elemental-ratio.json create mode 100644 docs/js/schema/properties_directory/structural/inchi-key.json create mode 100644 docs/js/schema/properties_directory/structural/inchi.json create mode 100644 docs/js/schema/properties_directory/structural/lattice.json create mode 100644 docs/js/schema/properties_directory/structural/lattice/lattice-bravais.json create mode 100644 docs/js/schema/properties_directory/structural/lattice/lattice-vectors.json create mode 100644 docs/js/schema/properties_directory/structural/lattice/type-enum.json create mode 100644 docs/js/schema/properties_directory/structural/lattice/type-extended-enum.json create mode 100644 docs/js/schema/properties_directory/structural/magnetic-moments.json create mode 100644 docs/js/schema/properties_directory/structural/molecular-pattern.json create mode 100644 docs/js/schema/properties_directory/structural/p-norm.json create mode 100644 docs/js/schema/properties_directory/structural/patterns/functional-group.json create mode 100644 docs/js/schema/properties_directory/structural/patterns/ring.json create mode 100644 docs/js/schema/properties_directory/structural/patterns/special-bond.json create mode 100644 docs/js/schema/properties_directory/structural/symmetry.json create mode 100644 docs/js/schema/properties_directory/structural/volume.json create mode 100644 docs/js/schema/properties_directory/workflow/convergence/electronic.json create mode 100644 docs/js/schema/properties_directory/workflow/convergence/ionic.json create mode 100644 docs/js/schema/properties_directory/workflow/convergence/kpoint.json create mode 100644 docs/js/schema/property/base.json create mode 100644 docs/js/schema/property/meta.json create mode 100644 docs/js/schema/property/raw.json create mode 100644 docs/js/schema/property/source.json create mode 100644 docs/js/schema/software/application.json create mode 100644 docs/js/schema/software/executable.json create mode 100644 docs/js/schema/software/flavor.json create mode 100644 docs/js/schema/software/template.json create mode 100644 docs/js/schema/software_directory/ml/exabyteml.json create mode 100644 docs/js/schema/software_directory/ml/unit/execution.json create mode 100644 docs/js/schema/software_directory/ml/unit/execution/evaluate/cross-validate.json create mode 100644 docs/js/schema/software_directory/ml/unit/execution/initialize.json create mode 100644 docs/js/schema/software_directory/ml/unit/execution/score.json create mode 100644 docs/js/schema/software_directory/ml/unit/execution/train.json create mode 100644 docs/js/schema/software_directory/ml/unit/processing.json create mode 100644 docs/js/schema/software_directory/ml/unit/processing/data-transformation.json create mode 100644 docs/js/schema/software_directory/ml/unit/processing/data-transformation/manipulation.json create mode 100644 docs/js/schema/software_directory/ml/unit/processing/data-transformation/scale-and-reduce.json create mode 100644 docs/js/schema/software_directory/ml/unit/processing/feature-selection.json create mode 100644 docs/js/schema/software_directory/ml/unit/processing/feature-selection/filter-based.json create mode 100644 docs/js/schema/software_directory/modeling/espresso.json create mode 100644 docs/js/schema/software_directory/modeling/espresso/arguments.json create mode 100644 docs/js/schema/software_directory/modeling/nwchem.json create mode 100644 docs/js/schema/software_directory/modeling/unit/execution.json create mode 100644 docs/js/schema/software_directory/modeling/vasp.json create mode 100644 docs/js/schema/software_directory/scripting/jupyter-lab.json create mode 100644 docs/js/schema/software_directory/scripting/python.json create mode 100644 docs/js/schema/software_directory/scripting/shell.json create mode 100644 docs/js/schema/software_directory/scripting/unit/execution.json create mode 100644 docs/js/schema/system/_material.json create mode 100644 docs/js/schema/system/_parent-job.json create mode 100644 docs/js/schema/system/_project.json create mode 100644 docs/js/schema/system/bankable.json create mode 100644 docs/js/schema/system/consistency_check.json create mode 100644 docs/js/schema/system/creator.json create mode 100644 docs/js/schema/system/creator_account.json create mode 100644 docs/js/schema/system/database_source.json create mode 100644 docs/js/schema/system/defaultable.json create mode 100644 docs/js/schema/system/description.json create mode 100644 docs/js/schema/system/entity_reference.json create mode 100644 docs/js/schema/system/file_source.json create mode 100644 docs/js/schema/system/history.json create mode 100644 docs/js/schema/system/in_set.json create mode 100644 docs/js/schema/system/is_multi-material.json create mode 100644 docs/js/schema/system/is_outdated.json create mode 100644 docs/js/schema/system/job_extended.json create mode 100644 docs/js/schema/system/message.json create mode 100644 docs/js/schema/system/metadata.json create mode 100644 docs/js/schema/system/name.json create mode 100644 docs/js/schema/system/owner.json create mode 100644 docs/js/schema/system/path.json create mode 100644 docs/js/schema/system/path_entity.json create mode 100644 docs/js/schema/system/schema_version.json create mode 100644 docs/js/schema/system/scope.json create mode 100644 docs/js/schema/system/set.json create mode 100644 docs/js/schema/system/sharing.json create mode 100644 docs/js/schema/system/soft_removable.json create mode 100644 docs/js/schema/system/status.json create mode 100644 docs/js/schema/system/tags.json create mode 100644 docs/js/schema/system/timestampable.json create mode 100644 docs/js/schema/system/use_values.json create mode 100644 docs/js/schema/workflow.json create mode 100644 docs/js/schema/workflow/base.json create mode 100644 docs/js/schema/workflow/base_flow.json create mode 100644 docs/js/schema/workflow/scope.json create mode 100644 docs/js/schema/workflow/subworkflow.json create mode 100644 docs/js/schema/workflow/unit.json create mode 100644 docs/js/schema/workflow/unit/assertion.json create mode 100644 docs/js/schema/workflow/unit/assignment.json create mode 100644 docs/js/schema/workflow/unit/condition.json create mode 100644 docs/js/schema/workflow/unit/execution.json create mode 100644 docs/js/schema/workflow/unit/input/_input.json create mode 100644 docs/js/schema/workflow/unit/input/_inputItem.json create mode 100644 docs/js/schema/workflow/unit/input/_inputItemId.json create mode 100644 docs/js/schema/workflow/unit/input/_inputItemScope.json create mode 100644 docs/js/schema/workflow/unit/io.json create mode 100644 docs/js/schema/workflow/unit/io/api.json create mode 100644 docs/js/schema/workflow/unit/io/db.json create mode 100644 docs/js/schema/workflow/unit/io/object_storage.json create mode 100644 docs/js/schema/workflow/unit/map.json create mode 100644 docs/js/schema/workflow/unit/processing.json create mode 100644 docs/js/schema/workflow/unit/reduce.json create mode 100644 docs/js/schema/workflow/unit/runtime/_runtime-item-full-object.json create mode 100644 docs/js/schema/workflow/unit/runtime/_runtime-item-name-object.json create mode 100644 docs/js/schema/workflow/unit/runtime/_runtime-item-string.json create mode 100644 docs/js/schema/workflow/unit/runtime/runtime_item.json create mode 100644 docs/js/schema/workflow/unit/runtime/runtime_items.json diff --git a/docs/js/example/3pse/file/applications/espresso/7.2/pw.x.json b/docs/js/example/3pse/file/applications/espresso/7.2/pw.x.json new file mode 100644 index 000000000..f0f99f879 --- /dev/null +++ b/docs/js/example/3pse/file/applications/espresso/7.2/pw.x.json @@ -0,0 +1,94 @@ +{ + "&CONTROL": { + "calculation": "scf", + "title": "", + "verbosity": "low", + "restart_mode": "from_scratch", + "wf_collect": true, + "tstress": true, + "tprnfor": true, + "outdir": "{{ JOB_WORK_DIR }}/outdir", + "wfcdir": "{{ JOB_WORK_DIR }}/outdir", + "prefix": "__prefix__", + "pseudo_dir": "{{ JOB_WORK_DIR }}/pseudo" + }, + "&SYSTEM": { + "ibrav": 0, + "nat": 2, + "ntyp": 2, + "ecutwfc": 40, + "ecutrho": 200, + "occupations": "smearing", + "degauss": 0.005, + "starting_magnetization": [ + 0.01, + 0.02 + ], + "Hubbard_occ": [ + [ + 1, + 1, + 0 + ], + [ + 1, + 2, + 0.02 + ] + ] + }, + "&ELECTRONS": { + "diagonalization": "david", + "diago_david_ndim": 4, + "diago_full_acc": true, + "mixing_beta": 0.3, + "startingwfc": "atomic+random" + }, + "&IONS": null, + "&CELL": null, + "ATOMIC_SPECIES": { + "values": [ + { + "X": "Cs", + "Mass_X": 132.90543, + "PseudoPot_X": "Cs.upf" + }, + { + "X": "Cl", + "Mass_X": 35.4527, + "PseudoPot_X": "Cl.upf" + } + ] + }, + "CELL_PARAMETERS": { + "card_option": "angstrom", + "values": { + "v1": [ + 4.324582724, + 0, + 2.496799 + ], + "v2": [ + 1.441527575, + 4.077255694, + 2.496799 + ], + "v3": [ + 0, + 0, + 4.993598 + ] + } + }, + "K_POINTS": { + "card_option": "automatic", + "values": { + "nk1": 2, + "nk2": 2, + "nk3": 2, + "sk1": 0, + "sk2": 0, + "sk3": 0 + } + } +} \ No newline at end of file diff --git a/docs/js/example/core/abstract/2d_data.json b/docs/js/example/core/abstract/2d_data.json new file mode 100644 index 000000000..cdaca31a6 --- /dev/null +++ b/docs/js/example/core/abstract/2d_data.json @@ -0,0 +1,19 @@ +{ + "xDataArray": [ + 0, + 1, + 2 + ], + "yDataSeries": [ + [ + 0, + 0.5, + 1 + ], + [ + 0, + 2.5, + 5 + ] + ] +} \ No newline at end of file diff --git a/docs/js/example/core/abstract/2d_plot.json b/docs/js/example/core/abstract/2d_plot.json new file mode 100644 index 000000000..6254c3f45 --- /dev/null +++ b/docs/js/example/core/abstract/2d_plot.json @@ -0,0 +1,26 @@ +{ + "xAxis": { + "label": "kpoint index" + }, + "xDataArray": [ + 0, + 1, + 2 + ], + "yAxis": { + "label": "eigenvalues", + "units": "eV" + }, + "yDataSeries": [ + [ + 0, + 0.5, + 1 + ], + [ + 0, + 2.5, + 5 + ] + ] +} \ No newline at end of file diff --git a/docs/js/example/core/abstract/3d_grid.json b/docs/js/example/core/abstract/3d_grid.json new file mode 100644 index 000000000..62d458f73 --- /dev/null +++ b/docs/js/example/core/abstract/3d_grid.json @@ -0,0 +1,12 @@ +{ + "dimensions": [ + 2, + 2, + 2 + ], + "shifts": [ + 0, + 0, + 0 + ] +} \ No newline at end of file diff --git a/docs/js/example/core/abstract/3d_tensor.json b/docs/js/example/core/abstract/3d_tensor.json new file mode 100644 index 000000000..cfb4dcb13 --- /dev/null +++ b/docs/js/example/core/abstract/3d_tensor.json @@ -0,0 +1,17 @@ +[ + [ + 1, + 0, + 0 + ], + [ + 0, + 1, + 0 + ], + [ + 0, + 0, + 1 + ] +] \ No newline at end of file diff --git a/docs/js/example/core/abstract/3d_vector_basis.json b/docs/js/example/core/abstract/3d_vector_basis.json new file mode 100644 index 000000000..3b03970b2 --- /dev/null +++ b/docs/js/example/core/abstract/3d_vector_basis.json @@ -0,0 +1,17 @@ +{ + "a": [ + 5, + 0, + 0 + ], + "b": [ + 0, + 5, + 0 + ], + "c": [ + 0, + 0, + 5 + ] +} \ No newline at end of file diff --git a/docs/js/example/core/abstract/point.json b/docs/js/example/core/abstract/point.json new file mode 100644 index 000000000..87bf07da0 --- /dev/null +++ b/docs/js/example/core/abstract/point.json @@ -0,0 +1,5 @@ +[ + 0, + 5.5, + 0 +] \ No newline at end of file diff --git a/docs/js/example/core/abstract/vector.json b/docs/js/example/core/abstract/vector.json new file mode 100644 index 000000000..0fa23041f --- /dev/null +++ b/docs/js/example/core/abstract/vector.json @@ -0,0 +1,5 @@ +[ + 1, + 0, + 0 +] \ No newline at end of file diff --git a/docs/js/example/core/primitive/1d_data_series.json b/docs/js/example/core/primitive/1d_data_series.json new file mode 100644 index 000000000..bc18b0536 --- /dev/null +++ b/docs/js/example/core/primitive/1d_data_series.json @@ -0,0 +1,12 @@ +[ + [ + 0, + 0.5, + 1 + ], + [ + 0, + 2.5, + 5 + ] +] \ No newline at end of file diff --git a/docs/js/example/core/primitive/3d_lattice.json b/docs/js/example/core/primitive/3d_lattice.json new file mode 100644 index 000000000..6c75134e7 --- /dev/null +++ b/docs/js/example/core/primitive/3d_lattice.json @@ -0,0 +1,8 @@ +{ + "a": 5.14, + "alpha": 90, + "b": 5.14, + "beta": 90, + "c": 5.14, + "gamma": 90 +} \ No newline at end of file diff --git a/docs/js/example/core/primitive/array_of_3_booleans.json b/docs/js/example/core/primitive/array_of_3_booleans.json new file mode 100644 index 000000000..2195f4949 --- /dev/null +++ b/docs/js/example/core/primitive/array_of_3_booleans.json @@ -0,0 +1,5 @@ +[ + true, + false, + false +] \ No newline at end of file diff --git a/docs/js/example/core/primitive/array_of_3_numbers.json b/docs/js/example/core/primitive/array_of_3_numbers.json new file mode 100644 index 000000000..0fa23041f --- /dev/null +++ b/docs/js/example/core/primitive/array_of_3_numbers.json @@ -0,0 +1,5 @@ +[ + 1, + 0, + 0 +] \ No newline at end of file diff --git a/docs/js/example/core/primitive/array_of_ids.json b/docs/js/example/core/primitive/array_of_ids.json new file mode 100644 index 000000000..dfc3c8df8 --- /dev/null +++ b/docs/js/example/core/primitive/array_of_ids.json @@ -0,0 +1,8 @@ +[ + { + "id": 1 + }, + { + "id": 2 + } +] \ No newline at end of file diff --git a/docs/js/example/core/primitive/axis.json b/docs/js/example/core/primitive/axis.json new file mode 100644 index 000000000..0dd42f906 --- /dev/null +++ b/docs/js/example/core/primitive/axis.json @@ -0,0 +1,4 @@ +{ + "label": "energy", + "units": "eV" +} \ No newline at end of file diff --git a/docs/js/example/core/primitive/scalar.json b/docs/js/example/core/primitive/scalar.json new file mode 100644 index 000000000..9b06ade72 --- /dev/null +++ b/docs/js/example/core/primitive/scalar.json @@ -0,0 +1,3 @@ +{ + "value": 0.1 +} \ No newline at end of file diff --git a/docs/js/example/core/primitive/string.json b/docs/js/example/core/primitive/string.json new file mode 100644 index 000000000..ff3675af5 --- /dev/null +++ b/docs/js/example/core/primitive/string.json @@ -0,0 +1,3 @@ +{ + "value": "example string" +} \ No newline at end of file diff --git a/docs/js/example/core/reference.json b/docs/js/example/core/reference.json new file mode 100644 index 000000000..fb0137da1 --- /dev/null +++ b/docs/js/example/core/reference.json @@ -0,0 +1,9 @@ +{ + "_id": "nDAavgjrT5ezwFgod", + "owner": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Account", + "slug": "exabyte" + }, + "title": "My Calculation" +} \ No newline at end of file diff --git a/docs/js/example/core/reference/experiment.json b/docs/js/example/core/reference/experiment.json new file mode 100644 index 000000000..3b0459062 --- /dev/null +++ b/docs/js/example/core/reference/experiment.json @@ -0,0 +1,38 @@ +{ + "authors": [ + { + "affiliation": "Exabyte Inc.", + "first": "John", + "last": "Doe" + } + ], + "conditions": [ + { + "name": "pressure", + "scalar": [ + { + "value": "1.2" + }, + { + "value": "3.3" + } + ], + "units": "kbar" + } + ], + "method": "DFT", + "references": [ + { + "authors": [ + { + "affiliation": "Exabyte Inc.", + "first": "John", + "last": "Doe" + } + ], + "doi": "10.1000/xyz123" + } + ], + "timestamp": 141182979832, + "title": "Experiment 1" +} \ No newline at end of file diff --git a/docs/js/example/core/reference/experiment/condition.json b/docs/js/example/core/reference/experiment/condition.json new file mode 100644 index 000000000..5347aa270 --- /dev/null +++ b/docs/js/example/core/reference/experiment/condition.json @@ -0,0 +1,12 @@ +{ + "name": "pressure", + "scalar": [ + { + "value": "1.2" + }, + { + "value": "3.3" + } + ], + "units": "kbar" +} \ No newline at end of file diff --git a/docs/js/example/core/reference/experiment/location.json b/docs/js/example/core/reference/experiment/location.json new file mode 100644 index 000000000..92d64faf2 --- /dev/null +++ b/docs/js/example/core/reference/experiment/location.json @@ -0,0 +1,4 @@ +{ + "latitude": 24.3423424, + "longitude": 43.234232 +} \ No newline at end of file diff --git a/docs/js/example/core/reference/literature.json b/docs/js/example/core/reference/literature.json new file mode 100644 index 000000000..fad638f93 --- /dev/null +++ b/docs/js/example/core/reference/literature.json @@ -0,0 +1,10 @@ +{ + "authors": [ + { + "affiliation": "Exabyte Inc.", + "first": "John", + "last": "Doe" + } + ], + "doi": "10.1000/xyz123" +} \ No newline at end of file diff --git a/docs/js/example/core/reference/literature/name.json b/docs/js/example/core/reference/literature/name.json new file mode 100644 index 000000000..6af4b4d4b --- /dev/null +++ b/docs/js/example/core/reference/literature/name.json @@ -0,0 +1,5 @@ +{ + "affiliation": "Exabyte Inc.", + "first": "John", + "last": "Doe" +} \ No newline at end of file diff --git a/docs/js/example/core/reference/literature/pages.json b/docs/js/example/core/reference/literature/pages.json new file mode 100644 index 000000000..9522ae890 --- /dev/null +++ b/docs/js/example/core/reference/literature/pages.json @@ -0,0 +1,4 @@ +{ + "end": "2", + "start": "1" +} \ No newline at end of file diff --git a/docs/js/example/core/reference/modeling.json b/docs/js/example/core/reference/modeling.json new file mode 100644 index 000000000..fb0137da1 --- /dev/null +++ b/docs/js/example/core/reference/modeling.json @@ -0,0 +1,9 @@ +{ + "_id": "nDAavgjrT5ezwFgod", + "owner": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Account", + "slug": "exabyte" + }, + "title": "My Calculation" +} \ No newline at end of file diff --git a/docs/js/example/core/reference/modeling/exabyte.json b/docs/js/example/core/reference/modeling/exabyte.json new file mode 100644 index 000000000..fb0137da1 --- /dev/null +++ b/docs/js/example/core/reference/modeling/exabyte.json @@ -0,0 +1,9 @@ +{ + "_id": "nDAavgjrT5ezwFgod", + "owner": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Account", + "slug": "exabyte" + }, + "title": "My Calculation" +} \ No newline at end of file diff --git a/docs/js/example/core/reusable/atomic_vectors.json b/docs/js/example/core/reusable/atomic_vectors.json new file mode 100644 index 000000000..2e01d5dfd --- /dev/null +++ b/docs/js/example/core/reusable/atomic_vectors.json @@ -0,0 +1,18 @@ +[ + { + "id": 1, + "value": [ + 0, + 0, + 0 + ] + }, + { + "id": 2, + "value": [ + 0.25, + 0.25, + 0.25 + ] + } +] \ No newline at end of file diff --git a/docs/js/example/core/reusable/band_gap.json b/docs/js/example/core/reusable/band_gap.json new file mode 100644 index 000000000..e235a1044 --- /dev/null +++ b/docs/js/example/core/reusable/band_gap.json @@ -0,0 +1,16 @@ +{ + "kpointConduction": [ + 0, + 0, + 0 + ], + "kpointValence": [ + 0, + 0, + 0 + ], + "name": "band_gap", + "type": "direct", + "units": "rydberg", + "value": 0.0947 +} \ No newline at end of file diff --git a/docs/js/example/core/reusable/energy.json b/docs/js/example/core/reusable/energy.json new file mode 100644 index 000000000..27f62d8e2 --- /dev/null +++ b/docs/js/example/core/reusable/energy.json @@ -0,0 +1,5 @@ +{ + "name": "zero_point_energy", + "units": "eV", + "value": -0.0634 +} \ No newline at end of file diff --git a/docs/js/example/core/reusable/file_metadata.json b/docs/js/example/core/reusable/file_metadata.json new file mode 100644 index 000000000..167539864 --- /dev/null +++ b/docs/js/example/core/reusable/file_metadata.json @@ -0,0 +1,5 @@ +{ + "pathname": "/path/to/file/", + "basename": "some_file.png", + "filetype": "image" +} \ No newline at end of file diff --git a/docs/js/example/core/reusable/object_storage_container_data.json b/docs/js/example/core/reusable/object_storage_container_data.json new file mode 100644 index 000000000..ac35254ff --- /dev/null +++ b/docs/js/example/core/reusable/object_storage_container_data.json @@ -0,0 +1,8 @@ +{ + "CONTAINER": "production-20160630-cluster-001", + "NAME": "/cluster-001-home/jrd101/data/jrd101-default/kernel-train-Cxmkj97aXKZeaRZov/Cxmkj97aXKZeaRZov.json", + "PROVIDER": "aws", + "REGION": "us-east-1", + "SIZE": 6582, + "TIMESTAMP": "1614217411" +} \ No newline at end of file diff --git a/docs/js/example/element.json b/docs/js/example/element.json new file mode 100644 index 000000000..294da9ad3 --- /dev/null +++ b/docs/js/example/element.json @@ -0,0 +1,17 @@ +{ + "properties": [ + { + "name": "atomic_radius", + "value": 4 + }, + { + "name": "electronegativity", + "value": 1.1 + }, + { + "name": "ionization_potential", + "value": 7.7 + } + ], + "symbol": "Si" +} \ No newline at end of file diff --git a/docs/js/example/job.json b/docs/js/example/job.json new file mode 100644 index 000000000..95019122f --- /dev/null +++ b/docs/js/example/job.json @@ -0,0 +1,126 @@ +{ + "_id": "FPjAaKfuYAL7tiHbm", + "_material": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Material", + "slug": "silicon-fcc" + }, + "_project": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Project", + "slug": "project-default" + }, + "compute": { + "arguments": { + "nband": 1, + "npools": 1, + "ntg": 1 + }, + "cluster": { + "fqdn": "master-1-staging.exabyte.io", + "jid": "1234.master-1-staging.exabyte.io" + }, + "email": "demo@exabyte.io", + "errors": [ + { + "domain": "rupy", + "message": "File Not Found: /home/demo/data/project1/job-123/job-config.json", + "reason": "FileNotFound" + } + ], + "excludeFilesPattern": "^.*.txt$", + "maxCPU": 36, + "nodes": 1, + "notify": "abe", + "ppn": 1, + "queue": "OF", + "timeLimit": "00:05:00" + }, + "createdAt": "2018-11-19 06:41:46.877Z", + "creator": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "User", + "slug": "exadmin" + }, + "name": "job", + "owner": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Account", + "slug": "exabyte" + }, + "schemaVersion": "0.2.0", + "slug": "job", + "status": "pre-submission", + "workflow": { + "_id": "FPjAaKfuYAL7tiHbm", + "createdAt": "2018-11-19 06:41:46.877Z", + "creator": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "User", + "slug": "exadmin" + }, + "exabyteId": "qKtTzu9utCo6ac4n7", + "hash": "f4fd707d2e47c15f8d786cf159040954", + "isDefault": true, + "name": "workflow", + "owner": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Account", + "slug": "exabyte" + }, + "properties": [ + "band_structure" + ], + "schemaVersion": "0.2.0", + "slug": "workflow", + "subworkflows": [ + { + "_id": "LCthJ6E2QabYCZqf4", + "application": { + "name": "espresso", + "shortName": "qe", + "summary": "Quantum Espresso", + "version": "5.1.1", + "hasAdvancedComputeOptions": true + }, + "model": { + "method": { + "data": { + "pseudo": [] + }, + "subtype": "us", + "type": "pseudopotential" + }, + "subtype": "gga", + "type": "dft" + }, + "name": "Band Structure", + "properties": [ + "band_structure" + ], + "units": [ + { + "flowchartId": "pw-scf", + "head": true, + "name": "pw_scf", + "status": "idle", + "type": "execution", + "tags": [ + "test-tags" + ] + } + ] + } + ], + "tags": [ + "workflow" + ], + "units": [ + { + "_id": "LCthJ6E2QabYCZqf4", + "flowchartId": "05c362dc27ff1bb98d16fd60", + "type": "subworkflow" + } + ] + } +} \ No newline at end of file diff --git a/docs/js/example/job/compute.json b/docs/js/example/job/compute.json new file mode 100644 index 000000000..dd0a2854d --- /dev/null +++ b/docs/js/example/job/compute.json @@ -0,0 +1,26 @@ +{ + "arguments": { + "nband": 1, + "npools": 1, + "ntg": 1 + }, + "cluster": { + "fqdn": "master-1-staging.exabyte.io", + "jid": "1234.master-1-staging.exabyte.io" + }, + "email": "demo@exabyte.io", + "errors": [ + { + "domain": "rupy", + "message": "File Not Found: /home/demo/data/project1/job-123/job-config.json", + "reason": "FileNotFound" + } + ], + "excludeFilesPattern": "^.*.txt$", + "maxCPU": 36, + "nodes": 1, + "notify": "abe", + "ppn": 1, + "queue": "OF", + "timeLimit": "00:05:00" +} \ No newline at end of file diff --git a/docs/js/example/material.json b/docs/js/example/material.json new file mode 100644 index 000000000..e0b17a048 --- /dev/null +++ b/docs/js/example/material.json @@ -0,0 +1,128 @@ +{ + "_id": "LCthJ6E2QabYCZqf3", + "basis": { + "coordinates": [ + { + "id": 1, + "value": [ + 0, + 0, + 0 + ] + }, + { + "id": 2, + "value": [ + 0.25, + 0.25, + 0.25 + ] + } + ], + "elements": [ + { + "id": 1, + "value": "Si" + }, + { + "id": 2, + "value": "Si" + } + ], + "name": "basis", + "units": "crystal" + }, + "createdAt": "2016-04-03T05:25:37.430Z", + "creator": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "User", + "slug": "exadmin" + }, + "derivedProperties": [ + { + "name": "volume", + "units": "angstrom^3", + "value": 131.1 + }, + { + "name": "density", + "units": "g/cm^3", + "value": 2.33 + }, + { + "name": "symmetry", + "spaceGroupSymbol": "Fd-3m", + "tolerance": { + "units": "angstrom", + "value": 0.3 + } + }, + { + "degree": 10, + "name": "p-norm", + "value": 0.71 + }, + { + "element": "Si", + "name": "elemental_ratio", + "value": 0.71 + }, + { + "name": "inchi", + "value": "" + }, + { + "name": "inchi_key", + "value": "" + } + ], + "exabyteId": "RKiswuxHKkF3uvLyA", + "formula": "Si", + "hash": "4ac3fa057e3530628eb1295c77110eaa", + "isDefault": false, + "isNonPeriodic": false, + "lattice": { + "name": "lattice", + "vectors": { + "a": [ + 5, + 0.000121312, + 0.000131415 + ], + "alat": 1, + "b": [ + 0.000121312, + 5, + 0.000121314 + ], + "c": [ + 0.000121313, + 0.000121312, + 5 + ], + "units": "angstrom" + }, + "a": 5.14, + "alpha": 90, + "b": 5.14, + "beta": 90, + "c": 5.14, + "gamma": 90, + "type": "CUB", + "units": { + "angle": "degree", + "length": "angstrom" + } + }, + "name": "Silicon FCC", + "owner": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Account", + "slug": "exabyte" + }, + "scaledHash": "5bd4eb168e3530628eb1295d88221cbb", + "schemaVersion": "0.2.0", + "slug": "silicon-fcc", + "unitCellFormula": "Si2", + "updatedAt": "2016-04-04T17:58:42.867Z" +} \ No newline at end of file diff --git a/docs/js/example/method.json b/docs/js/example/method.json new file mode 100644 index 000000000..5bbb1d671 --- /dev/null +++ b/docs/js/example/method.json @@ -0,0 +1,7 @@ +{ + "data": { + "pseudo": [] + }, + "subtype": "us", + "type": "pseudopotential" +} \ No newline at end of file diff --git a/docs/js/example/method/categorized_method.json b/docs/js/example/method/categorized_method.json new file mode 100644 index 000000000..ccc72af1a --- /dev/null +++ b/docs/js/example/method/categorized_method.json @@ -0,0 +1,47 @@ +{ + "name": "PW-NCPP (Davidson Diagonalization, Gaussian Smearing)", + "path": "/qm/wf/pw:/qm/wf/psp/nc?functional=pbe:/qm/wf/smearing/gaussian:/linalg/diag/davidson", + "units": [ + { + "name": "Plane-wave", + "path": "/qm/wf/pw", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "pw" + } + }, + { + "name": "Norm-conserving PSP", + "path": "/qm/wf/psp/nc?functional=pbe", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "psp", + "subtype": "nc" + }, + "parameters": { + "functional": "pbe" + } + }, + { + "name": "Gaussian Smearing method", + "path": "/qm/wf/smearing/gaussian", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "smearing", + "subtype": "gaussian" + } + }, + { + "name": "Davidson Diagonalization", + "path": "/linalg/diag/davidson", + "categories": { + "tier1": "linalg", + "tier2": "diag", + "type": "davidson" + } + } + ] +} \ No newline at end of file diff --git a/docs/js/example/method/method_parameters.json b/docs/js/example/method/method_parameters.json new file mode 100644 index 000000000..8decb17f3 --- /dev/null +++ b/docs/js/example/method/method_parameters.json @@ -0,0 +1,3 @@ +{ + "basisSlug": "6-311G" +} \ No newline at end of file diff --git a/docs/js/example/methods_directory/legacy/localorbital.json b/docs/js/example/methods_directory/legacy/localorbital.json new file mode 100644 index 000000000..1239031ab --- /dev/null +++ b/docs/js/example/methods_directory/legacy/localorbital.json @@ -0,0 +1,4 @@ +{ + "type": "localorbital", + "subtype": "pople" +} \ No newline at end of file diff --git a/docs/js/example/methods_directory/legacy/pseudopotential.json b/docs/js/example/methods_directory/legacy/pseudopotential.json new file mode 100644 index 000000000..ec9df6953 --- /dev/null +++ b/docs/js/example/methods_directory/legacy/pseudopotential.json @@ -0,0 +1,4 @@ +{ + "type": "pseudopotential", + "subtype": "us" +} \ No newline at end of file diff --git a/docs/js/example/methods_directory/legacy/regression.json b/docs/js/example/methods_directory/legacy/regression.json new file mode 100644 index 000000000..44bb32ce4 --- /dev/null +++ b/docs/js/example/methods_directory/legacy/regression.json @@ -0,0 +1,61 @@ +{ + "data": { + "dataSet": { + "exabyteIds": [ + "LCthJ6E2QabYCZqf4", + "LCthJ6E2QabYCZqf5", + "LCthJ6E2QabYCZqf6", + "LCthJ6E2QabYCZqf7", + "LCthJ6E2QabYCZqf8", + "LCthJ6E2QabYCZqf9", + "LCthJ6E2QabYCZq10", + "LCthJ6E2QabYCZq11" + ], + "extra": {} + }, + "perProperty": [ + { + "intercept": 0.363, + "name": "band_gaps:direct", + "perFeature": [ + { + "coefficient": 0.015, + "importance": 0.134, + "name": "atomic_radius:Ge" + }, + { + "coefficient": 0.016, + "importance": 0.135, + "name": "atomic_radius:Si" + } + ] + }, + { + "intercept": 0.364, + "name": "band_gaps:indirect", + "perFeature": [ + { + "coefficient": 0.016, + "importance": 0.135, + "name": "atomic_radius:Ge" + }, + { + "coefficient": 0.017, + "importance": 0.136, + "name": "atomic_radius:Si" + } + ] + } + ] + }, + "precision": { + "perProperty": [ + { + "score": 0.8, + "trainingError": 0.002 + } + ] + }, + "subtype": "least_squares", + "type": "linear" +} \ No newline at end of file diff --git a/docs/js/example/methods_directory/legacy/unknown.json b/docs/js/example/methods_directory/legacy/unknown.json new file mode 100644 index 000000000..239c62cda --- /dev/null +++ b/docs/js/example/methods_directory/legacy/unknown.json @@ -0,0 +1,4 @@ +{ + "type": "unknown", + "subtype": "unknown" +} \ No newline at end of file diff --git a/docs/js/example/methods_directory/mathematical/cg.json b/docs/js/example/methods_directory/mathematical/cg.json new file mode 100644 index 000000000..2f9105b93 --- /dev/null +++ b/docs/js/example/methods_directory/mathematical/cg.json @@ -0,0 +1,10 @@ +{ + "name": "Conjugate gradient method", + "path": "/opt/diff/ordern/cg", + "categories": { + "tier1": "opt", + "tier2": "diff", + "tier3": "ordern", + "type": "cg" + } +} \ No newline at end of file diff --git a/docs/js/example/methods_directory/mathematical/regression.json b/docs/js/example/methods_directory/mathematical/regression.json new file mode 100644 index 000000000..3a60d013b --- /dev/null +++ b/docs/js/example/methods_directory/mathematical/regression.json @@ -0,0 +1,65 @@ +{ + "data": { + "dataSet": { + "exabyteIds": [ + "LCthJ6E2QabYCZqf4", + "LCthJ6E2QabYCZqf5", + "LCthJ6E2QabYCZqf6", + "LCthJ6E2QabYCZqf7", + "LCthJ6E2QabYCZqf8", + "LCthJ6E2QabYCZqf9", + "LCthJ6E2QabYCZq10", + "LCthJ6E2QabYCZq11" + ], + "extra": {} + }, + "perProperty": [ + { + "intercept": 0.363, + "name": "band_gaps:direct", + "perFeature": [ + { + "coefficient": 0.015, + "importance": 0.134, + "name": "atomic_radius:Ge" + }, + { + "coefficient": 0.016, + "importance": 0.135, + "name": "atomic_radius:Si" + } + ] + }, + { + "intercept": 0.364, + "name": "band_gaps:indirect", + "perFeature": [ + { + "coefficient": 0.016, + "importance": 0.135, + "name": "atomic_radius:Ge" + }, + { + "coefficient": 0.017, + "importance": 0.136, + "name": "atomic_radius:Si" + } + ] + } + ] + }, + "precision": { + "perProperty": [ + { + "score": 0.8, + "trainingError": 0.002 + } + ] + }, + "categories": { + "type": "linear", + "subtype": "least_squares" + }, + "name": "Linear least squares regression", + "path": "/linear/leastsq" +} \ No newline at end of file diff --git a/docs/js/example/methods_directory/physical/ao/dunning.json b/docs/js/example/methods_directory/physical/ao/dunning.json new file mode 100644 index 000000000..d16219363 --- /dev/null +++ b/docs/js/example/methods_directory/physical/ao/dunning.json @@ -0,0 +1,13 @@ +{ + "name": "cc-pVTZ basis set", + "path": "/qm/wf/ao/dunning?basisSlug=cc-pvtz", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "ao", + "subtype": "dunning" + }, + "parameters": { + "basisSlug": "cc-pvtz" + } +} \ No newline at end of file diff --git a/docs/js/example/methods_directory/physical/psp.json b/docs/js/example/methods_directory/physical/psp.json new file mode 100644 index 000000000..03c291bed --- /dev/null +++ b/docs/js/example/methods_directory/physical/psp.json @@ -0,0 +1,67 @@ +{ + "name": "PAW Pseudopotential method", + "path": "/qm/wf/psp/paw", + "slug": "pseudopotential", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "psp", + "subtype": "paw" + }, + "data": [ + { + "slug": "pseudopotential", + "source": { + "info": {}, + "type": "exabyte" + }, + "data": { + "element": "Ru", + "hash": "3349af97451e04faae570056fb6a110b", + "filename": "ru_pbe_dojo-oncv_0.4.upf", + "path": "/export/share/pseudo/ru/gga/pbe/dojo-oncv/0.4/nc/ru_pbe_dojo-oncv_0.4.upf", + "valenceConfiguration": [ + { + "orbitalName": "4S", + "orbitalIndex": 1, + "principalNumber": 4, + "angularMomentum": 0, + "occupation": 2 + }, + { + "orbitalName": "4P", + "orbitalIndex": 2, + "principalNumber": 4, + "angularMomentum": 1, + "occupation": 6 + }, + { + "orbitalName": "4D", + "orbitalIndex": 3, + "principalNumber": 4, + "angularMomentum": 2, + "occupation": 7 + }, + { + "orbitalName": "5S", + "orbitalIndex": 4, + "principalNumber": 5, + "angularMomentum": 0, + "occupation": 1 + } + ], + "apps": [ + "espresso" + ], + "exchangeCorrelation": { + "functional": "pbe", + "approximation": "gga" + }, + "name": "pseudopotential", + "source": "dojo-oncv", + "type": "nc", + "version": "0.4" + } + } + ] +} \ No newline at end of file diff --git a/docs/js/example/methods_directory/physical/psp/file.json b/docs/js/example/methods_directory/physical/psp/file.json new file mode 100644 index 000000000..68bdb039e --- /dev/null +++ b/docs/js/example/methods_directory/physical/psp/file.json @@ -0,0 +1,54 @@ +{ + "slug": "pseudopotential", + "source": { + "info": {}, + "type": "exabyte" + }, + "data": { + "element": "Ru", + "hash": "3349af97451e04faae570056fb6a110b", + "filename": "ru_pbe_dojo-oncv_0.4.upf", + "path": "/export/share/pseudo/ru/gga/pbe/dojo-oncv/0.4/nc/ru_pbe_dojo-oncv_0.4.upf", + "valenceConfiguration": [ + { + "orbitalName": "4S", + "orbitalIndex": 1, + "principalNumber": 4, + "angularMomentum": 0, + "occupation": 2 + }, + { + "orbitalName": "4P", + "orbitalIndex": 2, + "principalNumber": 4, + "angularMomentum": 1, + "occupation": 6 + }, + { + "orbitalName": "4D", + "orbitalIndex": 3, + "principalNumber": 4, + "angularMomentum": 2, + "occupation": 7 + }, + { + "orbitalName": "5S", + "orbitalIndex": 4, + "principalNumber": 5, + "angularMomentum": 0, + "occupation": 1 + } + ], + "apps": [ + "espresso" + ], + "exchangeCorrelation": { + "functional": "pbe", + "approximation": "gga" + }, + "name": "pseudopotential", + "source": "dojo-oncv", + "type": "nc", + "version": "0.4" + } +} \ No newline at end of file diff --git a/docs/js/example/methods_directory/physical/pw.json b/docs/js/example/methods_directory/physical/pw.json new file mode 100644 index 000000000..71c249c05 --- /dev/null +++ b/docs/js/example/methods_directory/physical/pw.json @@ -0,0 +1,9 @@ +{ + "name": "Plane wave basis", + "path": "/qm/wf/pw", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "pw" + } +} \ No newline at end of file diff --git a/docs/js/example/methods_directory/physical/smearing.json b/docs/js/example/methods_directory/physical/smearing.json new file mode 100644 index 000000000..af470a511 --- /dev/null +++ b/docs/js/example/methods_directory/physical/smearing.json @@ -0,0 +1,10 @@ +{ + "name": "Methfessel-Paxton smearing", + "path": "/qm/wf/smearing/methfessel-paxton", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "smearing", + "subtype": "methfessel-paxton" + } +} \ No newline at end of file diff --git a/docs/js/example/methods_directory/physical/tetrahedron.json b/docs/js/example/methods_directory/physical/tetrahedron.json new file mode 100644 index 000000000..32fde4571 --- /dev/null +++ b/docs/js/example/methods_directory/physical/tetrahedron.json @@ -0,0 +1,10 @@ +{ + "name": "Optimized Tetrahedron method (Kawamura)", + "path": "/qm/wf/tetrahedron/optimized", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "tetrahedron", + "subtype": "optimized" + } +} \ No newline at end of file diff --git a/docs/js/example/model.json b/docs/js/example/model.json new file mode 100644 index 000000000..1011aec9a --- /dev/null +++ b/docs/js/example/model.json @@ -0,0 +1,11 @@ +{ + "method": { + "data": { + "pseudo": [] + }, + "subtype": "us", + "type": "pseudopotential" + }, + "subtype": "gga", + "type": "dft" +} \ No newline at end of file diff --git a/docs/js/example/model/categorized_model.json b/docs/js/example/model/categorized_model.json new file mode 100644 index 000000000..b4b310d5c --- /dev/null +++ b/docs/js/example/model/categorized_model.json @@ -0,0 +1,77 @@ +{ + "name": "PZ+U (magnetism)", + "categories": { + "tier1": { + "name": "physics-based", + "slug": "pb" + }, + "tier2": { + "name": "quantum-mechanical", + "slug": "qm" + }, + "tier3": { + "name": "density functional theory", + "slug": "dft" + }, + "type": { + "name": "Kohn-Sham DFT", + "slug": "ksdft" + }, + "subtype": { + "name": "Local Density Approximation", + "slug": "lda" + } + }, + "parameters": { + "functional": "pz", + "spinPolarization": "collinear", + "hubbardType": "U" + }, + "method": { + "name": "PW-NCPP (Davidson Diagonalization, Gaussian Smearing)", + "path": "/qm/wf/pw:/qm/wf/psp/nc?functional=pbe:/qm/wf/smearing/gaussian:/linalg/diag/davidson", + "units": [ + { + "name": "Plane-wave", + "path": "/qm/wf/pw", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "pw" + } + }, + { + "name": "Norm-conserving PSP", + "path": "/qm/wf/psp/nc?functional=pbe", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "psp", + "subtype": "nc" + }, + "parameters": { + "functional": "pbe" + } + }, + { + "name": "Gaussian Smearing method", + "path": "/qm/wf/smearing/gaussian", + "categories": { + "tier1": "qm", + "tier2": "wf", + "type": "smearing", + "subtype": "gaussian" + } + }, + { + "name": "Davidson Diagonalization", + "path": "/linalg/diag/davidson", + "categories": { + "tier1": "linalg", + "tier2": "diag", + "type": "davidson" + } + } + ] + } +} \ No newline at end of file diff --git a/docs/js/example/model/model_parameters.json b/docs/js/example/model/model_parameters.json new file mode 100644 index 000000000..ca6c0b57e --- /dev/null +++ b/docs/js/example/model/model_parameters.json @@ -0,0 +1,7 @@ +{ + "functional": "pbe", + "dispersionCorrection": "dft-d3", + "hubbardType": "u", + "spinPolarization": "collinear", + "spinOrbitCoupling": true +} \ No newline at end of file diff --git a/docs/js/example/models_category/pb/qm/abin/gw.json b/docs/js/example/models_category/pb/qm/abin/gw.json new file mode 100644 index 000000000..6c24c6fdd --- /dev/null +++ b/docs/js/example/models_category/pb/qm/abin/gw.json @@ -0,0 +1,7 @@ +{ + "tier1": "pb", + "tier2": "qm", + "tier3": "abin", + "type": "gw", + "subtype": "evgw" +} \ No newline at end of file diff --git a/docs/js/example/models_category/pb/qm/dft/ksdft.json b/docs/js/example/models_category/pb/qm/dft/ksdft.json new file mode 100644 index 000000000..eb23fae60 --- /dev/null +++ b/docs/js/example/models_category/pb/qm/dft/ksdft.json @@ -0,0 +1,6 @@ +{ + "tier1": "pb", + "tier2": "qm", + "tier3": "dft", + "type": "ksdft" +} \ No newline at end of file diff --git a/docs/js/example/models_category/pb/qm/semp.json b/docs/js/example/models_category/pb/qm/semp.json new file mode 100644 index 000000000..ad7cb08bc --- /dev/null +++ b/docs/js/example/models_category/pb/qm/semp.json @@ -0,0 +1,5 @@ +{ + "tier1": "pb", + "tier2": "qm", + "tier3": "semp" +} \ No newline at end of file diff --git a/docs/js/example/models_directory/gga.json b/docs/js/example/models_directory/gga.json new file mode 100644 index 000000000..4b7736545 --- /dev/null +++ b/docs/js/example/models_directory/gga.json @@ -0,0 +1,15 @@ +{ + "name": "PBE-D3 (SOC)", + "categories": { + "tier1": "pb", + "tier2": "qm", + "tier3": "dft", + "type": "ksdft", + "subtype": "gga" + }, + "parameters": { + "functional": "pbe", + "spinOrbitCoupling": true, + "dispersionCorrection": "DFT-D3" + } +} \ No newline at end of file diff --git a/docs/js/example/models_directory/gw.json b/docs/js/example/models_directory/gw.json new file mode 100644 index 000000000..2103ea246 --- /dev/null +++ b/docs/js/example/models_directory/gw.json @@ -0,0 +1,15 @@ +{ + "name": "G0W0@PBE (SOC)", + "categories": { + "tier1": "pb", + "tier2": "qm", + "tier3": "abin", + "type": "gw", + "subtype": "g0w0" + }, + "parameters": { + "functional": "pbe", + "require": "/pb/qm/dft/ksdft/gga", + "spinOrbitCoupling": true + } +} \ No newline at end of file diff --git a/docs/js/example/models_directory/hybrid.json b/docs/js/example/models_directory/hybrid.json new file mode 100644 index 000000000..f5a310e59 --- /dev/null +++ b/docs/js/example/models_directory/hybrid.json @@ -0,0 +1,15 @@ +{ + "name": "HSE06 (SOC)", + "categories": { + "tier1": "pb", + "tier2": "qm", + "tier3": "dft", + "type": "ksdft", + "subtype": "hybrid" + }, + "parameters": { + "functional": "hse06", + "spinOrbitCoupling": true, + "spinPolarization": "non-collinear" + } +} \ No newline at end of file diff --git a/docs/js/example/models_directory/lda.json b/docs/js/example/models_directory/lda.json new file mode 100644 index 000000000..f973acd5a --- /dev/null +++ b/docs/js/example/models_directory/lda.json @@ -0,0 +1,15 @@ +{ + "name": "PZ+U (magnetism)", + "categories": { + "tier1": "pb", + "tier2": "qm", + "tier3": "dft", + "type": "ksdft", + "subtype": "lda" + }, + "parameters": { + "functional": "pz", + "spinPolarization": "collinear", + "hubbardType": "U" + } +} \ No newline at end of file diff --git a/docs/js/example/models_directory/legacy/dft.json b/docs/js/example/models_directory/legacy/dft.json new file mode 100644 index 000000000..24d309a82 --- /dev/null +++ b/docs/js/example/models_directory/legacy/dft.json @@ -0,0 +1,12 @@ +{ + "type": "dft", + "subtype": "gga", + "functional": "pbe", + "method": { + "data": { + "pseudo": [] + }, + "subtype": "us", + "type": "pseudopotential" + } +} \ No newline at end of file diff --git a/docs/js/example/models_directory/legacy/ml.json b/docs/js/example/models_directory/legacy/ml.json new file mode 100644 index 000000000..4ad3c2ff5 --- /dev/null +++ b/docs/js/example/models_directory/legacy/ml.json @@ -0,0 +1,11 @@ +{ + "type": "ml", + "subtype": "re", + "method": { + "data": { + "pseudo": [] + }, + "subtype": "us", + "type": "pseudopotential" + } +} \ No newline at end of file diff --git a/docs/js/example/models_directory/legacy/unknown.json b/docs/js/example/models_directory/legacy/unknown.json new file mode 100644 index 000000000..6af9d8ff5 --- /dev/null +++ b/docs/js/example/models_directory/legacy/unknown.json @@ -0,0 +1,11 @@ +{ + "type": "unknown", + "subtype": "unknown", + "method": { + "data": { + "pseudo": [] + }, + "subtype": "us", + "type": "pseudopotential" + } +} \ No newline at end of file diff --git a/docs/js/example/models_directory/re.json b/docs/js/example/models_directory/re.json new file mode 100644 index 000000000..3c0dbc8da --- /dev/null +++ b/docs/js/example/models_directory/re.json @@ -0,0 +1,9 @@ +{ + "categories": { + "tier1": "st", + "tier2": "det", + "tier3": "ml", + "type": "re" + }, + "parameters": {} +} \ No newline at end of file diff --git a/docs/js/example/project.json b/docs/js/example/project.json new file mode 100644 index 000000000..54904ec2f --- /dev/null +++ b/docs/js/example/project.json @@ -0,0 +1,25 @@ +{ + "_id": "tvFyik5699io8khi8", + "chargeRate": { + "rate": 2 + }, + "createdAt": "2019-01-03T23:52:26.809Z", + "creator": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "User", + "slug": "exadmin" + }, + "description": "Default project", + "gid": 3000000, + "isDefault": true, + "name": "Default", + "owner": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Account", + "slug": "exabyte" + }, + "schemaVersion": "0.2.0", + "slug": "exadmin-default", + "tags": [], + "updatedAt": "2019-01-04T00:12:37.316Z" +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/electronic_configuration.json b/docs/js/example/properties_directory/electronic_configuration.json new file mode 100644 index 000000000..dfe219364 --- /dev/null +++ b/docs/js/example/properties_directory/electronic_configuration.json @@ -0,0 +1,4 @@ +{ + "charge": 0, + "multiplicity": 1 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/elemental/atomic_radius.json b/docs/js/example/properties_directory/elemental/atomic_radius.json new file mode 100644 index 000000000..5d144a763 --- /dev/null +++ b/docs/js/example/properties_directory/elemental/atomic_radius.json @@ -0,0 +1,4 @@ +{ + "name": "atomic_radius", + "value": 4 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/elemental/electronegativity.json b/docs/js/example/properties_directory/elemental/electronegativity.json new file mode 100644 index 000000000..a66763e08 --- /dev/null +++ b/docs/js/example/properties_directory/elemental/electronegativity.json @@ -0,0 +1,4 @@ +{ + "name": "electronegativity", + "value": 1.1 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/elemental/ionization_potential.json b/docs/js/example/properties_directory/elemental/ionization_potential.json new file mode 100644 index 000000000..69e639500 --- /dev/null +++ b/docs/js/example/properties_directory/elemental/ionization_potential.json @@ -0,0 +1,4 @@ +{ + "name": "ionization_potential", + "value": 7.7 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/non_scalar/band_gaps.json b/docs/js/example/properties_directory/non_scalar/band_gaps.json new file mode 100644 index 000000000..121862930 --- /dev/null +++ b/docs/js/example/properties_directory/non_scalar/band_gaps.json @@ -0,0 +1,25 @@ +{ + "name": "band_gaps", + "values": [ + { + "kpointConduction": [ + 0, + 0, + 0 + ], + "kpointValence": [ + 0, + 0, + 0 + ], + "type": "direct", + "units": "rydberg", + "value": 0.0947 + }, + { + "type": "indirect", + "units": "rydberg", + "value": 0 + } + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/non_scalar/band_structure.json b/docs/js/example/properties_directory/non_scalar/band_structure.json new file mode 100644 index 000000000..290569033 --- /dev/null +++ b/docs/js/example/properties_directory/non_scalar/band_structure.json @@ -0,0 +1,47 @@ +{ + "name": "band_structure", + "spin": [ + 0.5, + 0.5, + 0.5, + 0.5 + ], + "xAxis": { + "label": "kpoints", + "units": "crystal" + }, + "xDataArray": [ + [ + 0, + 0, + 0 + ], + [ + 0.5, + 0.5, + 0.5 + ] + ], + "yAxis": { + "label": "energy", + "units": "eV" + }, + "yDataSeries": [ + [ + 12.1, + 12.5 + ], + [ + 11.1, + 11.5 + ], + [ + 10.1, + 10.5 + ], + [ + 9.5, + 8.5 + ] + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/non_scalar/charge_density_profile.json b/docs/js/example/properties_directory/non_scalar/charge_density_profile.json new file mode 100644 index 000000000..32eaeaea7 --- /dev/null +++ b/docs/js/example/properties_directory/non_scalar/charge_density_profile.json @@ -0,0 +1,22 @@ +{ + "name": "charge_density_profile", + "xAxis": { + "label": "z coordinate" + }, + "xDataArray": [ + -4.89, + -4.78, + -4.67 + ], + "yAxis": { + "label": "charge density", + "units": "e/A" + }, + "yDataSeries": [ + [ + 2.3697, + 2.1422, + 2.0006 + ] + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/non_scalar/density_of_states.json b/docs/js/example/properties_directory/non_scalar/density_of_states.json new file mode 100644 index 000000000..a1751590d --- /dev/null +++ b/docs/js/example/properties_directory/non_scalar/density_of_states.json @@ -0,0 +1,55 @@ +{ + "legend": [ + { + "electronicState": "2s", + "element": "C", + "index": 1, + "spin": 0.5 + }, + { + "electronicState": "2p", + "element": "C", + "index": 2, + "spin": 0.5 + } + ], + "name": "density_of_states", + "xAxis": { + "label": "energy", + "units": "eV" + }, + "xDataArray": [ + [ + 0, + 0, + 0 + ], + [ + 0.5, + 0.5, + 0.5 + ] + ], + "yAxis": { + "label": "density of states", + "units": "states/unitcell" + }, + "yDataSeries": [ + [ + 12.1, + 12.5 + ], + [ + 11.1, + 11.5 + ], + [ + 10.1, + 10.5 + ], + [ + 9.5, + 8.5 + ] + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/non_scalar/dielectric_tensor.json b/docs/js/example/properties_directory/non_scalar/dielectric_tensor.json new file mode 100644 index 000000000..c7fb1c900 --- /dev/null +++ b/docs/js/example/properties_directory/non_scalar/dielectric_tensor.json @@ -0,0 +1,133 @@ +{ + "name": "dielectric_tensor", + "values": [ + { + "part": "real", + "spin": 0.5, + "frequencies": [ + 0, + 0.06012024, + 0.120240481, + 0.180360721 + ], + "components": [ + [ + 0, + 0, + 0 + ], + [ + 0.019862988, + 0.019862988, + 0.019862987 + ], + [ + 0.039813564, + 0.039813565, + 0.039813563 + ], + [ + 0.059940387, + 0.059940389, + 0.059940385 + ] + ] + }, + { + "part": "imaginary", + "spin": 0.5, + "frequencies": [ + 0, + 0.06012024, + 0.120240481, + 0.180360721 + ], + "components": [ + [ + 0, + 0, + 0 + ], + [ + 0.019862988, + 0.019862988, + 0.019862987 + ], + [ + 0.039813564, + 0.039813565, + 0.039813563 + ], + [ + 0.059940387, + 0.059940389, + 0.059940385 + ] + ] + }, + { + "part": "real", + "spin": -0.5, + "frequencies": [ + 0, + 0.06012024, + 0.120240481, + 0.180360721 + ], + "components": [ + [ + 0, + 0, + 0 + ], + [ + 0.019862988, + 0.019862988, + 0.019862987 + ], + [ + 0.039813564, + 0.039813565, + 0.039813563 + ], + [ + 0.059940387, + 0.059940389, + 0.059940385 + ] + ] + }, + { + "part": "imaginary", + "spin": -0.5, + "frequencies": [ + 0, + 0.06012024, + 0.120240481, + 0.180360721 + ], + "components": [ + [ + 0, + 0, + 0 + ], + [ + 0.019862988, + 0.019862988, + 0.019862987 + ], + [ + 0.039813564, + 0.039813565, + 0.039813563 + ], + [ + 0.059940387, + 0.059940389, + 0.059940385 + ] + ] + } + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/non_scalar/file_content.json b/docs/js/example/properties_directory/non_scalar/file_content.json new file mode 100644 index 000000000..5b7cf6a5f --- /dev/null +++ b/docs/js/example/properties_directory/non_scalar/file_content.json @@ -0,0 +1,13 @@ +{ + "name": "file_content", + "basename": "my_json.json", + "filetype": "text", + "objectData": { + "CONTAINER": "production-20160630-cluster-001", + "NAME": "/cluster-001-home/jrd101/data/jrd101-default/kernel-train-Cxmkj97aXKZeaRZov/Cxmkj97aXKZeaRZov.json", + "PROVIDER": "aws", + "REGION": "us-east-1", + "SIZE": 6582, + "TIMESTAMP": "1614217411" + } +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/non_scalar/hubbard_u.json b/docs/js/example/properties_directory/non_scalar/hubbard_u.json new file mode 100644 index 000000000..fbe70bca0 --- /dev/null +++ b/docs/js/example/properties_directory/non_scalar/hubbard_u.json @@ -0,0 +1,24 @@ +{ + "name": "hubbard_u", + "units": "eV", + "values": [ + { + "id": 1, + "atomicSpecies": "Co1", + "orbitalName": "3d", + "value": 6.7553 + }, + { + "id": 2, + "atomicSpecies": "Co2", + "orbitalName": "3d", + "value": 6.7553 + }, + { + "id": 3, + "atomicSpecies": "O", + "orbitalName": "3p", + "value": 2.2438 + } + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/non_scalar/hubbard_v.json b/docs/js/example/properties_directory/non_scalar/hubbard_v.json new file mode 100644 index 000000000..96c49a454 --- /dev/null +++ b/docs/js/example/properties_directory/non_scalar/hubbard_v.json @@ -0,0 +1,26 @@ +{ + "name": "hubbard_v", + "units": "eV", + "values": [ + { + "id": 1, + "atomicSpecies": "Co", + "orbitalName": "3d", + "id2": 1, + "atomicSpecies2": "Co", + "orbitalName2": "3d", + "distance": 0, + "value": 6.7553 + }, + { + "id": 1, + "atomicSpecies": "Co", + "orbitalName": "3d", + "id2": 2, + "atomicSpecies2": "O", + "orbitalName2": "3p", + "distance": 3.5423, + "value": 2.2438 + } + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/non_scalar/phonon_dispersions.json b/docs/js/example/properties_directory/non_scalar/phonon_dispersions.json new file mode 100644 index 000000000..240316c59 --- /dev/null +++ b/docs/js/example/properties_directory/non_scalar/phonon_dispersions.json @@ -0,0 +1,41 @@ +{ + "name": "phonon_dispersions", + "xAxis": { + "label": "qpoints", + "units": "crystal" + }, + "xDataArray": [ + [ + 0, + 0, + 0 + ], + [ + 0.5, + 0.05, + 0.05 + ] + ], + "yAxis": { + "label": "frequency", + "units": "cm-1" + }, + "yDataSeries": [ + [ + -0.000006, + -0.000006, + -0.000005, + 734.596987, + 734.618837, + 734.618837 + ], + [ + -6.859784, + -6.859784, + 36.443014, + 730.782803, + 731.143013, + 731.143013 + ] + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/non_scalar/phonon_dos.json b/docs/js/example/properties_directory/non_scalar/phonon_dos.json new file mode 100644 index 000000000..00c064923 --- /dev/null +++ b/docs/js/example/properties_directory/non_scalar/phonon_dos.json @@ -0,0 +1,37 @@ +{ + "name": "phonon_dos", + "xAxis": { + "label": "frequency", + "units": "cm-1" + }, + "xDataArray": [ + [ + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573 + ] + ], + "yAxis": { + "label": "Phonon DOS", + "units": "states/cm-1" + }, + "yDataSeries": [ + [ + 0.0001433, + 0.00011382, + 0.000087721, + 0.00006502, + 0.000045713, + 0.000029799, + 0.000017279, + 0.0000081527, + 0.0000024197 + ] + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/non_scalar/potential_profile.json b/docs/js/example/properties_directory/non_scalar/potential_profile.json new file mode 100644 index 000000000..ceeb8d6d2 --- /dev/null +++ b/docs/js/example/properties_directory/non_scalar/potential_profile.json @@ -0,0 +1,32 @@ +{ + "name": "potential_profile", + "xAxis": { + "label": "z coordinate" + }, + "xDataArray": [ + -4.89, + -4.78, + -4.67 + ], + "yAxis": { + "label": "energy", + "units": "eV" + }, + "yDataSeries": [ + [ + -6.5847438, + -7.0900648, + -7.5601238 + ], + [ + 6.4872255, + 8.2828137, + 10.1322914 + ], + [ + -0.0975183, + 1.192749, + 2.5721676 + ] + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/non_scalar/reaction_energy_profile.json b/docs/js/example/properties_directory/non_scalar/reaction_energy_profile.json new file mode 100644 index 000000000..4a3b59dbf --- /dev/null +++ b/docs/js/example/properties_directory/non_scalar/reaction_energy_profile.json @@ -0,0 +1,30 @@ +{ + "name": "reaction_energy_profile", + "xAxis": { + "label": "reaction coordinate" + }, + "xDataArray": [ + 0, + 0.1932731666, + 0.3596118308, + 0.4999998753, + 0.640387977, + 0.8067267116, + 1 + ], + "yAxis": { + "label": "energy", + "units": "eV" + }, + "yDataSeries": [ + [ + 0, + 0.0336637211, + 0.1282952413, + 0.2032895454, + 0.1282953846, + 0.0336637671, + -5.3e-9 + ] + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/non_scalar/stress_tensor.json b/docs/js/example/properties_directory/non_scalar/stress_tensor.json new file mode 100644 index 000000000..53120e9cd --- /dev/null +++ b/docs/js/example/properties_directory/non_scalar/stress_tensor.json @@ -0,0 +1,21 @@ +{ + "name": "stress_tensor", + "units": "kbar", + "value": [ + [ + 3, + 0, + 0 + ], + [ + 0, + 3, + 0 + ], + [ + 0, + 0, + 3 + ] + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/non_scalar/total_energy_contributions.json b/docs/js/example/properties_directory/non_scalar/total_energy_contributions.json new file mode 100644 index 000000000..7df6bfeed --- /dev/null +++ b/docs/js/example/properties_directory/non_scalar/total_energy_contributions.json @@ -0,0 +1,44 @@ +{ + "PAWDoubleCounting2": { + "name": "PAW_double-counting_correction_2", + "value": 12658.30538857 + }, + "PAWDoubleCounting3": { + "name": "PAW_double-counting_correction_3", + "value": -12074.85364512 + }, + "alphaZ": { + "name": "alphaZ", + "value": 1056.91493097 + }, + "atomicEnergy": { + "name": "atomic_energy", + "value": 15740.5725788 + }, + "eigenvalues": { + "name": "eigenvalues", + "value": -577.80127102 + }, + "ewald": { + "name": "ewald", + "value": 128376.45871064 + }, + "exchange": { + "name": "exchange", + "value": 0 + }, + "exchangeCorrelation": { + "name": "exchange_correlation", + "value": 41.63693035 + }, + "hartree": { + "name": "hartree", + "value": -145344.66902862 + }, + "name": "total_energy_contributions", + "temperatureEntropy": { + "name": "temperature_entropy", + "value": -0.00032545 + }, + "units": "eV" +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/non_scalar/vibrational_spectrum.json b/docs/js/example/properties_directory/non_scalar/vibrational_spectrum.json new file mode 100644 index 000000000..fc345a845 --- /dev/null +++ b/docs/js/example/properties_directory/non_scalar/vibrational_spectrum.json @@ -0,0 +1,25 @@ +{ + "name": "vibrational_spectrum", + "xAxis": { + "label": "wavenumber", + "units": "cm-1" + }, + "xDataArray": [ + [ + 1625.972, + 3631.832, + 3735.535 + ] + ], + "yAxis": { + "label": "Absorption coefficient", + "units": "km/mol" + }, + "yDataSeries": [ + [ + 46.681, + 1.139, + 14.281 + ] + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/scalar/electron_affinity.json b/docs/js/example/properties_directory/scalar/electron_affinity.json new file mode 100644 index 000000000..36f530892 --- /dev/null +++ b/docs/js/example/properties_directory/scalar/electron_affinity.json @@ -0,0 +1,5 @@ +{ + "name": "electron_affinity", + "units": "eV", + "value": 2.5 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/scalar/fermi_energy.json b/docs/js/example/properties_directory/scalar/fermi_energy.json new file mode 100644 index 000000000..e91a0f23a --- /dev/null +++ b/docs/js/example/properties_directory/scalar/fermi_energy.json @@ -0,0 +1,5 @@ +{ + "name": "fermi_energy", + "units": "eV", + "value": -1.2 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/scalar/formation_energy.json b/docs/js/example/properties_directory/scalar/formation_energy.json new file mode 100644 index 000000000..1921782de --- /dev/null +++ b/docs/js/example/properties_directory/scalar/formation_energy.json @@ -0,0 +1,5 @@ +{ + "name": "formation_energy", + "units": "eV", + "value": -123.43573079 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/scalar/ionization_potential.json b/docs/js/example/properties_directory/scalar/ionization_potential.json new file mode 100644 index 000000000..f2ac21aab --- /dev/null +++ b/docs/js/example/properties_directory/scalar/ionization_potential.json @@ -0,0 +1,5 @@ +{ + "name": "ionization_potential", + "units": "eV", + "value": 14 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/scalar/pressure.json b/docs/js/example/properties_directory/scalar/pressure.json new file mode 100644 index 000000000..a68ca0411 --- /dev/null +++ b/docs/js/example/properties_directory/scalar/pressure.json @@ -0,0 +1,5 @@ +{ + "name": "pressure", + "units": "kbar", + "value": -27.345 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/scalar/reaction_energy_barrier.json b/docs/js/example/properties_directory/scalar/reaction_energy_barrier.json new file mode 100644 index 000000000..d7b032882 --- /dev/null +++ b/docs/js/example/properties_directory/scalar/reaction_energy_barrier.json @@ -0,0 +1,5 @@ +{ + "name": "reaction_energy_barrier", + "units": "eV", + "value": -123.43573079 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/scalar/surface_energy.json b/docs/js/example/properties_directory/scalar/surface_energy.json new file mode 100644 index 000000000..4957598d7 --- /dev/null +++ b/docs/js/example/properties_directory/scalar/surface_energy.json @@ -0,0 +1,5 @@ +{ + "name": "surface_energy", + "units": "eV/A^2", + "value": 0.02 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/scalar/total_energy.json b/docs/js/example/properties_directory/scalar/total_energy.json new file mode 100644 index 000000000..363b9bde2 --- /dev/null +++ b/docs/js/example/properties_directory/scalar/total_energy.json @@ -0,0 +1,5 @@ +{ + "name": "total_energy", + "units": "eV", + "value": -123.43573079 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/scalar/total_force.json b/docs/js/example/properties_directory/scalar/total_force.json new file mode 100644 index 000000000..73129558c --- /dev/null +++ b/docs/js/example/properties_directory/scalar/total_force.json @@ -0,0 +1,5 @@ +{ + "name": "total_force", + "units": "eV/angstrom", + "value": 0.000001 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/scalar/valence_band_offset.json b/docs/js/example/properties_directory/scalar/valence_band_offset.json new file mode 100644 index 000000000..bd9d943f9 --- /dev/null +++ b/docs/js/example/properties_directory/scalar/valence_band_offset.json @@ -0,0 +1,5 @@ +{ + "name": "valence_band_offset", + "units": "eV", + "value": 0.245 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/scalar/zero_point_energy.json b/docs/js/example/properties_directory/scalar/zero_point_energy.json new file mode 100644 index 000000000..31b2c24a7 --- /dev/null +++ b/docs/js/example/properties_directory/scalar/zero_point_energy.json @@ -0,0 +1,5 @@ +{ + "name": "zero_point_energy", + "units": "eV", + "value": -123.43573079 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/atomic_forces.json b/docs/js/example/properties_directory/structural/atomic_forces.json new file mode 100644 index 000000000..00581bf14 --- /dev/null +++ b/docs/js/example/properties_directory/structural/atomic_forces.json @@ -0,0 +1,22 @@ +{ + "name": "atomic_forces", + "units": "eV/bohr", + "values": [ + { + "id": 1, + "value": [ + -3.9e-7, + -2.4e-7, + 0 + ] + }, + { + "id": 2, + "value": [ + 3.9e-7, + 2.4e-7, + 0 + ] + } + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/basis.json b/docs/js/example/properties_directory/structural/basis.json new file mode 100644 index 000000000..a141eac4c --- /dev/null +++ b/docs/js/example/properties_directory/structural/basis.json @@ -0,0 +1,46 @@ +{ + "bonds": [ + { + "0": { + "atomPair": [ + { + "id": 1 + }, + { + "id": 2 + } + ], + "bondType": "single" + }, + "1": { + "atomPair": [ + { + "id": 3 + }, + { + "id": 4 + } + ], + "bondType": "double" + } + } + ], + "coordinates": [ + { + "id": 1, + "value": [ + 0, + 0, + 0 + ] + } + ], + "elements": [ + { + "id": 1, + "value": "Si" + } + ], + "name": "basis", + "units": "crystal" +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/basis/atomic_constraints.json b/docs/js/example/properties_directory/structural/basis/atomic_constraints.json new file mode 100644 index 000000000..4cdd06186 --- /dev/null +++ b/docs/js/example/properties_directory/structural/basis/atomic_constraints.json @@ -0,0 +1,21 @@ +{ + "name": "atomic_constraints", + "values": [ + { + "id": 1, + "value": [ + true, + false, + true + ] + }, + { + "id": 2, + "value": [ + false, + false, + true + ] + } + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/basis/atomic_coordinate.json b/docs/js/example/properties_directory/structural/basis/atomic_coordinate.json new file mode 100644 index 000000000..d01f5516d --- /dev/null +++ b/docs/js/example/properties_directory/structural/basis/atomic_coordinate.json @@ -0,0 +1,8 @@ +{ + "id": 1, + "value": [ + 0, + 0, + 0 + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/basis/atomic_coordinates.json b/docs/js/example/properties_directory/structural/basis/atomic_coordinates.json new file mode 100644 index 000000000..6bcc7eb97 --- /dev/null +++ b/docs/js/example/properties_directory/structural/basis/atomic_coordinates.json @@ -0,0 +1,21 @@ +{ + "name": "atomic_coordinates", + "values": [ + { + "id": 1, + "value": [ + 0, + 0, + 0 + ] + }, + { + "id": 2, + "value": [ + 0.25, + 0.25, + 0.25 + ] + } + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/basis/atomic_element.json b/docs/js/example/properties_directory/structural/basis/atomic_element.json new file mode 100644 index 000000000..89e553adb --- /dev/null +++ b/docs/js/example/properties_directory/structural/basis/atomic_element.json @@ -0,0 +1,4 @@ +{ + "id": 1, + "value": "Si" +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/basis/bonds.json b/docs/js/example/properties_directory/structural/basis/bonds.json new file mode 100644 index 000000000..c6b2d4b19 --- /dev/null +++ b/docs/js/example/properties_directory/structural/basis/bonds.json @@ -0,0 +1,24 @@ +[ + { + "atomPair": [ + { + "id": 1 + }, + { + "id": 2 + } + ], + "bondType": "single" + }, + { + "atomPair": [ + { + "id": 3 + }, + { + "id": 4 + } + ], + "bondType": "double" + } +] \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/density.json b/docs/js/example/properties_directory/structural/density.json new file mode 100644 index 000000000..96bc0ecfe --- /dev/null +++ b/docs/js/example/properties_directory/structural/density.json @@ -0,0 +1,5 @@ +{ + "name": "density", + "units": "g/cm^3", + "value": 2.33 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/elemental_ratio.json b/docs/js/example/properties_directory/structural/elemental_ratio.json new file mode 100644 index 000000000..4bc252d44 --- /dev/null +++ b/docs/js/example/properties_directory/structural/elemental_ratio.json @@ -0,0 +1,5 @@ +{ + "element": "Si", + "name": "elemental_ratio", + "value": 0.71 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/inchi.json b/docs/js/example/properties_directory/structural/inchi.json new file mode 100644 index 000000000..0315fbf75 --- /dev/null +++ b/docs/js/example/properties_directory/structural/inchi.json @@ -0,0 +1,4 @@ +{ + "name": "inchi", + "value": "1S/C6H6/c1-2-4-6-5-3-1/h1-6H" +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/inchi_key.json b/docs/js/example/properties_directory/structural/inchi_key.json new file mode 100644 index 000000000..e4d04abc9 --- /dev/null +++ b/docs/js/example/properties_directory/structural/inchi_key.json @@ -0,0 +1,4 @@ +{ + "name": "inchi_key", + "value": "UHOVQNZJYSORNB-UHFFFAOYSA-N" +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/lattice.json b/docs/js/example/properties_directory/structural/lattice.json new file mode 100644 index 000000000..7f8470c85 --- /dev/null +++ b/docs/js/example/properties_directory/structural/lattice.json @@ -0,0 +1,33 @@ +{ + "name": "lattice", + "vectors": { + "a": [ + 5, + 0.000121312, + 0.000131415 + ], + "alat": 1, + "b": [ + 0.000121312, + 5, + 0.000121314 + ], + "c": [ + 0.000121313, + 0.000121312, + 5 + ], + "units": "angstrom" + }, + "a": 5.14, + "alpha": 90, + "b": 5.14, + "beta": 90, + "c": 5.14, + "gamma": 90, + "type": "CUB", + "units": { + "angle": "degree", + "length": "angstrom" + } +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/lattice/lattice_bravais.json b/docs/js/example/properties_directory/structural/lattice/lattice_bravais.json new file mode 100644 index 000000000..3da6ec646 --- /dev/null +++ b/docs/js/example/properties_directory/structural/lattice/lattice_bravais.json @@ -0,0 +1,13 @@ +{ + "a": 5.14, + "alpha": 90, + "b": 5.14, + "beta": 90, + "c": 5.14, + "gamma": 90, + "type": "CUB", + "units": { + "angle": "degree", + "length": "angstrom" + } +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/lattice/lattice_vectors.json b/docs/js/example/properties_directory/structural/lattice/lattice_vectors.json new file mode 100644 index 000000000..096af313f --- /dev/null +++ b/docs/js/example/properties_directory/structural/lattice/lattice_vectors.json @@ -0,0 +1,19 @@ +{ + "a": [ + 5, + 0.000121312, + 0.000131415 + ], + "alat": 1, + "b": [ + 0.000121312, + 5, + 0.000121314 + ], + "c": [ + 0.000121313, + 0.000121312, + 5 + ], + "units": "angstrom" +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/magnetic_moments.json b/docs/js/example/properties_directory/structural/magnetic_moments.json new file mode 100644 index 000000000..989d55490 --- /dev/null +++ b/docs/js/example/properties_directory/structural/magnetic_moments.json @@ -0,0 +1,22 @@ +{ + "name": "magnetic_moments", + "units": "uB", + "values": [ + { + "id": 1, + "value": [ + 0, + 0, + 1.235 + ] + }, + { + "id": 2, + "value": [ + 0, + 0, + -1.235 + ] + } + ] +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/molecular_pattern.json b/docs/js/example/properties_directory/structural/molecular_pattern.json new file mode 100644 index 000000000..e77f9ec42 --- /dev/null +++ b/docs/js/example/properties_directory/structural/molecular_pattern.json @@ -0,0 +1,71 @@ +[ + { + "SMARTS": "[O&D1]-C(=O)[#6X3]", + "atoms": [ + { + "id": 1, + "isConnector": false + }, + { + "id": 2, + "isConnector": false + }, + { + "id": 3, + "isConnector": false + }, + { + "id": 4, + "isConnector": true + } + ], + "name": "functional_group" + }, + { + "atoms": [ + { + "id": 1, + "isConnector": true + }, + { + "id": 2, + "isConnector": false + }, + { + "id": 3, + "isConnector": true + } + ], + "name": "special_bond" + }, + { + "atoms": [ + { + "id": 1, + "isConnector": false + }, + { + "id": 2, + "isConnector": false + }, + { + "id": 3, + "isConnector": false + }, + { + "id": 4, + "isConnector": false + }, + { + "id": 5, + "isConnector": false + }, + { + "id": 6, + "isConnector": true + } + ], + "isAromatic": true, + "name": "ring" + } +] \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/p_norm.json b/docs/js/example/properties_directory/structural/p_norm.json new file mode 100644 index 000000000..c2b164393 --- /dev/null +++ b/docs/js/example/properties_directory/structural/p_norm.json @@ -0,0 +1,5 @@ +{ + "degree": 10, + "name": "p-norm", + "value": 0.71 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/symmetry.json b/docs/js/example/properties_directory/structural/symmetry.json new file mode 100644 index 000000000..887b6b979 --- /dev/null +++ b/docs/js/example/properties_directory/structural/symmetry.json @@ -0,0 +1,9 @@ +{ + "name": "symmetry", + "pointGroupSymbol": "C2v", + "spaceGroupSymbol": "Fd-3m", + "tolerance": { + "units": "angstrom", + "value": 0.3 + } +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/structural/volume.json b/docs/js/example/properties_directory/structural/volume.json new file mode 100644 index 000000000..654d3e4ca --- /dev/null +++ b/docs/js/example/properties_directory/structural/volume.json @@ -0,0 +1,5 @@ +{ + "name": "volume", + "units": "angstrom^3", + "value": 131.1 +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/workflow/convergence/electronic.json b/docs/js/example/properties_directory/workflow/convergence/electronic.json new file mode 100644 index 000000000..47dfa5ce3 --- /dev/null +++ b/docs/js/example/properties_directory/workflow/convergence/electronic.json @@ -0,0 +1,15 @@ +{ + "data": [ + [ + -123.45678, + -12.345678, + -1.2345678, + -0.1234567, + -0.0123456, + -0.0012345, + -0.0001234 + ] + ], + "tolerance": 0.001, + "units": "rydberg" +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/workflow/convergence/ionic.json b/docs/js/example/properties_directory/workflow/convergence/ionic.json new file mode 100644 index 000000000..4c714a789 --- /dev/null +++ b/docs/js/example/properties_directory/workflow/convergence/ionic.json @@ -0,0 +1,20 @@ +{ + "data": [ + { + "electronic": { + "data": [ + 0.10303193, + 0.04365779, + 0.00051472, + 0.00007496, + 0.00000309, + 5.6e-7 + ], + "units": "eV" + }, + "energy": -123.45678 + } + ], + "tolerance": 0.001, + "units": "eV" +} \ No newline at end of file diff --git a/docs/js/example/properties_directory/workflow/convergence/kpoint.json b/docs/js/example/properties_directory/workflow/convergence/kpoint.json new file mode 100644 index 000000000..2b227272d --- /dev/null +++ b/docs/js/example/properties_directory/workflow/convergence/kpoint.json @@ -0,0 +1,22 @@ +{ + "data": [ + { + "grid": { + "dimensions": [ + 1, + 1, + 1 + ], + "shifts": [ + 0, + 0, + 0 + ] + }, + "value": "-123.45678" + } + ], + "property": "total_energy", + "tolerance": 0.001, + "units": "eV" +} \ No newline at end of file diff --git a/docs/js/example/property/base.json b/docs/js/example/property/base.json new file mode 100644 index 000000000..b024a89fb --- /dev/null +++ b/docs/js/example/property/base.json @@ -0,0 +1,31 @@ +{ + "_id": "K3McGkqXh28HJ775m", + "createdAt": "2018-11-19 06:41:46.877Z", + "creator": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "User", + "slug": "exadmin" + }, + "data": { + "name": "pressure", + "units": "kbar", + "value": -149.03 + }, + "group": "qe:dft:gga:pbe", + "owner": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Account", + "slug": "exabyte" + }, + "schemaVersion": "0.2.0", + "slug": "pressure", + "source": { + "_id": "nDAavgjrT5ezwFgod", + "owner": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Account", + "slug": "exabyte" + }, + "title": "My Calculation" + } +} \ No newline at end of file diff --git a/docs/js/example/software/application.json b/docs/js/example/software/application.json new file mode 100644 index 000000000..067dd5610 --- /dev/null +++ b/docs/js/example/software/application.json @@ -0,0 +1,7 @@ +{ + "name": "espresso", + "shortName": "qe", + "summary": "Quantum Espresso", + "version": "5.1.1", + "hasAdvancedComputeOptions": true +} \ No newline at end of file diff --git a/docs/js/example/software/executable.json b/docs/js/example/software/executable.json new file mode 100644 index 000000000..1e030a682 --- /dev/null +++ b/docs/js/example/software/executable.json @@ -0,0 +1,20 @@ +{ + "advancedComputeOptions": true, + "applicationId": [ + "eaJepm4AWfqpaCw59" + ], + "isDefault": true, + "monitors": [ + { + "name": "standard_output" + } + ], + "name": "pw.x", + "postProcessors": [], + "preProcessors": [], + "results": [ + { + "name": "atomic_forces" + } + ] +} \ No newline at end of file diff --git a/docs/js/example/software/flavor.json b/docs/js/example/software/flavor.json new file mode 100644 index 000000000..1798f9caf --- /dev/null +++ b/docs/js/example/software/flavor.json @@ -0,0 +1,9 @@ +{ + "executableId": "4987JFJ3kKbwvFSG7", + "input": [ + { + "templateId": "dJ7HYz5pQ4AuN5qc9" + } + ], + "name": "pw_scf" +} \ No newline at end of file diff --git a/docs/js/example/software/template.json b/docs/js/example/software/template.json new file mode 100644 index 000000000..7f0ddcde3 --- /dev/null +++ b/docs/js/example/software/template.json @@ -0,0 +1,14 @@ +{ + "applicationName": "espresso", + "applicationVersions": [ + "6.0" + ], + "content": "K_POINTS automatic\n{{nkx}} {{nky}} {{nkz}} 0 0 0", + "contextProviders": [ + { + "name": "KGridManagerMixin" + } + ], + "executableName": "pw.x", + "name": "kpoints_grid" +} \ No newline at end of file diff --git a/docs/js/example/software_directory/ml/exabyteml.json b/docs/js/example/software_directory/ml/exabyteml.json new file mode 100644 index 000000000..c41893c33 --- /dev/null +++ b/docs/js/example/software_directory/ml/exabyteml.json @@ -0,0 +1,6 @@ +{ + "name": "exabyteml", + "shortName": "ml", + "summary": "exabyte machine learning engine", + "version": "0.2.0" +} \ No newline at end of file diff --git a/docs/js/example/software_directory/ml/unit/execution/evaluate/cross_validate.json b/docs/js/example/software_directory/ml/unit/execution/evaluate/cross_validate.json new file mode 100644 index 000000000..7a59755f3 --- /dev/null +++ b/docs/js/example/software_directory/ml/unit/execution/evaluate/cross_validate.json @@ -0,0 +1,20 @@ +{ + "application": { + "name": "exabyteml", + "shortName": "ml", + "summary": "exabyte machine learning engine", + "version": "0.2.0" + }, + "flavor": { + "executableId": "4987JFJ3kKbwvFSG7", + "name": "cross-validate" + }, + "flowchartId": "evaluate", + "head": true, + "input": { + "nSplits": 3 + }, + "name": "evaluate", + "status": "idle", + "type": "execution" +} \ No newline at end of file diff --git a/docs/js/example/software_directory/ml/unit/execution/initialize.json b/docs/js/example/software_directory/ml/unit/execution/initialize.json new file mode 100644 index 000000000..cf036ed20 --- /dev/null +++ b/docs/js/example/software_directory/ml/unit/execution/initialize.json @@ -0,0 +1,23 @@ +{ + "application": { + "name": "exabyteml", + "shortName": "ml", + "summary": "exabyte machine learning engine", + "version": "0.2.0" + }, + "flavor": { + "executableId": "4987JFJ3kKbwvFSG7", + "name": "initialize" + }, + "flowchartId": "initialize", + "head": true, + "input": { + "targets": [ + "band_gaps:indirect", + "band_gaps:direct" + ] + }, + "name": "initialize", + "status": "idle", + "type": "execution" +} \ No newline at end of file diff --git a/docs/js/example/software_directory/ml/unit/execution/score.json b/docs/js/example/software_directory/ml/unit/execution/score.json new file mode 100644 index 000000000..caff95fa6 --- /dev/null +++ b/docs/js/example/software_directory/ml/unit/execution/score.json @@ -0,0 +1,18 @@ +{ + "application": { + "name": "exabyteml", + "shortName": "ml", + "summary": "exabyte machine learning engine", + "version": "0.2.0" + }, + "flavor": { + "executableId": "4987JFJ3kKbwvFSG7", + "name": "score" + }, + "flowchartId": "score", + "head": true, + "input": {}, + "name": "score", + "status": "idle", + "type": "execution" +} \ No newline at end of file diff --git a/docs/js/example/software_directory/ml/unit/execution/train.json b/docs/js/example/software_directory/ml/unit/execution/train.json new file mode 100644 index 000000000..9292012a0 --- /dev/null +++ b/docs/js/example/software_directory/ml/unit/execution/train.json @@ -0,0 +1,29 @@ +{ + "application": { + "name": "exabyteml", + "shortName": "ml", + "summary": "exabyte machine learning engine", + "version": "0.2.0" + }, + "flavor": { + "executableId": "4987JFJ3kKbwvFSG7", + "name": "train" + }, + "flowchartId": "train", + "head": true, + "input": { + "features": [ + "elemental_ratio:Si", + "elemental_ratio:Ge", + "ionization_potential:Ge", + "ionization_potential:Si" + ], + "targets": [ + "band_gaps:indirect", + "band_gaps:direct" + ] + }, + "name": "train", + "status": "idle", + "type": "execution" +} \ No newline at end of file diff --git a/docs/js/example/software_directory/ml/unit/processing/data_transformation/manipulation.json b/docs/js/example/software_directory/ml/unit/processing/data_transformation/manipulation.json new file mode 100644 index 000000000..c6fe806a8 --- /dev/null +++ b/docs/js/example/software_directory/ml/unit/processing/data_transformation/manipulation.json @@ -0,0 +1,14 @@ +{ + "flowchartId": "data_transformation", + "head": true, + "inputData": { + "cleanMissingData": true, + "removeDuplicateRows": true, + "replaceNoneValuesWith": 0 + }, + "name": "data_transformation", + "operation": "data_transformation", + "operationType": "manipulation", + "status": "idle", + "type": "processing" +} \ No newline at end of file diff --git a/docs/js/example/software_directory/ml/unit/processing/data_transformation/scale_and_reduce.json b/docs/js/example/software_directory/ml/unit/processing/data_transformation/scale_and_reduce.json new file mode 100644 index 000000000..bb5757ea0 --- /dev/null +++ b/docs/js/example/software_directory/ml/unit/processing/data_transformation/scale_and_reduce.json @@ -0,0 +1,26 @@ +{ + "flowchartId": "data_transformation", + "head": true, + "inputData": { + "perFeature": [ + { + "mean": 0.156, + "name": "atomic_radius:Ge", + "scale": 1.5, + "variance": 0.1 + }, + { + "mean": 0.155, + "name": "atomic_radius:Si", + "scale": 1.4, + "variance": 0.11 + } + ], + "scaler": "standard_scaler" + }, + "name": "data_transformation", + "operation": "data_transformation", + "operationType": "scale_and_reduce", + "status": "idle", + "type": "processing" +} \ No newline at end of file diff --git a/docs/js/example/software_directory/ml/unit/processing/feature_selection/filter_based.json b/docs/js/example/software_directory/ml/unit/processing/feature_selection/filter_based.json new file mode 100644 index 000000000..890b280fc --- /dev/null +++ b/docs/js/example/software_directory/ml/unit/processing/feature_selection/filter_based.json @@ -0,0 +1,13 @@ +{ + "flowchartId": "feature_selection", + "head": true, + "inputData": { + "algorithm": "f_regression", + "nFeatures": 100 + }, + "name": "feature_selection", + "operation": "feature_selection", + "operationType": "filter_based", + "status": "idle", + "type": "processing" +} \ No newline at end of file diff --git a/docs/js/example/software_directory/modeling/espresso.json b/docs/js/example/software_directory/modeling/espresso.json new file mode 100644 index 000000000..425242ef5 --- /dev/null +++ b/docs/js/example/software_directory/modeling/espresso.json @@ -0,0 +1,6 @@ +{ + "name": "espresso", + "shortName": "qe", + "summary": "Quantum Espresso", + "version": "5.1.1" +} \ No newline at end of file diff --git a/docs/js/example/software_directory/modeling/espresso/arguments.json b/docs/js/example/software_directory/modeling/espresso/arguments.json new file mode 100644 index 000000000..c874ef648 --- /dev/null +++ b/docs/js/example/software_directory/modeling/espresso/arguments.json @@ -0,0 +1,5 @@ +{ + "nband": 1, + "npools": 1, + "ntg": 1 +} \ No newline at end of file diff --git a/docs/js/example/software_directory/modeling/nwchem.json b/docs/js/example/software_directory/modeling/nwchem.json new file mode 100644 index 000000000..0d3cae909 --- /dev/null +++ b/docs/js/example/software_directory/modeling/nwchem.json @@ -0,0 +1,6 @@ +{ + "name": "NWChem", + "summary": "NWChem: a comprehensive and scalable open-source solution for large scale molecular simulations", + "version": "6.6", + "exec": "nwchem" +} \ No newline at end of file diff --git a/docs/js/example/software_directory/modeling/unit/execution.json b/docs/js/example/software_directory/modeling/unit/execution.json new file mode 100644 index 000000000..02cf7ba54 --- /dev/null +++ b/docs/js/example/software_directory/modeling/unit/execution.json @@ -0,0 +1,19 @@ +{ + "application": { + "name": "espresso", + "shortName": "qe", + "summary": "Quantum Espresso", + "version": "5.1.1" + }, + "flowchartId": "modeling", + "head": true, + "input": [ + { + "content": "K_POINTS automatic\n2 2 2 0 0 0", + "name": "pw_scf.in" + } + ], + "name": "modeling", + "status": "idle", + "type": "execution" +} \ No newline at end of file diff --git a/docs/js/example/software_directory/modeling/vasp.json b/docs/js/example/software_directory/modeling/vasp.json new file mode 100644 index 000000000..e930c1e91 --- /dev/null +++ b/docs/js/example/software_directory/modeling/vasp.json @@ -0,0 +1,6 @@ +{ + "name": "vasp", + "shortName": "vasp", + "summary": "vienna ab-initio simulation package", + "version": "5.3.5" +} \ No newline at end of file diff --git a/docs/js/example/software_directory/scripting/jupyter_lab.json b/docs/js/example/software_directory/scripting/jupyter_lab.json new file mode 100644 index 000000000..835748ef4 --- /dev/null +++ b/docs/js/example/software_directory/scripting/jupyter_lab.json @@ -0,0 +1,8 @@ +{ + "exec": "jupyter", + "flavor": "notebook", + "name": "jupyterLab", + "shortName": "jl", + "summary": "Jupyter Lab", + "version": "0.33.12" +} \ No newline at end of file diff --git a/docs/js/example/software_directory/scripting/python.json b/docs/js/example/software_directory/scripting/python.json new file mode 100644 index 000000000..69d7be4c7 --- /dev/null +++ b/docs/js/example/software_directory/scripting/python.json @@ -0,0 +1,8 @@ +{ + "exec": "python", + "flavor": "python2", + "name": "python", + "shortName": "py", + "summary": "Python Script", + "version": "2.7.5" +} \ No newline at end of file diff --git a/docs/js/example/software_directory/scripting/shell.json b/docs/js/example/software_directory/scripting/shell.json new file mode 100644 index 000000000..09afef18f --- /dev/null +++ b/docs/js/example/software_directory/scripting/shell.json @@ -0,0 +1,8 @@ +{ + "exec": "sh", + "flavor": "sh", + "name": "shell", + "shortName": "sh", + "summary": "Shell Script", + "version": "4.2.46" +} \ No newline at end of file diff --git a/docs/js/example/software_directory/scripting/unit/execution.json b/docs/js/example/software_directory/scripting/unit/execution.json new file mode 100644 index 000000000..600437616 --- /dev/null +++ b/docs/js/example/software_directory/scripting/unit/execution.json @@ -0,0 +1,22 @@ +{ + "application": { + "exec": "python", + "flavor": "python2", + "name": "python", + "shortName": "py", + "summary": "Python Script", + "version": "2.7.5" + }, + "compute": null, + "flowchartId": "scripting", + "head": true, + "input": [ + { + "content": "print('Hello World!')", + "name": "script.py" + } + ], + "name": "scripting", + "status": "idle", + "type": "execution" +} \ No newline at end of file diff --git a/docs/js/example/system/_material.json b/docs/js/example/system/_material.json new file mode 100644 index 000000000..4aff05898 --- /dev/null +++ b/docs/js/example/system/_material.json @@ -0,0 +1,5 @@ +{ + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Material", + "slug": "silicon-fcc" +} \ No newline at end of file diff --git a/docs/js/example/system/_parent_job.json b/docs/js/example/system/_parent_job.json new file mode 100644 index 000000000..10aedf4ce --- /dev/null +++ b/docs/js/example/system/_parent_job.json @@ -0,0 +1,5 @@ +{ + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Job", + "slug": "parent-job" +} \ No newline at end of file diff --git a/docs/js/example/system/_project.json b/docs/js/example/system/_project.json new file mode 100644 index 000000000..e7e6ee2fd --- /dev/null +++ b/docs/js/example/system/_project.json @@ -0,0 +1,5 @@ +{ + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Project", + "slug": "project-default" +} \ No newline at end of file diff --git a/docs/js/example/system/consistency_check.json b/docs/js/example/system/consistency_check.json new file mode 100644 index 000000000..bb98d1490 --- /dev/null +++ b/docs/js/example/system/consistency_check.json @@ -0,0 +1,6 @@ +{ + "key": "basis.coordinates.0", + "name": "atomsTooClose", + "severity": "warning", + "message": "Atom 0 is too close to atom X" +} \ No newline at end of file diff --git a/docs/js/example/system/creator.json b/docs/js/example/system/creator.json new file mode 100644 index 000000000..297aa04eb --- /dev/null +++ b/docs/js/example/system/creator.json @@ -0,0 +1,5 @@ +{ + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "User", + "slug": "exadmin" +} \ No newline at end of file diff --git a/docs/js/example/system/entity_reference.json b/docs/js/example/system/entity_reference.json new file mode 100644 index 000000000..755feb70b --- /dev/null +++ b/docs/js/example/system/entity_reference.json @@ -0,0 +1,5 @@ +{ + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Class", + "slug": "Slug" +} \ No newline at end of file diff --git a/docs/js/example/system/file_source.json b/docs/js/example/system/file_source.json new file mode 100644 index 000000000..7fc45cc65 --- /dev/null +++ b/docs/js/example/system/file_source.json @@ -0,0 +1,6 @@ +{ + "extension": "poscar", + "filename": "POSCAR.mp-546794_SiO2.poscar", + "text": "Si4 O8\n1.0\n5.073173 0.000000 0.000000\n0.000000 5.073173 0.000000\n0.000000 0.000000 7.359653\nSi O\n4 8\ndirect\n0.000000 0.500000 0.250000 Si\n0.500000 0.500000 0.500000 Si\n0.500000 0.000000 0.750000 Si\n0.000000 0.000000 0.000000 Si\n0.750000 0.584672 0.375000 O\n0.915328 0.250000 0.125000 O\n0.084672 0.750000 0.125000 O\n0.250000 0.415328 0.375000 O\n0.250000 0.084672 0.875000 O\n0.415328 0.750000 0.625000 O\n0.584672 0.250000 0.625000 O\n0.750000 0.915328 0.875000 O", + "hash": "fce4c03798763a9ed8bf64d762c7fbfd" +} \ No newline at end of file diff --git a/docs/js/example/system/message.json b/docs/js/example/system/message.json new file mode 100644 index 000000000..210e42477 --- /dev/null +++ b/docs/js/example/system/message.json @@ -0,0 +1,16 @@ +{ + "header": { + "entity": { + "_id": "FPjAaKfuYAL7tiHbm", + "flowchartId": "pw_scf", + "name": "unit" + }, + "timestamp": 1234923492.12, + "version": "0.2.0" + }, + "payload": { + "name": "total_energy", + "units": "eV", + "value": -123.43573079 + } +} \ No newline at end of file diff --git a/docs/js/example/system/owner.json b/docs/js/example/system/owner.json new file mode 100644 index 000000000..959c4fc80 --- /dev/null +++ b/docs/js/example/system/owner.json @@ -0,0 +1,5 @@ +{ + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Account", + "slug": "exabyte" +} \ No newline at end of file diff --git a/docs/js/example/workflow.json b/docs/js/example/workflow.json new file mode 100644 index 000000000..26559c2df --- /dev/null +++ b/docs/js/example/workflow.json @@ -0,0 +1,72 @@ +{ + "_id": "FPjAaKfuYAL7tiHbm", + "createdAt": "2018-11-19 06:41:46.877Z", + "creator": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "User", + "slug": "exadmin" + }, + "exabyteId": "qKtTzu9utCo6ac4n7", + "hash": "f4fd707d2e47c15f8d786cf159040954", + "isDefault": true, + "name": "workflow", + "owner": { + "_id": "HtxACY2wX4b2hS8Rv", + "cls": "Account", + "slug": "exabyte" + }, + "properties": [ + "band_structure" + ], + "schemaVersion": "0.2.0", + "slug": "workflow", + "subworkflows": [ + { + "_id": "LCthJ6E2QabYCZqf4", + "application": { + "name": "espresso", + "shortName": "qe", + "summary": "Quantum Espresso", + "version": "5.1.1", + "hasAdvancedComputeOptions": true + }, + "model": { + "method": { + "data": { + "pseudo": [] + }, + "subtype": "us", + "type": "pseudopotential" + }, + "subtype": "gga", + "type": "dft" + }, + "name": "Band Structure", + "properties": [ + "band_structure" + ], + "units": [ + { + "flowchartId": "pw-scf", + "head": true, + "name": "pw_scf", + "status": "idle", + "type": "execution", + "tags": [ + "test-tags" + ] + } + ] + } + ], + "tags": [ + "workflow" + ], + "units": [ + { + "_id": "LCthJ6E2QabYCZqf4", + "flowchartId": "05c362dc27ff1bb98d16fd60", + "type": "subworkflow" + } + ] +} \ No newline at end of file diff --git a/docs/js/example/workflow/subworkflow.json b/docs/js/example/workflow/subworkflow.json new file mode 100644 index 000000000..40a772b1a --- /dev/null +++ b/docs/js/example/workflow/subworkflow.json @@ -0,0 +1,37 @@ +{ + "_id": "LCthJ6E2QabYCZqf4", + "application": { + "name": "espresso", + "shortName": "qe", + "summary": "Quantum Espresso", + "version": "5.1.1", + "hasAdvancedComputeOptions": true + }, + "model": { + "method": { + "data": { + "pseudo": [] + }, + "subtype": "us", + "type": "pseudopotential" + }, + "subtype": "gga", + "type": "dft" + }, + "name": "Band Structure", + "properties": [ + "band_structure" + ], + "units": [ + { + "flowchartId": "pw-scf", + "head": true, + "name": "pw_scf", + "status": "idle", + "type": "execution", + "tags": [ + "test-tags" + ] + } + ] +} \ No newline at end of file diff --git a/docs/js/example/workflow/unit.json b/docs/js/example/workflow/unit.json new file mode 100644 index 000000000..71a5fdbdc --- /dev/null +++ b/docs/js/example/workflow/unit.json @@ -0,0 +1,10 @@ +{ + "flowchartId": "pw-scf", + "head": true, + "name": "pw_scf", + "status": "idle", + "type": "execution", + "tags": [ + "test-tags" + ] +} \ No newline at end of file diff --git a/docs/js/example/workflow/unit/assignment.json b/docs/js/example/workflow/unit/assignment.json new file mode 100644 index 000000000..f42d4229e --- /dev/null +++ b/docs/js/example/workflow/unit/assignment.json @@ -0,0 +1,19 @@ +{ + "flowchartId": "assignment", + "head": true, + "input": [ + { + "name": "N_K_x", + "scope": "global" + }, + { + "name": "N_K_y", + "scope": "global" + } + ], + "name": "assignment", + "operand": "N_K_x", + "status": "idle", + "type": "assignment", + "value": "N_K_x+N_K_y+1" +} \ No newline at end of file diff --git a/docs/js/example/workflow/unit/condition.json b/docs/js/example/workflow/unit/condition.json new file mode 100644 index 000000000..84d3d782a --- /dev/null +++ b/docs/js/example/workflow/unit/condition.json @@ -0,0 +1,22 @@ +{ + "else": "sample_id_6", + "flowchartId": "condition", + "head": true, + "input": [ + { + "name": "x", + "scope": "global" + }, + { + "name": "total_energy", + "scope": "sample_id_2" + } + ], + "maxOccurrences": 100, + "name": "condition", + "statement": "abs(x-total_energy) < 1e-5", + "status": "idle", + "then": "sample_id_4", + "throwException": true, + "type": "condition" +} \ No newline at end of file diff --git a/docs/js/example/workflow/unit/execution.json b/docs/js/example/workflow/unit/execution.json new file mode 100644 index 000000000..b481cd2fd --- /dev/null +++ b/docs/js/example/workflow/unit/execution.json @@ -0,0 +1,66 @@ +{ + "application": { + "name": "espresso", + "shortName": "qe", + "summary": "Quantum Espresso", + "version": "5.1.1", + "hasAdvancedComputeOptions": true + }, + "compute": null, + "executable": { + "advancedComputeOptions": true, + "applicationId": [ + "eaJepm4AWfqpaCw59" + ], + "isDefault": true, + "monitors": [ + { + "name": "standard_output" + } + ], + "name": "pw.x", + "postProcessors": [], + "preProcessors": [], + "results": [ + { + "name": "atomic_forces" + } + ] + }, + "flavor": { + "executableId": "4987JFJ3kKbwvFSG7", + "input": [ + { + "templateId": "dJ7HYz5pQ4AuN5qc9" + } + ], + "name": "pw_scf" + }, + "flowchartId": "execution", + "head": true, + "input": [ + { + "content": "K_POINTS automatic\n2 2 2 0 0 0", + "name": "pw_scf.in" + } + ], + "monitors": [ + { + "name": "scf_accuracy" + }, + { + "name": "standard_output" + } + ], + "name": "execution", + "next": "pw-bands", + "postProcessors": [], + "preProcessors": [], + "results": [ + { + "name": "harris_foulkes_estimate" + } + ], + "status": "idle", + "type": "execution" +} \ No newline at end of file diff --git a/docs/js/example/workflow/unit/input/_inputItemScope.json b/docs/js/example/workflow/unit/input/_inputItemScope.json new file mode 100644 index 000000000..48ca760d3 --- /dev/null +++ b/docs/js/example/workflow/unit/input/_inputItemScope.json @@ -0,0 +1,4 @@ +{ + "name": "N_K_y", + "scope": "global" +} \ No newline at end of file diff --git a/docs/js/example/workflow/unit/io.json b/docs/js/example/workflow/unit/io.json new file mode 100644 index 000000000..955c73ded --- /dev/null +++ b/docs/js/example/workflow/unit/io.json @@ -0,0 +1,41 @@ +{ + "flowchartId": "io", + "head": true, + "input": [ + { + "endpoint": "data-frame", + "endpoint_options": { + "data": { + "features": [ + "elemental_ratio:Si", + "elemental_ratio:Ge", + "ionization_potential:Ge", + "ionization_potential:Si" + ], + "ids": [ + "KuAsBRwofzGfHPWiT" + ], + "targets": [ + "band_gaps:indirect", + "band_gaps:direct" + ] + }, + "headers": { + "X-Auth-Token": "", + "X-User-Id": "" + }, + "method": "POST", + "params": { + "query": { + "formula": "SiGe" + } + } + } + } + ], + "name": "io", + "source": "api", + "status": "idle", + "subtype": "input", + "type": "io" +} \ No newline at end of file diff --git a/docs/js/example/workflow/unit/io/api.json b/docs/js/example/workflow/unit/io/api.json new file mode 100644 index 000000000..3830a2a5e --- /dev/null +++ b/docs/js/example/workflow/unit/io/api.json @@ -0,0 +1,31 @@ +{ + "endpoint": "data-frame", + "endpoint_options": { + "data": { + "features": [ + "elemental_ratio:Si", + "elemental_ratio:Ge", + "ionization_potential:Ge", + "ionization_potential:Si" + ], + "ids": [ + "KuAsBRwofzGfHPWiT" + ], + "targets": [ + "band_gaps:indirect", + "band_gaps:direct" + ] + }, + "headers": { + "X-Auth-Token": "", + "X-User-Id": "" + }, + "method": "POST", + "params": { + "query": { + "formula": "SiGe" + } + } + }, + "name": "DATA" +} \ No newline at end of file diff --git a/docs/js/example/workflow/unit/io/db.json b/docs/js/example/workflow/unit/io/db.json new file mode 100644 index 000000000..7986b3ca2 --- /dev/null +++ b/docs/js/example/workflow/unit/io/db.json @@ -0,0 +1,15 @@ +{ + "features": [ + "elemental_ratio:Si", + "elemental_ratio:Ge", + "ionization_potential:Ge", + "ionization_potential:Si" + ], + "ids": [ + "KuAsBRwofzGfHPWiT" + ], + "targets": [ + "band_gaps:indirect", + "band_gaps:direct" + ] +} \ No newline at end of file diff --git a/docs/js/example/workflow/unit/io/object_storage.json b/docs/js/example/workflow/unit/io/object_storage.json new file mode 100644 index 000000000..e29b22889 --- /dev/null +++ b/docs/js/example/workflow/unit/io/object_storage.json @@ -0,0 +1,12 @@ +{ + "basename": "index.html", + "overwrite": true, + "objectData": { + "CONTAINER": "production-20160630-cluster-001", + "NAME": "/cluster-001-home/jrd101/data/jrd101-default/kernel-train-Cxmkj97aXKZeaRZov/Cxmkj97aXKZeaRZov.json", + "PROVIDER": "aws", + "REGION": "us-east-1", + "SIZE": 6582, + "TIMESTAMP": "1614217411" + } +} \ No newline at end of file diff --git a/docs/js/example/workflow/unit/map.json b/docs/js/example/workflow/unit/map.json new file mode 100644 index 000000000..13424664c --- /dev/null +++ b/docs/js/example/workflow/unit/map.json @@ -0,0 +1,16 @@ +{ + "flowchartId": "map", + "head": true, + "input": { + "target": "MAP_K_POINTS_1", + "values": [ + "2 2 2 0 0 0", + "3 3 3 0 0 0", + "4 4 4 0 0 0" + ] + }, + "name": "map", + "status": "idle", + "type": "map", + "workflowId": "zxjhEiaQvwWwvB3oM" +} \ No newline at end of file diff --git a/docs/js/example/workflow/unit/processing.json b/docs/js/example/workflow/unit/processing.json new file mode 100644 index 000000000..2009e6738 --- /dev/null +++ b/docs/js/example/workflow/unit/processing.json @@ -0,0 +1,13 @@ +{ + "flowchartId": "data_transformation_manipulation", + "inputData": { + "cleanMissingData": true, + "removeDuplicateRows": true, + "replaceNoneValuesWith": 0 + }, + "name": "data_transformation_manipulation", + "operation": "data_transformation", + "operationType": "manipulation", + "status": "idle", + "type": "processing" +} \ No newline at end of file diff --git a/docs/js/example/workflow/unit/reduce.json b/docs/js/example/workflow/unit/reduce.json new file mode 100644 index 000000000..414a670f3 --- /dev/null +++ b/docs/js/example/workflow/unit/reduce.json @@ -0,0 +1,16 @@ +{ + "flowchartId": "reduce", + "head": true, + "input": [ + { + "arguments": [ + "band_gaps" + ], + "operation": "aggregate" + } + ], + "mapFlowchartId": "1", + "name": "reduce", + "status": "idle", + "type": "reduce" +} \ No newline at end of file diff --git a/docs/js/example/workflow/unit/runtime/runtime_items.json b/docs/js/example/workflow/unit/runtime/runtime_items.json new file mode 100644 index 000000000..140829add --- /dev/null +++ b/docs/js/example/workflow/unit/runtime/runtime_items.json @@ -0,0 +1,14 @@ +{ + "monitors": [ + { + "name": "standard_output" + } + ], + "postProcessors": [], + "preProcessors": [], + "results": [ + { + "name": "atomic_forces" + } + ] +} \ No newline at end of file diff --git a/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x.json b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x.json new file mode 100644 index 000000000..2d36ecf3d --- /dev/null +++ b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x.json @@ -0,0 +1,1789 @@ +{ + "$id": "3pse/file/applications/espresso/7.2/pw.x", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pwx main schema", + "additionalProperties": false, + "properties": { + "&CONTROL": { + "$id": "3pse/file/applications/espresso/7.2/pw.x/control", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "control schema", + "type": "object", + "additionalProperties": false, + "properties": { + "calculation": { + "description": "A string describing the task to be performed", + "type": "string", + "enum": [ + "scf", + "nscf", + "bands", + "relax", + "md", + "vc-relax", + "vc-md" + ], + "default": "scf" + }, + "title": { + "description": "reprinted on output.", + "type": "string", + "default": "" + }, + "verbosity": { + "description": "Currently two verbosity levels are implemented: high, low. 'debug' and 'medium' have the same effect as 'high'; 'default' and 'minimal' as 'low'", + "type": "string", + "enum": [ + "high", + "low", + "debug", + "medium", + "minimal", + "default" + ], + "default": "low" + }, + "restart_mode": { + "type": "string", + "enum": [ + "from_scratch", + "restart" + ], + "default": "from_scratch" + }, + "wf_collect": { + "type": "boolean", + "description": "OBSOLETE - NO LONGER IMPLEMENTED" + }, + "nstep": { + "description": "Default: 1 if calculation == 'scf', 'nscf', 'bands'; 50 for the other cases; Number of molecular-dynamics or structural optimization steps performed in this run. If set to 0, the code performs a quick \"dry run\", stopping just after initialization. This is useful to check for input correctness and to have the summary printed. NOTE: in MD calculations, the code will perform \"nstep\" steps even if restarting from a previously interrupted calculation.", + "type": "number", + "default": 1 + }, + "iprint": { + "description": "band energies are written every iprint iterations", + "type": "number" + }, + "tstress": { + "type": "boolean", + "default": false, + "description": "calculate stress. It is set to .TRUE. automatically if calculation == 'vc-md' or 'vc-relax'" + }, + "tprnfor": { + "type": "boolean", + "description": "calculate forces. It is set to .TRUE. automatically if calculation == 'relax','md','vc-md'" + }, + "dt": { + "type": "number", + "description": "time step for molecular dynamics, in Rydberg atomic units (1 a.u.=4.8378 * 10^-17 s : beware, the CP code uses Hartree atomic units, half that much!!!)", + "default": 20 + }, + "outdir": { + "type": "string", + "description": "input, temporary, output files are found in this directory, see also wfcdir" + }, + "wfcdir": { + "type": "string", + "description": "This directory specifies where to store files generated by each processor (*.wfc{N}, *.igk{N}, etc.). Useful for machines without a parallel file system: set wfcdir to a local file system, while outdir should be a parallel or network file system, visible to all processors. Beware: in order to restart from interrupted runs, or to perform further calculations using the produced data files, you may need to copy files to outdir. Works only for pw.x." + }, + "prefix": { + "type": "string", + "description": "prepended to input/output filenames: prefix.wfc, prefix.rho, etc.", + "default": "pwscf" + }, + "lkpoint_dir": { + "type": "boolean", + "description": "OBSOLETE - NO LONGER IMPLEMENTED" + }, + "max_seconds": { + "type": "number", + "default": 10000000, + "description": "Jobs stops after max_seconds CPU time. Use this option in conjunction with option restart_mode if you need to split a job too long to complete into shorter jobs that fit into your batch queues." + }, + "etot_conv_thr": { + "type": "number", + "default": 0.0001, + "description": "Convergence threshold on total energy (a.u) for ionic minimization: the convergence criterion is satisfied when the total energy changes less than etot_conv_thr between two consecutive scf steps. Note that etot_conv_thr is extensive, like the total energy. See also forc_conv_thr - both criteria must be satisfied" + }, + "forc_conv_thr": { + "type": "number", + "default": 0.001, + "description": "Convergence threshold on forces (a.u) for ionic minimization: the convergence criterion is satisfied when all components of all forces are smaller than forc_conv_thr. See also etot_conv_thr - both criteria must be satisfied" + }, + "disk_io": { + "type": "string", + "enum": [ + "high", + "medium", + "low", + "nowf", + "none" + ], + "description": "Specifies the amount of disk I/O activity: (only for binary files and xml data file in data directory; other files printed at each molecular dynamics / structural optimization step are not controlled by this option )" + }, + "pseudo_dir": { + "type": "string", + "description": "directory containing pseudopotential files. Default: value of the $ESPRESSO_PSEUDO environment variable if set; '$HOME/espresso/pseudo/' otherwise" + }, + "tefield": { + "type": "boolean", + "default": false, + "description": "If .TRUE. a saw-like potential simulating an electric field is added to the bare ionic potential. See variables edir, eamp, emaxpos, eopreg for the form and size of the added potential." + }, + "dipfield": { + "type": "boolean", + "default": false, + "description": "If .TRUE. and tefield==.TRUE. a dipole correction is also added to the bare ionic potential - implements the recipe of L. Bengtsson, PRB 59, 12301 (1999). See variables edir, emaxpos, eopreg for the form of the correction. Must be used ONLY in a slab geometry, for surface calculations, with the discontinuity FALLING IN THE EMPTY SPACE." + }, + "lelfield": { + "type": "boolean", + "default": false, + "description": "If .TRUE. a homogeneous finite electric field described through the modern theory of the polarization is applied. This is different from tefield == .true. !" + }, + "nberrycyc": { + "type": "integer", + "default": 1, + "description": "In the case of a finite electric field ( lelfield == .TRUE. ) it defines the number of iterations for converging the wavefunctions in the electric field Hamiltonian, for each external iteration on the charge density" + }, + "lorbm": { + "type": "boolean", + "default": false, + "description": "If .TRUE. perform orbital magnetization calculation." + }, + "lberry": { + "type": "boolean", + "default": false, + "description": "If .TRUE. perform a Berry phase calculation. See the header of PW/src/bp_c_phase.f90 for documentation" + }, + "gdir": { + "type": "number", + "description": "For Berry phase calculation: direction of the k-point strings in reciprocal space. Allowed values: 1, 2, 3 1=first, 2=second, 3=third reciprocal lattice vector For calculations with finite electric fields (lelfield==.true.) \"gdir\" is the direction of the field." + }, + "nppstr": { + "type": "number", + "description": "For Berry phase calculation: number of k-points to be calculated along each symmetry-reduced string. The same for calculation with finite electric fields (lelfield==.true.)." + }, + "gate": { + "type": "boolean", + "default": false, + "description": "In the case of charged cells (tot_charge .ne. 0) setting gate = .TRUE. represents the counter charge (i.e. -tot_charge) not by a homogeneous background charge but with a charged plate, which is placed at zgate (see below). Details of the gate potential can be found in T. Brumme, M. Calandra, F. Mauri; PRB 89, 245406 (2014). Note, that in systems which are not symmetric with respect to the plate, one needs to enable the dipole correction! (dipfield=.true.). Currently, symmetry can be used with gate=.true. but carefully check that no symmetry is included which maps z to -z even if in principle one could still use them for symmetric systems (i.e. no dipole correction). For nosym=.false. verbosity is set to 'high'. Note: this option was called \"monopole\" in v6.0 and 6.1 of pw.x" + }, + "twochem": { + "type": "boolean", + "default": false, + "description": "IF .TRUE. , a two chemical potential calculation for the simulation of photoexcited systems is performed, constraining a fraction of the electrons in the conduction manifold." + }, + "lfcp": { + "type": "boolean", + "default": false, + "description": "If .TRUE. perform a constant bias potential (constant-mu) calculation for a system with ESM method. See the header of PW/src/fcp_module.f90 for documentation. To perform the calculation, you must set a namelist FCP." + }, + "trism": { + "type": "boolean", + "default": false, + "description": "If .TRUE. perform a 3D-RISM-SCF calculation [for details see H.Sato et al., JCP 112, 9463 (2000), doi:10.1063/1.481564]. The solvent's distributions are calculated by 3D-RISM, though solute is treated as SCF. The charge density and the atomic positions are optimized, simultaneously with the solvents. To perform the calculation, you must set a namelist RISM and a card SOLVENTS. If assume_isolated = 'esm' and esm_bc = 'bc1', Laue-RISM is calculated instead of 3D-RISM and coupled with ESM method (i.e. ESM-RISM). [for details see S.Nishihara and M.Otani, PRB 96, 115429 (2017)]. The default of mixing_beta is 0.2 for both 3D-RISM and Laue-RISM. For structural relaxation with BFGS, ignore_wolfe is always .TRUE. ." + } + } + }, + "&SYSTEM": { + "$id": "3pse/file/applications/espresso/7.2/pw.x/system", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "system schema", + "type": "object", + "anyOf": [ + { + "properties": { + "celldm": { + "type": "array", + "minLength": 6, + "maxLength": 6, + "items": { + "type": "number" + } + } + } + }, + { + "properties": { + "A": { + "type": "number" + }, + "B": { + "type": "number" + }, + "C": { + "type": "number" + }, + "cosAB": { + "type": "number" + }, + "cosAC": { + "type": "number" + }, + "cosBC": { + "type": "number" + } + } + } + ], + "required": [ + "ibrav", + "nat", + "ntyp", + "ecutwfc" + ], + "additionalProperties": false, + "properties": { + "ibrav": { + "type": "integer" + }, + "nat": { + "type": "integer", + "description": "number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)" + }, + "ntyp": { + "type": "integer", + "description": "number of types of atoms in the unit cell" + }, + "nbnd": { + "type": "integer", + "description": "Default: for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more)" + }, + "nbnd_cond": { + "type": "integer", + "description": "Default: nbnd_cond = nbnd - # of electrons / 2 in the collinear case; nbnd_cond = nbnd - # of electrons in the noncollinear case." + }, + "tot_charge": { + "type": "number", + "default": 0 + }, + "starting_charge": { + "type": "number", + "default": 0, + "description": "starting charge on atomic type 'i', to create starting potential with startingpot = 'atomic'." + }, + "tot_magnetization": { + "type": "number", + "default": -10000, + "description": "Total majority spin charge - minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle." + }, + "starting_magnetization": { + "type": "array", + "items": { + "type": "number", + "default": 0, + "minimum": -1, + "maximum": 1 + } + }, + "ecutwfc": { + "type": "number", + "description": "kinetic energy cutoff (Ry) for wavefunctions" + }, + "ecutrho": { + "type": "number", + "description": "Kinetic energy cutoff (Ry) for charge density and potential For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. Default: 4 * ecutwfc" + }, + "ecutfock": { + "type": "number", + "description": "Kinetic energy cutoff (Ry) for the exact exchange operator in EXX type calculations. By default this is the same as ecutrho but in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be .gt. ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials." + }, + "nr1": { + "type": "integer", + "description": "Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)" + }, + "nr2": { + "type": "integer", + "description": "Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)" + }, + "nr3": { + "type": "integer", + "description": "Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)" + }, + "nr1s": { + "type": "integer", + "description": "Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )" + }, + "nr2s": { + "type": "integer", + "description": "Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )" + }, + "nr3s": { + "type": "integer", + "description": "Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )" + }, + "nosym": { + "type": "boolean", + "default": false + }, + "nosym_evc": { + "type": "boolean", + "default": false + }, + "noinv": { + "type": "boolean", + "default": false, + "description": "if (.TRUE.) disable the usage of k => -k symmetry (time reversal) in k-point generation" + }, + "no_t_rev": { + "type": "boolean", + "default": false, + "description": "if (.TRUE.) disable the usage of magnetic symmetry operations that consist in a rotation + time reversal." + }, + "force_symmorphic": { + "type": "boolean", + "default": false, + "description": "if (.TRUE.) force the symmetry group to be symmorphic by disabling symmetry operations having an associated fractionary translation" + }, + "use_all_frac": { + "type": "boolean", + "default": false + }, + "occupations": { + "type": "string", + "enum": [ + "smearing", + "tetrahedra", + "tetrahedra_lin", + "tetrahedra_opt", + "fixed", + "from_input" + ] + }, + "one_atom_occupations": { + "type": "boolean", + "default": false + }, + "starting_spin_angle": { + "type": "boolean", + "default": false + }, + "degauss_cond": { + "type": "number", + "default": 0, + "description": "value of the gaussian spreading (Ry) for brillouin-zone integration in the conduction manifold in a two-chemical potential calculation (twochem=.true.)." + }, + "nelec_cond": { + "type": "number", + "default": 0, + "description": "Number of electrons placed in the conduction manifold in a two-chemical potential calculation (twochem=.true.). Of the total # of electrons nelec, nelec-nelec_cond will occupy the valence manifold and nelec_cond will be constrained in the conduction manifold." + }, + "degauss": { + "type": "number", + "default": 0, + "description": "value of the gaussian spreading (Ry) for brillouin-zone integration in metals." + }, + "smearing": { + "type": "string", + "enum": [ + "gaussian", + "gauss", + "methfessel-paxton", + "m-p", + "mp", + "marzari-vanderbilt", + "cold", + "m-v", + "mv", + "fermi-dirac", + "f-d", + "fd" + ], + "default": "gaussian" + }, + "nspin": { + "type": "integer", + "default": 1 + }, + "sic_gamma": { + "type": "number", + "default": 0, + "description": "Strength of the gammaDFT potential." + }, + "pol_type": { + "type": "string", + "enum": [ + "e", + "h" + ], + "description": "Type of polaron in gammaDFT." + }, + "sic_energy": { + "type": "boolean", + "default": false, + "description": "Enable the calculation of the total energy in gammaDFT. When .true., a preliminary calculation is performed to calculate the electron density in the absence of the polaron. When .false., the total energy printed in output should not be considered. For structural relaxations, it is recommended to use .false. to avoid doubling the computational cost." + }, + "sci_vb": { + "type": "number", + "default": 0, + "description": "Valence band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted." + }, + "sci_cb": { + "type": "number", + "default": 0, + "description": "Conduction band band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted." + }, + "noncolin": { + "type": "boolean", + "default": false, + "description": "if .true. the program will perform a noncollinear calculation." + }, + "ecfixed": { + "type": "number", + "default": 0 + }, + "qcutz": { + "type": "number", + "default": 0 + }, + "q2sigma": { + "type": "number", + "default": 0.1 + }, + "input_dft": { + "type": "string", + "description": "Exchange-correlation functional: eg 'PBE', 'BLYP' etc See Modules/funct.f90 for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing!" + }, + "ace": { + "type": "boolean", + "default": true, + "description": "Use Adaptively Compressed Exchange operator as in Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092" + }, + "exx_fraction": { + "type": "number", + "description": "Fraction of EXX for hybrid functional calculations. In the case of input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP' the exx_fraction default value is 0.20." + }, + "screening_parameter": { + "type": "number", + "default": 0.106, + "description": "screening_parameter for HSE like hybrid functionals." + }, + "exxdiv_treatment": { + "type": "string", + "default": "gygi-baldereschi", + "enum": [ + "gygi-baldereschi", + "vcut_spherical", + "vcut_ws", + "none" + ] + }, + "x_gamma_extrapolation": { + "type": "boolean", + "default": true, + "description": "Specific for EXX. If .true., extrapolate the G=0 term of the potential" + }, + "ecutvcut": { + "type": "number", + "description": "Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors." + }, + "nqx1": { + "type": "integer", + "default": 0, + "description": "Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points." + }, + "nqx2": { + "type": "integer", + "description": "Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points." + }, + "nqx3": { + "type": "integer", + "description": "Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points." + }, + "localization_thr": { + "type": "number", + "default": 0, + "description": "Overlap threshold over which the exchange integral over a pair of localized orbitals is included in the evaluation of EXX operator. Any value greater than 0.0 triggers the SCDM localization and the evaluation on EXX using the localized orbitals. Very small value of the threshold should yield the same result as the default EXX evaluation" + }, + "Hubbard_occ": { + "type": "array", + "items": { + "type": "array", + "items": [ + { + "type": "integer", + "minimum": 1 + }, + { + "type": "integer", + "minimum": 1, + "maximum": 3 + }, + { + "type": "number" + } + ] + } + }, + "Hubbard_alpha": { + "type": "array", + "items": { + "type": "number", + "default": 0 + } + }, + "Hubbard_beta": { + "type": "array", + "items": { + "type": "number", + "default": 0 + } + }, + "starting_ns_eigenvalue": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "dmft": { + "type": "boolean", + "default": false, + "description": "If true, nscf calculation will exit in restart mode, scf calculation will restart from there if DMFT updates are provided as hdf5 archive. Scf calculation should be used only with electron_maxstep = 1." + }, + "dmft_prefix": { + "type": "string", + "description": "prepended to hdf5 archive: dmft_prefix.h5" + }, + "ensemble_energies": { + "type": "boolean", + "default": false, + "description": "If ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state calculation." + }, + "edir": { + "type": "integer", + "description": "The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points; edir = 1, 2 or 3. Used only if tefield is .TRUE." + }, + "emaxpos": { + "type": "number", + "default": 0.5, + "description": "Position of the maximum of the saw-like potential along crystal axis edir, within the unit cell (see below), 0 < emaxpos < 1 Used only if tefield is .TRUE." + }, + "eopreg": { + "type": "number", + "default": 0.1, + "description": "Zone in the unit cell where the saw-like potential decreases. ( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE." + }, + "eamp": { + "type": "number", + "default": 0.001 + }, + "angle1": { + "type": "array", + "maxItems": 1, + "minItems": 1, + "description": "The angle expressed in degrees between the initial magnetization and the z-axis. For noncollinear calculations only; index i runs over the atom types.", + "items": { + "type": "number" + } + }, + "angle2": { + "type": "array", + "maxItems": 1, + "minItems": 1, + "description": "The angle expressed in degrees between the projection of the initial magnetization on x-y plane and the x-axis. For noncollinear calculations only.", + "items": { + "type": "number" + } + }, + "lforcet": { + "type": "boolean", + "description": "When starting a non collinear calculation using an existing density file from a collinear lsda calculation assumes previous density points in z direction and rotates it in the direction described by angle1 and angle2 variables for atomic type 1" + }, + "constrained_magnetization": { + "type": "string", + "enum": [ + "none", + "total", + "atomic", + "total direction", + "atomic direction" + ], + "default": "none", + "description": "Used to perform constrained calculations in magnetic systems." + }, + "fixed_magnetization": { + "type": "array", + "maxItems": 3, + "minItems": 3, + "items": { + "type": "number", + "default": 0 + } + }, + "lambda": { + "type": "number", + "default": 1, + "description": "parameter used for constrained_magnetization calculations N.B.: if the scf calculation does not converge, try to reduce lambda to obtain convergence, then restart the run with a larger lambda" + }, + "report": { + "type": "integer", + "default": -1, + "description": "determines when atomic magnetic moments are printed on output" + }, + "lspinorb": { + "type": "boolean", + "description": "if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit." + }, + "assume_isolated": { + "type": "string", + "enum": [ + "none", + "makov-payne", + "m-p", + "mp", + "martyna-tuckerman", + "m-t", + "mt", + "esm", + "2D" + ], + "default": "none", + "definition": "Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell)" + }, + "esm_bc": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "definition": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "esm_w": { + "type": "number", + "default": 0, + "description": "If assume_isolated = 'esm', determines the position offset [in a.u.] of the start of the effective screening region, measured relative to the cell edge. (ESM region begins at z = +/- [L_z/2 + esm_w] )." + }, + "esm_efield": { + "type": "number", + "default": 0, + "description": "If assume_isolated = 'esm' and esm_bc = 'bc2', gives the magnitude of the electric field [Ry/a.u.] to be applied between semi-infinite ESM electrodes." + }, + "esm_nfit": { + "type": "integer", + "default": 4, + "description": "If assume_isolated = 'esm', gives the number of z-grid points for the polynomial fit along the cell edge." + }, + "lgcscf": { + "type": "boolean", + "default": false, + "description": "If .TRUE. perform a constant bias potential (constant-mu) calculation with Grand-Canonical SCF." + }, + "gcscf_mu": { + "type": "number", + "description": "The target Fermi energy (eV) of GC-SCF. One can start with appropriate total charge of the system by giving tot_charge" + }, + "gcscf_conv_thr": { + "type": "number", + "default": 0.01, + "description": "Convergence threshold of Fermi energy (eV) for GC-SCF." + }, + "gcscf_beta": { + "type": "number", + "default": 0.05, + "description": "Mixing factor for GC-SCF. Larger values are recommended, if systems with small DOS on Fermi surface as graphite." + }, + "vdw_corr": { + "type": "string", + "enum": [ + "grimme-d2", + "Grimme-D2", + "DFT-D", + "dft-d", + "grimme-d3", + "Grimme-D3", + "DFT-D3", + "dft-d3", + "TS", + "ts", + "ts-vdw", + "ts-vdW", + "tkatchenko-scheffler", + "MBD", + "mbd", + "many-body-dispersion", + "mbd_vdw", + "XDM", + "xdm" + ], + "default": "none", + "description": "Type of Van der Waals correction" + }, + "london": { + "type": "boolean", + "default": false, + "description": "OBSOLESCENT, same as vdw_corr='DFT-D'" + }, + "london_s6": { + "type": "number", + "default": 0.75, + "description": "global scaling parameter for DFT-D. Default is good for PBE." + }, + "london_c6": { + "type": "number", + "description": "atomic C6 coefficient of each atom type" + }, + "london_rvdw": { + "type": "number", + "description": "atomic vdw radii of each atom type" + }, + "london_rcut": { + "type": "number", + "default": 200, + "description": "cutoff radius (a.u.) for dispersion interactions" + }, + "dftd3_version": { + "type": "integer", + "default": 3, + "minimum": 2, + "maximum": 6, + "description": "Version of Grimme implementation of Grimme-D3" + }, + "dftd3_threebody": { + "type": "boolean", + "default": true, + "description": "Turn three-body terms in Grimme-D3 on. If .false. two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version=2, three-body contribution is always disabled." + }, + "ts_vdw_econv_thr": { + "type": "number", + "default": 0.000001, + "description": "Optional: controls the convergence of the vdW energy (and forces). The default value is a safe choice, likely too safe, but you do not gain much in increasing it" + }, + "ts_vdw_isolated": { + "type": "boolean", + "default": false, + "description": "Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the Many-Body dispersion (MBD) energy for an isolated (non-periodic) system." + }, + "xdm": { + "type": "boolean", + "default": false, + "description": "OBSOLESCENT, same as vdw_corr='xdm'" + }, + "xdm_a1": { + "type": "number", + "default": 0.6836, + "description": "Damping function parameter a1 (adimensional)" + }, + "xdm_a2": { + "type": "number", + "default": 1.5045, + "description": "Damping function parameter a2 (angstrom)" + }, + "space_group": { + "type": "integer", + "default": 0, + "description": "The number of the space group of the crystal, as given in the International Tables of Crystallography A (ITA)" + }, + "uniqueb": { + "type": "boolean", + "default": false, + "description": "Used only for monoclinic lattices" + }, + "origin_choice": { + "type": "integer", + "default": 1, + "description": "Used only for space groups that in the ITA allow the use of two different origins" + }, + "rhombohedral": { + "type": "boolean", + "default": true, + "description": "Used only for rhombohedral space groups." + }, + "zgate": { + "type": "number", + "default": 0.5, + "description": "used only if gate = .TRUE." + }, + "relaxz": { + "type": "boolean", + "default": false, + "description": "used only if gate = .TRUE." + }, + "block": { + "type": "boolean", + "default": false, + "description": "used only if gate = .TRUE." + }, + "block_1": { + "type": "number", + "default": 0.45, + "description": "used only if gate = .TRUE. and block = .TRUE." + }, + "block_2": { + "type": "number", + "default": 0.55, + "description": "used only if gate = .TRUE. and block = .TRUE." + }, + "block_height": { + "type": "number", + "default": 0.1, + "description": "used only if gate = .TRUE. and block = .TRUE." + }, + "nextffield": { + "type": "integer", + "default": 0, + "description": "Number of activated external ionic force fields." + } + } + }, + "&ELECTRONS": { + "$id": "3pse/file/applications/espresso/7.2/pw.x/electrons", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "electrons schema", + "type": "object", + "additionalProperties": false, + "properties": { + "electron_maxstep": { + "type": "integer", + "default": 100, + "description": "maximum number of iterations in a scf step. If exact exchange is active, this will affect the inner loops." + }, + "exx_maxstep": { + "type": "integer", + "default": 100, + "description": "maximum number of outer iterations in a scf calculation with exact exchange." + }, + "scf_must_converge": { + "type": "boolean", + "default": true, + "description": "If .false. do not stop molecular dynamics or ionic relaxation when electron_maxstep is reached. Use with care." + }, + "conv_thr": { + "type": "number" + }, + "adaptive_thr": { + "type": "boolean", + "default": false, + "description": "If .TRUE. this turns on the use of an adaptive conv_thr for the inner scf loops when using EXX." + }, + "conv_thr_init": { + "type": "number", + "description": "When adaptive_thr = .TRUE. this is the convergence threshold used for the first scf cycle." + }, + "conv_thr_multi": { + "type": "number", + "description": "When adaptive_thr = .TRUE. the convergence threshold for each scf cycle is given by: max( conv_thr, conv_thr_multi * dexx )" + }, + "mixing_mode": { + "type": "string", + "enum": [ + "plain", + "TF", + "local-TF" + ], + "default": "plain" + }, + "mixing_beta": { + "type": "number", + "description": "mixing factor for self-consistency" + }, + "mixing_ndim": { + "type": "integer", + "default": 8, + "description": "number of iterations used in mixing scheme" + }, + "mixing_fixed_ns": { + "type": "integer", + "default": 0, + "description": "For DFT+U : number of iterations with fixed ns ( ns is the atomic density appearing in the Hubbard term )." + }, + "diagonalization": { + "type": "string", + "enum": [ + "david", + "cg", + "ppcg", + "paro", + "ParO", + "rmm-davidson", + "rmm-paro" + ], + "default": "david" + }, + "diago_thr_init": { + "type": "number", + "description": "Convergence threshold (ethr) for iterative diagonalization (the check is on eigenvalue convergence)." + }, + "diago_cg_maxiter": { + "type": "integer", + "description": "For conjugate gradient diagonalization: max number of iterations" + }, + "diago_ppcg_maxiter": { + "type": "integer", + "description": "For ppcg diagonalization: max number of iterations" + }, + "diago_david_ndim": { + "type": "integer", + "default": 2, + "description": "For Davidson diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)." + }, + "diago_rmm_ndim": { + "type": "integer", + "default": 4, + "description": "For RMM-DIIS diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)." + }, + "diago_rmm_conv": { + "type": "boolean", + "default": false, + "description": "If .TRUE., RMM-DIIS is performed up to converge. If .FALSE., RMM-DIIS is performed only once." + }, + "diago_gs_nblock": { + "type": "integer", + "default": 16, + "description": "For RMM-DIIS diagonalization: blocking size of Gram-Schmidt orthogonalization" + }, + "diago_full_acc": { + "type": "boolean", + "default": false, + "description": "If .TRUE. all the empty states are diagonalized at the same level of accuracy of the occupied ones. Otherwise the empty states are diagonalized using a larger threshold (this should not affect total energy, forces, and other ground-state properties)." + }, + "efield": { + "type": "number", + "description": "Amplitude of the finite electric field (in Ry a.u.; 1 a.u. = 36.3609*10^10 V/m). Used only if lelfield==.TRUE. and if k-points (K_POINTS card) are not automatic." + }, + "efield_cart": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "efield_phase": { + "type": "string", + "enum": [ + "read", + "write", + "none" + ], + "default": "none" + }, + "startingpot": { + "type": "string", + "enum": [ + "atomic", + "file" + ] + }, + "startingwfc": { + "type": "string", + "enum": [ + "atomic", + "atomic+random", + "random", + "file" + ], + "default": "atomic+random" + }, + "tqr": { + "type": "boolean", + "default": false, + "description": "If .true., use a real-space algorithm for augmentation charges of ultrasoft pseudopotentials and PAWsets. Faster but numerically less accurate than the default G-space algorithm. Use with care and after testing!" + }, + "real_space": { + "type": "boolean", + "default": false, + "description": "If .true., exploit real-space localization to compute matrix elements for nonlocal projectors. Faster and in principle better scaling than the default G-space algorithm, but numerically less accurate, may lead to some loss of translational invariance. Use with care and after testing!" + } + } + }, + "&IONS": { + "oneOf": [ + { + "$id": "3pse/file/applications/espresso/7.2/pw.x/ions", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ions schema", + "type": "object", + "additionalProperties": false, + "oneOf": [ + { + "type": "object", + "additionalProperties": false, + "properties": { + "ion_dynamics": { + "type": "string", + "enum": [ + "bfgs", + "damp", + "fire" + ], + "default": "bfgs", + "description": "CASE: calculation == 'relax'" + } + } + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "ion_dynamics": { + "type": "string", + "enum": [ + "verlet", + "langevin", + "langevin-smc" + ], + "default": "verlet", + "description": "CASE: calculation == 'md'" + } + } + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "ion_dynamics": { + "type": "string", + "enum": [ + "bfgs", + "damp" + ], + "default": "bfgs", + "description": "CASE: calculation == 'vc-relax'" + } + } + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "ion_dynamics": { + "type": "string", + "enum": [ + "beeman" + ], + "default": "beeman", + "description": "CASE: calculation == 'vc-md'" + } + } + } + ], + "properties": { + "ion_positions": { + "type": "string", + "enum": [ + "default", + "from_input" + ], + "default": "default" + }, + "ion_velocities": { + "type": "string", + "enum": [ + "default", + "from_input" + ], + "default": "default" + }, + "pot_extrapolation": { + "type": "string", + "enum": [ + "none", + "atomic", + "first_order", + "second_order" + ], + "default": "atomic", + "description": "Used to extrapolate the potential from preceding ionic steps." + }, + "wfc_extrapolation": { + "type": "string", + "enum": [ + "none", + "first_order", + "second_order" + ], + "default": "none", + "description": "Used to extrapolate the wavefunctions from preceding ionic steps." + }, + "remove_rigid_rot": { + "type": "boolean", + "default": false, + "description": "This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells." + }, + "ion_temperature": { + "type": "string", + "enum": [ + "rescaling", + "rescale-v", + "rescale-T", + "reduce-T", + "berendsen", + "andersen", + "svr", + "initial", + "not_controlled" + ], + "default": "not_controlled" + }, + "tempw": { + "type": "number", + "description": "Starting temperature (Kelvin) in MD runs target temperature for most thermostats.", + "default": 300 + }, + "tolp": { + "type": "number", + "description": "Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp.", + "default": 100 + }, + "delta_t": { + "type": "number", + "default": 1 + }, + "nraise": { + "type": "integer", + "default": 1 + }, + "refold_pos": { + "type": "boolean", + "default": false, + "description": "This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell." + }, + "upscale": { + "type": "number", + "description": "Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale.", + "default": 100 + }, + "bfgs_ndim": { + "type": "integer", + "default": 1, + "description": "Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm." + }, + "trust_radius_max": { + "type": "number", + "description": "Maximum ionic displacement in the structural relaxation. (bfgs only)", + "default": 0.8 + }, + "trust_radius_min": { + "type": "number", + "description": "Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only)", + "default": 0.001 + }, + "trust_radius_ini": { + "type": "number", + "description": "Initial ionic displacement in the structural relaxation. (bfgs only)", + "default": 0.5 + }, + "w_1": { + "type": "number", + "default": 0.01 + }, + "w_2": { + "type": "number", + "description": "Parameters used in line search based on the Wolfe conditions. (bfgs only)", + "default": 0.5 + }, + "fire_alpha_init": { + "type": "number", + "description": "Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3", + "default": 0.2 + }, + "fire_falpha": { + "type": "number", + "description": "Scaling of the alpha mixing parameter for steps with P > 0;", + "default": 0.99 + }, + "fire_nmin": { + "type": "integer", + "default": 5, + "description": "Minimum number of steps with P > 0 before increase of dt" + }, + "fire_f_inc": { + "type": "number", + "description": "Factor for increasing dt", + "default": 1.1 + }, + "fire_f_dec": { + "type": "number", + "description": "Factor for decreasing dt", + "default": 0.5 + }, + "fire_dtmax": { + "type": "number", + "description": "Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt", + "default": 10 + } + } + }, + { + "type": "null" + } + ] + }, + "&CELL": { + "oneOf": [ + { + "$id": "3pse/file/applications/espresso/7.2/pw.x/cell", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "cell schema", + "type": "object", + "additionalProperties": false, + "oneOf": [ + { + "type": "object", + "additionalProperties": false, + "properties": { + "cell_dynamics": { + "type": "string", + "enum": [ + "none", + "sd", + "damp-pr", + "damp-w", + "bfgs" + ], + "default": "bfgs", + "description": "CASE ( calculation == 'vc-relax' )" + } + } + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "cell_dynamics": { + "type": "string", + "enum": [ + "none", + "pr", + "w" + ], + "description": "CASE ( calculation == 'vc-md' )" + } + } + } + ], + "properties": { + "press": { + "type": "number", + "description": "Target pressure [KBar] in a variable-cell md or relaxation run.", + "default": 0 + }, + "wmass": { + "type": "number", + "description": "Fictitious cell mass [amu] for variable-cell simulations (both 'vc-md' and 'vc-relax'). Default: 0.75*Tot_Mass/pi**2 for Parrinello-Rahman MD; 0.75*Tot_Mass/pi**2/Omega**(2/3) for Wentzcovitch MD" + }, + "cell_factor": { + "type": "number", + "description": "Used in the construction of the pseudopotential tables. It should exceed the maximum linear contraction of the cell during a simulation. Default: 2.0 for variable-cell calculations, 1.0 otherwise" + }, + "press_conv_thr": { + "type": "number", + "default": 0.5, + "description": "Convergence threshold on the pressure for variable cell relaxation ('vc-relax' : note that the other convergence thresholds for ionic relaxation apply as well)." + }, + "cell_dofree": { + "type": "string", + "enum": [ + "all", + "ibrav", + "a", + "b", + "c", + "fixa", + "fixb", + "fixc", + "x", + "y", + "xy", + "xz", + "xyz", + "shape", + "volume", + "2Dxy", + "2Dshape", + "epitaxial_ab", + "epitaxial_ac", + "epitaxial_bc" + ], + "default": "all", + "description": "Select which of the cell parameters should be moved" + } + } + }, + { + "type": "null" + } + ] + }, + "ATOMIC_SPECIES": { + "$id": "3pse/file/applications/espresso/7.2/pw.x/atomic-species", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic species schema", + "type": "object", + "additionalProperties": false, + "properties": { + "values": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "X": { + "type": "string", + "description": "label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)" + }, + "Mass_X": { + "type": "number", + "description": "mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)" + }, + "PseudoPot_X": { + "type": "string", + "description": "PseudoPot_X" + } + } + } + } + } + }, + "ATOMIC_POSITIONS": { + "$id": "3pse/file/applications/espresso/7.2/pw.x/atomic-positions", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic positions schema", + "description": "https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1493", + "type": "object", + "additionalProperties": false, + "properties": { + "card_option": { + "type": "string", + "enum": [ + "alat", + "bohr", + "angstrom", + "crystal", + "crystal_sg" + ], + "default": "alat" + }, + "values": { + "type": "array", + "items": { + "type": "object", + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false, + "properties": { + "X": { + "type": "string", + "description": "label of the atom as specified in ATOMIC_SPECIES" + }, + "x": { + "type": "number", + "description": "atomic positions" + }, + "y": { + "type": "number", + "description": "atomic positions" + }, + "z": { + "type": "number", + "description": "atomic positions" + }, + "if_pos(1)": { + "$id": "core/primitive/integer-one-or-zero", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "integer one or zero", + "type": "integer", + "minimum": 0, + "maximum": 1 + }, + "if_pos(2)": { + "$id": "core/primitive/integer-one-or-zero", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "integer one or zero", + "type": "integer", + "minimum": 0, + "maximum": 1 + }, + "if_pos(3)": { + "$id": "core/primitive/integer-one-or-zero", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "integer one or zero", + "type": "integer", + "minimum": 0, + "maximum": 1 + } + } + } + } + } + }, + "K_POINTS": { + "$id": "3pse/file/applications/espresso/7.2/pw.x/k-points", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "k points schema", + "type": "object", + "additionalProperties": false, + "properties": { + "card_option": { + "type": "string", + "enum": [ + "tpiba", + "automatic", + "crystal", + "gamma", + "tpiba_b", + "crystal_b", + "tpiba_c", + "crystal_c" + ] + }, + "values": { + "oneOf": [ + { + "type": "array", + "description": "K_POINTS tpiba | crystal | tpiba_b | crystal_b | tpiba_c | crystal_c", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "nks": { + "type": "integer", + "description": "Number of supplied special k-points." + }, + "xk_x": { + "type": "number" + }, + "xk_y": { + "type": "number" + }, + "xk_z": { + "type": "number" + }, + "wk": { + "type": "number" + } + } + } + }, + { + "type": "object", + "description": "K_POINTS automatic", + "additionalProperties": false, + "properties": { + "nk1": { + "type": "integer", + "description": "Number of supplied special k-points." + }, + "nk2": { + "type": "integer", + "description": "Number of supplied special k-points." + }, + "nk3": { + "type": "integer", + "description": "Number of supplied special k-points." + }, + "sk1": { + "type": "integer", + "description": "Number of supplied special k-points." + }, + "sk2": { + "type": "integer", + "description": "Number of supplied special k-points." + }, + "sk3": { + "type": "integer", + "description": "Number of supplied special k-points." + } + } + }, + { + "type": "null", + "description": "K_POINTS gamma" + } + ] + } + } + }, + "CELL_PARAMETERS": { + "$id": "3pse/file/applications/espresso/7.2/pw.x/cell-parameters", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "cell parameters schema", + "type": "object", + "additionalProperties": false, + "properties": { + "card_option": { + "type": "string", + "enum": [ + "alat", + "bohr", + "angstrom" + ], + "description": "label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)" + }, + "values": { + "type": "object", + "additionalProperties": false, + "properties": { + "v1": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "v2": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "v3": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + } + } + } + } + }, + "HUBBARD": { + "$id": "3pse/file/applications/espresso/7.2/pw.x/hubbard", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "hubbard schema", + "type": "object", + "additionalProperties": false, + "properties": { + "card_option": { + "type": "string", + "enum": [ + "atomic", + "ortho-atomic", + "norm-atomic", + "wf", + "pseudo" + ] + }, + "values": { + "oneOf": [ + { + "description": "IF DFT+U", + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "description": "https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1764", + "additionalProperties": false, + "properties": { + "U": { + "type": "string", + "enum": [ + "U" + ], + "description": "string constant \"U\"; indicates the specs for the U parameter will be given" + }, + "label": { + "type": "string", + "description": "label of the atom (as defined in ATOMIC_SPECIES)" + }, + "manifold": { + "type": "string", + "description": "specs of the manifold (e.g., 3d, 2p...)" + }, + "u_val": { + "type": "number", + "description": "value of the U parameter (in eV)" + } + } + }, + { + "type": "object", + "description": "https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1784", + "additionalProperties": false, + "properties": { + "J0": { + "type": "string", + "enum": [ + "J0" + ], + "description": "string constant \"J0\"; indicates the specs for the J0 parameter will be given" + }, + "label": { + "type": "string", + "description": "label of the atom (as defined in ATOMIC_SPECIES)" + }, + "manifold": { + "type": "string", + "description": "specs of the manifold (e.g., 3d, 2p...)" + }, + "j0_val": { + "type": "number", + "description": "value of the J0 parameter (in eV)" + } + } + } + ] + } + }, + { + "description": "IF DFT+U+J", + "type": "array", + "items": { + "type": "object", + "description": "https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1817", + "additionalProperties": false, + "properties": { + "paramType": { + "type": "string", + "enum": [ + "U", + "J", + "B", + "E2", + "E3" + ], + "description": "character describing the type of Hubbard parameter allowed values: U, J and either B (for d-orbitals) or E2 and E3 (for f-orbitals)" + }, + "label": { + "type": "string", + "description": "label of the atom (as defined in ATOMIC_SPECIES)" + }, + "manifold": { + "type": "string", + "description": "specs of the manifold (e.g., 3d, 2p...)" + }, + "paramValue": { + "type": "number", + "description": "value of the J0 parameter (in eV)" + } + } + } + }, + { + "description": "IF DFT+U+V", + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "description": "https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1847", + "additionalProperties": false, + "properties": { + "U": { + "type": "string", + "enum": [ + "U" + ], + "description": "string constant \"U\"; indicates the specs for the U parameter will be given" + }, + "label": { + "type": "string", + "description": "label of the atom (as defined in ATOMIC_SPECIES)" + }, + "manifold": { + "type": "string", + "description": "specs of the manifold (e.g., 3d, 2p...)" + }, + "u_val": { + "type": "number", + "description": "value of the U parameter (in eV)" + } + } + }, + { + "type": "object", + "description": "https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1865", + "additionalProperties": false, + "properties": { + "J0": { + "type": "string", + "enum": [ + "J0" + ], + "description": "string constant \"J0\"; indicates the specs for the J0 parameter will be given" + }, + "label": { + "type": "string", + "description": "label of the atom (as defined in ATOMIC_SPECIES)" + }, + "manifold": { + "type": "string", + "description": "specs of the manifold (e.g., 3d, 2p...)" + }, + "j0_val": { + "type": "number", + "description": "value of the J0 parameter (in eV)" + } + } + }, + { + "type": "object", + "description": "https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1884", + "additionalProperties": false, + "properties": { + "V": { + "type": "string", + "enum": [ + "V" + ], + "description": "string constant \"V\"; indicates the specs for the V parameter will be given" + }, + "label(I)": { + "type": "string", + "description": "label of the atom I (as defined in ATOMIC_SPECIES)" + }, + "manifold(I)": { + "type": "string", + "description": "specs of the manifold for atom I (e.g., 3d, 2p...)" + }, + "label(J)": { + "type": "string", + "description": "label of the atom J (as defined in ATOMIC_SPECIES)" + }, + "manifold(J)": { + "type": "string", + "description": "specs of the manifold for atom J (e.g., 3d, 2p...)" + }, + "I": { + "type": "integer", + "description": "index of the atom I" + }, + "J": { + "type": "integer", + "description": "index of the atom J" + }, + "v_val(I,J)": { + "type": "number", + "description": "value of the V parameter for the atom pair I,J (in eV)" + } + } + } + ] + } + } + ] + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/atomic_positions.json b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/atomic_positions.json new file mode 100644 index 000000000..9dc6d09aa --- /dev/null +++ b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/atomic_positions.json @@ -0,0 +1,75 @@ +{ + "$id": "3pse/file/applications/espresso/7.2/pw.x/atomic-positions", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic positions schema", + "description": "https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1493", + "type": "object", + "additionalProperties": false, + "properties": { + "card_option": { + "type": "string", + "enum": [ + "alat", + "bohr", + "angstrom", + "crystal", + "crystal_sg" + ], + "default": "alat" + }, + "values": { + "type": "array", + "items": { + "type": "object", + "required": [ + "x", + "y", + "z" + ], + "additionalProperties": false, + "properties": { + "X": { + "type": "string", + "description": "label of the atom as specified in ATOMIC_SPECIES" + }, + "x": { + "type": "number", + "description": "atomic positions" + }, + "y": { + "type": "number", + "description": "atomic positions" + }, + "z": { + "type": "number", + "description": "atomic positions" + }, + "if_pos(1)": { + "$id": "core/primitive/integer-one-or-zero", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "integer one or zero", + "type": "integer", + "minimum": 0, + "maximum": 1 + }, + "if_pos(2)": { + "$id": "core/primitive/integer-one-or-zero", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "integer one or zero", + "type": "integer", + "minimum": 0, + "maximum": 1 + }, + "if_pos(3)": { + "$id": "core/primitive/integer-one-or-zero", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "integer one or zero", + "type": "integer", + "minimum": 0, + "maximum": 1 + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/atomic_species.json b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/atomic_species.json new file mode 100644 index 000000000..faa2df9bc --- /dev/null +++ b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/atomic_species.json @@ -0,0 +1,30 @@ +{ + "$id": "3pse/file/applications/espresso/7.2/pw.x/atomic-species", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic species schema", + "type": "object", + "additionalProperties": false, + "properties": { + "values": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "X": { + "type": "string", + "description": "label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)" + }, + "Mass_X": { + "type": "number", + "description": "mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)" + }, + "PseudoPot_X": { + "type": "string", + "description": "PseudoPot_X" + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/cell.json b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/cell.json new file mode 100644 index 000000000..78eac19e3 --- /dev/null +++ b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/cell.json @@ -0,0 +1,89 @@ +{ + "$id": "3pse/file/applications/espresso/7.2/pw.x/cell", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "cell schema", + "type": "object", + "oneOf": [ + { + "type": "object", + "additionalProperties": false, + "properties": { + "cell_dynamics": { + "type": "string", + "enum": [ + "none", + "sd", + "damp-pr", + "damp-w", + "bfgs" + ], + "default": "bfgs", + "description": "CASE ( calculation == 'vc-relax' )" + } + } + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "cell_dynamics": { + "type": "string", + "enum": [ + "none", + "pr", + "w" + ], + "description": "CASE ( calculation == 'vc-md' )" + } + } + } + ], + "additionalProperties": false, + "properties": { + "press": { + "type": "number", + "description": "Target pressure [KBar] in a variable-cell md or relaxation run.", + "default": 0 + }, + "wmass": { + "type": "number", + "description": "Fictitious cell mass [amu] for variable-cell simulations (both 'vc-md' and 'vc-relax'). Default: 0.75*Tot_Mass/pi**2 for Parrinello-Rahman MD; 0.75*Tot_Mass/pi**2/Omega**(2/3) for Wentzcovitch MD" + }, + "cell_factor": { + "type": "number", + "description": "Used in the construction of the pseudopotential tables. It should exceed the maximum linear contraction of the cell during a simulation. Default: 2.0 for variable-cell calculations, 1.0 otherwise" + }, + "press_conv_thr": { + "type": "number", + "default": 0.5, + "description": "Convergence threshold on the pressure for variable cell relaxation ('vc-relax' : note that the other convergence thresholds for ionic relaxation apply as well)." + }, + "cell_dofree": { + "type": "string", + "enum": [ + "all", + "ibrav", + "a", + "b", + "c", + "fixa", + "fixb", + "fixc", + "x", + "y", + "xy", + "xz", + "xyz", + "shape", + "volume", + "2Dxy", + "2Dshape", + "epitaxial_ab", + "epitaxial_ac", + "epitaxial_bc" + ], + "default": "all", + "description": "Select which of the cell parameters should be moved" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/cell_parameters.json b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/cell_parameters.json new file mode 100644 index 000000000..45f95af86 --- /dev/null +++ b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/cell_parameters.json @@ -0,0 +1,57 @@ +{ + "$id": "3pse/file/applications/espresso/7.2/pw.x/cell-parameters", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "cell parameters schema", + "type": "object", + "additionalProperties": false, + "properties": { + "card_option": { + "type": "string", + "enum": [ + "alat", + "bohr", + "angstrom" + ], + "description": "label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)" + }, + "values": { + "type": "object", + "additionalProperties": false, + "properties": { + "v1": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "v2": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "v3": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/control.json b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/control.json new file mode 100644 index 000000000..f3bc38212 --- /dev/null +++ b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/control.json @@ -0,0 +1,181 @@ +{ + "$id": "3pse/file/applications/espresso/7.2/pw.x/control", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "control schema", + "type": "object", + "additionalProperties": false, + "properties": { + "calculation": { + "description": "A string describing the task to be performed", + "type": "string", + "enum": [ + "scf", + "nscf", + "bands", + "relax", + "md", + "vc-relax", + "vc-md" + ], + "default": "scf" + }, + "title": { + "description": "reprinted on output.", + "type": "string", + "default": "" + }, + "verbosity": { + "description": "Currently two verbosity levels are implemented: high, low. 'debug' and 'medium' have the same effect as 'high'; 'default' and 'minimal' as 'low'", + "type": "string", + "enum": [ + "high", + "low", + "debug", + "medium", + "minimal", + "default" + ], + "default": "low" + }, + "restart_mode": { + "type": "string", + "enum": [ + "from_scratch", + "restart" + ], + "default": "from_scratch" + }, + "wf_collect": { + "type": "boolean", + "description": "OBSOLETE - NO LONGER IMPLEMENTED" + }, + "nstep": { + "description": "Default: 1 if calculation == 'scf', 'nscf', 'bands'; 50 for the other cases; Number of molecular-dynamics or structural optimization steps performed in this run. If set to 0, the code performs a quick \"dry run\", stopping just after initialization. This is useful to check for input correctness and to have the summary printed. NOTE: in MD calculations, the code will perform \"nstep\" steps even if restarting from a previously interrupted calculation.", + "type": "number", + "default": 1 + }, + "iprint": { + "description": "band energies are written every iprint iterations", + "type": "number" + }, + "tstress": { + "type": "boolean", + "default": false, + "description": "calculate stress. It is set to .TRUE. automatically if calculation == 'vc-md' or 'vc-relax'" + }, + "tprnfor": { + "type": "boolean", + "description": "calculate forces. It is set to .TRUE. automatically if calculation == 'relax','md','vc-md'" + }, + "dt": { + "type": "number", + "description": "time step for molecular dynamics, in Rydberg atomic units (1 a.u.=4.8378 * 10^-17 s : beware, the CP code uses Hartree atomic units, half that much!!!)", + "default": 20 + }, + "outdir": { + "type": "string", + "description": "input, temporary, output files are found in this directory, see also wfcdir" + }, + "wfcdir": { + "type": "string", + "description": "This directory specifies where to store files generated by each processor (*.wfc{N}, *.igk{N}, etc.). Useful for machines without a parallel file system: set wfcdir to a local file system, while outdir should be a parallel or network file system, visible to all processors. Beware: in order to restart from interrupted runs, or to perform further calculations using the produced data files, you may need to copy files to outdir. Works only for pw.x." + }, + "prefix": { + "type": "string", + "description": "prepended to input/output filenames: prefix.wfc, prefix.rho, etc.", + "default": "pwscf" + }, + "lkpoint_dir": { + "type": "boolean", + "description": "OBSOLETE - NO LONGER IMPLEMENTED" + }, + "max_seconds": { + "type": "number", + "default": 10000000, + "description": "Jobs stops after max_seconds CPU time. Use this option in conjunction with option restart_mode if you need to split a job too long to complete into shorter jobs that fit into your batch queues." + }, + "etot_conv_thr": { + "type": "number", + "default": 0.0001, + "description": "Convergence threshold on total energy (a.u) for ionic minimization: the convergence criterion is satisfied when the total energy changes less than etot_conv_thr between two consecutive scf steps. Note that etot_conv_thr is extensive, like the total energy. See also forc_conv_thr - both criteria must be satisfied" + }, + "forc_conv_thr": { + "type": "number", + "default": 0.001, + "description": "Convergence threshold on forces (a.u) for ionic minimization: the convergence criterion is satisfied when all components of all forces are smaller than forc_conv_thr. See also etot_conv_thr - both criteria must be satisfied" + }, + "disk_io": { + "type": "string", + "enum": [ + "high", + "medium", + "low", + "nowf", + "none" + ], + "description": "Specifies the amount of disk I/O activity: (only for binary files and xml data file in data directory; other files printed at each molecular dynamics / structural optimization step are not controlled by this option )" + }, + "pseudo_dir": { + "type": "string", + "description": "directory containing pseudopotential files. Default: value of the $ESPRESSO_PSEUDO environment variable if set; '$HOME/espresso/pseudo/' otherwise" + }, + "tefield": { + "type": "boolean", + "default": false, + "description": "If .TRUE. a saw-like potential simulating an electric field is added to the bare ionic potential. See variables edir, eamp, emaxpos, eopreg for the form and size of the added potential." + }, + "dipfield": { + "type": "boolean", + "default": false, + "description": "If .TRUE. and tefield==.TRUE. a dipole correction is also added to the bare ionic potential - implements the recipe of L. Bengtsson, PRB 59, 12301 (1999). See variables edir, emaxpos, eopreg for the form of the correction. Must be used ONLY in a slab geometry, for surface calculations, with the discontinuity FALLING IN THE EMPTY SPACE." + }, + "lelfield": { + "type": "boolean", + "default": false, + "description": "If .TRUE. a homogeneous finite electric field described through the modern theory of the polarization is applied. This is different from tefield == .true. !" + }, + "nberrycyc": { + "type": "integer", + "default": 1, + "description": "In the case of a finite electric field ( lelfield == .TRUE. ) it defines the number of iterations for converging the wavefunctions in the electric field Hamiltonian, for each external iteration on the charge density" + }, + "lorbm": { + "type": "boolean", + "default": false, + "description": "If .TRUE. perform orbital magnetization calculation." + }, + "lberry": { + "type": "boolean", + "default": false, + "description": "If .TRUE. perform a Berry phase calculation. See the header of PW/src/bp_c_phase.f90 for documentation" + }, + "gdir": { + "type": "number", + "description": "For Berry phase calculation: direction of the k-point strings in reciprocal space. Allowed values: 1, 2, 3 1=first, 2=second, 3=third reciprocal lattice vector For calculations with finite electric fields (lelfield==.true.) \"gdir\" is the direction of the field." + }, + "nppstr": { + "type": "number", + "description": "For Berry phase calculation: number of k-points to be calculated along each symmetry-reduced string. The same for calculation with finite electric fields (lelfield==.true.)." + }, + "gate": { + "type": "boolean", + "default": false, + "description": "In the case of charged cells (tot_charge .ne. 0) setting gate = .TRUE. represents the counter charge (i.e. -tot_charge) not by a homogeneous background charge but with a charged plate, which is placed at zgate (see below). Details of the gate potential can be found in T. Brumme, M. Calandra, F. Mauri; PRB 89, 245406 (2014). Note, that in systems which are not symmetric with respect to the plate, one needs to enable the dipole correction! (dipfield=.true.). Currently, symmetry can be used with gate=.true. but carefully check that no symmetry is included which maps z to -z even if in principle one could still use them for symmetric systems (i.e. no dipole correction). For nosym=.false. verbosity is set to 'high'. Note: this option was called \"monopole\" in v6.0 and 6.1 of pw.x" + }, + "twochem": { + "type": "boolean", + "default": false, + "description": "IF .TRUE. , a two chemical potential calculation for the simulation of photoexcited systems is performed, constraining a fraction of the electrons in the conduction manifold." + }, + "lfcp": { + "type": "boolean", + "default": false, + "description": "If .TRUE. perform a constant bias potential (constant-mu) calculation for a system with ESM method. See the header of PW/src/fcp_module.f90 for documentation. To perform the calculation, you must set a namelist FCP." + }, + "trism": { + "type": "boolean", + "default": false, + "description": "If .TRUE. perform a 3D-RISM-SCF calculation [for details see H.Sato et al., JCP 112, 9463 (2000), doi:10.1063/1.481564]. The solvent's distributions are calculated by 3D-RISM, though solute is treated as SCF. The charge density and the atomic positions are optimized, simultaneously with the solvents. To perform the calculation, you must set a namelist RISM and a card SOLVENTS. If assume_isolated = 'esm' and esm_bc = 'bc1', Laue-RISM is calculated instead of 3D-RISM and coupled with ESM method (i.e. ESM-RISM). [for details see S.Nishihara and M.Otani, PRB 96, 115429 (2017)]. The default of mixing_beta is 0.2 for both 3D-RISM and Laue-RISM. For structural relaxation with BFGS, ignore_wolfe is always .TRUE. ." + } + } +} \ No newline at end of file diff --git a/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/electrons.json b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/electrons.json new file mode 100644 index 000000000..0b4724cc4 --- /dev/null +++ b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/electrons.json @@ -0,0 +1,164 @@ +{ + "$id": "3pse/file/applications/espresso/7.2/pw.x/electrons", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "electrons schema", + "type": "object", + "additionalProperties": false, + "properties": { + "electron_maxstep": { + "type": "integer", + "default": 100, + "description": "maximum number of iterations in a scf step. If exact exchange is active, this will affect the inner loops." + }, + "exx_maxstep": { + "type": "integer", + "default": 100, + "description": "maximum number of outer iterations in a scf calculation with exact exchange." + }, + "scf_must_converge": { + "type": "boolean", + "default": true, + "description": "If .false. do not stop molecular dynamics or ionic relaxation when electron_maxstep is reached. Use with care." + }, + "conv_thr": { + "type": "number" + }, + "adaptive_thr": { + "type": "boolean", + "default": false, + "description": "If .TRUE. this turns on the use of an adaptive conv_thr for the inner scf loops when using EXX." + }, + "conv_thr_init": { + "type": "number", + "description": "When adaptive_thr = .TRUE. this is the convergence threshold used for the first scf cycle." + }, + "conv_thr_multi": { + "type": "number", + "description": "When adaptive_thr = .TRUE. the convergence threshold for each scf cycle is given by: max( conv_thr, conv_thr_multi * dexx )" + }, + "mixing_mode": { + "type": "string", + "enum": [ + "plain", + "TF", + "local-TF" + ], + "default": "plain" + }, + "mixing_beta": { + "type": "number", + "description": "mixing factor for self-consistency" + }, + "mixing_ndim": { + "type": "integer", + "default": 8, + "description": "number of iterations used in mixing scheme" + }, + "mixing_fixed_ns": { + "type": "integer", + "default": 0, + "description": "For DFT+U : number of iterations with fixed ns ( ns is the atomic density appearing in the Hubbard term )." + }, + "diagonalization": { + "type": "string", + "enum": [ + "david", + "cg", + "ppcg", + "paro", + "ParO", + "rmm-davidson", + "rmm-paro" + ], + "default": "david" + }, + "diago_thr_init": { + "type": "number", + "description": "Convergence threshold (ethr) for iterative diagonalization (the check is on eigenvalue convergence)." + }, + "diago_cg_maxiter": { + "type": "integer", + "description": "For conjugate gradient diagonalization: max number of iterations" + }, + "diago_ppcg_maxiter": { + "type": "integer", + "description": "For ppcg diagonalization: max number of iterations" + }, + "diago_david_ndim": { + "type": "integer", + "default": 2, + "description": "For Davidson diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)." + }, + "diago_rmm_ndim": { + "type": "integer", + "default": 4, + "description": "For RMM-DIIS diagonalization: dimension of workspace (number of wavefunction packets, at least 2 needed)." + }, + "diago_rmm_conv": { + "type": "boolean", + "default": false, + "description": "If .TRUE., RMM-DIIS is performed up to converge. If .FALSE., RMM-DIIS is performed only once." + }, + "diago_gs_nblock": { + "type": "integer", + "default": 16, + "description": "For RMM-DIIS diagonalization: blocking size of Gram-Schmidt orthogonalization" + }, + "diago_full_acc": { + "type": "boolean", + "default": false, + "description": "If .TRUE. all the empty states are diagonalized at the same level of accuracy of the occupied ones. Otherwise the empty states are diagonalized using a larger threshold (this should not affect total energy, forces, and other ground-state properties)." + }, + "efield": { + "type": "number", + "description": "Amplitude of the finite electric field (in Ry a.u.; 1 a.u. = 36.3609*10^10 V/m). Used only if lelfield==.TRUE. and if k-points (K_POINTS card) are not automatic." + }, + "efield_cart": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "efield_phase": { + "type": "string", + "enum": [ + "read", + "write", + "none" + ], + "default": "none" + }, + "startingpot": { + "type": "string", + "enum": [ + "atomic", + "file" + ] + }, + "startingwfc": { + "type": "string", + "enum": [ + "atomic", + "atomic+random", + "random", + "file" + ], + "default": "atomic+random" + }, + "tqr": { + "type": "boolean", + "default": false, + "description": "If .true., use a real-space algorithm for augmentation charges of ultrasoft pseudopotentials and PAWsets. Faster but numerically less accurate than the default G-space algorithm. Use with care and after testing!" + }, + "real_space": { + "type": "boolean", + "default": false, + "description": "If .true., exploit real-space localization to compute matrix elements for nonlocal projectors. Faster and in principle better scaling than the default G-space algorithm, but numerically less accurate, may lead to some loss of translational invariance. Use with care and after testing!" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/hubbard.json b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/hubbard.json new file mode 100644 index 000000000..1d641b3fd --- /dev/null +++ b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/hubbard.json @@ -0,0 +1,219 @@ +{ + "$id": "3pse/file/applications/espresso/7.2/pw.x/hubbard", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "hubbard schema", + "type": "object", + "additionalProperties": false, + "properties": { + "card_option": { + "type": "string", + "enum": [ + "atomic", + "ortho-atomic", + "norm-atomic", + "wf", + "pseudo" + ] + }, + "values": { + "oneOf": [ + { + "description": "IF DFT+U", + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "description": "https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1764", + "additionalProperties": false, + "properties": { + "U": { + "type": "string", + "enum": [ + "U" + ], + "description": "string constant \"U\"; indicates the specs for the U parameter will be given" + }, + "label": { + "type": "string", + "description": "label of the atom (as defined in ATOMIC_SPECIES)" + }, + "manifold": { + "type": "string", + "description": "specs of the manifold (e.g., 3d, 2p...)" + }, + "u_val": { + "type": "number", + "description": "value of the U parameter (in eV)" + } + } + }, + { + "type": "object", + "description": "https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1784", + "additionalProperties": false, + "properties": { + "J0": { + "type": "string", + "enum": [ + "J0" + ], + "description": "string constant \"J0\"; indicates the specs for the J0 parameter will be given" + }, + "label": { + "type": "string", + "description": "label of the atom (as defined in ATOMIC_SPECIES)" + }, + "manifold": { + "type": "string", + "description": "specs of the manifold (e.g., 3d, 2p...)" + }, + "j0_val": { + "type": "number", + "description": "value of the J0 parameter (in eV)" + } + } + } + ] + } + }, + { + "description": "IF DFT+U+J", + "type": "array", + "items": { + "type": "object", + "description": "https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1817", + "additionalProperties": false, + "properties": { + "paramType": { + "type": "string", + "enum": [ + "U", + "J", + "B", + "E2", + "E3" + ], + "description": "character describing the type of Hubbard parameter allowed values: U, J and either B (for d-orbitals) or E2 and E3 (for f-orbitals)" + }, + "label": { + "type": "string", + "description": "label of the atom (as defined in ATOMIC_SPECIES)" + }, + "manifold": { + "type": "string", + "description": "specs of the manifold (e.g., 3d, 2p...)" + }, + "paramValue": { + "type": "number", + "description": "value of the J0 parameter (in eV)" + } + } + } + }, + { + "description": "IF DFT+U+V", + "type": "array", + "items": { + "oneOf": [ + { + "type": "object", + "description": "https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1847", + "additionalProperties": false, + "properties": { + "U": { + "type": "string", + "enum": [ + "U" + ], + "description": "string constant \"U\"; indicates the specs for the U parameter will be given" + }, + "label": { + "type": "string", + "description": "label of the atom (as defined in ATOMIC_SPECIES)" + }, + "manifold": { + "type": "string", + "description": "specs of the manifold (e.g., 3d, 2p...)" + }, + "u_val": { + "type": "number", + "description": "value of the U parameter (in eV)" + } + } + }, + { + "type": "object", + "description": "https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1865", + "additionalProperties": false, + "properties": { + "J0": { + "type": "string", + "enum": [ + "J0" + ], + "description": "string constant \"J0\"; indicates the specs for the J0 parameter will be given" + }, + "label": { + "type": "string", + "description": "label of the atom (as defined in ATOMIC_SPECIES)" + }, + "manifold": { + "type": "string", + "description": "specs of the manifold (e.g., 3d, 2p...)" + }, + "j0_val": { + "type": "number", + "description": "value of the J0 parameter (in eV)" + } + } + }, + { + "type": "object", + "description": "https://www.quantum-espresso.org/Doc/INPUT_PW.html#idm1884", + "additionalProperties": false, + "properties": { + "V": { + "type": "string", + "enum": [ + "V" + ], + "description": "string constant \"V\"; indicates the specs for the V parameter will be given" + }, + "label(I)": { + "type": "string", + "description": "label of the atom I (as defined in ATOMIC_SPECIES)" + }, + "manifold(I)": { + "type": "string", + "description": "specs of the manifold for atom I (e.g., 3d, 2p...)" + }, + "label(J)": { + "type": "string", + "description": "label of the atom J (as defined in ATOMIC_SPECIES)" + }, + "manifold(J)": { + "type": "string", + "description": "specs of the manifold for atom J (e.g., 3d, 2p...)" + }, + "I": { + "type": "integer", + "description": "index of the atom I" + }, + "J": { + "type": "integer", + "description": "index of the atom J" + }, + "v_val(I,J)": { + "type": "number", + "description": "value of the V parameter for the atom pair I,J (in eV)" + } + } + } + ] + } + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/ions.json b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/ions.json new file mode 100644 index 000000000..b3ae0bc9a --- /dev/null +++ b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/ions.json @@ -0,0 +1,216 @@ +{ + "$id": "3pse/file/applications/espresso/7.2/pw.x/ions", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ions schema", + "type": "object", + "oneOf": [ + { + "type": "object", + "additionalProperties": false, + "properties": { + "ion_dynamics": { + "type": "string", + "enum": [ + "bfgs", + "damp", + "fire" + ], + "default": "bfgs", + "description": "CASE: calculation == 'relax'" + } + } + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "ion_dynamics": { + "type": "string", + "enum": [ + "verlet", + "langevin", + "langevin-smc" + ], + "default": "verlet", + "description": "CASE: calculation == 'md'" + } + } + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "ion_dynamics": { + "type": "string", + "enum": [ + "bfgs", + "damp" + ], + "default": "bfgs", + "description": "CASE: calculation == 'vc-relax'" + } + } + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "ion_dynamics": { + "type": "string", + "enum": [ + "beeman" + ], + "default": "beeman", + "description": "CASE: calculation == 'vc-md'" + } + } + } + ], + "additionalProperties": false, + "properties": { + "ion_positions": { + "type": "string", + "enum": [ + "default", + "from_input" + ], + "default": "default" + }, + "ion_velocities": { + "type": "string", + "enum": [ + "default", + "from_input" + ], + "default": "default" + }, + "pot_extrapolation": { + "type": "string", + "enum": [ + "none", + "atomic", + "first_order", + "second_order" + ], + "default": "atomic", + "description": "Used to extrapolate the potential from preceding ionic steps." + }, + "wfc_extrapolation": { + "type": "string", + "enum": [ + "none", + "first_order", + "second_order" + ], + "default": "none", + "description": "Used to extrapolate the wavefunctions from preceding ionic steps." + }, + "remove_rigid_rot": { + "type": "boolean", + "default": false, + "description": "This keyword is useful when simulating the dynamics and/or the thermodynamics of an isolated system. If set to true the total torque of the internal forces is set to zero by adding new forces that compensate the spurious interaction with the periodic images. This allows for the use of smaller supercells." + }, + "ion_temperature": { + "type": "string", + "enum": [ + "rescaling", + "rescale-v", + "rescale-T", + "reduce-T", + "berendsen", + "andersen", + "svr", + "initial", + "not_controlled" + ], + "default": "not_controlled" + }, + "tempw": { + "type": "number", + "description": "Starting temperature (Kelvin) in MD runs target temperature for most thermostats.", + "default": 300 + }, + "tolp": { + "type": "number", + "description": "Tolerance for velocity rescaling. Velocities are rescaled if the run-averaged and target temperature differ more than tolp.", + "default": 100 + }, + "delta_t": { + "type": "number", + "default": 1 + }, + "nraise": { + "type": "integer", + "default": 1 + }, + "refold_pos": { + "type": "boolean", + "default": false, + "description": "This keyword applies only in the case of molecular dynamics or damped dynamics. If true the ions are refolded at each step into the supercell." + }, + "upscale": { + "type": "number", + "description": "Max reduction factor for conv_thr during structural optimization conv_thr is automatically reduced when the relaxation approaches convergence so that forces are still accurate, but conv_thr will not be reduced to less that conv_thr / upscale.", + "default": 100 + }, + "bfgs_ndim": { + "type": "integer", + "default": 1, + "description": "Number of old forces and displacements vectors used in the PULAY mixing of the residual vectors obtained on the basis of the inverse hessian matrix given by the BFGS algorithm." + }, + "trust_radius_max": { + "type": "number", + "description": "Maximum ionic displacement in the structural relaxation. (bfgs only)", + "default": 0.8 + }, + "trust_radius_min": { + "type": "number", + "description": "Minimum ionic displacement in the structural relaxation BFGS is reset when trust_radius < trust_radius_min. (bfgs only)", + "default": 0.001 + }, + "trust_radius_ini": { + "type": "number", + "description": "Initial ionic displacement in the structural relaxation. (bfgs only)", + "default": 0.5 + }, + "w_1": { + "type": "number", + "default": 0.01 + }, + "w_2": { + "type": "number", + "description": "Parameters used in line search based on the Wolfe conditions. (bfgs only)", + "default": 0.5 + }, + "fire_alpha_init": { + "type": "number", + "description": "Initial value of the alpha mixing factor in the FIRE minimization scheme; recommended values are between 0.1 and 0.3", + "default": 0.2 + }, + "fire_falpha": { + "type": "number", + "description": "Scaling of the alpha mixing parameter for steps with P > 0;", + "default": 0.99 + }, + "fire_nmin": { + "type": "integer", + "default": 5, + "description": "Minimum number of steps with P > 0 before increase of dt" + }, + "fire_f_inc": { + "type": "number", + "description": "Factor for increasing dt", + "default": 1.1 + }, + "fire_f_dec": { + "type": "number", + "description": "Factor for decreasing dt", + "default": 0.5 + }, + "fire_dtmax": { + "type": "number", + "description": "Determines the maximum value of dt in the FIRE minimization; dtmax = fire_dtmax*dt", + "default": 10 + } + } +} \ No newline at end of file diff --git a/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/k_points.json b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/k_points.json new file mode 100644 index 000000000..e7d505b80 --- /dev/null +++ b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/k_points.json @@ -0,0 +1,87 @@ +{ + "$id": "3pse/file/applications/espresso/7.2/pw.x/k-points", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "k points schema", + "type": "object", + "additionalProperties": false, + "properties": { + "card_option": { + "type": "string", + "enum": [ + "tpiba", + "automatic", + "crystal", + "gamma", + "tpiba_b", + "crystal_b", + "tpiba_c", + "crystal_c" + ] + }, + "values": { + "oneOf": [ + { + "type": "array", + "description": "K_POINTS tpiba | crystal | tpiba_b | crystal_b | tpiba_c | crystal_c", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "nks": { + "type": "integer", + "description": "Number of supplied special k-points." + }, + "xk_x": { + "type": "number" + }, + "xk_y": { + "type": "number" + }, + "xk_z": { + "type": "number" + }, + "wk": { + "type": "number" + } + } + } + }, + { + "type": "object", + "description": "K_POINTS automatic", + "additionalProperties": false, + "properties": { + "nk1": { + "type": "integer", + "description": "Number of supplied special k-points." + }, + "nk2": { + "type": "integer", + "description": "Number of supplied special k-points." + }, + "nk3": { + "type": "integer", + "description": "Number of supplied special k-points." + }, + "sk1": { + "type": "integer", + "description": "Number of supplied special k-points." + }, + "sk2": { + "type": "integer", + "description": "Number of supplied special k-points." + }, + "sk3": { + "type": "integer", + "description": "Number of supplied special k-points." + } + } + }, + { + "type": "null", + "description": "K_POINTS gamma" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/system.json b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/system.json new file mode 100644 index 000000000..5ea358166 --- /dev/null +++ b/docs/js/schema/3pse/file/applications/espresso/7.2/pw.x/system.json @@ -0,0 +1,649 @@ +{ + "$id": "3pse/file/applications/espresso/7.2/pw.x/system", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "system schema", + "type": "object", + "anyOf": [ + { + "properties": { + "celldm": { + "type": "array", + "minLength": 6, + "maxLength": 6, + "items": { + "type": "number" + } + } + } + }, + { + "properties": { + "A": { + "type": "number" + }, + "B": { + "type": "number" + }, + "C": { + "type": "number" + }, + "cosAB": { + "type": "number" + }, + "cosAC": { + "type": "number" + }, + "cosBC": { + "type": "number" + } + } + } + ], + "required": [ + "ibrav", + "nat", + "ntyp", + "ecutwfc" + ], + "additionalProperties": false, + "properties": { + "ibrav": { + "type": "integer" + }, + "nat": { + "type": "integer", + "description": "number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)" + }, + "ntyp": { + "type": "integer", + "description": "number of types of atoms in the unit cell" + }, + "nbnd": { + "type": "integer", + "description": "Default: for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more)" + }, + "nbnd_cond": { + "type": "integer", + "description": "Default: nbnd_cond = nbnd - # of electrons / 2 in the collinear case; nbnd_cond = nbnd - # of electrons in the noncollinear case." + }, + "tot_charge": { + "type": "number", + "default": 0 + }, + "starting_charge": { + "type": "number", + "default": 0, + "description": "starting charge on atomic type 'i', to create starting potential with startingpot = 'atomic'." + }, + "tot_magnetization": { + "type": "number", + "default": -10000, + "description": "Total majority spin charge - minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle." + }, + "starting_magnetization": { + "type": "array", + "items": { + "type": "number", + "default": 0, + "minimum": -1, + "maximum": 1 + } + }, + "ecutwfc": { + "type": "number", + "description": "kinetic energy cutoff (Ry) for wavefunctions" + }, + "ecutrho": { + "type": "number", + "description": "Kinetic energy cutoff (Ry) for charge density and potential For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. Default: 4 * ecutwfc" + }, + "ecutfock": { + "type": "number", + "description": "Kinetic energy cutoff (Ry) for the exact exchange operator in EXX type calculations. By default this is the same as ecutrho but in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be .gt. ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials." + }, + "nr1": { + "type": "integer", + "description": "Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)" + }, + "nr2": { + "type": "integer", + "description": "Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)" + }, + "nr3": { + "type": "integer", + "description": "Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)" + }, + "nr1s": { + "type": "integer", + "description": "Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )" + }, + "nr2s": { + "type": "integer", + "description": "Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )" + }, + "nr3s": { + "type": "integer", + "description": "Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )" + }, + "nosym": { + "type": "boolean", + "default": false + }, + "nosym_evc": { + "type": "boolean", + "default": false + }, + "noinv": { + "type": "boolean", + "default": false, + "description": "if (.TRUE.) disable the usage of k => -k symmetry (time reversal) in k-point generation" + }, + "no_t_rev": { + "type": "boolean", + "default": false, + "description": "if (.TRUE.) disable the usage of magnetic symmetry operations that consist in a rotation + time reversal." + }, + "force_symmorphic": { + "type": "boolean", + "default": false, + "description": "if (.TRUE.) force the symmetry group to be symmorphic by disabling symmetry operations having an associated fractionary translation" + }, + "use_all_frac": { + "type": "boolean", + "default": false + }, + "occupations": { + "type": "string", + "enum": [ + "smearing", + "tetrahedra", + "tetrahedra_lin", + "tetrahedra_opt", + "fixed", + "from_input" + ] + }, + "one_atom_occupations": { + "type": "boolean", + "default": false + }, + "starting_spin_angle": { + "type": "boolean", + "default": false + }, + "degauss_cond": { + "type": "number", + "default": 0, + "description": "value of the gaussian spreading (Ry) for brillouin-zone integration in the conduction manifold in a two-chemical potential calculation (twochem=.true.)." + }, + "nelec_cond": { + "type": "number", + "default": 0, + "description": "Number of electrons placed in the conduction manifold in a two-chemical potential calculation (twochem=.true.). Of the total # of electrons nelec, nelec-nelec_cond will occupy the valence manifold and nelec_cond will be constrained in the conduction manifold." + }, + "degauss": { + "type": "number", + "default": 0, + "description": "value of the gaussian spreading (Ry) for brillouin-zone integration in metals." + }, + "smearing": { + "type": "string", + "enum": [ + "gaussian", + "gauss", + "methfessel-paxton", + "m-p", + "mp", + "marzari-vanderbilt", + "cold", + "m-v", + "mv", + "fermi-dirac", + "f-d", + "fd" + ], + "default": "gaussian" + }, + "nspin": { + "type": "integer", + "default": 1 + }, + "sic_gamma": { + "type": "number", + "default": 0, + "description": "Strength of the gammaDFT potential." + }, + "pol_type": { + "type": "string", + "enum": [ + "e", + "h" + ], + "description": "Type of polaron in gammaDFT." + }, + "sic_energy": { + "type": "boolean", + "default": false, + "description": "Enable the calculation of the total energy in gammaDFT. When .true., a preliminary calculation is performed to calculate the electron density in the absence of the polaron. When .false., the total energy printed in output should not be considered. For structural relaxations, it is recommended to use .false. to avoid doubling the computational cost." + }, + "sci_vb": { + "type": "number", + "default": 0, + "description": "Valence band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted." + }, + "sci_cb": { + "type": "number", + "default": 0, + "description": "Conduction band band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted." + }, + "noncolin": { + "type": "boolean", + "default": false, + "description": "if .true. the program will perform a noncollinear calculation." + }, + "ecfixed": { + "type": "number", + "default": 0 + }, + "qcutz": { + "type": "number", + "default": 0 + }, + "q2sigma": { + "type": "number", + "default": 0.1 + }, + "input_dft": { + "type": "string", + "description": "Exchange-correlation functional: eg 'PBE', 'BLYP' etc See Modules/funct.f90 for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing!" + }, + "ace": { + "type": "boolean", + "default": true, + "description": "Use Adaptively Compressed Exchange operator as in Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092" + }, + "exx_fraction": { + "type": "number", + "description": "Fraction of EXX for hybrid functional calculations. In the case of input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP' the exx_fraction default value is 0.20." + }, + "screening_parameter": { + "type": "number", + "default": 0.106, + "description": "screening_parameter for HSE like hybrid functionals." + }, + "exxdiv_treatment": { + "type": "string", + "default": "gygi-baldereschi", + "enum": [ + "gygi-baldereschi", + "vcut_spherical", + "vcut_ws", + "none" + ] + }, + "x_gamma_extrapolation": { + "type": "boolean", + "default": true, + "description": "Specific for EXX. If .true., extrapolate the G=0 term of the potential" + }, + "ecutvcut": { + "type": "number", + "description": "Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors." + }, + "nqx1": { + "type": "integer", + "default": 0, + "description": "Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points." + }, + "nqx2": { + "type": "integer", + "description": "Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points." + }, + "nqx3": { + "type": "integer", + "description": "Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points." + }, + "localization_thr": { + "type": "number", + "default": 0, + "description": "Overlap threshold over which the exchange integral over a pair of localized orbitals is included in the evaluation of EXX operator. Any value greater than 0.0 triggers the SCDM localization and the evaluation on EXX using the localized orbitals. Very small value of the threshold should yield the same result as the default EXX evaluation" + }, + "Hubbard_occ": { + "type": "array", + "items": { + "type": "array", + "items": [ + { + "type": "integer", + "minimum": 1 + }, + { + "type": "integer", + "minimum": 1, + "maximum": 3 + }, + { + "type": "number" + } + ] + } + }, + "Hubbard_alpha": { + "type": "array", + "items": { + "type": "number", + "default": 0 + } + }, + "Hubbard_beta": { + "type": "array", + "items": { + "type": "number", + "default": 0 + } + }, + "starting_ns_eigenvalue": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + }, + "dmft": { + "type": "boolean", + "default": false, + "description": "If true, nscf calculation will exit in restart mode, scf calculation will restart from there if DMFT updates are provided as hdf5 archive. Scf calculation should be used only with electron_maxstep = 1." + }, + "dmft_prefix": { + "type": "string", + "description": "prepended to hdf5 archive: dmft_prefix.h5" + }, + "ensemble_energies": { + "type": "boolean", + "default": false, + "description": "If ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state calculation." + }, + "edir": { + "type": "integer", + "description": "The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points; edir = 1, 2 or 3. Used only if tefield is .TRUE." + }, + "emaxpos": { + "type": "number", + "default": 0.5, + "description": "Position of the maximum of the saw-like potential along crystal axis edir, within the unit cell (see below), 0 < emaxpos < 1 Used only if tefield is .TRUE." + }, + "eopreg": { + "type": "number", + "default": 0.1, + "description": "Zone in the unit cell where the saw-like potential decreases. ( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE." + }, + "eamp": { + "type": "number", + "default": 0.001 + }, + "angle1": { + "type": "array", + "maxItems": 1, + "minItems": 1, + "description": "The angle expressed in degrees between the initial magnetization and the z-axis. For noncollinear calculations only; index i runs over the atom types.", + "items": { + "type": "number" + } + }, + "angle2": { + "type": "array", + "maxItems": 1, + "minItems": 1, + "description": "The angle expressed in degrees between the projection of the initial magnetization on x-y plane and the x-axis. For noncollinear calculations only.", + "items": { + "type": "number" + } + }, + "lforcet": { + "type": "boolean", + "description": "When starting a non collinear calculation using an existing density file from a collinear lsda calculation assumes previous density points in z direction and rotates it in the direction described by angle1 and angle2 variables for atomic type 1" + }, + "constrained_magnetization": { + "type": "string", + "enum": [ + "none", + "total", + "atomic", + "total direction", + "atomic direction" + ], + "default": "none", + "description": "Used to perform constrained calculations in magnetic systems." + }, + "fixed_magnetization": { + "type": "array", + "maxItems": 3, + "minItems": 3, + "items": { + "type": "number", + "default": 0 + } + }, + "lambda": { + "type": "number", + "default": 1, + "description": "parameter used for constrained_magnetization calculations N.B.: if the scf calculation does not converge, try to reduce lambda to obtain convergence, then restart the run with a larger lambda" + }, + "report": { + "type": "integer", + "default": -1, + "description": "determines when atomic magnetic moments are printed on output" + }, + "lspinorb": { + "type": "boolean", + "description": "if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit." + }, + "assume_isolated": { + "type": "string", + "enum": [ + "none", + "makov-payne", + "m-p", + "mp", + "martyna-tuckerman", + "m-t", + "mt", + "esm", + "2D" + ], + "default": "none", + "definition": "Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell)" + }, + "esm_bc": { + "type": "string", + "enum": [ + "pbc", + "bc1", + "bc2", + "bc3" + ], + "default": "pbc", + "definition": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab." + }, + "esm_w": { + "type": "number", + "default": 0, + "description": "If assume_isolated = 'esm', determines the position offset [in a.u.] of the start of the effective screening region, measured relative to the cell edge. (ESM region begins at z = +/- [L_z/2 + esm_w] )." + }, + "esm_efield": { + "type": "number", + "default": 0, + "description": "If assume_isolated = 'esm' and esm_bc = 'bc2', gives the magnitude of the electric field [Ry/a.u.] to be applied between semi-infinite ESM electrodes." + }, + "esm_nfit": { + "type": "integer", + "default": 4, + "description": "If assume_isolated = 'esm', gives the number of z-grid points for the polynomial fit along the cell edge." + }, + "lgcscf": { + "type": "boolean", + "default": false, + "description": "If .TRUE. perform a constant bias potential (constant-mu) calculation with Grand-Canonical SCF." + }, + "gcscf_mu": { + "type": "number", + "description": "The target Fermi energy (eV) of GC-SCF. One can start with appropriate total charge of the system by giving tot_charge" + }, + "gcscf_conv_thr": { + "type": "number", + "default": 0.01, + "description": "Convergence threshold of Fermi energy (eV) for GC-SCF." + }, + "gcscf_beta": { + "type": "number", + "default": 0.05, + "description": "Mixing factor for GC-SCF. Larger values are recommended, if systems with small DOS on Fermi surface as graphite." + }, + "vdw_corr": { + "type": "string", + "enum": [ + "grimme-d2", + "Grimme-D2", + "DFT-D", + "dft-d", + "grimme-d3", + "Grimme-D3", + "DFT-D3", + "dft-d3", + "TS", + "ts", + "ts-vdw", + "ts-vdW", + "tkatchenko-scheffler", + "MBD", + "mbd", + "many-body-dispersion", + "mbd_vdw", + "XDM", + "xdm" + ], + "default": "none", + "description": "Type of Van der Waals correction" + }, + "london": { + "type": "boolean", + "default": false, + "description": "OBSOLESCENT, same as vdw_corr='DFT-D'" + }, + "london_s6": { + "type": "number", + "default": 0.75, + "description": "global scaling parameter for DFT-D. Default is good for PBE." + }, + "london_c6": { + "type": "number", + "description": "atomic C6 coefficient of each atom type" + }, + "london_rvdw": { + "type": "number", + "description": "atomic vdw radii of each atom type" + }, + "london_rcut": { + "type": "number", + "default": 200, + "description": "cutoff radius (a.u.) for dispersion interactions" + }, + "dftd3_version": { + "type": "integer", + "default": 3, + "minimum": 2, + "maximum": 6, + "description": "Version of Grimme implementation of Grimme-D3" + }, + "dftd3_threebody": { + "type": "boolean", + "default": true, + "description": "Turn three-body terms in Grimme-D3 on. If .false. two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version=2, three-body contribution is always disabled." + }, + "ts_vdw_econv_thr": { + "type": "number", + "default": 0.000001, + "description": "Optional: controls the convergence of the vdW energy (and forces). The default value is a safe choice, likely too safe, but you do not gain much in increasing it" + }, + "ts_vdw_isolated": { + "type": "boolean", + "default": false, + "description": "Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the Many-Body dispersion (MBD) energy for an isolated (non-periodic) system." + }, + "xdm": { + "type": "boolean", + "default": false, + "description": "OBSOLESCENT, same as vdw_corr='xdm'" + }, + "xdm_a1": { + "type": "number", + "default": 0.6836, + "description": "Damping function parameter a1 (adimensional)" + }, + "xdm_a2": { + "type": "number", + "default": 1.5045, + "description": "Damping function parameter a2 (angstrom)" + }, + "space_group": { + "type": "integer", + "default": 0, + "description": "The number of the space group of the crystal, as given in the International Tables of Crystallography A (ITA)" + }, + "uniqueb": { + "type": "boolean", + "default": false, + "description": "Used only for monoclinic lattices" + }, + "origin_choice": { + "type": "integer", + "default": 1, + "description": "Used only for space groups that in the ITA allow the use of two different origins" + }, + "rhombohedral": { + "type": "boolean", + "default": true, + "description": "Used only for rhombohedral space groups." + }, + "zgate": { + "type": "number", + "default": 0.5, + "description": "used only if gate = .TRUE." + }, + "relaxz": { + "type": "boolean", + "default": false, + "description": "used only if gate = .TRUE." + }, + "block": { + "type": "boolean", + "default": false, + "description": "used only if gate = .TRUE." + }, + "block_1": { + "type": "number", + "default": 0.45, + "description": "used only if gate = .TRUE. and block = .TRUE." + }, + "block_2": { + "type": "number", + "default": 0.55, + "description": "used only if gate = .TRUE. and block = .TRUE." + }, + "block_height": { + "type": "number", + "default": 0.1, + "description": "used only if gate = .TRUE. and block = .TRUE." + }, + "nextffield": { + "type": "integer", + "default": 0, + "description": "Number of activated external ionic force fields." + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/abstract/2d_data.json b/docs/js/schema/core/abstract/2d_data.json new file mode 100644 index 000000000..528702d21 --- /dev/null +++ b/docs/js/schema/core/abstract/2d_data.json @@ -0,0 +1,32 @@ +{ + "$id": "core/abstract/2d-data", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "2 dimension data schema", + "type": "object", + "required": [ + "xDataArray", + "yDataSeries" + ], + "properties": { + "xDataArray": { + "description": "array containing values of x Axis", + "type": "array" + }, + "yDataSeries": { + "$id": "core/primitive/1d-data-series", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "1 dimension data series schema", + "type": "array", + "items": { + "type": "array", + "minItems": 1, + "items": { + "type": [ + "number", + "string" + ] + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/abstract/2d_plot.json b/docs/js/schema/core/abstract/2d_plot.json new file mode 100644 index 000000000..d4a0cfc8f --- /dev/null +++ b/docs/js/schema/core/abstract/2d_plot.json @@ -0,0 +1,75 @@ +{ + "$id": "core/abstract/2d-plot", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "2 dimension plot schema", + "required": [ + "xAxis", + "xDataArray", + "yAxis", + "yDataSeries" + ], + "type": "object", + "properties": { + "xAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "description": "label of an axis object", + "type": "string" + }, + "units": { + "description": "units for an axis", + "type": "string" + } + } + }, + "yAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "description": "label of an axis object", + "type": "string" + }, + "units": { + "description": "units for an axis", + "type": "string" + } + } + }, + "legend": { + "description": "Legend of y Axis data series", + "minItems": 1, + "type": "array" + }, + "xDataArray": { + "description": "array containing values of x Axis", + "type": "array" + }, + "yDataSeries": { + "$id": "core/primitive/1d-data-series", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "1 dimension data series schema", + "type": "array", + "items": { + "type": "array", + "minItems": 1, + "items": { + "type": [ + "number", + "string" + ] + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/abstract/3d_grid.json b/docs/js/schema/core/abstract/3d_grid.json new file mode 100644 index 000000000..4246b85d0 --- /dev/null +++ b/docs/js/schema/core/abstract/3d_grid.json @@ -0,0 +1,33 @@ +{ + "$id": "core/abstract/3d-grid", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "3 dimensional grid schema", + "required": [ + "dimensions", + "shifts" + ], + "properties": { + "dimensions": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "shifts": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/abstract/3d_tensor.json b/docs/js/schema/core/abstract/3d_tensor.json new file mode 100644 index 000000000..26ca8379f --- /dev/null +++ b/docs/js/schema/core/abstract/3d_tensor.json @@ -0,0 +1,19 @@ +{ + "$id": "core/abstract/3d-tensor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "3 dimensional tensor schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/abstract/3d_vector-basis.json b/docs/js/schema/core/abstract/3d_vector-basis.json new file mode 100644 index 000000000..4133f009b --- /dev/null +++ b/docs/js/schema/core/abstract/3d_vector-basis.json @@ -0,0 +1,46 @@ +{ + "$id": "core/abstract/3d-vector-basis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "3 dimensional vector basis", + "type": "object", + "required": [ + "a", + "b", + "c" + ], + "properties": { + "a": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "b": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "c": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/abstract/point.json b/docs/js/schema/core/abstract/point.json new file mode 100644 index 000000000..b2ac69771 --- /dev/null +++ b/docs/js/schema/core/abstract/point.json @@ -0,0 +1,11 @@ +{ + "$id": "core/abstract/point", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "point schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } +} \ No newline at end of file diff --git a/docs/js/schema/core/abstract/vector.json b/docs/js/schema/core/abstract/vector.json new file mode 100644 index 000000000..6e7807950 --- /dev/null +++ b/docs/js/schema/core/abstract/vector.json @@ -0,0 +1,29 @@ +{ + "$id": "core/abstract/vector", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "vector schema", + "oneOf": [ + { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3, + "maxItems": 3 + }, + { + "$id": "core/primitive/array-of-3-booleans", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 boolean elements schema", + "type": "array", + "items": { + "type": "boolean" + }, + "minItems": 3, + "maxItems": 3 + } + ] +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/1d_data-series.json b/docs/js/schema/core/primitive/1d_data-series.json new file mode 100644 index 000000000..1fba3d448 --- /dev/null +++ b/docs/js/schema/core/primitive/1d_data-series.json @@ -0,0 +1,16 @@ +{ + "$id": "core/primitive/1d-data-series", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "1 dimension data series schema", + "type": "array", + "items": { + "type": "array", + "minItems": 1, + "items": { + "type": [ + "number", + "string" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/3d_lattice.json b/docs/js/schema/core/primitive/3d_lattice.json new file mode 100644 index 000000000..30a6e1175 --- /dev/null +++ b/docs/js/schema/core/primitive/3d_lattice.json @@ -0,0 +1,40 @@ +{ + "$id": "core/primitive/3d-lattice", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "3 dimensional lattice schema", + "type": "object", + "required": [ + "a", + "b", + "c", + "alpha", + "beta", + "gamma" + ], + "properties": { + "a": { + "description": "length of the first lattice vector", + "type": "number" + }, + "b": { + "description": "length of the second lattice vector", + "type": "number" + }, + "c": { + "description": "length of the third lattice vector", + "type": "number" + }, + "alpha": { + "description": "angle between first and second lattice vector", + "type": "number" + }, + "beta": { + "description": "angle between second and third lattice vector", + "type": "number" + }, + "gamma": { + "description": "angle between first and third lattice vector", + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/array_of-3-booleans.json b/docs/js/schema/core/primitive/array_of-3-booleans.json new file mode 100644 index 000000000..48069b0b6 --- /dev/null +++ b/docs/js/schema/core/primitive/array_of-3-booleans.json @@ -0,0 +1,11 @@ +{ + "$id": "core/primitive/array-of-3-booleans", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 boolean elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "boolean" + } +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/array_of-3-numbers.json b/docs/js/schema/core/primitive/array_of-3-numbers.json new file mode 100644 index 000000000..39bc08641 --- /dev/null +++ b/docs/js/schema/core/primitive/array_of-3-numbers.json @@ -0,0 +1,11 @@ +{ + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/array_of-ids.json b/docs/js/schema/core/primitive/array_of-ids.json new file mode 100644 index 000000000..68aa42820 --- /dev/null +++ b/docs/js/schema/core/primitive/array_of-ids.json @@ -0,0 +1,17 @@ +{ + "$id": "core/primitive/array-of-ids", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic ids", + "description": "array of objects containing integer id each", + "type": "array", + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "id": { + "description": "integer id of this entry", + "type": "integer" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/array_of-strings.json b/docs/js/schema/core/primitive/array_of-strings.json new file mode 100644 index 000000000..3bef3ba33 --- /dev/null +++ b/docs/js/schema/core/primitive/array_of-strings.json @@ -0,0 +1,11 @@ +{ + "$id": "core/primitive/array-of-strings", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of strings", + "description": "array of strings, e.g. metadata tags", + "type": "array", + "items": { + "type": "string", + "uniqueItems": true + } +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/axis.json b/docs/js/schema/core/primitive/axis.json new file mode 100644 index 000000000..252e78515 --- /dev/null +++ b/docs/js/schema/core/primitive/axis.json @@ -0,0 +1,18 @@ +{ + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "description": "label of an axis object", + "type": "string" + }, + "units": { + "description": "units for an axis", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/group_info.json b/docs/js/schema/core/primitive/group_info.json new file mode 100644 index 000000000..86e76702c --- /dev/null +++ b/docs/js/schema/core/primitive/group_info.json @@ -0,0 +1,16 @@ +{ + "$id": "core/primitive/group-info", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Group info schema for nodes in a graph", + "type": "object", + "properties": { + "groupName": { + "description": "Human-readable name of group of nodes", + "type": "string" + }, + "groupId": { + "description": "Unique identifier of the group a node belongs to", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/integer_one-or-zero.json b/docs/js/schema/core/primitive/integer_one-or-zero.json new file mode 100644 index 000000000..2524c2e34 --- /dev/null +++ b/docs/js/schema/core/primitive/integer_one-or-zero.json @@ -0,0 +1,8 @@ +{ + "$id": "core/primitive/integer-one-or-zero", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "integer one or zero", + "type": "integer", + "minimum": 0, + "maximum": 1 +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/linked_list.json b/docs/js/schema/core/primitive/linked_list.json new file mode 100644 index 000000000..e59aa5d26 --- /dev/null +++ b/docs/js/schema/core/primitive/linked_list.json @@ -0,0 +1,175 @@ +{ + "$id": "core/primitive/linked-list", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "linked list schema", + "type": "array", + "items": { + "type": "object", + "anyOf": [ + { + "$id": "core/primitive/linked-list/base-node", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "basic node schema (linked list)", + "type": "object", + "definitions": { + "flowchart-id": { + "required": [ + "flowchartId" + ], + "properties": { + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + } + } + } + }, + "required": [ + "flowchartId" + ], + "properties": { + "next": { + "description": "Flowchart ID of next node", + "type": "string" + }, + "head": { + "description": "Whether node is head node or not", + "type": "boolean" + }, + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + } + } + }, + { + "$id": "core/primitive/linked-list/named-node", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Named node schema", + "type": "object", + "definitions": { + "flowchart-id": { + "required": [ + "flowchartId" + ], + "properties": { + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + } + } + } + }, + "required": [ + "flowchartId" + ], + "properties": { + "next": { + "description": "Flowchart ID of next node", + "type": "string" + }, + "head": { + "description": "Whether node is head node or not", + "type": "boolean" + }, + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + }, + "name": { + "description": "entity name", + "type": "string" + } + } + }, + { + "$id": "core/primitive/linked-list/named-node-in-group", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Named node in group schema", + "type": "object", + "definitions": { + "flowchart-id": { + "required": [ + "flowchartId" + ], + "properties": { + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + } + } + } + }, + "required": [ + "flowchartId" + ], + "properties": { + "next": { + "description": "Flowchart ID of next node", + "type": "string" + }, + "head": { + "description": "Whether node is head node or not", + "type": "boolean" + }, + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "groupName": { + "description": "Human-readable name of group of nodes", + "type": "string" + }, + "groupId": { + "description": "Unique identifier of the group a node belongs to", + "type": "string" + } + } + }, + { + "$id": "core/primitive/linked-list/node-with-type", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Typed node schema", + "type": "object", + "definitions": { + "flowchart-id": { + "required": [ + "flowchartId" + ], + "properties": { + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + } + } + } + }, + "required": [ + "flowchartId" + ], + "properties": { + "type": { + "type": "string" + }, + "next": { + "description": "Flowchart ID of next node", + "type": "string" + }, + "head": { + "description": "Whether node is head node or not", + "type": "boolean" + }, + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + } + } + } + ], + "uniqueItems": true + } +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/linked_list/base-node.json b/docs/js/schema/core/primitive/linked_list/base-node.json new file mode 100644 index 000000000..2dc88f600 --- /dev/null +++ b/docs/js/schema/core/primitive/linked_list/base-node.json @@ -0,0 +1,36 @@ +{ + "$id": "core/primitive/linked-list/base-node", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "basic node schema (linked list)", + "type": "object", + "definitions": { + "flowchart-id": { + "required": [ + "flowchartId" + ], + "properties": { + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + } + } + } + }, + "required": [ + "flowchartId" + ], + "properties": { + "next": { + "description": "Flowchart ID of next node", + "type": "string" + }, + "head": { + "description": "Whether node is head node or not", + "type": "boolean" + }, + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/linked_list/named-node-in-group.json b/docs/js/schema/core/primitive/linked_list/named-node-in-group.json new file mode 100644 index 000000000..accdb7f0a --- /dev/null +++ b/docs/js/schema/core/primitive/linked_list/named-node-in-group.json @@ -0,0 +1,48 @@ +{ + "$id": "core/primitive/linked-list/named-node-in-group", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Named node in group schema", + "type": "object", + "definitions": { + "flowchart-id": { + "required": [ + "flowchartId" + ], + "properties": { + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + } + } + } + }, + "required": [ + "flowchartId" + ], + "properties": { + "next": { + "description": "Flowchart ID of next node", + "type": "string" + }, + "head": { + "description": "Whether node is head node or not", + "type": "boolean" + }, + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "groupName": { + "description": "Human-readable name of group of nodes", + "type": "string" + }, + "groupId": { + "description": "Unique identifier of the group a node belongs to", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/linked_list/named-node.json b/docs/js/schema/core/primitive/linked_list/named-node.json new file mode 100644 index 000000000..8b27622d4 --- /dev/null +++ b/docs/js/schema/core/primitive/linked_list/named-node.json @@ -0,0 +1,40 @@ +{ + "$id": "core/primitive/linked-list/named-node", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Named node schema", + "type": "object", + "definitions": { + "flowchart-id": { + "required": [ + "flowchartId" + ], + "properties": { + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + } + } + } + }, + "required": [ + "flowchartId" + ], + "properties": { + "next": { + "description": "Flowchart ID of next node", + "type": "string" + }, + "head": { + "description": "Whether node is head node or not", + "type": "boolean" + }, + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + }, + "name": { + "description": "entity name", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/linked_list/node-with-type.json b/docs/js/schema/core/primitive/linked_list/node-with-type.json new file mode 100644 index 000000000..e6b7ee7f8 --- /dev/null +++ b/docs/js/schema/core/primitive/linked_list/node-with-type.json @@ -0,0 +1,39 @@ +{ + "$id": "core/primitive/linked-list/node-with-type", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Typed node schema", + "type": "object", + "definitions": { + "flowchart-id": { + "required": [ + "flowchartId" + ], + "properties": { + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + } + } + } + }, + "required": [ + "flowchartId" + ], + "properties": { + "type": { + "type": "string" + }, + "next": { + "description": "Flowchart ID of next node", + "type": "string" + }, + "head": { + "description": "Whether node is head node or not", + "type": "boolean" + }, + "flowchartId": { + "description": "Unique flowchart ID of node", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/scalar.json b/docs/js/schema/core/primitive/scalar.json new file mode 100644 index 000000000..382ad29ee --- /dev/null +++ b/docs/js/schema/core/primitive/scalar.json @@ -0,0 +1,14 @@ +{ + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/slugified_entry-or-slug.json b/docs/js/schema/core/primitive/slugified_entry-or-slug.json new file mode 100644 index 000000000..42ebbd017 --- /dev/null +++ b/docs/js/schema/core/primitive/slugified_entry-or-slug.json @@ -0,0 +1,32 @@ +{ + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/slugified_entry.json b/docs/js/schema/core/primitive/slugified_entry.json new file mode 100644 index 000000000..5a2b39603 --- /dev/null +++ b/docs/js/schema/core/primitive/slugified_entry.json @@ -0,0 +1,21 @@ +{ + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "required": [ + "name", + "slug" + ], + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/primitive/string.json b/docs/js/schema/core/primitive/string.json new file mode 100644 index 000000000..8fcc66838 --- /dev/null +++ b/docs/js/schema/core/primitive/string.json @@ -0,0 +1,14 @@ +{ + "$id": "core/primitive/string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "PrimitiveString", + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reference.json b/docs/js/schema/core/reference.json new file mode 100644 index 000000000..5a06a0937 --- /dev/null +++ b/docs/js/schema/core/reference.json @@ -0,0 +1,443 @@ +{ + "$id": "core/reference", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "reference schema (using `anyOf` instead of `oneOf` below b/c current reference schemas overlap)", + "anyOf": [ + { + "$id": "core/reference/modeling", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "info for property obtained by modeling, only supports exabyte-originated data atm, but easily extendable", + "oneOf": [ + { + "$id": "core/reference/modeling/exabyte", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "info for characteristic obtained by exabyte calculation", + "properties": { + "type": { + "enum": [ + "exabyte" + ] + }, + "title": { + "description": "Human-readable title of the job", + "type": "string", + "maxLength": 300 + }, + "_id": { + "description": "job identifier", + "type": "string" + }, + "owner": { + "$id": "system/entity-reference", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "entity reference schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "cls": { + "description": "entity class", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } + } + }, + "required": [ + "title", + "_id", + "owner" + ] + } + ] + }, + { + "$id": "core/reference/experiment", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "info for characteristic obtained by experiment", + "properties": { + "type": { + "enum": [ + "experiment" + ] + }, + "authors": { + "description": "experiment authors", + "type": "array", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "title": { + "type": "string", + "description": "experiment title" + }, + "method": { + "type": "string", + "description": "method used in experiment" + }, + "conditions": { + "type": "array", + "items": { + "$id": "core/reference/experiment/condition", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "condition schema", + "required": [ + "name" + ], + "properties": { + "units": { + "description": "condition unit", + "type": "string" + }, + "scalar": { + "description": "array of condition values", + "type": "array", + "items": { + "properties": { + "value": { + "type": "string" + } + } + } + }, + "name": { + "description": "human-readable name of the condition", + "type": "string" + } + } + } + }, + "location": { + "$id": "core/reference/experiment/location", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "location schema", + "required": [ + "latitude", + "longitude" + ], + "properties": { + "latitude": { + "description": "location latitude", + "type": "number" + }, + "longitude": { + "description": "location longitude", + "type": "number" + } + } + }, + "timestamp": { + "description": "epoch time.", + "type": "number" + }, + "note": { + "description": "Note about experiment", + "type": "string" + }, + "references": { + "type": "array", + "description": "references to literature articles", + "items": { + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } + } + } + }, + "required": [ + "conditions", + "authors", + "title", + "method", + "timestamp" + ] + }, + { + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } + } + ] +} \ No newline at end of file diff --git a/docs/js/schema/core/reference/exabyte.json b/docs/js/schema/core/reference/exabyte.json new file mode 100644 index 000000000..d1b4c66c2 --- /dev/null +++ b/docs/js/schema/core/reference/exabyte.json @@ -0,0 +1,19 @@ +{ + "$id": "core/reference/exabyte", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "materialId": { + "description": "Material's identity. Used for protoProperties.", + "type": "string" + }, + "jobId": { + "description": "Job's identity", + "type": "string" + }, + "unitId": { + "description": "Id of the unit that extracted the result", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reference/experiment.json b/docs/js/schema/core/reference/experiment.json new file mode 100644 index 000000000..58fd4cb9b --- /dev/null +++ b/docs/js/schema/core/reference/experiment.json @@ -0,0 +1,251 @@ +{ + "$id": "core/reference/experiment", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "info for characteristic obtained by experiment", + "required": [ + "conditions", + "authors", + "title", + "method", + "timestamp" + ], + "properties": { + "type": { + "enum": [ + "experiment" + ] + }, + "authors": { + "description": "experiment authors", + "type": "array", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "title": { + "type": "string", + "description": "experiment title" + }, + "method": { + "type": "string", + "description": "method used in experiment" + }, + "conditions": { + "type": "array", + "items": { + "$id": "core/reference/experiment/condition", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "condition schema", + "required": [ + "name" + ], + "properties": { + "units": { + "description": "condition unit", + "type": "string" + }, + "scalar": { + "description": "array of condition values", + "type": "array", + "items": { + "properties": { + "value": { + "type": "string" + } + } + } + }, + "name": { + "description": "human-readable name of the condition", + "type": "string" + } + } + } + }, + "location": { + "$id": "core/reference/experiment/location", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "location schema", + "required": [ + "latitude", + "longitude" + ], + "properties": { + "latitude": { + "description": "location latitude", + "type": "number" + }, + "longitude": { + "description": "location longitude", + "type": "number" + } + } + }, + "timestamp": { + "description": "epoch time.", + "type": "number" + }, + "note": { + "description": "Note about experiment", + "type": "string" + }, + "references": { + "type": "array", + "description": "references to literature articles", + "items": { + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reference/experiment/condition.json b/docs/js/schema/core/reference/experiment/condition.json new file mode 100644 index 000000000..0a08a5bf4 --- /dev/null +++ b/docs/js/schema/core/reference/experiment/condition.json @@ -0,0 +1,29 @@ +{ + "$id": "core/reference/experiment/condition", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "condition schema", + "required": [ + "name" + ], + "properties": { + "units": { + "description": "condition unit", + "type": "string" + }, + "scalar": { + "description": "array of condition values", + "type": "array", + "items": { + "properties": { + "value": { + "type": "string" + } + } + } + }, + "name": { + "description": "human-readable name of the condition", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reference/experiment/location.json b/docs/js/schema/core/reference/experiment/location.json new file mode 100644 index 000000000..330cb6ae8 --- /dev/null +++ b/docs/js/schema/core/reference/experiment/location.json @@ -0,0 +1,19 @@ +{ + "$id": "core/reference/experiment/location", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "location schema", + "required": [ + "latitude", + "longitude" + ], + "properties": { + "latitude": { + "description": "location latitude", + "type": "number" + }, + "longitude": { + "description": "location longitude", + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reference/literature.json b/docs/js/schema/core/reference/literature.json new file mode 100644 index 000000000..f78f5fcd9 --- /dev/null +++ b/docs/js/schema/core/reference/literature.json @@ -0,0 +1,133 @@ +{ + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reference/literature/name.json b/docs/js/schema/core/reference/literature/name.json new file mode 100644 index 000000000..4327e7350 --- /dev/null +++ b/docs/js/schema/core/reference/literature/name.json @@ -0,0 +1,24 @@ +{ + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reference/literature/pages.json b/docs/js/schema/core/reference/literature/pages.json new file mode 100644 index 000000000..d73e68352 --- /dev/null +++ b/docs/js/schema/core/reference/literature/pages.json @@ -0,0 +1,17 @@ +{ + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "type": "object", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reference/modeling.json b/docs/js/schema/core/reference/modeling.json new file mode 100644 index 000000000..26871e984 --- /dev/null +++ b/docs/js/schema/core/reference/modeling.json @@ -0,0 +1,52 @@ +{ + "$id": "core/reference/modeling", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "info for property obtained by modeling, only supports exabyte-originated data atm, but easily extendable", + "oneOf": [ + { + "$id": "core/reference/modeling/exabyte", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "info for characteristic obtained by exabyte calculation", + "properties": { + "type": { + "enum": [ + "exabyte" + ] + }, + "title": { + "description": "Human-readable title of the job", + "type": "string", + "maxLength": 300 + }, + "_id": { + "description": "job identifier", + "type": "string" + }, + "owner": { + "$id": "system/entity-reference", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "entity reference schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "cls": { + "description": "entity class", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } + } + }, + "required": [ + "title", + "_id", + "owner" + ] + } + ] +} \ No newline at end of file diff --git a/docs/js/schema/core/reference/modeling/exabyte.json b/docs/js/schema/core/reference/modeling/exabyte.json new file mode 100644 index 000000000..6ecd4b2aa --- /dev/null +++ b/docs/js/schema/core/reference/modeling/exabyte.json @@ -0,0 +1,45 @@ +{ + "$id": "core/reference/modeling/exabyte", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "info for characteristic obtained by exabyte calculation", + "required": [ + "title", + "_id", + "owner" + ], + "properties": { + "type": { + "enum": [ + "exabyte" + ] + }, + "title": { + "description": "Human-readable title of the job", + "type": "string", + "maxLength": 300 + }, + "_id": { + "description": "job identifier", + "type": "string" + }, + "owner": { + "$id": "system/entity-reference", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "entity reference schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "cls": { + "description": "entity class", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/atomic_data-per-orbital-numeric.json b/docs/js/schema/core/reusable/atomic_data-per-orbital-numeric.json new file mode 100644 index 000000000..cbb177446 --- /dev/null +++ b/docs/js/schema/core/reusable/atomic_data-per-orbital-numeric.json @@ -0,0 +1,26 @@ +{ + "$id": "core/reusable/atomic-data-per-orbital-numeric", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Atomic data per orbital numeric", + "description": "Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.", + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Site number or index in the lattice" + }, + "atomicSpecies": { + "type": "string", + "pattern": "^[a-zA-Z]{1,2}[\\d+]?$", + "description": "Example: Co1, Mn" + }, + "orbitalName": { + "type": "string", + "pattern": "^[1-7][sSpPdDfF]$" + }, + "value": { + "type": "number", + "description": "Value related to a specific property, e.g., Hubbard U, V etc." + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/atomic_data-per-orbital-pair-numeric.json b/docs/js/schema/core/reusable/atomic_data-per-orbital-pair-numeric.json new file mode 100644 index 000000000..8246329ce --- /dev/null +++ b/docs/js/schema/core/reusable/atomic_data-per-orbital-pair-numeric.json @@ -0,0 +1,43 @@ +{ + "$id": "core/reusable/atomic-data-per-orbital-pair-numeric", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Atomic data per orbital pair numeric", + "description": "Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.", + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Site number or index in the lattice" + }, + "id2": { + "type": "integer", + "description": "Site number or index in the lattice of second site" + }, + "atomicSpecies": { + "type": "string", + "pattern": "^[a-zA-Z]{1,2}[\\d+]?$", + "description": "Example: Co1, Mn" + }, + "atomicSpecies2": { + "type": "string", + "pattern": "^[a-zA-Z]{1,2}[\\d+]?$", + "description": "Example: Co2, O" + }, + "orbitalName": { + "type": "string", + "pattern": "^[1-7][sSpPdDfF]$" + }, + "orbitalName2": { + "type": "string", + "pattern": "^[1-7][sSpPdDfF]$" + }, + "distance": { + "type": "number", + "description": "Distance between two sites in angstrom." + }, + "value": { + "type": "number", + "description": "Value related to a specific property, e.g., Hubbard U, V etc." + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/atomic_data/per-orbital-pair.json b/docs/js/schema/core/reusable/atomic_data/per-orbital-pair.json new file mode 100644 index 000000000..c399251aa --- /dev/null +++ b/docs/js/schema/core/reusable/atomic_data/per-orbital-pair.json @@ -0,0 +1,39 @@ +{ + "$id": "core/reusable/atomic-data/per-orbital-pair", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Atomic data per orbital pair", + "description": "Atomic properties per orbital pair e.g., Hubbard V parameters.", + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Site number or index in the lattice" + }, + "id2": { + "type": "integer", + "description": "Site number or index in the lattice of second site" + }, + "atomicSpecies": { + "type": "string", + "pattern": "^[a-zA-Z]{1,2}[\\d+]?$", + "description": "Example: Co1, Mn" + }, + "atomicSpecies2": { + "type": "string", + "pattern": "^[a-zA-Z]{1,2}[\\d+]?$", + "description": "Example: Co2, O" + }, + "orbitalName": { + "type": "string", + "pattern": "^[1-7][sSpPdDfF]$" + }, + "orbitalName2": { + "type": "string", + "pattern": "^[1-7][sSpPdDfF]$" + }, + "distance": { + "type": "number", + "description": "Distance between two sites in angstrom." + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/atomic_data/per-orbital.json b/docs/js/schema/core/reusable/atomic_data/per-orbital.json new file mode 100644 index 000000000..31a6a83b5 --- /dev/null +++ b/docs/js/schema/core/reusable/atomic_data/per-orbital.json @@ -0,0 +1,22 @@ +{ + "$id": "core/reusable/atomic-data/per-orbital", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Atomic data per orbital", + "description": "Atomic properties per orbital e.g., Hubbard U parameters.", + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Site number or index in the lattice" + }, + "atomicSpecies": { + "type": "string", + "pattern": "^[a-zA-Z]{1,2}[\\d+]?$", + "description": "Example: Co1, Mn" + }, + "orbitalName": { + "type": "string", + "pattern": "^[1-7][sSpPdDfF]$" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/atomic_data/string-value.json b/docs/js/schema/core/reusable/atomic_data/string-value.json new file mode 100644 index 000000000..bacd8ecb7 --- /dev/null +++ b/docs/js/schema/core/reusable/atomic_data/string-value.json @@ -0,0 +1,13 @@ +{ + "$id": "core/reusable/atomic-data/string-value", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Atomic data string properties", + "description": "String value specific to atomic data", + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "String value specific to atomic data" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/atomic_data/value-number.json b/docs/js/schema/core/reusable/atomic_data/value-number.json new file mode 100644 index 000000000..f7832cd88 --- /dev/null +++ b/docs/js/schema/core/reusable/atomic_data/value-number.json @@ -0,0 +1,13 @@ +{ + "$id": "core/reusable/atomic-data/value-number", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Atomic data numeric properties", + "description": "Numeric value specific to atomic data", + "type": "object", + "properties": { + "value": { + "type": "number", + "description": "Value related to a specific property, e.g., Hubbard U, V etc." + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/atomic_orbital.json b/docs/js/schema/core/reusable/atomic_orbital.json new file mode 100644 index 000000000..4afac3db1 --- /dev/null +++ b/docs/js/schema/core/reusable/atomic_orbital.json @@ -0,0 +1,32 @@ +{ + "$id": "core/reusable/atomic-orbital", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic orbital schema", + "type": "object", + "properties": { + "orbitalName": { + "type": "string", + "pattern": "^[1-7][sSpPdDfF]$" + }, + "orbitalIndex": { + "type": "integer", + "minimum": 1 + }, + "principalNumber": { + "type": "integer", + "minimum": 1, + "maximum": 7 + }, + "angularMomentum": { + "type": "integer", + "minimum": 0, + "maximum": 3 + }, + "occupation": { + "type": "number", + "description": "Shell occupation", + "minimum": 0, + "maximum": 14 + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/atomic_scalars.json b/docs/js/schema/core/reusable/atomic_scalars.json new file mode 100644 index 000000000..b581ae013 --- /dev/null +++ b/docs/js/schema/core/reusable/atomic_scalars.json @@ -0,0 +1,31 @@ +{ + "$id": "core/reusable/atomic-scalars", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic scalars vectors schema", + "description": "array of objects containing integer id each", + "type": "array", + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "value": { + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "number" + } + } + }, + "id": { + "description": "integer id of this entry", + "type": "integer" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/atomic_strings.json b/docs/js/schema/core/reusable/atomic_strings.json new file mode 100644 index 000000000..80568937b --- /dev/null +++ b/docs/js/schema/core/reusable/atomic_strings.json @@ -0,0 +1,20 @@ +{ + "$id": "core/reusable/atomic-strings", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic strings vectors schema", + "description": "array of objects containing integer id each", + "type": "array", + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "value": { + "type": "string" + }, + "id": { + "description": "integer id of this entry", + "type": "integer" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/atomic_vectors.json b/docs/js/schema/core/reusable/atomic_vectors.json new file mode 100644 index 000000000..b204b762b --- /dev/null +++ b/docs/js/schema/core/reusable/atomic_vectors.json @@ -0,0 +1,46 @@ +{ + "$id": "core/reusable/atomic-vectors", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic vectors schema", + "description": "array of objects containing integer id each", + "type": "array", + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "value": { + "$id": "core/abstract/vector", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "vector schema", + "oneOf": [ + { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3, + "maxItems": 3 + }, + { + "$id": "core/primitive/array-of-3-booleans", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 boolean elements schema", + "type": "array", + "items": { + "type": "boolean" + }, + "minItems": 3, + "maxItems": 3 + } + ] + }, + "id": { + "description": "integer id of this entry", + "type": "integer" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/band_gap.json b/docs/js/schema/core/reusable/band_gap.json new file mode 100644 index 000000000..670db2a5e --- /dev/null +++ b/docs/js/schema/core/reusable/band_gap.json @@ -0,0 +1,66 @@ +{ + "$id": "core/reusable/band-gap", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "band gap schema", + "required": [ + "type", + "value" + ], + "type": "object", + "properties": { + "kpointConduction": { + "$id": "core/abstract/point", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "point schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "kpointValence": { + "$id": "core/abstract/point", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "point schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "eigenvalueConduction": { + "description": "eigenvalue at k-point in conduction band", + "type": "number" + }, + "eigenvalueValence": { + "description": "eigenvalue at k-point in valence band", + "type": "number" + }, + "spin": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "direct", + "indirect" + ] + }, + "units": { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/categories.json b/docs/js/schema/core/reusable/categories.json new file mode 100644 index 000000000..bad6016b0 --- /dev/null +++ b/docs/js/schema/core/reusable/categories.json @@ -0,0 +1,169 @@ +{ + "$id": "core/reusable/categories", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "categories", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "tier1": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/category_path.json b/docs/js/schema/core/reusable/category_path.json new file mode 100644 index 000000000..cca1a809c --- /dev/null +++ b/docs/js/schema/core/reusable/category_path.json @@ -0,0 +1,7 @@ +{ + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/dielectric_tensor-component.json b/docs/js/schema/core/reusable/dielectric_tensor-component.json new file mode 100644 index 000000000..be5a7d560 --- /dev/null +++ b/docs/js/schema/core/reusable/dielectric_tensor-component.json @@ -0,0 +1,47 @@ +{ + "$id": "core/reusable/dielectric-tensor-component", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Dielectric Tensor", + "required": [ + "part", + "frequencies", + "components" + ], + "description": "Schema for a function of frequency yielding a nx3 matrix", + "type": "object", + "properties": { + "part": { + "description": "Real or imaginary part of the dielectric tensor component", + "type": "string", + "enum": [ + "real", + "imaginary" + ] + }, + "spin": { + "type": "number" + }, + "frequencies": { + "description": "Frequencies", + "type": "array", + "items": { + "type": "number" + } + }, + "components": { + "description": "Matrix with 3 columns, e.g. x, y, z", + "type": "array", + "items": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/energy.json b/docs/js/schema/core/reusable/energy.json new file mode 100644 index 000000000..1ba7965d3 --- /dev/null +++ b/docs/js/schema/core/reusable/energy.json @@ -0,0 +1,39 @@ +{ + "$id": "core/reusable/energy", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "energy schema", + "required": [ + "name", + "units", + "value" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "units": { + "anyOf": [ + { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ] + }, + { + "enum": [ + "eV/A^2" + ] + } + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/file_metadata.json b/docs/js/schema/core/reusable/file_metadata.json new file mode 100644 index 000000000..09c0921f1 --- /dev/null +++ b/docs/js/schema/core/reusable/file_metadata.json @@ -0,0 +1,20 @@ +{ + "$id": "core/reusable/file-metadata", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "file_metadata", + "properties": { + "pathname": { + "description": "Relative path to the directory that contains the file.", + "type": "string" + }, + "basename": { + "description": "Basename of the file", + "type": "string", + "$comment": "isGenerative:true" + }, + "filetype": { + "description": "What kind of file this is, e.g. image / text", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/frequency_function-matrix.json b/docs/js/schema/core/reusable/frequency_function-matrix.json new file mode 100644 index 000000000..295ca79da --- /dev/null +++ b/docs/js/schema/core/reusable/frequency_function-matrix.json @@ -0,0 +1,31 @@ +{ + "$id": "core/reusable/frequency-function-matrix", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "", + "description": "Schema for a function of frequency yielding a nx3 matrix", + "type": "object", + "properties": { + "frequencies": { + "description": "Frequencies", + "type": "array", + "items": { + "type": "number" + } + }, + "components": { + "description": "Matrix with 3 columns, e.g. x, y, z", + "type": "array", + "items": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/core/reusable/object_storage-container-data.json b/docs/js/schema/core/reusable/object_storage-container-data.json new file mode 100644 index 000000000..fcfe80f48 --- /dev/null +++ b/docs/js/schema/core/reusable/object_storage-container-data.json @@ -0,0 +1,37 @@ +{ + "$id": "core/reusable/object-storage-container-data", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Object Storage Container Data", + "required": [ + "CONTAINER", + "NAME", + "PROVIDER", + "REGION" + ], + "properties": { + "CONTAINER": { + "description": "Object storage container for the file", + "type": "string" + }, + "NAME": { + "description": "Name of the file inside the object storage bucket", + "type": "string" + }, + "PROVIDER": { + "description": "Object storage provider", + "type": "string" + }, + "REGION": { + "description": "Region for the object container specified in Container", + "type": "string" + }, + "SIZE": { + "description": "Size of the file in bytes", + "type": "integer" + }, + "TIMESTAMP": { + "description": "Unix timestamp showing when the file was last modified", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/definitions/units.json b/docs/js/schema/definitions/units.json new file mode 100644 index 000000000..508f5b443 --- /dev/null +++ b/docs/js/schema/definitions/units.json @@ -0,0 +1,103 @@ +{ + "$id": "definitions/units", + "length": { + "enum": [ + "km", + "m", + "pm", + "nm", + "angstrom", + "a.u.", + "bohr", + "fractional", + "crystal", + "cartesian", + "alat" + ] + }, + "energy": { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ] + }, + "surface_energy": { + "enum": [ + "eV/A^2" + ] + }, + "force": { + "enum": [ + "eV/bohr", + "eV/angstrom", + "rydberg/a.u.", + "newton", + "kg*m/s^2", + "eV/a.u." + ] + }, + "volume": { + "enum": [ + "cm^3", + "angstrom^3" + ] + }, + "numberDensity": { + "enum": [ + "1/angstrom^3" + ] + }, + "density": { + "enum": [ + "g/cm^3" + ] + }, + "frequency": { + "enum": [ + "cm-1", + "THz", + "meV" + ] + }, + "pressure": { + "enum": [ + "kbar", + "pa" + ] + }, + "phononDOS": { + "enum": [ + "states/cm-1", + "states/THz", + "states/meV" + ] + }, + "electronicDOS": { + "enum": [ + "states/unitcell" + ] + }, + "magnetic": { + "enum": [ + "uB" + ] + }, + "chargeDensity": { + "enum": [ + "e/A" + ] + }, + "spectralIntensity": { + "enum": [ + "(debye/angstrom)^2", + "km/mol", + "m/mol", + "a.u." + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/element.json b/docs/js/schema/element.json new file mode 100644 index 000000000..eea74c6a8 --- /dev/null +++ b/docs/js/schema/element.json @@ -0,0 +1,105 @@ +{ + "$id": "element", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "element schema", + "properties": { + "symbol": { + "description": "Element symbol.", + "type": "string" + }, + "properties": { + "type": "array", + "description": "list of elemental properties", + "items": { + "anyOf": [ + { + "$id": "properties-directory/elemental/atomic-radius", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic radius", + "description": "atomic radius", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "atomic_radius" + ] + }, + "units": { + "enum": [ + "km", + "m", + "pm", + "nm", + "angstrom", + "a.u.", + "bohr", + "fractional", + "crystal", + "cartesian", + "alat" + ] + }, + "value": { + "type": "number" + } + } + }, + { + "$id": "properties-directory/elemental/electronegativity", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "electronegativity", + "description": "electronegativity for the element (Pauling scale)", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "electronegativity" + ] + }, + "value": { + "type": "number" + } + } + }, + { + "$id": "properties-directory/elemental/ionization-potential", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ionization potential", + "description": "ionization potential for the element", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "ionization_potential" + ] + }, + "units": { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ] + }, + "value": { + "type": "number" + } + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/in_memory-entity/base.json b/docs/js/schema/in_memory-entity/base.json new file mode 100644 index 000000000..028f9949b --- /dev/null +++ b/docs/js/schema/in_memory-entity/base.json @@ -0,0 +1,65 @@ +{ + "$id": "in-memory-entity/base", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Base in-memory entity schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/in_memory-entity/defaultable.json b/docs/js/schema/in_memory-entity/defaultable.json new file mode 100644 index 000000000..f32d3dde6 --- /dev/null +++ b/docs/js/schema/in_memory-entity/defaultable.json @@ -0,0 +1,70 @@ +{ + "$id": "in-memory-entity/defaultable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Defaultable in-memory entity schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + } + } +} \ No newline at end of file diff --git a/docs/js/schema/in_memory-entity/named-defaultable-has-metadata.json b/docs/js/schema/in_memory-entity/named-defaultable-has-metadata.json new file mode 100644 index 000000000..6a659e8ad --- /dev/null +++ b/docs/js/schema/in_memory-entity/named-defaultable-has-metadata.json @@ -0,0 +1,77 @@ +{ + "$id": "in-memory-entity/named-defaultable-has-metadata", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Named defaultable has metadata in-memory entity schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "metadata": { + "type": "object" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/in_memory-entity/named-defaultable-runtime-items.json b/docs/js/schema/in_memory-entity/named-defaultable-runtime-items.json new file mode 100644 index 000000000..0cd76114e --- /dev/null +++ b/docs/js/schema/in_memory-entity/named-defaultable-runtime-items.json @@ -0,0 +1,207 @@ +{ + "$id": "in-memory-entity/named-defaultable-runtime-items", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Named defaultable runtime items in-memory entity schema", + "type": "object", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/in_memory-entity/named-defaultable.json b/docs/js/schema/in_memory-entity/named-defaultable.json new file mode 100644 index 000000000..e536f5f9f --- /dev/null +++ b/docs/js/schema/in_memory-entity/named-defaultable.json @@ -0,0 +1,74 @@ +{ + "$id": "in-memory-entity/named-defaultable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Named defaultable in-memory entity schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + } + } +} \ No newline at end of file diff --git a/docs/js/schema/in_memory-entity/named.json b/docs/js/schema/in_memory-entity/named.json new file mode 100644 index 000000000..1550f8da0 --- /dev/null +++ b/docs/js/schema/in_memory-entity/named.json @@ -0,0 +1,69 @@ +{ + "$id": "in-memory-entity/named", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Named in-memory entity schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/job.json b/docs/js/schema/job.json new file mode 100644 index 000000000..849bb4205 --- /dev/null +++ b/docs/js/schema/job.json @@ -0,0 +1,4146 @@ +{ + "$id": "job", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "job schema", + "required": [ + "_project", + "compute", + "status", + "workflow" + ], + "properties": { + "workflow": { + "$id": "workflow", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow schema", + "type": "object", + "required": [ + "units", + "subworkflows" + ], + "properties": { + "subworkflows": { + "description": "Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting", + "type": "array", + "items": { + "$id": "workflow/subworkflow", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Subworkflow", + "type": "object", + "required": [ + "application", + "model", + "name", + "units" + ], + "properties": { + "units": { + "description": "Contains the Units of the subworkflow", + "type": "array", + "items": { + "$id": "workflow/unit", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow unit schema", + "type": "object", + "required": [ + "type", + "flowchartId" + ], + "additionalProperties": true, + "properties": { + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "model": { + "$id": "model", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "base model", + "required": [ + "type", + "subtype", + "method" + ], + "additionalProperties": true, + "properties": { + "type": { + "description": "general type of the model, eg. `dft`", + "type": "string" + }, + "subtype": { + "description": "general subtype of the model, eg. `lda`", + "type": "string" + }, + "method": { + "$id": "method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "base method", + "required": [ + "type", + "subtype" + ], + "properties": { + "type": { + "description": "general type of this method, eg. `pseudopotential`", + "type": "string" + }, + "subtype": { + "description": "general subtype of this method, eg. `ultra-soft`", + "type": "string" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "data": { + "description": "additional data specific to method, eg. array of pseudopotentials", + "type": "object" + } + } + } + } + }, + "application": { + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "isDraft": { + "description": "Defines whether to store the results/properties extracted in this unit to properties collection", + "type": "boolean", + "default": false + }, + "_id": { + "description": "subworkflow identity", + "type": "string" + }, + "name": { + "description": "Human-readable name of the subworkflow. e.g. Total-energy", + "type": "string" + }, + "properties": { + "description": "Array of characteristic properties calculated by this subworkflow", + "type": "array", + "items": { + "description": "property names, eg. `band_gaps`, `band_structure`", + "oneOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ] + } + }, + "compute": { + "$id": "job/compute", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "compute arguments schema", + "description": "Custom keywords prefixed with validate correspond to custom validation methods implemented downstream", + "required": [ + "queue", + "nodes", + "ppn", + "timeLimit" + ], + "properties": { + "queue": { + "description": "Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.", + "type": "string", + "enum": [ + "D", + "OR", + "OF", + "OFplus", + "SR", + "SF", + "SFplus", + "GPOF", + "GP2OF", + "GP4OF", + "GPSF", + "GP2SF", + "GP4SF", + "OR4", + "OR8", + "OR16", + "SR4", + "SR8", + "SR16", + "GOF", + "G4OF", + "G8OF", + "GSF", + "G4SF", + "G8SF" + ] + }, + "nodes": { + "description": "number of nodes used for the job inside the RMS.", + "type": "integer", + "validateNodes": {} + }, + "ppn": { + "description": "number of CPUs used for the job inside the RMS.", + "type": "integer", + "validatePpn": {} + }, + "timeLimit": { + "description": "Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'", + "type": "string", + "validateTimeLimit": {} + }, + "timeLimitType": { + "description": "Convention to use when reasoning about time limits", + "type": "string", + "default": "per single attempt", + "enum": [ + "per single attempt", + "compound" + ] + }, + "isRestartable": { + "description": "Job is allowed to restart on termination.", + "type": "boolean", + "default": true + }, + "notify": { + "description": "Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.", + "type": "string" + }, + "email": { + "description": "Email address to notify about job execution.", + "type": "string" + }, + "maxCPU": { + "description": "Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.", + "type": "integer" + }, + "arguments": { + "description": "Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere", + "type": "object", + "default": {}, + "oneOf": [ + { + "$id": "software-directory/modeling/espresso/arguments", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "quantum espresso arguments schema", + "type": "object", + "properties": { + "nimage": { + "description": "Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "npools": { + "description": "Each image can be subpartitioned into `pools`, each taking care of a group of k-points.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "nband": { + "description": "Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "ntg": { + "description": "In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "ndiag": { + "description": "A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + } + }, + "additionalProperties": false + } + ] + }, + "cluster": { + "description": "Cluster where the job is executed. Optional on create. Required on job submission.", + "type": "object", + "properties": { + "fqdn": { + "description": "FQDN of the cluster. e.g. master-1-staging.exabyte.io", + "type": "string" + }, + "jid": { + "description": "Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io", + "type": "string" + } + } + }, + "errors": { + "description": "Computation error. Optional. Appears only if something happens on jobs execution.", + "type": "array", + "items": { + "type": "object", + "properties": { + "domain": { + "description": "Domain of the error appearance (internal).", + "type": "string", + "enum": [ + "rupy", + "alfred", + "celim", + "webapp" + ] + }, + "reason": { + "description": "Should be a short, unique, machine-readable error code string. e.g. FileNotFound", + "type": "string" + }, + "message": { + "description": "Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'", + "type": "string" + }, + "traceback": { + "description": "Full machine-readable error traceback. e.g. FileNotFound", + "type": "string" + } + } + } + }, + "excludeFilesPattern": { + "description": "A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix", + "type": "string" + } + } + } + } + } + }, + "units": { + "description": "Contains the Units of the Workflow", + "type": "array", + "items": { + "oneOf": [ + { + "$id": "workflow/unit", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow unit schema", + "type": "object", + "required": [ + "type", + "flowchartId" + ], + "additionalProperties": true, + "properties": { + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "workflow/unit/io", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "data IO unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "source", + "subtype", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "io" + ], + "description": "type of the unit", + "type": "string" + }, + "subtype": { + "enum": [ + "input", + "output", + "dataFrame" + ] + }, + "source": { + "enum": [ + "api", + "db", + "object_storage" + ] + }, + "input": { + "type": "array", + "items": { + "anyOf": [ + { + "$id": "workflow/unit/io/api", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "data IO rest API input schema", + "type": "object", + "properties": { + "endpoint": { + "description": "rest API endpoint", + "type": "string" + }, + "endpoint_options": { + "description": "rest API endpoint options", + "type": "object" + }, + "name": { + "description": "the name of the variable in local scope to save the data under", + "type": "string" + } + }, + "required": [ + "endpoint", + "endpoint_options" + ] + }, + { + "$id": "workflow/unit/io/db", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "data IO database input/output schema", + "type": "object", + "oneOf": [ + { + "properties": { + "ids": { + "description": "IDs of item to retrieve from db", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "ids" + ] + }, + { + "properties": { + "collection": { + "description": "db collection name", + "type": "string" + }, + "draft": { + "description": "whether the result should be saved as draft", + "type": "boolean", + "default": true + } + }, + "required": [ + "collection", + "draft" + ] + } + ] + }, + { + "$id": "workflow/unit/io/object-storage", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "object_storage io schema", + "type": "object", + "allof": [ + { + "$id": "core/reusable/file-metadata", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "file_metadata", + "properties": { + "pathname": { + "description": "Relative path to the directory that contains the file.", + "type": "string" + }, + "basename": { + "description": "Basename of the file", + "type": "string", + "$comment": "isGenerative:true" + }, + "filetype": { + "description": "What kind of file this is, e.g. image / text", + "type": "string" + } + } + } + ], + "properties": { + "objectData": { + "$id": "core/reusable/object-storage-container-data", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Object Storage Container Data", + "required": [ + "CONTAINER", + "NAME", + "PROVIDER", + "REGION" + ], + "properties": { + "CONTAINER": { + "description": "Object storage container for the file", + "type": "string" + }, + "NAME": { + "description": "Name of the file inside the object storage bucket", + "type": "string" + }, + "PROVIDER": { + "description": "Object storage provider", + "type": "string" + }, + "REGION": { + "description": "Region for the object container specified in Container", + "type": "string" + }, + "SIZE": { + "description": "Size of the file in bytes", + "type": "integer" + }, + "TIMESTAMP": { + "description": "Unix timestamp showing when the file was last modified", + "type": "string" + } + } + }, + "overwrite": { + "description": "if a file with the same filename already exists, whether to overwrite the old file", + "type": "boolean", + "default": false + } + }, + "required": [ + "objectData", + "basename" + ] + } + ] + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "workflow/unit/map", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "map unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "type", + "workflowId" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "map" + ], + "description": "type of the unit", + "type": "string" + }, + "workflowId": { + "description": "Id of workflow to run inside map", + "type": "string" + }, + "input": { + "description": "Input information for map.", + "type": "object", + "required": [ + "target" + ], + "properties": { + "target": { + "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", + "type": "string" + }, + "scope": { + "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", + "type": "string" + }, + "name": { + "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", + "type": "string" + }, + "values": { + "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object" + } + ] + } + }, + "useValues": { + "type": "boolean" + } + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "workflow/unit/reduce", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "mapFlowchartId", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "reduce" + ], + "description": "type of the unit", + "type": "string" + }, + "mapFlowchartId": { + "description": "corresponding map unit flowchart ID", + "type": "string" + }, + "input": { + "description": "input information for reduce unit", + "type": "array", + "items": { + "type": "object", + "required": [ + "operation", + "arguments" + ], + "properties": { + "operation": { + "description": "reduce operation, e.g. aggregate", + "type": "string" + }, + "arguments": { + "description": "arguments which are passed to reduce operation function", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "workflow/unit/condition", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "condition unit schema", + "type": "object", + "required": [ + "else", + "flowchartId", + "input", + "statement", + "then", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "condition" + ], + "description": "type of the unit", + "type": "string" + }, + "input": { + "description": "Input information for condition.", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemScope", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow unit input schema", + "type": "object", + "required": [ + "scope", + "name" + ], + "properties": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", + "type": "string" + }, + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" + } + } + } + }, + "statement": { + "description": "Condition statement. e.g. 'abs(x-total_energy) < 1e-5'", + "type": "string" + }, + "then": { + "description": "Flowchart ID reference for `then` part of the condition.", + "type": "string" + }, + "else": { + "description": "Flowchart ID reference for `else` part of the condition.", + "type": "string" + }, + "maxOccurrences": { + "description": "Maximum occurrence of the condition, usable for loops.", + "type": "integer" + }, + "throwException": { + "description": "Throw exception on reaching to maximum occurence.", + "type": "boolean" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "workflow/unit/assertion", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "assertion unit schema", + "type": "object", + "required": [ + "flowchartId", + "name", + "statement", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "assertion" + ], + "description": "type of the unit", + "type": "string" + }, + "statement": { + "type": "string" + }, + "errorMessage": { + "type": "string" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "workflow/unit/execution", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit schema (base)", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "execution" + ], + "description": "type of the unit", + "type": "string" + }, + "application": { + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$id": "software/executable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "name", + "applicationId" + ], + "properties": { + "name": { + "description": "The name of the executable. e.g. pw.x", + "type": "string" + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "flavor": { + "$id": "software/flavor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "name", + "executableId" + ], + "properties": { + "name": { + "description": "The name of the executable flavor. e.g. `pw_scf`", + "type": "string" + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "required": [ + "templateId" + ], + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } + } + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "input": { + "description": "unit input (type to be specified by the application's execution unit)" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "workflow/unit/assignment", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "assignment unit schema", + "type": "object", + "required": [ + "flowchartId", + "name", + "type", + "value" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "assignment" + ], + "description": "type of the unit", + "type": "string" + }, + "input": { + "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemScope", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow unit input schema", + "type": "object", + "required": [ + "scope", + "name" + ], + "properties": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", + "type": "string" + }, + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" + } + } + } + }, + "operand": { + "description": "Name of the global variable. e.g. 'x'", + "type": "string" + }, + "value": { + "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", + "type": "string" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "workflow/unit/processing", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "processing unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "operation", + "operationType", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "processing" + ], + "description": "type of the unit", + "type": "string" + }, + "operation": { + "description": "Contains information about the operation used.", + "type": "string" + }, + "operationType": { + "description": "Contains information about the specific type of the operation used.", + "type": "string" + }, + "inputData": { + "description": "unit input (type to be specified by the child units)" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + } + ] + } + }, + "properties": { + "description": "Array of characteristic properties calculated by this workflow (TODO: add enums)", + "type": "array", + "items": { + "description": "property names, eg. `band_gaps`, `band_structure`", + "oneOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ] + } + }, + "isUsingDataset": { + "description": "Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.", + "type": "boolean" + }, + "workflows": { + "description": "Array of workflows with the same schema as the current one.", + "type": "array", + "items": { + "type": "object" + } + }, + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "metadata": { + "type": "object" + } + } + }, + "rmsId": { + "description": "Identity used to track jobs originated from command-line", + "type": "string" + }, + "status": { + "description": "job status", + "enum": [ + "pre-submission", + "queued", + "submitted", + "active", + "finished", + "terminate-queued", + "terminated", + "error", + "deleted", + "timeout" + ] + }, + "startTime": { + "description": "Approximate start time of the job. e.g. within 10 min", + "type": "string" + }, + "workDir": { + "description": "The path to the working directory of this job, when the job originates from command-line", + "type": "string" + }, + "compute": { + "$id": "job/compute", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "compute arguments schema", + "description": "Custom keywords prefixed with validate correspond to custom validation methods implemented downstream", + "required": [ + "queue", + "nodes", + "ppn", + "timeLimit" + ], + "properties": { + "queue": { + "description": "Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.", + "type": "string", + "enum": [ + "D", + "OR", + "OF", + "OFplus", + "SR", + "SF", + "SFplus", + "GPOF", + "GP2OF", + "GP4OF", + "GPSF", + "GP2SF", + "GP4SF", + "OR4", + "OR8", + "OR16", + "SR4", + "SR8", + "SR16", + "GOF", + "G4OF", + "G8OF", + "GSF", + "G4SF", + "G8SF" + ] + }, + "nodes": { + "description": "number of nodes used for the job inside the RMS.", + "type": "integer", + "validateNodes": {} + }, + "ppn": { + "description": "number of CPUs used for the job inside the RMS.", + "type": "integer", + "validatePpn": {} + }, + "timeLimit": { + "description": "Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'", + "type": "string", + "validateTimeLimit": {} + }, + "timeLimitType": { + "description": "Convention to use when reasoning about time limits", + "type": "string", + "default": "per single attempt", + "enum": [ + "per single attempt", + "compound" + ] + }, + "isRestartable": { + "description": "Job is allowed to restart on termination.", + "type": "boolean", + "default": true + }, + "notify": { + "description": "Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.", + "type": "string" + }, + "email": { + "description": "Email address to notify about job execution.", + "type": "string" + }, + "maxCPU": { + "description": "Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.", + "type": "integer" + }, + "arguments": { + "description": "Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere", + "type": "object", + "default": {}, + "oneOf": [ + { + "$id": "software-directory/modeling/espresso/arguments", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "quantum espresso arguments schema", + "type": "object", + "properties": { + "nimage": { + "description": "Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "npools": { + "description": "Each image can be subpartitioned into `pools`, each taking care of a group of k-points.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "nband": { + "description": "Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "ntg": { + "description": "In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "ndiag": { + "description": "A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + } + }, + "additionalProperties": false + } + ] + }, + "cluster": { + "description": "Cluster where the job is executed. Optional on create. Required on job submission.", + "type": "object", + "properties": { + "fqdn": { + "description": "FQDN of the cluster. e.g. master-1-staging.exabyte.io", + "type": "string" + }, + "jid": { + "description": "Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io", + "type": "string" + } + } + }, + "errors": { + "description": "Computation error. Optional. Appears only if something happens on jobs execution.", + "type": "array", + "items": { + "type": "object", + "properties": { + "domain": { + "description": "Domain of the error appearance (internal).", + "type": "string", + "enum": [ + "rupy", + "alfred", + "celim", + "webapp" + ] + }, + "reason": { + "description": "Should be a short, unique, machine-readable error code string. e.g. FileNotFound", + "type": "string" + }, + "message": { + "description": "Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'", + "type": "string" + }, + "traceback": { + "description": "Full machine-readable error traceback. e.g. FileNotFound", + "type": "string" + } + } + } + }, + "excludeFilesPattern": { + "description": "A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix", + "type": "string" + } + } + }, + "_project": { + "$id": "system/entity-reference", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "entity reference schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "cls": { + "description": "entity class", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } + }, + "_material": { + "$id": "system/entity-reference", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "entity reference schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "cls": { + "description": "entity class", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } + }, + "parent": { + "$id": "system/entity-reference", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "entity reference schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "cls": { + "description": "entity class", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } + }, + "runtimeContext": { + "description": "Context variables that the job will have access to at runtime", + "type": "object" + }, + "scopeTrack": { + "description": "history of the workflow scope on each update", + "type": "array", + "items": { + "type": "object", + "properties": { + "repetition": { + "type": "number" + }, + "scope": { + "$id": "workflow/scope", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow scope schema", + "type": "object", + "required": [ + "global", + "local" + ], + "properties": { + "global": { + "type": "object", + "additionalProperties": true + }, + "local": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + }, + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "metadata": { + "type": "object" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/job/base.json b/docs/js/schema/job/base.json new file mode 100644 index 000000000..5a67a6012 --- /dev/null +++ b/docs/js/schema/job/base.json @@ -0,0 +1,388 @@ +{ + "$id": "job/base", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "base job schema", + "required": [ + "status", + "compute", + "_project" + ], + "properties": { + "rmsId": { + "description": "Identity used to track jobs originated from command-line", + "type": "string" + }, + "status": { + "description": "job status", + "enum": [ + "pre-submission", + "queued", + "submitted", + "active", + "finished", + "terminate-queued", + "terminated", + "error", + "deleted", + "timeout" + ] + }, + "startTime": { + "description": "Approximate start time of the job. e.g. within 10 min", + "type": "string" + }, + "workDir": { + "description": "The path to the working directory of this job, when the job originates from command-line", + "type": "string" + }, + "compute": { + "$id": "job/compute", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "compute arguments schema", + "description": "Custom keywords prefixed with validate correspond to custom validation methods implemented downstream", + "required": [ + "queue", + "nodes", + "ppn", + "timeLimit" + ], + "properties": { + "queue": { + "description": "Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.", + "type": "string", + "enum": [ + "D", + "OR", + "OF", + "OFplus", + "SR", + "SF", + "SFplus", + "GPOF", + "GP2OF", + "GP4OF", + "GPSF", + "GP2SF", + "GP4SF", + "OR4", + "OR8", + "OR16", + "SR4", + "SR8", + "SR16", + "GOF", + "G4OF", + "G8OF", + "GSF", + "G4SF", + "G8SF" + ] + }, + "nodes": { + "description": "number of nodes used for the job inside the RMS.", + "type": "integer", + "validateNodes": {} + }, + "ppn": { + "description": "number of CPUs used for the job inside the RMS.", + "type": "integer", + "validatePpn": {} + }, + "timeLimit": { + "description": "Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'", + "type": "string", + "validateTimeLimit": {} + }, + "timeLimitType": { + "description": "Convention to use when reasoning about time limits", + "type": "string", + "default": "per single attempt", + "enum": [ + "per single attempt", + "compound" + ] + }, + "isRestartable": { + "description": "Job is allowed to restart on termination.", + "type": "boolean", + "default": true + }, + "notify": { + "description": "Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.", + "type": "string" + }, + "email": { + "description": "Email address to notify about job execution.", + "type": "string" + }, + "maxCPU": { + "description": "Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.", + "type": "integer" + }, + "arguments": { + "description": "Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere", + "type": "object", + "default": {}, + "oneOf": [ + { + "$id": "software-directory/modeling/espresso/arguments", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "quantum espresso arguments schema", + "type": "object", + "properties": { + "nimage": { + "description": "Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "npools": { + "description": "Each image can be subpartitioned into `pools`, each taking care of a group of k-points.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "nband": { + "description": "Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "ntg": { + "description": "In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "ndiag": { + "description": "A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + } + }, + "additionalProperties": false + } + ] + }, + "cluster": { + "description": "Cluster where the job is executed. Optional on create. Required on job submission.", + "type": "object", + "properties": { + "fqdn": { + "description": "FQDN of the cluster. e.g. master-1-staging.exabyte.io", + "type": "string" + }, + "jid": { + "description": "Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io", + "type": "string" + } + } + }, + "errors": { + "description": "Computation error. Optional. Appears only if something happens on jobs execution.", + "type": "array", + "items": { + "type": "object", + "properties": { + "domain": { + "description": "Domain of the error appearance (internal).", + "type": "string", + "enum": [ + "rupy", + "alfred", + "celim", + "webapp" + ] + }, + "reason": { + "description": "Should be a short, unique, machine-readable error code string. e.g. FileNotFound", + "type": "string" + }, + "message": { + "description": "Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'", + "type": "string" + }, + "traceback": { + "description": "Full machine-readable error traceback. e.g. FileNotFound", + "type": "string" + } + } + } + }, + "excludeFilesPattern": { + "description": "A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix", + "type": "string" + } + } + }, + "_project": { + "$id": "system/entity-reference", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "entity reference schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "cls": { + "description": "entity class", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } + }, + "_material": { + "$id": "system/entity-reference", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "entity reference schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "cls": { + "description": "entity class", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } + }, + "parent": { + "$id": "system/entity-reference", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "entity reference schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "cls": { + "description": "entity class", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } + }, + "runtimeContext": { + "description": "Context variables that the job will have access to at runtime", + "type": "object" + }, + "scopeTrack": { + "description": "history of the workflow scope on each update", + "type": "array", + "items": { + "type": "object", + "properties": { + "repetition": { + "type": "number" + }, + "scope": { + "$id": "workflow/scope", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow scope schema", + "type": "object", + "required": [ + "global", + "local" + ], + "properties": { + "global": { + "type": "object", + "additionalProperties": true + }, + "local": { + "type": "object", + "additionalProperties": true + } + } + } + } + } + }, + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "metadata": { + "type": "object" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/job/compute.json b/docs/js/schema/job/compute.json new file mode 100644 index 000000000..b1427ca64 --- /dev/null +++ b/docs/js/schema/job/compute.json @@ -0,0 +1,186 @@ +{ + "$id": "job/compute", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "compute arguments schema", + "description": "Custom keywords prefixed with validate correspond to custom validation methods implemented downstream", + "required": [ + "queue", + "nodes", + "ppn", + "timeLimit" + ], + "properties": { + "queue": { + "description": "Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.", + "type": "string", + "enum": [ + "D", + "OR", + "OF", + "OFplus", + "SR", + "SF", + "SFplus", + "GPOF", + "GP2OF", + "GP4OF", + "GPSF", + "GP2SF", + "GP4SF", + "OR4", + "OR8", + "OR16", + "SR4", + "SR8", + "SR16", + "GOF", + "G4OF", + "G8OF", + "GSF", + "G4SF", + "G8SF" + ] + }, + "nodes": { + "description": "number of nodes used for the job inside the RMS.", + "type": "integer", + "validateNodes": {} + }, + "ppn": { + "description": "number of CPUs used for the job inside the RMS.", + "type": "integer", + "validatePpn": {} + }, + "timeLimit": { + "description": "Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'", + "type": "string", + "validateTimeLimit": {} + }, + "timeLimitType": { + "description": "Convention to use when reasoning about time limits", + "type": "string", + "default": "per single attempt", + "enum": [ + "per single attempt", + "compound" + ] + }, + "isRestartable": { + "description": "Job is allowed to restart on termination.", + "type": "boolean", + "default": true + }, + "notify": { + "description": "Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.", + "type": "string" + }, + "email": { + "description": "Email address to notify about job execution.", + "type": "string" + }, + "maxCPU": { + "description": "Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.", + "type": "integer" + }, + "arguments": { + "description": "Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere", + "type": "object", + "default": {}, + "oneOf": [ + { + "$id": "software-directory/modeling/espresso/arguments", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "quantum espresso arguments schema", + "type": "object", + "properties": { + "nimage": { + "description": "Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "npools": { + "description": "Each image can be subpartitioned into `pools`, each taking care of a group of k-points.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "nband": { + "description": "Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "ntg": { + "description": "In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "ndiag": { + "description": "A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + } + }, + "additionalProperties": false + } + ] + }, + "cluster": { + "description": "Cluster where the job is executed. Optional on create. Required on job submission.", + "type": "object", + "properties": { + "fqdn": { + "description": "FQDN of the cluster. e.g. master-1-staging.exabyte.io", + "type": "string" + }, + "jid": { + "description": "Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io", + "type": "string" + } + } + }, + "errors": { + "description": "Computation error. Optional. Appears only if something happens on jobs execution.", + "type": "array", + "items": { + "type": "object", + "properties": { + "domain": { + "description": "Domain of the error appearance (internal).", + "type": "string", + "enum": [ + "rupy", + "alfred", + "celim", + "webapp" + ] + }, + "reason": { + "description": "Should be a short, unique, machine-readable error code string. e.g. FileNotFound", + "type": "string" + }, + "message": { + "description": "Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'", + "type": "string" + }, + "traceback": { + "description": "Full machine-readable error traceback. e.g. FileNotFound", + "type": "string" + } + } + } + }, + "excludeFilesPattern": { + "description": "A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/material.json b/docs/js/schema/material.json new file mode 100644 index 000000000..133445379 --- /dev/null +++ b/docs/js/schema/material.json @@ -0,0 +1,643 @@ +{ + "$id": "material", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "material schema", + "required": [ + "basis", + "lattice" + ], + "properties": { + "formula": { + "description": "reduced chemical formula", + "type": "string" + }, + "unitCellFormula": { + "description": "chemical formula based on the number of atoms of each element in the supercell", + "type": "string" + }, + "basis": { + "$id": "properties-directory/structural/basis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "basis schema", + "type": "object", + "required": [ + "elements", + "coordinates" + ], + "properties": { + "elements": { + "type": "array", + "items": { + "$id": "properties-directory/structural/basis/atomic-element", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic elements", + "description": "elements of atoms by ids, string, unitless", + "required": [ + "id", + "value" + ], + "properties": { + "id": { + "type": "number" + }, + "value": { + "type": "string" + }, + "occurrence": { + "description": "Occurrence is for fractional occupations", + "type": "number" + }, + "oxidationState": { + "type": "number" + } + } + } + }, + "coordinates": { + "type": "array", + "items": { + "$id": "properties-directory/structural/basis/atomic-coordinate", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic coordinate", + "description": "coordinates of atoms by ids, vector, unitless", + "properties": { + "id": { + "type": "number" + }, + "value": { + "$id": "core/abstract/vector", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "vector schema", + "oneOf": [ + { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3, + "maxItems": 3 + }, + { + "$id": "core/primitive/array-of-3-booleans", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 boolean elements schema", + "type": "array", + "items": { + "type": "boolean" + }, + "minItems": 3, + "maxItems": 3 + } + ] + } + } + } + }, + "name": { + "type": "string" + }, + "units": { + "type": "string" + }, + "bonds": { + "$id": "properties-directory/structural/basis/bonds", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "bonds schema", + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "atomPair": { + "description": "indices of the two connected atoms", + "minItems": 2, + "maxItems": 2, + "$id": "core/primitive/array-of-ids", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic ids", + "type": "array", + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "id": { + "description": "integer id of this entry", + "type": "integer" + } + } + } + }, + "bondType": { + "type": "string", + "enum": [ + "single", + "double", + "triple", + "quadruple", + "aromatic", + "tautomeric", + "dative", + "other" + ] + } + } + } + } + } + }, + "lattice": { + "$id": "properties-directory/structural/lattice", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "lattice schema", + "type": "object", + "required": [ + "a", + "alpha", + "b", + "beta", + "c", + "gamma", + "type" + ], + "properties": { + "name": { + "enum": [ + "lattice" + ] + }, + "vectors": { + "$id": "properties-directory/structural/lattice/lattice-vectors", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "lattice explicit unit", + "type": "object", + "required": [ + "a", + "b", + "c" + ], + "properties": { + "alat": { + "description": "lattice parameter for fractional coordinates", + "type": "number", + "default": 1 + }, + "units": { + "enum": [ + "km", + "m", + "pm", + "nm", + "angstrom", + "a.u.", + "bohr", + "fractional", + "crystal", + "cartesian", + "alat" + ] + }, + "a": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "b": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "c": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + } + } + }, + "type": { + "$id": "properties-directory/structural/lattice/type-enum", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "lattice type schema", + "type": "string", + "enum": [ + "CUB", + "BCC", + "FCC", + "TET", + "MCL", + "ORC", + "ORCC", + "ORCF", + "ORCI", + "HEX", + "BCT", + "TRI", + "MCLC", + "RHL" + ] + }, + "units": { + "type": "object", + "properties": { + "length": { + "type": "string", + "enum": [ + "angstrom", + "bohr" + ] + }, + "angle": { + "type": "string", + "enum": [ + "degree", + "radian" + ] + } + } + }, + "a": { + "description": "length of the first lattice vector", + "type": "number" + }, + "b": { + "description": "length of the second lattice vector", + "type": "number" + }, + "c": { + "description": "length of the third lattice vector", + "type": "number" + }, + "alpha": { + "description": "angle between first and second lattice vector", + "type": "number" + }, + "beta": { + "description": "angle between second and third lattice vector", + "type": "number" + }, + "gamma": { + "description": "angle between first and third lattice vector", + "type": "number" + } + } + }, + "derivedProperties": { + "$id": "properties-directory/derived-properties", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "derived properties schema", + "type": "array", + "items": { + "anyOf": [ + { + "$id": "properties-directory/structural/volume", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "volume schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "volume" + ] + }, + "units": { + "enum": [ + "angstrom^3" + ] + }, + "value": { + "type": "number" + } + } + }, + { + "$id": "properties-directory/structural/density", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "density schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "density" + ] + }, + "units": { + "enum": [ + "g/cm^3" + ] + }, + "value": { + "type": "number" + } + } + }, + { + "$id": "properties-directory/structural/symmetry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "symmetry schema", + "properties": { + "pointGroupSymbol": { + "description": "point group symbol in Schoenflies notation", + "type": "string" + }, + "spaceGroupSymbol": { + "description": "space group symbol in Hermann–Mauguin notation", + "type": "string" + }, + "tolerance": { + "description": "tolerance used for symmetry calculation", + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "units": { + "enum": [ + "angstrom" + ] + }, + "value": { + "type": "number" + } + } + }, + "name": { + "enum": [ + "symmetry" + ] + } + } + }, + { + "$id": "properties-directory/structural/elemental-ratio", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "elemental-ratio", + "description": "ration of this element in the compound", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "elemental_ratio" + ] + }, + "value": { + "type": "number", + "min": 0, + "max": 1 + }, + "element": { + "type": "string", + "description": "the element this ratio is for" + } + } + }, + { + "$id": "properties-directory/structural/p-norm", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "p_norm", + "description": "https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "p-norm" + ] + }, + "degree": { + "type": "integer", + "description": "degree of the dimensionality of the norm" + }, + "value": { + "type": "number" + } + } + }, + { + "$id": "properties-directory/structural/inchi", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "InChI representation schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "inchi" + ] + }, + "value": { + "type": "string" + } + } + }, + { + "$id": "properties-directory/structural/inchi-key", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "InChI key representation schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "inchi_key" + ] + }, + "value": { + "type": "string" + } + } + } + ] + } + }, + "external": { + "$id": "system/database-source", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "database source schema", + "description": "information about a database source", + "type": "object", + "required": [ + "id", + "source", + "origin" + ], + "properties": { + "id": { + "description": "ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32", + "type": "string" + }, + "source": { + "description": "Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.", + "type": "string" + }, + "origin": { + "description": "A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).", + "type": "boolean", + "comment": "Deprecated. To be removed." + }, + "data": { + "description": "Original response from external source.", + "type": "object" + }, + "doi": { + "description": "Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506", + "type": "string" + }, + "url": { + "description": "The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48", + "type": "string", + "comment": "ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers" + } + } + }, + "src": { + "$id": "system/file-source", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "file source schema", + "description": "file source with the information inside", + "type": "object", + "required": [ + "filename", + "text", + "hash" + ], + "properties": { + "extension": { + "description": "file extension", + "type": "string" + }, + "filename": { + "description": "file name without extension", + "type": "string" + }, + "text": { + "description": "file content as raw text", + "type": "string" + }, + "hash": { + "description": "MD5 hash based on file content", + "type": "string" + } + } + }, + "scaledHash": { + "description": "Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).", + "type": "string" + }, + "icsdId": { + "description": "Corresponding ICSD id of the material", + "type": "integer" + }, + "isNonPeriodic": { + "description": "Whether to work in the finite molecular picture (usually with atomic orbital basis)", + "type": "boolean" + }, + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "metadata": { + "type": "object" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/material/conventional.json b/docs/js/schema/material/conventional.json new file mode 100644 index 000000000..98ce7830c --- /dev/null +++ b/docs/js/schema/material/conventional.json @@ -0,0 +1,10 @@ +{ + "$id": "material/conventional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "material conventional schema", + "properties": { + "conventional": { + "type": "object" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/method.json b/docs/js/schema/method.json new file mode 100644 index 000000000..366f5b10b --- /dev/null +++ b/docs/js/schema/method.json @@ -0,0 +1,27 @@ +{ + "$id": "method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "base method", + "required": [ + "type", + "subtype" + ], + "properties": { + "type": { + "description": "general type of this method, eg. `pseudopotential`", + "type": "string" + }, + "subtype": { + "description": "general subtype of this method, eg. `ultra-soft`", + "type": "string" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "data": { + "description": "additional data specific to method, eg. array of pseudopotentials", + "type": "object" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/method/categorized_method.json b/docs/js/schema/method/categorized_method.json new file mode 100644 index 000000000..3f0a292a6 --- /dev/null +++ b/docs/js/schema/method/categorized_method.json @@ -0,0 +1,235 @@ +{ + "$id": "method/categorized-method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "categorized method", + "required": [ + "units" + ], + "type": "object", + "properties": { + "units": { + "type": "array", + "items": { + "$id": "method/unit-method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "categorized unit method", + "type": "object", + "properties": { + "categories": { + "$id": "core/reusable/categories", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "categories", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "tier1": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "description": "Instructive parameters defining the method", + "type": "object" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/method/method_parameters.json b/docs/js/schema/method/method_parameters.json new file mode 100644 index 000000000..c1650f8b9 --- /dev/null +++ b/docs/js/schema/method/method_parameters.json @@ -0,0 +1,44 @@ +{ + "$id": "method/method-parameters", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "MethodParameters", + "oneOf": [ + { + "properties": { + "basisSlug": { + "enum": [ + "cc-pvdz", + "cc-pvtz", + "cc-pvqz" + ] + } + } + }, + { + "properties": { + "basisSlug": { + "enum": [ + "3-21G", + "6-31G", + "6-311G" + ] + } + } + }, + { + "properties": { + "basisSlug": { + "enum": [ + "sto-3g", + "sto-4g", + "sto-6g", + "def2-svp", + "def2-tzvp", + "def2-qzvp", + "cbs-qb3" + ] + } + } + } + ] +} \ No newline at end of file diff --git a/docs/js/schema/method/unit_method.json b/docs/js/schema/method/unit_method.json new file mode 100644 index 000000000..2c8b28a13 --- /dev/null +++ b/docs/js/schema/method/unit_method.json @@ -0,0 +1,203 @@ +{ + "$id": "method/unit-method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "categorized unit method", + "type": "object", + "properties": { + "categories": { + "$id": "core/reusable/categories", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "categories", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "tier1": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "description": "Instructive parameters defining the method", + "type": "object" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/diff.json b/docs/js/schema/methods_category/mathematical/diff.json new file mode 100644 index 000000000..4d113d03d --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/diff.json @@ -0,0 +1,172 @@ +{ + "$id": "methods-category/mathematical/diff", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Numerical differentiation category schema", + "title": "categories", + "type": "object", + "properties": { + "tier1": { + "enum": [ + "diff" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/diff/enum-options.json b/docs/js/schema/methods_category/mathematical/diff/enum-options.json new file mode 100644 index 000000000..b4823ecd0 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/diff/enum-options.json @@ -0,0 +1,8 @@ +{ + "$id": "methods-category/mathematical/diff/enum-options", + "finiteDifference": { + "enum": [ + "fd" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/diff/fd.json b/docs/js/schema/methods_category/mathematical/diff/fd.json new file mode 100644 index 000000000..3d6708c04 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/diff/fd.json @@ -0,0 +1,175 @@ +{ + "$id": "methods-category/mathematical/diff/fd", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Finite difference method category schema", + "title": "categories", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "fd" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "diff" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/discr.json b/docs/js/schema/methods_category/mathematical/discr.json new file mode 100644 index 000000000..0bf95efac --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/discr.json @@ -0,0 +1,172 @@ +{ + "$id": "methods-category/mathematical/discr", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Discretization category schema", + "title": "categories", + "type": "object", + "properties": { + "tier1": { + "enum": [ + "discr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/discr/enum-options.json b/docs/js/schema/methods_category/mathematical/discr/enum-options.json new file mode 100644 index 000000000..5aec122fc --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/discr/enum-options.json @@ -0,0 +1,8 @@ +{ + "$id": "methods-category/mathematical/discr/enum-options", + "meshing": { + "enum": [ + "mesh" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/discr/mesh.json b/docs/js/schema/methods_category/mathematical/discr/mesh.json new file mode 100644 index 000000000..acaee4774 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/discr/mesh.json @@ -0,0 +1,175 @@ +{ + "$id": "methods-category/mathematical/discr/mesh", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Meshing method category schema", + "title": "categories", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "mesh" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "discr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/discr/mesh/enum-options.json b/docs/js/schema/methods_category/mathematical/discr/mesh/enum-options.json new file mode 100644 index 000000000..b4d804263 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/discr/mesh/enum-options.json @@ -0,0 +1,18 @@ +{ + "$id": "methods-category/mathematical/discr/mesh/enum-options", + "hybridMesh": { + "enum": [ + "hybrid" + ] + }, + "unstructuredMesh": { + "enum": [ + "nstruct" + ] + }, + "structuredMesh": { + "enum": [ + "struct" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/discr/mesh/hybrid.json b/docs/js/schema/methods_category/mathematical/discr/mesh/hybrid.json new file mode 100644 index 000000000..79669390c --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/discr/mesh/hybrid.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/discr/mesh/hybrid", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Hybrid meshing category schema", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "hybrid" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "mesh" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "discr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/discr/mesh/nstruct.json b/docs/js/schema/methods_category/mathematical/discr/mesh/nstruct.json new file mode 100644 index 000000000..7be56fd2d --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/discr/mesh/nstruct.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/discr/mesh/nstruct", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Unstructured meshing category schema", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "nstruct" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "mesh" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "discr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/discr/mesh/struct.json b/docs/js/schema/methods_category/mathematical/discr/mesh/struct.json new file mode 100644 index 000000000..abdb11141 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/discr/mesh/struct.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/discr/mesh/struct", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Structured meshing category schema", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "struct" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "mesh" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "discr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/discr/mesh/struct/cartesian.json b/docs/js/schema/methods_category/mathematical/discr/mesh/struct/cartesian.json new file mode 100644 index 000000000..4622c9362 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/discr/mesh/struct/cartesian.json @@ -0,0 +1,181 @@ +{ + "$id": "methods-category/mathematical/discr/mesh/struct/cartesian", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Cartesian grid schema", + "description": "Structured meshing category schema", + "type": "object", + "properties": { + "type": { + "enum": [ + "cartesian" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "struct" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "mesh" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "discr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/discr/mesh/struct/enum-options.json b/docs/js/schema/methods_category/mathematical/discr/mesh/struct/enum-options.json new file mode 100644 index 000000000..b19463314 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/discr/mesh/struct/enum-options.json @@ -0,0 +1,8 @@ +{ + "$id": "methods-category/mathematical/discr/mesh/struct/enum-options", + "cartesian": { + "enum": [ + "cartesian" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/enum-options.json b/docs/js/schema/methods_category/mathematical/enum-options.json new file mode 100644 index 000000000..bcb3fe1dd --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/enum-options.json @@ -0,0 +1,45 @@ +{ + "$id": "methods-category/mathematical/enum-options", + "differentiation": { + "enum": [ + "diff" + ] + }, + "discretization": { + "enum": [ + "discr" + ] + }, + "functionApproximation": { + "enum": [ + "fapprx" + ] + }, + "integration": { + "enum": [ + "intgr" + ] + }, + "linearAlgebra": { + "enum": [ + "linalg" + ] + }, + "optimization": { + "enum": [ + "opt" + ] + }, + "regressionTypes": { + "enum": [ + "linear", + "kernel_ridge" + ] + }, + "regressionSubtypes": { + "enum": [ + "least_squares", + "ridge" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/fapprx.json b/docs/js/schema/methods_category/mathematical/fapprx.json new file mode 100644 index 000000000..6583ae6da --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/fapprx.json @@ -0,0 +1,172 @@ +{ + "$id": "methods-category/mathematical/fapprx", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Unstructured meshing category schema", + "title": "categories", + "type": "object", + "properties": { + "tier1": { + "enum": [ + "fapprx" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/fapprx/basisexp.json b/docs/js/schema/methods_category/mathematical/fapprx/basisexp.json new file mode 100644 index 000000000..710fe1559 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/fapprx/basisexp.json @@ -0,0 +1,175 @@ +{ + "$id": "methods-category/mathematical/fapprx/basisexp", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Basis expansion category schema", + "title": "categories", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "basisExp" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "fapprx" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/fapprx/enum-options.json b/docs/js/schema/methods_category/mathematical/fapprx/enum-options.json new file mode 100644 index 000000000..63d52cb26 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/fapprx/enum-options.json @@ -0,0 +1,13 @@ +{ + "$id": "methods-category/mathematical/fapprx/enum-options", + "basisExpansion": { + "enum": [ + "basisExp" + ] + }, + "interpolation": { + "enum": [ + "ipol" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/fapprx/ipol.json b/docs/js/schema/methods_category/mathematical/fapprx/ipol.json new file mode 100644 index 000000000..c4116d8db --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/fapprx/ipol.json @@ -0,0 +1,175 @@ +{ + "$id": "methods-category/mathematical/fapprx/ipol", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Interpolation category schema", + "title": "categories", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "ipol" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "fapprx" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/fapprx/ipol/enum-options.json b/docs/js/schema/methods_category/mathematical/fapprx/ipol/enum-options.json new file mode 100644 index 000000000..84013cb24 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/fapprx/ipol/enum-options.json @@ -0,0 +1,18 @@ +{ + "$id": "methods-category/mathematical/fapprx/ipol/enum-options", + "linear": { + "enum": [ + "lin" + ] + }, + "polynomial": { + "enum": [ + "poly" + ] + }, + "spline": { + "enum": [ + "spline" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/fapprx/ipol/lin.json b/docs/js/schema/methods_category/mathematical/fapprx/ipol/lin.json new file mode 100644 index 000000000..e4f067b89 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/fapprx/ipol/lin.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/fapprx/ipol/lin", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Linear interpolation category schema", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "lin" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "ipol" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "fapprx" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/fapprx/ipol/poly.json b/docs/js/schema/methods_category/mathematical/fapprx/ipol/poly.json new file mode 100644 index 000000000..5ce74ac81 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/fapprx/ipol/poly.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/fapprx/ipol/poly", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Polynomial interpolation category schema", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "poly" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "ipol" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "fapprx" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/fapprx/ipol/spline.json b/docs/js/schema/methods_category/mathematical/fapprx/ipol/spline.json new file mode 100644 index 000000000..a2ac29db9 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/fapprx/ipol/spline.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/fapprx/ipol/spline", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Spline interpolation category schema", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "spline" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "ipol" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "fapprx" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/intgr.json b/docs/js/schema/methods_category/mathematical/intgr.json new file mode 100644 index 000000000..49537bb67 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/intgr.json @@ -0,0 +1,172 @@ +{ + "$id": "methods-category/mathematical/intgr", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Integration category schema", + "title": "categories", + "type": "object", + "properties": { + "tier1": { + "enum": [ + "intgr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/intgr/analytic.json b/docs/js/schema/methods_category/mathematical/intgr/analytic.json new file mode 100644 index 000000000..96bef8757 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/intgr/analytic.json @@ -0,0 +1,175 @@ +{ + "$id": "methods-category/mathematical/intgr/analytic", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Analytic integral category schema", + "title": "categories", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "analytic" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "intgr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/intgr/analytic/enum-options.json b/docs/js/schema/methods_category/mathematical/intgr/analytic/enum-options.json new file mode 100644 index 000000000..81332235e --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/intgr/analytic/enum-options.json @@ -0,0 +1,20 @@ +{ + "$id": "methods-category/mathematical/intgr/analytic/enum-options", + "volume": { + "enum": [ + "volume" + ] + }, + "volumeSubtypes": { + "enum": [ + "sphere", + "cube", + "rect-prism", + "tri-prism", + "cylinder", + "cone", + "tetrahedron", + "sq-pyr" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/intgr/analytic/volume.json b/docs/js/schema/methods_category/mathematical/intgr/analytic/volume.json new file mode 100644 index 000000000..5913b6530 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/intgr/analytic/volume.json @@ -0,0 +1,188 @@ +{ + "$id": "methods-category/mathematical/intgr/analytic/volume", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "analytic volume integral category schema", + "title": "categories", + "type": "object", + "properties": { + "type": { + "enum": [ + "volume" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "enum": [ + "sphere", + "cube", + "rect-prism", + "tri-prism", + "cylinder", + "cone", + "tetrahedron", + "sq-pyr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "analytic" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "intgr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/intgr/diffeq.json b/docs/js/schema/methods_category/mathematical/intgr/diffeq.json new file mode 100644 index 000000000..918434769 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/intgr/diffeq.json @@ -0,0 +1,175 @@ +{ + "$id": "methods-category/mathematical/intgr/diffeq", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Methods for the numerical integration of differential equations", + "title": "categories", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "diffeq" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "intgr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/intgr/diffeq/enum-options.json b/docs/js/schema/methods_category/mathematical/intgr/diffeq/enum-options.json new file mode 100644 index 000000000..9fdca514a --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/intgr/diffeq/enum-options.json @@ -0,0 +1,13 @@ +{ + "$id": "methods-category/mathematical/intgr/diffeq/enum-options", + "firstOrder": { + "enum": [ + "order1" + ] + }, + "secondOrder": { + "enum": [ + "order2" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/intgr/diffeq/order1.json b/docs/js/schema/methods_category/mathematical/intgr/diffeq/order1.json new file mode 100644 index 000000000..223e3c9ec --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/intgr/diffeq/order1.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/intgr/diffeq/order1", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Categories for the numerical integration of differential equations", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "order1" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "diffeq" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "intgr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/intgr/diffeq/order2.json b/docs/js/schema/methods_category/mathematical/intgr/diffeq/order2.json new file mode 100644 index 000000000..f93b4b3e2 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/intgr/diffeq/order2.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/intgr/diffeq/order2", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Categories for the numerical integration of differential equations", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "order2" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "diffeq" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "intgr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/intgr/enum-options.json b/docs/js/schema/methods_category/mathematical/intgr/enum-options.json new file mode 100644 index 000000000..a05fd05a9 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/intgr/enum-options.json @@ -0,0 +1,23 @@ +{ + "$id": "methods-category/mathematical/intgr/enum-options", + "analytic": { + "enum": [ + "analytic" + ] + }, + "differentialEquation": { + "enum": [ + "diffeq" + ] + }, + "numericalQuadrature": { + "enum": [ + "numquad" + ] + }, + "transformation": { + "enum": [ + "transf" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/intgr/numquad.json b/docs/js/schema/methods_category/mathematical/intgr/numquad.json new file mode 100644 index 000000000..085ead54b --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/intgr/numquad.json @@ -0,0 +1,175 @@ +{ + "$id": "methods-category/mathematical/intgr/numquad", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Methods for the numerical quadrature", + "title": "categories", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "numquad" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "intgr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/intgr/numquad/enum-options.json b/docs/js/schema/methods_category/mathematical/intgr/numquad/enum-options.json new file mode 100644 index 000000000..09bfa71a8 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/intgr/numquad/enum-options.json @@ -0,0 +1,13 @@ +{ + "$id": "methods-category/mathematical/intgr/numquad/enum-options", + "gaussQuadrature": { + "enum": [ + "gauss" + ] + }, + "newtonCotes": { + "enum": [ + "newcot" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/intgr/numquad/gauss.json b/docs/js/schema/methods_category/mathematical/intgr/numquad/gauss.json new file mode 100644 index 000000000..2a950941f --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/intgr/numquad/gauss.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/intgr/numquad/gauss", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Gaussian quadrature rules", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "gauss" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "numquad" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "intgr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/intgr/numquad/newcot.json b/docs/js/schema/methods_category/mathematical/intgr/numquad/newcot.json new file mode 100644 index 000000000..95cbd34cb --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/intgr/numquad/newcot.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/intgr/numquad/newcot", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Newton-Cotes quadrature rules", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "newcot" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "numquad" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "intgr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/intgr/transf.json b/docs/js/schema/methods_category/mathematical/intgr/transf.json new file mode 100644 index 000000000..30ab38e0e --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/intgr/transf.json @@ -0,0 +1,175 @@ +{ + "$id": "methods-category/mathematical/intgr/transf", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Integral transform methods", + "title": "categories", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "transf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "intgr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/intgr/transf/enum-options.json b/docs/js/schema/methods_category/mathematical/intgr/transf/enum-options.json new file mode 100644 index 000000000..a69f4fa41 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/intgr/transf/enum-options.json @@ -0,0 +1,8 @@ +{ + "$id": "methods-category/mathematical/intgr/transf/enum-options", + "fourierTransformation": { + "enum": [ + "fourier" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/intgr/transf/fourier.json b/docs/js/schema/methods_category/mathematical/intgr/transf/fourier.json new file mode 100644 index 000000000..e1450aa1b --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/intgr/transf/fourier.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/intgr/transf/fourier", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Fourier transform methods", + "title": "categories", + "type": "object", + "properties": { + "type": { + "enum": [ + "fourier" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "transf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "intgr" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/linalg.json b/docs/js/schema/methods_category/mathematical/linalg.json new file mode 100644 index 000000000..be17b20b2 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/linalg.json @@ -0,0 +1,172 @@ +{ + "$id": "methods-category/mathematical/linalg", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Linear Algebra category schema", + "title": "categories", + "type": "object", + "properties": { + "tier1": { + "enum": [ + "linalg" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/linalg/dcomp.json b/docs/js/schema/methods_category/mathematical/linalg/dcomp.json new file mode 100644 index 000000000..4e0bd361c --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/linalg/dcomp.json @@ -0,0 +1,175 @@ +{ + "$id": "methods-category/mathematical/linalg/dcomp", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Matrix decomposition methods", + "title": "categories", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "dcomp" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "linalg" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/linalg/diag.json b/docs/js/schema/methods_category/mathematical/linalg/diag.json new file mode 100644 index 000000000..bbce7a89e --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/linalg/diag.json @@ -0,0 +1,175 @@ +{ + "$id": "methods-category/mathematical/linalg/diag", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Matrix diagonalization methods", + "title": "categories", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "diag" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "linalg" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/linalg/diag/davidson.json b/docs/js/schema/methods_category/mathematical/linalg/diag/davidson.json new file mode 100644 index 000000000..947ac30d1 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/linalg/diag/davidson.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/linalg/diag/davidson", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Davidson diagonalization method", + "title": "categories", + "type": "object", + "properties": { + "type": { + "enum": [ + "davidson" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "diag" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "linalg" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/linalg/diag/enum-options.json b/docs/js/schema/methods_category/mathematical/linalg/diag/enum-options.json new file mode 100644 index 000000000..81b1b81a4 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/linalg/diag/enum-options.json @@ -0,0 +1,8 @@ +{ + "$id": "methods-category/mathematical/linalg/diag/enum-options", + "davidson": { + "enum": [ + "davidson" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/linalg/enum-options.json b/docs/js/schema/methods_category/mathematical/linalg/enum-options.json new file mode 100644 index 000000000..736b8f169 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/linalg/enum-options.json @@ -0,0 +1,23 @@ +{ + "$id": "methods-category/mathematical/linalg/enum-options", + "decomposition": { + "enum": [ + "dcomp" + ] + }, + "diagonalization": { + "enum": [ + "diag" + ] + }, + "linearTransformation": { + "enum": [ + "lintra" + ] + }, + "matrixFunction": { + "enum": [ + "matf" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/linalg/lintra.json b/docs/js/schema/methods_category/mathematical/linalg/lintra.json new file mode 100644 index 000000000..d5eccb4e9 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/linalg/lintra.json @@ -0,0 +1,175 @@ +{ + "$id": "methods-category/mathematical/linalg/lintra", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Linear transformation methods", + "title": "categories", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "lintra" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "linalg" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/linalg/matf.json b/docs/js/schema/methods_category/mathematical/linalg/matf.json new file mode 100644 index 000000000..8b0f0cb2a --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/linalg/matf.json @@ -0,0 +1,175 @@ +{ + "$id": "methods-category/mathematical/linalg/matf", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Matrix function methods", + "title": "categories", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "matf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "linalg" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt.json b/docs/js/schema/methods_category/mathematical/opt.json new file mode 100644 index 000000000..b9f817b95 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt.json @@ -0,0 +1,172 @@ +{ + "$id": "methods-category/mathematical/opt", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Integration category schema", + "title": "categories", + "type": "object", + "properties": { + "tier1": { + "enum": [ + "opt" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/diff.json b/docs/js/schema/methods_category/mathematical/opt/diff.json new file mode 100644 index 000000000..977b7aba6 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/diff.json @@ -0,0 +1,175 @@ +{ + "$id": "methods-category/mathematical/opt/diff", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Optimization methods for differentiable functions category schema", + "title": "categories", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "diff" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "opt" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/diff/bracket.json b/docs/js/schema/methods_category/mathematical/opt/diff/bracket.json new file mode 100644 index 000000000..e5b0e4112 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/diff/bracket.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/opt/diff/bracket", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Bracket algorithms for the optimization of differentiable functions", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "bracket" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "diff" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "opt" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/diff/enum-options.json b/docs/js/schema/methods_category/mathematical/opt/diff/enum-options.json new file mode 100644 index 000000000..f58cabc6c --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/diff/enum-options.json @@ -0,0 +1,28 @@ +{ + "$id": "methods-category/mathematical/opt/diff/enum-options", + "bracketing": { + "enum": [ + "bracket" + ] + }, + "localDescent": { + "enum": [ + "local" + ] + }, + "firstOrder": { + "enum": [ + "order1" + ] + }, + "secondOrder": { + "enum": [ + "order2" + ] + }, + "nOrder": { + "enum": [ + "ordern" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/diff/local.json b/docs/js/schema/methods_category/mathematical/opt/diff/local.json new file mode 100644 index 000000000..d982519dc --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/diff/local.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/opt/diff/local", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Local descent methods for the optimization of differentiable functions", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "local" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "diff" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "opt" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/diff/order1.json b/docs/js/schema/methods_category/mathematical/opt/diff/order1.json new file mode 100644 index 000000000..aee654a67 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/diff/order1.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/opt/diff/order1", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "First order algorithms for the optimization of differentiable functions", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "order1" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "diff" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "opt" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/diff/order2.json b/docs/js/schema/methods_category/mathematical/opt/diff/order2.json new file mode 100644 index 000000000..2d9c6dc93 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/diff/order2.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/opt/diff/order2", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Second order algorithms for the optimization of differentiable functions", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "order2" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "diff" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "opt" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/diff/ordern.json b/docs/js/schema/methods_category/mathematical/opt/diff/ordern.json new file mode 100644 index 000000000..217917c64 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/diff/ordern.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/opt/diff/ordern", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Mixed order and higher order algorithms for the optimization of differentiable functions", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "ordern" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "diff" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "opt" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/diff/ordern/cg.json b/docs/js/schema/methods_category/mathematical/opt/diff/ordern/cg.json new file mode 100644 index 000000000..8a3226503 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/diff/ordern/cg.json @@ -0,0 +1,181 @@ +{ + "$id": "methods-category/mathematical/opt/diff/ordern/cg", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "conjugate gradient method schema", + "title": "categories", + "type": "object", + "properties": { + "type": { + "enum": [ + "cg" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "ordern" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "diff" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "opt" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/diff/ordern/enum-options.json b/docs/js/schema/methods_category/mathematical/opt/diff/ordern/enum-options.json new file mode 100644 index 000000000..d3a7e6353 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/diff/ordern/enum-options.json @@ -0,0 +1,8 @@ +{ + "$id": "methods-category/mathematical/opt/diff/ordern/enum-options", + "conjugateGradient": { + "enum": [ + "cg" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/enum-options.json b/docs/js/schema/methods_category/mathematical/opt/enum-options.json new file mode 100644 index 000000000..84f29d268 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/enum-options.json @@ -0,0 +1,18 @@ +{ + "$id": "methods-category/mathematical/opt/enum-options", + "differentiable": { + "enum": [ + "diff" + ] + }, + "nonDifferentiable": { + "enum": [ + "ndiff" + ] + }, + "rootFinding": { + "enum": [ + "root" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/ndiff.json b/docs/js/schema/methods_category/mathematical/opt/ndiff.json new file mode 100644 index 000000000..a9c4a86d6 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/ndiff.json @@ -0,0 +1,175 @@ +{ + "$id": "methods-category/mathematical/opt/ndiff", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Optimization methods for non-differentiable functions category schema", + "title": "categories", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "ndiff" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "opt" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/ndiff/direct.json b/docs/js/schema/methods_category/mathematical/opt/ndiff/direct.json new file mode 100644 index 000000000..d6ade8c23 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/ndiff/direct.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/opt/ndiff/direct", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Direct algorithms for the optimization of non-differentiable functions category schema", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "direct" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "ndiff" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "opt" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/ndiff/enum-options.json b/docs/js/schema/methods_category/mathematical/opt/ndiff/enum-options.json new file mode 100644 index 000000000..318e0b8a5 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/ndiff/enum-options.json @@ -0,0 +1,18 @@ +{ + "$id": "methods-category/mathematical/opt/ndiff/enum-options", + "direct": { + "enum": [ + "direct" + ] + }, + "population": { + "enum": [ + "pop" + ] + }, + "stochastic": { + "enum": [ + "stoch" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/ndiff/pop.json b/docs/js/schema/methods_category/mathematical/opt/ndiff/pop.json new file mode 100644 index 000000000..ea83655ad --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/ndiff/pop.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/opt/ndiff/pop", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Population algorithms for the optmization of non-differentiable functions category schema", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "pop" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "ndiff" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "opt" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/ndiff/stoch.json b/docs/js/schema/methods_category/mathematical/opt/ndiff/stoch.json new file mode 100644 index 000000000..8e4d9ca78 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/ndiff/stoch.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/opt/ndiff/stoch", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Stochastic algorithms for the optmization of non-differentiable functions category schema", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "stoch" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "ndiff" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "opt" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/root.json b/docs/js/schema/methods_category/mathematical/opt/root.json new file mode 100644 index 000000000..f0800ebf9 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/root.json @@ -0,0 +1,175 @@ +{ + "$id": "methods-category/mathematical/opt/root", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Root finding category schema", + "title": "categories", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "root" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "opt" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/root/bracket.json b/docs/js/schema/methods_category/mathematical/opt/root/bracket.json new file mode 100644 index 000000000..10ef2fe5a --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/root/bracket.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/opt/root/bracket", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Bracketing method for finding roots category schema", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "bracket" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "root" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "opt" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/root/enum-options.json b/docs/js/schema/methods_category/mathematical/opt/root/enum-options.json new file mode 100644 index 000000000..165f57897 --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/root/enum-options.json @@ -0,0 +1,13 @@ +{ + "$id": "methods-category/mathematical/opt/root/enum-options", + "iterative": { + "enum": [ + "iterative" + ] + }, + "bracketing": { + "enum": [ + "bracket" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/opt/root/iter.json b/docs/js/schema/methods_category/mathematical/opt/root/iter.json new file mode 100644 index 000000000..12c18df1f --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/opt/root/iter.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/mathematical/opt/root/iter", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Iterative method for root finding category schema", + "title": "categories", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "iterative" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "root" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "opt" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/mathematical/regression.json b/docs/js/schema/methods_category/mathematical/regression.json new file mode 100644 index 000000000..18f16245b --- /dev/null +++ b/docs/js/schema/methods_category/mathematical/regression.json @@ -0,0 +1,177 @@ +{ + "$id": "methods-category/mathematical/regression", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "linear methods category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "type": { + "enum": [ + "linear", + "kernel_ridge" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "enum": [ + "least_squares", + "ridge" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/physical/enum-options.json b/docs/js/schema/methods_category/physical/enum-options.json new file mode 100644 index 000000000..ad80bc562 --- /dev/null +++ b/docs/js/schema/methods_category/physical/enum-options.json @@ -0,0 +1,8 @@ +{ + "$id": "methods-category/physical/enum-options", + "quantumMechanical": { + "enum": [ + "qm" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/physical/qm.json b/docs/js/schema/methods_category/physical/qm.json new file mode 100644 index 000000000..549a1e92a --- /dev/null +++ b/docs/js/schema/methods_category/physical/qm.json @@ -0,0 +1,172 @@ +{ + "$id": "methods-category/physical/qm", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Quantum-Mechanical method category schema", + "title": "categories", + "type": "object", + "properties": { + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/physical/qm/enum-options.json b/docs/js/schema/methods_category/physical/qm/enum-options.json new file mode 100644 index 000000000..005996a6d --- /dev/null +++ b/docs/js/schema/methods_category/physical/qm/enum-options.json @@ -0,0 +1,8 @@ +{ + "$id": "methods-category/physical/qm/enum-options", + "wavefunction": { + "enum": [ + "wf" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/physical/qm/wf.json b/docs/js/schema/methods_category/physical/qm/wf.json new file mode 100644 index 000000000..f1ad22a1e --- /dev/null +++ b/docs/js/schema/methods_category/physical/qm/wf.json @@ -0,0 +1,175 @@ +{ + "$id": "methods-category/physical/qm/wf", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Methods related to wave functions", + "title": "categories", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "wf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/physical/qm/wf/ao.json b/docs/js/schema/methods_category/physical/qm/wf/ao.json new file mode 100644 index 000000000..ac538c4de --- /dev/null +++ b/docs/js/schema/methods_category/physical/qm/wf/ao.json @@ -0,0 +1,183 @@ +{ + "$id": "methods-category/physical/qm/wf/ao", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Approximating the electronic wave function with a atomic orbital basis", + "title": "categories", + "type": "object", + "properties": { + "type": { + "enum": [ + "ao" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "enum": [ + "pople", + "dunning", + "other" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "wf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/physical/qm/wf/ao/dunning.json b/docs/js/schema/methods_category/physical/qm/wf/ao/dunning.json new file mode 100644 index 000000000..72844f432 --- /dev/null +++ b/docs/js/schema/methods_category/physical/qm/wf/ao/dunning.json @@ -0,0 +1,181 @@ +{ + "$id": "methods-category/physical/qm/wf/ao/dunning", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Dunning correlation-consistent basis set category schema", + "title": "categories", + "type": "object", + "properties": { + "subtype": { + "enum": [ + "dunning" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "enum": [ + "ao" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "wf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/physical/qm/wf/ao/other.json b/docs/js/schema/methods_category/physical/qm/wf/ao/other.json new file mode 100644 index 000000000..f6e6fce66 --- /dev/null +++ b/docs/js/schema/methods_category/physical/qm/wf/ao/other.json @@ -0,0 +1,181 @@ +{ + "$id": "methods-category/physical/qm/wf/ao/other", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Other (neither Pople nor Dunning) basis set category schema", + "title": "categories", + "type": "object", + "properties": { + "subtype": { + "enum": [ + "other" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "enum": [ + "ao" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "wf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/physical/qm/wf/ao/pople.json b/docs/js/schema/methods_category/physical/qm/wf/ao/pople.json new file mode 100644 index 000000000..1aecc67bc --- /dev/null +++ b/docs/js/schema/methods_category/physical/qm/wf/ao/pople.json @@ -0,0 +1,181 @@ +{ + "$id": "methods-category/physical/qm/wf/ao/pople", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Pople basis set category schema", + "title": "categories", + "type": "object", + "properties": { + "subtype": { + "enum": [ + "pople" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "enum": [ + "ao" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "wf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/physical/qm/wf/enum-options.json b/docs/js/schema/methods_category/physical/qm/wf/enum-options.json new file mode 100644 index 000000000..02e79c1a7 --- /dev/null +++ b/docs/js/schema/methods_category/physical/qm/wf/enum-options.json @@ -0,0 +1,63 @@ +{ + "$id": "methods-category/physical/qm/wf/enum-options", + "planewave": { + "enum": [ + "pw" + ] + }, + "atomicOrbital": { + "enum": [ + "ao" + ] + }, + "wavelet": { + "enum": [ + "wvl" + ] + }, + "smearing": { + "enum": [ + "smearing" + ] + }, + "tetrahedron": { + "enum": [ + "tetrahedron" + ] + }, + "pseudization": { + "enum": [ + "psp" + ] + }, + "pseudoSubtypes": { + "enum": [ + "us", + "nc", + "paw", + "coulomb" + ] + }, + "smearingSubtypes": { + "enum": [ + "gaussian", + "marzari-vanderbilt", + "methfessel-paxton", + "fermi-dirac" + ] + }, + "tetrahedronSubtypes": { + "enum": [ + "linear", + "optimized", + "bloechl" + ] + }, + "aoTypes": { + "enum": [ + "pople", + "dunning", + "other" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/physical/qm/wf/psp.json b/docs/js/schema/methods_category/physical/qm/wf/psp.json new file mode 100644 index 000000000..d95a75cce --- /dev/null +++ b/docs/js/schema/methods_category/physical/qm/wf/psp.json @@ -0,0 +1,184 @@ +{ + "$id": "methods-category/physical/qm/wf/psp", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Pseudopotential category schema", + "title": "categories", + "type": "object", + "properties": { + "type": { + "enum": [ + "psp" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "enum": [ + "us", + "nc", + "paw", + "coulomb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "wf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/physical/qm/wf/pw.json b/docs/js/schema/methods_category/physical/qm/wf/pw.json new file mode 100644 index 000000000..91c2f878a --- /dev/null +++ b/docs/js/schema/methods_category/physical/qm/wf/pw.json @@ -0,0 +1,178 @@ +{ + "$id": "methods-category/physical/qm/wf/pw", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Plane wave catgeory schema", + "title": "categories", + "type": "object", + "properties": { + "type": { + "enum": [ + "pw" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "wf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/physical/qm/wf/smearing.json b/docs/js/schema/methods_category/physical/qm/wf/smearing.json new file mode 100644 index 000000000..36078e489 --- /dev/null +++ b/docs/js/schema/methods_category/physical/qm/wf/smearing.json @@ -0,0 +1,184 @@ +{ + "$id": "methods-category/physical/qm/wf/smearing", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Smearing methods category schema", + "description": "Approximating Heaviside step function with smooth function", + "type": "object", + "properties": { + "type": { + "enum": [ + "smearing" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "enum": [ + "gaussian", + "marzari-vanderbilt", + "methfessel-paxton", + "fermi-dirac" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "wf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_category/physical/qm/wf/tetrahedron.json b/docs/js/schema/methods_category/physical/qm/wf/tetrahedron.json new file mode 100644 index 000000000..079569e97 --- /dev/null +++ b/docs/js/schema/methods_category/physical/qm/wf/tetrahedron.json @@ -0,0 +1,183 @@ +{ + "$id": "methods-category/physical/qm/wf/tetrahedron", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Tetrahedron method for Brillouin zone integration category schema ", + "title": "categories", + "type": "object", + "properties": { + "type": { + "enum": [ + "tetrahedron" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "enum": [ + "linear", + "optimized", + "bloechl" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "wf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/legacy/localorbital.json b/docs/js/schema/methods_directory/legacy/localorbital.json new file mode 100644 index 000000000..4bf0c93b2 --- /dev/null +++ b/docs/js/schema/methods_directory/legacy/localorbital.json @@ -0,0 +1,33 @@ +{ + "$id": "methods-directory/legacy/localorbital", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "legacy method localorbital", + "required": [ + "type", + "subtype" + ], + "properties": { + "type": { + "enum": [ + "localorbital" + ], + "description": "general type of this method, eg. `pseudopotential`", + "type": "string" + }, + "subtype": { + "enum": [ + "pople" + ], + "description": "general subtype of this method, eg. `ultra-soft`", + "type": "string" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "data": { + "description": "additional data specific to method, eg. array of pseudopotentials", + "type": "object" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/legacy/pseudopotential.json b/docs/js/schema/methods_directory/legacy/pseudopotential.json new file mode 100644 index 000000000..79fde4a34 --- /dev/null +++ b/docs/js/schema/methods_directory/legacy/pseudopotential.json @@ -0,0 +1,36 @@ +{ + "$id": "methods-directory/legacy/pseudopotential", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "legacy method pseudopotential", + "required": [ + "type", + "subtype" + ], + "properties": { + "type": { + "enum": [ + "pseudopotential" + ], + "description": "general type of this method, eg. `pseudopotential`", + "type": "string" + }, + "subtype": { + "enum": [ + "paw", + "nc", + "us", + "any" + ], + "description": "general subtype of this method, eg. `ultra-soft`", + "type": "string" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "data": { + "description": "additional data specific to method, eg. array of pseudopotentials", + "type": "object" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/legacy/regression.json b/docs/js/schema/methods_directory/legacy/regression.json new file mode 100644 index 000000000..e847591f3 --- /dev/null +++ b/docs/js/schema/methods_directory/legacy/regression.json @@ -0,0 +1,188 @@ +{ + "$id": "methods-directory/legacy/regression", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "legacy method regression", + "required": [ + "data", + "precision", + "subtype", + "type" + ], + "properties": { + "type": { + "enum": [ + "linear", + "kernel_ridge" + ], + "description": "general type of this method, eg. `pseudopotential`", + "type": "string" + }, + "subtype": { + "enum": [ + "least_squares", + "ridge" + ], + "description": "general subtype of this method, eg. `ultra-soft`", + "type": "string" + }, + "precision": { + "$id": "methods-directory/mathematical/regression/precision", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "regression precision", + "type": "object", + "description": "Object showing the actual possible precision based on theory and implementation", + "properties": { + "perProperty": { + "type": "array", + "items": { + "$id": "methods-directory/mathematical/regression/precision-per-property", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "regression precision per property schema", + "type": "object", + "required": [ + "trainingError" + ], + "properties": { + "name": { + "description": "property name in 'flattened' format", + "type": "string" + }, + "trainingError": { + "description": "training error of the estimator", + "type": "number" + }, + "score": { + "description": "prediction score of the estimator. Eg: r2_score", + "type": "number" + } + } + } + } + } + }, + "data": { + "$id": "methods-directory/mathematical/regression/data", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "regression data", + "type": "object", + "description": "additional data specific to method, eg. array of pseudopotentials", + "properties": { + "perProperty": { + "type": "array", + "items": { + "oneOf": [ + { + "$id": "methods-directory/mathematical/regression/linear/data-per-property", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "linear regression parameters schema", + "properties": { + "intercept": { + "description": "intercept (shift) from the linear or non-linear fit of data points", + "type": "number" + }, + "perFeature": { + "type": "array", + "description": "per-feature (property used for training the ML method/model) parameters", + "items": { + "$id": "methods-directory/mathematical/regression/per-feature-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "per-feature (property used for training the ML method/model) parameters schema", + "required": [ + "name" + ], + "properties": { + "coefficient": { + "description": "coefficient in linear regression", + "type": "number" + }, + "name": { + "description": "feature name", + "type": "string" + }, + "importance": { + "description": "pvalue: https://en.wikipedia.org/wiki/P-value", + "type": "number" + } + } + } + } + }, + "required": [ + "intercept", + "perFeature" + ] + }, + { + "$id": "methods-directory/mathematical/regression/kernel-ridge/data-per-property", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "kernel-ridge regression parameters schema", + "properties": { + "xFit": { + "description": "training data", + "type": "array" + }, + "dualCoefficients": { + "description": "dual coefficients", + "type": "array" + }, + "perFeature": { + "type": "array", + "description": "per-feature (property used for training the ML method/model) parameters", + "items": { + "$id": "methods-directory/mathematical/regression/per-feature-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "per-feature (property used for training the ML method/model) parameters schema", + "required": [ + "name" + ], + "properties": { + "coefficient": { + "description": "coefficient in linear regression", + "type": "number" + }, + "name": { + "description": "feature name", + "type": "string" + }, + "importance": { + "description": "pvalue: https://en.wikipedia.org/wiki/P-value", + "type": "number" + } + } + } + } + }, + "required": [ + "xFit", + "dualCoefficients", + "perFeature" + ] + } + ] + } + }, + "dataSet": { + "$id": "methods-directory/mathematical/regression/dataset", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "dataset for ml", + "type": "object", + "required": [ + "exabyteIds" + ], + "properties": { + "exabyteIds": { + "description": "array of exabyteIds for materials in dataset", + "type": "array", + "items": { + "type": "string" + } + }, + "extra": { + "description": "holder for any extra information, eg. coming from user-uploaded CSV file" + } + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/legacy/unknown.json b/docs/js/schema/methods_directory/legacy/unknown.json new file mode 100644 index 000000000..e154bfc39 --- /dev/null +++ b/docs/js/schema/methods_directory/legacy/unknown.json @@ -0,0 +1,33 @@ +{ + "$id": "methods-directory/legacy/unknown", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "legacy method unknown", + "required": [ + "type", + "subtype" + ], + "properties": { + "type": { + "enum": [ + "unknown" + ], + "description": "general type of this method, eg. `pseudopotential`", + "type": "string" + }, + "subtype": { + "enum": [ + "unknown" + ], + "description": "general subtype of this method, eg. `ultra-soft`", + "type": "string" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "data": { + "description": "additional data specific to method, eg. array of pseudopotentials", + "type": "object" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/mathematical/cg.json b/docs/js/schema/methods_directory/mathematical/cg.json new file mode 100644 index 000000000..89978150f --- /dev/null +++ b/docs/js/schema/methods_directory/mathematical/cg.json @@ -0,0 +1,219 @@ +{ + "$id": "methods-directory/mathematical/cg", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "unit method conjugate gradient", + "description": "conjugate gradient method schema", + "required": [ + "categories" + ], + "type": "object", + "properties": { + "categories": { + "$id": "methods-category/mathematical/opt/diff/ordern/cg", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "conjugate gradient method schema", + "title": "categories", + "type": "object", + "properties": { + "type": { + "enum": [ + "cg" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "ordern" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "diff" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "opt" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "description": "Instructive parameters defining the method", + "type": "object" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/mathematical/davidson.json b/docs/js/schema/methods_directory/mathematical/davidson.json new file mode 100644 index 000000000..3ad355749 --- /dev/null +++ b/docs/js/schema/methods_directory/mathematical/davidson.json @@ -0,0 +1,216 @@ +{ + "$id": "methods-directory/mathematical/davidson", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "unit method davidson", + "description": "Davidson diagonalization method", + "required": [ + "categories" + ], + "type": "object", + "properties": { + "categories": { + "$id": "methods-category/mathematical/linalg/diag/davidson", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Davidson diagonalization method", + "title": "categories", + "type": "object", + "properties": { + "type": { + "enum": [ + "davidson" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "diag" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "linalg" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "description": "Instructive parameters defining the method", + "type": "object" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/mathematical/regression.json b/docs/js/schema/methods_directory/mathematical/regression.json new file mode 100644 index 000000000..6f9d1be40 --- /dev/null +++ b/docs/js/schema/methods_directory/mathematical/regression.json @@ -0,0 +1,370 @@ +{ + "$id": "methods-directory/mathematical/regression", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "unit method regression", + "required": [ + "categories", + "precision", + "data" + ], + "type": "object", + "properties": { + "categories": { + "$id": "methods-category/mathematical/regression", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "linear methods category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "type": { + "enum": [ + "linear", + "kernel_ridge" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "enum": [ + "least_squares", + "ridge" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "precision": { + "$id": "methods-directory/mathematical/regression/precision", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "regression precision", + "type": "object", + "description": "Object showing the actual possible precision based on theory and implementation", + "properties": { + "perProperty": { + "type": "array", + "items": { + "$id": "methods-directory/mathematical/regression/precision-per-property", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "regression precision per property schema", + "type": "object", + "required": [ + "trainingError" + ], + "properties": { + "name": { + "description": "property name in 'flattened' format", + "type": "string" + }, + "trainingError": { + "description": "training error of the estimator", + "type": "number" + }, + "score": { + "description": "prediction score of the estimator. Eg: r2_score", + "type": "number" + } + } + } + } + } + }, + "data": { + "$id": "methods-directory/mathematical/regression/data", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "regression data", + "type": "object", + "properties": { + "perProperty": { + "type": "array", + "items": { + "oneOf": [ + { + "$id": "methods-directory/mathematical/regression/linear/data-per-property", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "linear regression parameters schema", + "properties": { + "intercept": { + "description": "intercept (shift) from the linear or non-linear fit of data points", + "type": "number" + }, + "perFeature": { + "type": "array", + "description": "per-feature (property used for training the ML method/model) parameters", + "items": { + "$id": "methods-directory/mathematical/regression/per-feature-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "per-feature (property used for training the ML method/model) parameters schema", + "required": [ + "name" + ], + "properties": { + "coefficient": { + "description": "coefficient in linear regression", + "type": "number" + }, + "name": { + "description": "feature name", + "type": "string" + }, + "importance": { + "description": "pvalue: https://en.wikipedia.org/wiki/P-value", + "type": "number" + } + } + } + } + }, + "required": [ + "intercept", + "perFeature" + ] + }, + { + "$id": "methods-directory/mathematical/regression/kernel-ridge/data-per-property", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "kernel-ridge regression parameters schema", + "properties": { + "xFit": { + "description": "training data", + "type": "array" + }, + "dualCoefficients": { + "description": "dual coefficients", + "type": "array" + }, + "perFeature": { + "type": "array", + "description": "per-feature (property used for training the ML method/model) parameters", + "items": { + "$id": "methods-directory/mathematical/regression/per-feature-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "per-feature (property used for training the ML method/model) parameters schema", + "required": [ + "name" + ], + "properties": { + "coefficient": { + "description": "coefficient in linear regression", + "type": "number" + }, + "name": { + "description": "feature name", + "type": "string" + }, + "importance": { + "description": "pvalue: https://en.wikipedia.org/wiki/P-value", + "type": "number" + } + } + } + } + }, + "required": [ + "xFit", + "dualCoefficients", + "perFeature" + ] + } + ] + } + }, + "dataSet": { + "$id": "methods-directory/mathematical/regression/dataset", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "dataset for ml", + "type": "object", + "required": [ + "exabyteIds" + ], + "properties": { + "exabyteIds": { + "description": "array of exabyteIds for materials in dataset", + "type": "array", + "items": { + "type": "string" + } + }, + "extra": { + "description": "holder for any extra information, eg. coming from user-uploaded CSV file" + } + } + } + } + }, + "parameters": { + "description": "Instructive parameters defining the method", + "type": "object" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/mathematical/regression/data.json b/docs/js/schema/methods_directory/mathematical/regression/data.json new file mode 100644 index 000000000..6fa746a68 --- /dev/null +++ b/docs/js/schema/methods_directory/mathematical/regression/data.json @@ -0,0 +1,123 @@ +{ + "$id": "methods-directory/mathematical/regression/data", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "regression data", + "type": "object", + "properties": { + "perProperty": { + "type": "array", + "items": { + "oneOf": [ + { + "$id": "methods-directory/mathematical/regression/linear/data-per-property", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "linear regression parameters schema", + "properties": { + "intercept": { + "description": "intercept (shift) from the linear or non-linear fit of data points", + "type": "number" + }, + "perFeature": { + "type": "array", + "description": "per-feature (property used for training the ML method/model) parameters", + "items": { + "$id": "methods-directory/mathematical/regression/per-feature-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "per-feature (property used for training the ML method/model) parameters schema", + "required": [ + "name" + ], + "properties": { + "coefficient": { + "description": "coefficient in linear regression", + "type": "number" + }, + "name": { + "description": "feature name", + "type": "string" + }, + "importance": { + "description": "pvalue: https://en.wikipedia.org/wiki/P-value", + "type": "number" + } + } + } + } + }, + "required": [ + "intercept", + "perFeature" + ] + }, + { + "$id": "methods-directory/mathematical/regression/kernel-ridge/data-per-property", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "kernel-ridge regression parameters schema", + "properties": { + "xFit": { + "description": "training data", + "type": "array" + }, + "dualCoefficients": { + "description": "dual coefficients", + "type": "array" + }, + "perFeature": { + "type": "array", + "description": "per-feature (property used for training the ML method/model) parameters", + "items": { + "$id": "methods-directory/mathematical/regression/per-feature-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "per-feature (property used for training the ML method/model) parameters schema", + "required": [ + "name" + ], + "properties": { + "coefficient": { + "description": "coefficient in linear regression", + "type": "number" + }, + "name": { + "description": "feature name", + "type": "string" + }, + "importance": { + "description": "pvalue: https://en.wikipedia.org/wiki/P-value", + "type": "number" + } + } + } + } + }, + "required": [ + "xFit", + "dualCoefficients", + "perFeature" + ] + } + ] + } + }, + "dataSet": { + "$id": "methods-directory/mathematical/regression/dataset", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "dataset for ml", + "type": "object", + "required": [ + "exabyteIds" + ], + "properties": { + "exabyteIds": { + "description": "array of exabyteIds for materials in dataset", + "type": "array", + "items": { + "type": "string" + } + }, + "extra": { + "description": "holder for any extra information, eg. coming from user-uploaded CSV file" + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/mathematical/regression/dataset.json b/docs/js/schema/methods_directory/mathematical/regression/dataset.json new file mode 100644 index 000000000..322144d8c --- /dev/null +++ b/docs/js/schema/methods_directory/mathematical/regression/dataset.json @@ -0,0 +1,21 @@ +{ + "$id": "methods-directory/mathematical/regression/dataset", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "dataset for ml", + "type": "object", + "required": [ + "exabyteIds" + ], + "properties": { + "exabyteIds": { + "description": "array of exabyteIds for materials in dataset", + "type": "array", + "items": { + "type": "string" + } + }, + "extra": { + "description": "holder for any extra information, eg. coming from user-uploaded CSV file" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/mathematical/regression/kernel-ridge/data-per-property.json b/docs/js/schema/methods_directory/mathematical/regression/kernel-ridge/data-per-property.json new file mode 100644 index 000000000..f75b9d957 --- /dev/null +++ b/docs/js/schema/methods_directory/mathematical/regression/kernel-ridge/data-per-property.json @@ -0,0 +1,46 @@ +{ + "$id": "methods-directory/mathematical/regression/kernel-ridge/data-per-property", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "kernel-ridge regression parameters schema", + "required": [ + "xFit", + "dualCoefficients", + "perFeature" + ], + "properties": { + "xFit": { + "description": "training data", + "type": "array" + }, + "dualCoefficients": { + "description": "dual coefficients", + "type": "array" + }, + "perFeature": { + "type": "array", + "description": "per-feature (property used for training the ML method/model) parameters", + "items": { + "$id": "methods-directory/mathematical/regression/per-feature-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "per-feature (property used for training the ML method/model) parameters schema", + "required": [ + "name" + ], + "properties": { + "coefficient": { + "description": "coefficient in linear regression", + "type": "number" + }, + "name": { + "description": "feature name", + "type": "string" + }, + "importance": { + "description": "pvalue: https://en.wikipedia.org/wiki/P-value", + "type": "number" + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/mathematical/regression/linear/data-per-property.json b/docs/js/schema/methods_directory/mathematical/regression/linear/data-per-property.json new file mode 100644 index 000000000..587c3dae2 --- /dev/null +++ b/docs/js/schema/methods_directory/mathematical/regression/linear/data-per-property.json @@ -0,0 +1,41 @@ +{ + "$id": "methods-directory/mathematical/regression/linear/data-per-property", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "linear regression parameters schema", + "required": [ + "intercept", + "perFeature" + ], + "properties": { + "intercept": { + "description": "intercept (shift) from the linear or non-linear fit of data points", + "type": "number" + }, + "perFeature": { + "type": "array", + "description": "per-feature (property used for training the ML method/model) parameters", + "items": { + "$id": "methods-directory/mathematical/regression/per-feature-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "per-feature (property used for training the ML method/model) parameters schema", + "required": [ + "name" + ], + "properties": { + "coefficient": { + "description": "coefficient in linear regression", + "type": "number" + }, + "name": { + "description": "feature name", + "type": "string" + }, + "importance": { + "description": "pvalue: https://en.wikipedia.org/wiki/P-value", + "type": "number" + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/mathematical/regression/per-feature-item.json b/docs/js/schema/methods_directory/mathematical/regression/per-feature-item.json new file mode 100644 index 000000000..0a5bd6238 --- /dev/null +++ b/docs/js/schema/methods_directory/mathematical/regression/per-feature-item.json @@ -0,0 +1,22 @@ +{ + "$id": "methods-directory/mathematical/regression/per-feature-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "per-feature (property used for training the ML method/model) parameters schema", + "required": [ + "name" + ], + "properties": { + "coefficient": { + "description": "coefficient in linear regression", + "type": "number" + }, + "name": { + "description": "feature name", + "type": "string" + }, + "importance": { + "description": "pvalue: https://en.wikipedia.org/wiki/P-value", + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/mathematical/regression/precision-per-property.json b/docs/js/schema/methods_directory/mathematical/regression/precision-per-property.json new file mode 100644 index 000000000..be14863db --- /dev/null +++ b/docs/js/schema/methods_directory/mathematical/regression/precision-per-property.json @@ -0,0 +1,23 @@ +{ + "$id": "methods-directory/mathematical/regression/precision-per-property", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "regression precision per property schema", + "type": "object", + "required": [ + "trainingError" + ], + "properties": { + "name": { + "description": "property name in 'flattened' format", + "type": "string" + }, + "trainingError": { + "description": "training error of the estimator", + "type": "number" + }, + "score": { + "description": "prediction score of the estimator. Eg: r2_score", + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/mathematical/regression/precision.json b/docs/js/schema/methods_directory/mathematical/regression/precision.json new file mode 100644 index 000000000..a1ddc322d --- /dev/null +++ b/docs/js/schema/methods_directory/mathematical/regression/precision.json @@ -0,0 +1,34 @@ +{ + "$id": "methods-directory/mathematical/regression/precision", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "regression precision", + "type": "object", + "properties": { + "perProperty": { + "type": "array", + "items": { + "$id": "methods-directory/mathematical/regression/precision-per-property", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "regression precision per property schema", + "type": "object", + "required": [ + "trainingError" + ], + "properties": { + "name": { + "description": "property name in 'flattened' format", + "type": "string" + }, + "trainingError": { + "description": "training error of the estimator", + "type": "number" + }, + "score": { + "description": "prediction score of the estimator. Eg: r2_score", + "type": "number" + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/physical/ao/dunning.json b/docs/js/schema/methods_directory/physical/ao/dunning.json new file mode 100644 index 000000000..4e15a96db --- /dev/null +++ b/docs/js/schema/methods_directory/physical/ao/dunning.json @@ -0,0 +1,241 @@ +{ + "$id": "methods-directory/physical/ao/dunning", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "unit method ao dunning", + "description": "Dunning correlation-consistent basis set unit method", + "required": [ + "categories" + ], + "definitions": { + "ao-basis-dunning": { + "properties": { + "basisSlug": { + "enum": [ + "cc-pvdz", + "cc-pvtz", + "cc-pvqz" + ] + } + } + } + }, + "type": "object", + "properties": { + "categories": { + "$id": "methods-category/physical/qm/wf/ao/dunning", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Dunning correlation-consistent basis set category schema", + "title": "categories", + "type": "object", + "properties": { + "subtype": { + "enum": [ + "dunning" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "enum": [ + "ao" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "wf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "description": "Instructive parameters defining the method", + "type": "object", + "properties": { + "basisSlug": { + "enum": [ + "cc-pvdz", + "cc-pvtz", + "cc-pvqz" + ] + } + } + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/physical/ao/enum-options.json b/docs/js/schema/methods_directory/physical/ao/enum-options.json new file mode 100644 index 000000000..e2dc03a06 --- /dev/null +++ b/docs/js/schema/methods_directory/physical/ao/enum-options.json @@ -0,0 +1,28 @@ +{ + "$id": "methods-directory/physical/ao/enum-options", + "popleAoBasis": { + "enum": [ + "3-21G", + "6-31G", + "6-311G" + ] + }, + "dunningAoBasis": { + "enum": [ + "cc-pvdz", + "cc-pvtz", + "cc-pvqz" + ] + }, + "otherAoBasis": { + "enum": [ + "sto-3g", + "sto-4g", + "sto-6g", + "def2-svp", + "def2-tzvp", + "def2-qzvp", + "cbs-qb3" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/physical/ao/other.json b/docs/js/schema/methods_directory/physical/ao/other.json new file mode 100644 index 000000000..ccd22b40d --- /dev/null +++ b/docs/js/schema/methods_directory/physical/ao/other.json @@ -0,0 +1,249 @@ +{ + "$id": "methods-directory/physical/ao/other", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "unit method ao other", + "description": "Other (neither Pople nor Dunning) basis set unit method", + "required": [ + "categories" + ], + "definitions": { + "ao-basis-other": { + "properties": { + "basisSlug": { + "enum": [ + "sto-3g", + "sto-4g", + "sto-6g", + "def2-svp", + "def2-tzvp", + "def2-qzvp", + "cbs-qb3" + ] + } + } + } + }, + "type": "object", + "properties": { + "categories": { + "$id": "methods-category/physical/qm/wf/ao/other", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Other (neither Pople nor Dunning) basis set category schema", + "title": "categories", + "type": "object", + "properties": { + "subtype": { + "enum": [ + "other" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "enum": [ + "ao" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "wf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "description": "Instructive parameters defining the method", + "type": "object", + "properties": { + "basisSlug": { + "enum": [ + "sto-3g", + "sto-4g", + "sto-6g", + "def2-svp", + "def2-tzvp", + "def2-qzvp", + "cbs-qb3" + ] + } + } + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/physical/ao/pople.json b/docs/js/schema/methods_directory/physical/ao/pople.json new file mode 100644 index 000000000..cd481cd48 --- /dev/null +++ b/docs/js/schema/methods_directory/physical/ao/pople.json @@ -0,0 +1,241 @@ +{ + "$id": "methods-directory/physical/ao/pople", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "unit method ao pople", + "description": "Pople basis set unit method", + "required": [ + "categories" + ], + "definitions": { + "ao-basis-pople": { + "properties": { + "basisSlug": { + "enum": [ + "3-21G", + "6-31G", + "6-311G" + ] + } + } + } + }, + "type": "object", + "properties": { + "categories": { + "$id": "methods-category/physical/qm/wf/ao/pople", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Pople basis set category schema", + "title": "categories", + "type": "object", + "properties": { + "subtype": { + "enum": [ + "pople" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "enum": [ + "ao" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "wf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "description": "Instructive parameters defining the method", + "type": "object", + "properties": { + "basisSlug": { + "enum": [ + "3-21G", + "6-31G", + "6-311G" + ] + } + } + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/physical/psp.json b/docs/js/schema/methods_directory/physical/psp.json new file mode 100644 index 000000000..a7d1b689a --- /dev/null +++ b/docs/js/schema/methods_directory/physical/psp.json @@ -0,0 +1,366 @@ +{ + "$id": "methods-directory/physical/psp", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "unit method pseudopotential", + "description": "Core-valence separation by means of pseudopotentials (effective potential)", + "required": [ + "categories" + ], + "type": "object", + "properties": { + "categories": { + "$id": "methods-category/physical/qm/wf/psp", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Pseudopotential category schema", + "title": "categories", + "type": "object", + "properties": { + "type": { + "enum": [ + "psp" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "enum": [ + "us", + "nc", + "paw", + "coulomb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "wf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "data": { + "type": "array", + "items": { + "$id": "methods-directory/physical/psp/file", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Pseudopotential file", + "properties": { + "slug": { + "enum": [ + "pseudopotential" + ] + }, + "data": { + "$id": "methods-directory/physical/psp/file-data-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "File data item", + "required": [ + "element", + "type", + "exchangeCorrelation", + "source", + "path", + "apps" + ], + "properties": { + "element": { + "type": "string", + "description": "chemical element" + }, + "hash": { + "type": "string", + "description": "MD5 hash of the pseudopotential file" + }, + "type": { + "enum": [ + "us", + "nc", + "paw", + "coulomb" + ] + }, + "source": { + "type": "string", + "description": "explains where this came from" + }, + "version": { + "type": "string", + "description": "explains the version of where this came from" + }, + "exchangeCorrelation": { + "type": "object", + "properties": { + "approximation": { + "description": "DFT approximation", + "type": "string" + }, + "functional": { + "description": "Exchange correlation functional", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + } + } + }, + "valenceConfiguration": { + "type": "array", + "description": "contains pseudo orbital information, including orbital names and occupations", + "items": { + "$id": "core/reusable/atomic-orbital", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic orbital schema", + "type": "object", + "properties": { + "orbitalName": { + "type": "string", + "pattern": "^[1-7][sSpPdDfF]$" + }, + "orbitalIndex": { + "type": "integer", + "minimum": 1 + }, + "principalNumber": { + "type": "integer", + "minimum": 1, + "maximum": 7 + }, + "angularMomentum": { + "type": "integer", + "minimum": 0, + "maximum": 3 + }, + "occupation": { + "type": "number", + "description": "Shell occupation", + "minimum": 0, + "maximum": 14 + } + } + } + }, + "path": { + "type": "string", + "description": "location of the pseudopotential file on filesystem" + }, + "apps": { + "type": "array", + "description": "The names of the simulation engines that can use this pseudopotential, e.g. espresso", + "items": { + "type": "string" + } + }, + "filename": { + "type": "string", + "description": "filename of pseudopotential file on filesystem" + }, + "name": { + "type": "string", + "description": "name of the data category", + "enum": [ + "pseudopotential" + ] + } + } + }, + "source": { + "type": "object", + "description": "TODO: remove in the future", + "properties": { + "info": { + "type": "object" + }, + "type": { + "type": "string" + } + } + } + } + } + }, + "parameters": { + "description": "Instructive parameters defining the method", + "type": "object" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/physical/psp/file-data-item.json b/docs/js/schema/methods_directory/physical/psp/file-data-item.json new file mode 100644 index 000000000..4cab89cb0 --- /dev/null +++ b/docs/js/schema/methods_directory/physical/psp/file-data-item.json @@ -0,0 +1,117 @@ +{ + "$id": "methods-directory/physical/psp/file-data-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "File data item", + "required": [ + "element", + "type", + "exchangeCorrelation", + "source", + "path", + "apps" + ], + "properties": { + "element": { + "type": "string", + "description": "chemical element" + }, + "hash": { + "type": "string", + "description": "MD5 hash of the pseudopotential file" + }, + "type": { + "enum": [ + "us", + "nc", + "paw", + "coulomb" + ] + }, + "source": { + "type": "string", + "description": "explains where this came from" + }, + "version": { + "type": "string", + "description": "explains the version of where this came from" + }, + "exchangeCorrelation": { + "type": "object", + "properties": { + "approximation": { + "description": "DFT approximation", + "type": "string" + }, + "functional": { + "description": "Exchange correlation functional", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + } + } + }, + "valenceConfiguration": { + "type": "array", + "description": "contains pseudo orbital information, including orbital names and occupations", + "items": { + "$id": "core/reusable/atomic-orbital", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic orbital schema", + "type": "object", + "properties": { + "orbitalName": { + "type": "string", + "pattern": "^[1-7][sSpPdDfF]$" + }, + "orbitalIndex": { + "type": "integer", + "minimum": 1 + }, + "principalNumber": { + "type": "integer", + "minimum": 1, + "maximum": 7 + }, + "angularMomentum": { + "type": "integer", + "minimum": 0, + "maximum": 3 + }, + "occupation": { + "type": "number", + "description": "Shell occupation", + "minimum": 0, + "maximum": 14 + } + } + } + }, + "path": { + "type": "string", + "description": "location of the pseudopotential file on filesystem" + }, + "apps": { + "type": "array", + "description": "The names of the simulation engines that can use this pseudopotential, e.g. espresso", + "items": { + "type": "string" + } + }, + "filename": { + "type": "string", + "description": "filename of pseudopotential file on filesystem" + }, + "name": { + "type": "string", + "description": "name of the data category", + "enum": [ + "pseudopotential" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/physical/psp/file.json b/docs/js/schema/methods_directory/physical/psp/file.json new file mode 100644 index 000000000..4e996bc44 --- /dev/null +++ b/docs/js/schema/methods_directory/physical/psp/file.json @@ -0,0 +1,141 @@ +{ + "$id": "methods-directory/physical/psp/file", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Pseudopotential file", + "properties": { + "slug": { + "enum": [ + "pseudopotential" + ] + }, + "data": { + "$id": "methods-directory/physical/psp/file-data-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "File data item", + "required": [ + "element", + "type", + "exchangeCorrelation", + "source", + "path", + "apps" + ], + "properties": { + "element": { + "type": "string", + "description": "chemical element" + }, + "hash": { + "type": "string", + "description": "MD5 hash of the pseudopotential file" + }, + "type": { + "enum": [ + "us", + "nc", + "paw", + "coulomb" + ] + }, + "source": { + "type": "string", + "description": "explains where this came from" + }, + "version": { + "type": "string", + "description": "explains the version of where this came from" + }, + "exchangeCorrelation": { + "type": "object", + "properties": { + "approximation": { + "description": "DFT approximation", + "type": "string" + }, + "functional": { + "description": "Exchange correlation functional", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + } + } + }, + "valenceConfiguration": { + "type": "array", + "description": "contains pseudo orbital information, including orbital names and occupations", + "items": { + "$id": "core/reusable/atomic-orbital", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic orbital schema", + "type": "object", + "properties": { + "orbitalName": { + "type": "string", + "pattern": "^[1-7][sSpPdDfF]$" + }, + "orbitalIndex": { + "type": "integer", + "minimum": 1 + }, + "principalNumber": { + "type": "integer", + "minimum": 1, + "maximum": 7 + }, + "angularMomentum": { + "type": "integer", + "minimum": 0, + "maximum": 3 + }, + "occupation": { + "type": "number", + "description": "Shell occupation", + "minimum": 0, + "maximum": 14 + } + } + } + }, + "path": { + "type": "string", + "description": "location of the pseudopotential file on filesystem" + }, + "apps": { + "type": "array", + "description": "The names of the simulation engines that can use this pseudopotential, e.g. espresso", + "items": { + "type": "string" + } + }, + "filename": { + "type": "string", + "description": "filename of pseudopotential file on filesystem" + }, + "name": { + "type": "string", + "description": "name of the data category", + "enum": [ + "pseudopotential" + ] + } + } + }, + "source": { + "type": "object", + "description": "TODO: remove in the future", + "properties": { + "info": { + "type": "object" + }, + "type": { + "type": "string" + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/physical/pw.json b/docs/js/schema/methods_directory/physical/pw.json new file mode 100644 index 000000000..9e11c7c4f --- /dev/null +++ b/docs/js/schema/methods_directory/physical/pw.json @@ -0,0 +1,216 @@ +{ + "$id": "methods-directory/physical/pw", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "unit method plane wave", + "description": "Approximating the electronic wave function with a plane wave basis", + "required": [ + "categories" + ], + "type": "object", + "properties": { + "categories": { + "$id": "methods-category/physical/qm/wf/pw", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Plane wave catgeory schema", + "title": "categories", + "type": "object", + "properties": { + "type": { + "enum": [ + "pw" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "wf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "description": "Instructive parameters defining the method", + "type": "object" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/physical/smearing.json b/docs/js/schema/methods_directory/physical/smearing.json new file mode 100644 index 000000000..49048d051 --- /dev/null +++ b/docs/js/schema/methods_directory/physical/smearing.json @@ -0,0 +1,222 @@ +{ + "$id": "methods-directory/physical/smearing", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "unit method smearing", + "description": "Approximating Heaviside step function with smooth function", + "required": [ + "categories" + ], + "type": "object", + "properties": { + "categories": { + "$id": "methods-category/physical/qm/wf/smearing", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Smearing methods category schema", + "description": "Approximating Heaviside step function with smooth function", + "type": "object", + "properties": { + "type": { + "enum": [ + "smearing" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "enum": [ + "gaussian", + "marzari-vanderbilt", + "methfessel-paxton", + "fermi-dirac" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "wf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "description": "Instructive parameters defining the method", + "type": "object" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/methods_directory/physical/tetrahedron.json b/docs/js/schema/methods_directory/physical/tetrahedron.json new file mode 100644 index 000000000..c67d0e8a3 --- /dev/null +++ b/docs/js/schema/methods_directory/physical/tetrahedron.json @@ -0,0 +1,220 @@ +{ + "$id": "methods-directory/physical/tetrahedron", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "unit method tetrahedron", + "required": [ + "categories" + ], + "type": "object", + "properties": { + "categories": { + "$id": "methods-category/physical/qm/wf/tetrahedron", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Tetrahedron method for Brillouin zone integration category schema ", + "title": "categories", + "type": "object", + "properties": { + "type": { + "enum": [ + "tetrahedron" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "enum": [ + "linear", + "optimized", + "bloechl" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "wf" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "description": "Instructive parameters defining the method", + "type": "object" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/model.json b/docs/js/schema/model.json new file mode 100644 index 000000000..bc94ccd24 --- /dev/null +++ b/docs/js/schema/model.json @@ -0,0 +1,48 @@ +{ + "$id": "model", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "base model", + "required": [ + "type", + "subtype", + "method" + ], + "additionalProperties": true, + "properties": { + "type": { + "description": "general type of the model, eg. `dft`", + "type": "string" + }, + "subtype": { + "description": "general subtype of the model, eg. `lda`", + "type": "string" + }, + "method": { + "$id": "method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "base method", + "required": [ + "type", + "subtype" + ], + "properties": { + "type": { + "description": "general type of this method, eg. `pseudopotential`", + "type": "string" + }, + "subtype": { + "description": "general subtype of this method, eg. `ultra-soft`", + "type": "string" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "data": { + "description": "additional data specific to method, eg. array of pseudopotentials", + "type": "object" + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/model/categorized_model.json b/docs/js/schema/model/categorized_model.json new file mode 100644 index 000000000..cde88b957 --- /dev/null +++ b/docs/js/schema/model/categorized_model.json @@ -0,0 +1,572 @@ +{ + "$id": "model/categorized-model", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "categorized model", + "required": [ + "categories", + "method", + "parameters" + ], + "type": "object", + "properties": { + "method": { + "$id": "method/categorized-method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "categorized method", + "required": [ + "units" + ], + "type": "object", + "properties": { + "units": { + "type": "array", + "items": { + "$id": "method/unit-method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "categorized unit method", + "type": "object", + "properties": { + "categories": { + "$id": "core/reusable/categories", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "categories", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "tier1": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "description": "Instructive parameters defining the method", + "type": "object" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "categories": { + "$id": "core/reusable/categories", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "categories", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "tier1": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "type": "object", + "description": "Model parameters defined in-place or via model mixins" + }, + "reference": { + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/model/mixins/dft/double_hybrid-functional.json b/docs/js/schema/model/mixins/dft/double_hybrid-functional.json new file mode 100644 index 000000000..a63ba0e9a --- /dev/null +++ b/docs/js/schema/model/mixins/dft/double_hybrid-functional.json @@ -0,0 +1,13 @@ +{ + "$id": "model/mixins/dft/double-hybrid-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Double hybrid functional mixin", + "type": "object", + "properties": { + "functional": { + "enum": [ + "b2plyp" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/model/mixins/dft/enum_options.json b/docs/js/schema/model/mixins/dft/enum_options.json new file mode 100644 index 000000000..ff50468e8 --- /dev/null +++ b/docs/js/schema/model/mixins/dft/enum_options.json @@ -0,0 +1,30 @@ +{ + "$id": "model/mixins/dft/enum-options", + "lda": { + "enum": [ + "pz" + ] + }, + "gga": { + "enum": [ + "pbe", + "pbesol" + ] + }, + "mgga": { + "enum": [ + "scan" + ] + }, + "hybrid": { + "enum": [ + "hse06", + "b3lyp" + ] + }, + "doubleHybrid": { + "enum": [ + "b2plyp" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/model/mixins/dft/gga_functional.json b/docs/js/schema/model/mixins/dft/gga_functional.json new file mode 100644 index 000000000..d962a64bb --- /dev/null +++ b/docs/js/schema/model/mixins/dft/gga_functional.json @@ -0,0 +1,14 @@ +{ + "$id": "model/mixins/dft/gga-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "GGA functional mixin", + "type": "object", + "properties": { + "functional": { + "enum": [ + "pbe", + "pbesol" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/model/mixins/dft/hybrid_functional.json b/docs/js/schema/model/mixins/dft/hybrid_functional.json new file mode 100644 index 000000000..7369ce999 --- /dev/null +++ b/docs/js/schema/model/mixins/dft/hybrid_functional.json @@ -0,0 +1,14 @@ +{ + "$id": "model/mixins/dft/hybrid-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Hybrid functional mixin", + "type": "object", + "properties": { + "functional": { + "enum": [ + "hse06", + "b3lyp" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/model/mixins/dft/lda_functional.json b/docs/js/schema/model/mixins/dft/lda_functional.json new file mode 100644 index 000000000..68896aaa8 --- /dev/null +++ b/docs/js/schema/model/mixins/dft/lda_functional.json @@ -0,0 +1,13 @@ +{ + "$id": "model/mixins/dft/lda-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "LDA functional mixin", + "type": "object", + "properties": { + "functional": { + "enum": [ + "pz" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/model/mixins/dft/mgga_functional.json b/docs/js/schema/model/mixins/dft/mgga_functional.json new file mode 100644 index 000000000..794943333 --- /dev/null +++ b/docs/js/schema/model/mixins/dft/mgga_functional.json @@ -0,0 +1,13 @@ +{ + "$id": "model/mixins/dft/mgga-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Meta-GGA functional mixin", + "type": "object", + "properties": { + "functional": { + "enum": [ + "scan" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/model/mixins/dispersion_correction.json b/docs/js/schema/model/mixins/dispersion_correction.json new file mode 100644 index 000000000..fb1891751 --- /dev/null +++ b/docs/js/schema/model/mixins/dispersion_correction.json @@ -0,0 +1,16 @@ +{ + "$id": "model/mixins/dispersion-correction", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Dispersion correction mixin", + "type": "object", + "properties": { + "dispersionCorrection": { + "enum": [ + "dft-d2", + "dft-d3", + "xdm", + "ts" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/model/mixins/enum_options.json b/docs/js/schema/model/mixins/enum_options.json new file mode 100644 index 000000000..00e8063d0 --- /dev/null +++ b/docs/js/schema/model/mixins/enum_options.json @@ -0,0 +1,22 @@ +{ + "$id": "model/mixins/enum-options", + "spinPolarization": { + "enum": [ + "collinear", + "non-collinear" + ] + }, + "dispersionCorrection": { + "enum": [ + "dft-d2", + "dft-d3", + "xdm", + "ts" + ] + }, + "hubbardType": { + "enum": [ + "u" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/model/mixins/hubbard.json b/docs/js/schema/model/mixins/hubbard.json new file mode 100644 index 000000000..aab24ef08 --- /dev/null +++ b/docs/js/schema/model/mixins/hubbard.json @@ -0,0 +1,13 @@ +{ + "$id": "model/mixins/hubbard", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Hubbard model mixin", + "type": "object", + "properties": { + "hubbardType": { + "enum": [ + "u" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/model/mixins/spin_orbit-coupling.json b/docs/js/schema/model/mixins/spin_orbit-coupling.json new file mode 100644 index 000000000..4d7310e3c --- /dev/null +++ b/docs/js/schema/model/mixins/spin_orbit-coupling.json @@ -0,0 +1,11 @@ +{ + "$id": "model/mixins/spin-orbit-coupling", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Spin-orbit coupling mixin", + "type": "object", + "properties": { + "spinOrbitCoupling": { + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/model/mixins/spin_polarization.json b/docs/js/schema/model/mixins/spin_polarization.json new file mode 100644 index 000000000..9c8908925 --- /dev/null +++ b/docs/js/schema/model/mixins/spin_polarization.json @@ -0,0 +1,14 @@ +{ + "$id": "model/mixins/spin-polarization", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Spin-polarization mixin", + "type": "object", + "properties": { + "spinPolarization": { + "enum": [ + "collinear", + "non-collinear" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/model/model_parameters.json b/docs/js/schema/model/model_parameters.json new file mode 100644 index 000000000..cbac3401c --- /dev/null +++ b/docs/js/schema/model/model_parameters.json @@ -0,0 +1,99 @@ +{ + "$id": "model/model-parameters", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ModelParameters", + "type": "object", + "oneOf": [ + { + "$id": "model/mixins/dft/lda-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "LDA functional mixin", + "type": "object", + "properties": { + "functional": { + "enum": [ + "pz" + ] + } + } + }, + { + "$id": "model/mixins/dft/gga-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "GGA functional mixin", + "type": "object", + "properties": { + "functional": { + "enum": [ + "pbe", + "pbesol" + ] + } + } + }, + { + "$id": "model/mixins/dft/mgga-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Meta-GGA functional mixin", + "type": "object", + "properties": { + "functional": { + "enum": [ + "scan" + ] + } + } + }, + { + "$id": "model/mixins/dft/hybrid-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Hybrid functional mixin", + "type": "object", + "properties": { + "functional": { + "enum": [ + "hse06", + "b3lyp" + ] + } + } + }, + { + "$id": "model/mixins/dft/double-hybrid-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Double hybrid functional mixin", + "type": "object", + "properties": { + "functional": { + "enum": [ + "b2plyp" + ] + } + } + } + ], + "properties": { + "hubbardType": { + "enum": [ + "u" + ] + }, + "spinPolarization": { + "enum": [ + "collinear", + "non-collinear" + ] + }, + "spinOrbitCoupling": { + "type": "boolean" + }, + "dispersionCorrection": { + "enum": [ + "dft-d2", + "dft-d3", + "xdm", + "ts" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/model/model_without-method.json b/docs/js/schema/model/model_without-method.json new file mode 100644 index 000000000..f1e899c14 --- /dev/null +++ b/docs/js/schema/model/model_without-method.json @@ -0,0 +1,336 @@ +{ + "$id": "model/model-without-method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "model without method schema (base)", + "required": [ + "categories", + "parameters" + ], + "type": "object", + "properties": { + "categories": { + "$id": "core/reusable/categories", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "categories", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "tier1": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "type": "object", + "description": "Model parameters defined in-place or via model mixins" + }, + "reference": { + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/enum-options.json b/docs/js/schema/models_category/enum-options.json new file mode 100644 index 000000000..2cba9ec55 --- /dev/null +++ b/docs/js/schema/models_category/enum-options.json @@ -0,0 +1,13 @@ +{ + "$id": "models-category/enum-options", + "physicsBased": { + "enum": [ + "pb" + ] + }, + "statistical": { + "enum": [ + "st" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb.json b/docs/js/schema/models_category/pb.json new file mode 100644 index 000000000..3be028f3b --- /dev/null +++ b/docs/js/schema/models_category/pb.json @@ -0,0 +1,172 @@ +{ + "$id": "models-category/pb", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "physics-based model category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb/enum-options.json b/docs/js/schema/models_category/pb/enum-options.json new file mode 100644 index 000000000..53130a4e5 --- /dev/null +++ b/docs/js/schema/models_category/pb/enum-options.json @@ -0,0 +1,8 @@ +{ + "$id": "models-category/pb/enum-options", + "quantumMechanical": { + "enum": [ + "qm" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb/qm.json b/docs/js/schema/models_category/pb/qm.json new file mode 100644 index 000000000..c7fdad5fd --- /dev/null +++ b/docs/js/schema/models_category/pb/qm.json @@ -0,0 +1,175 @@ +{ + "$id": "models-category/pb/qm", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Quantum mechanical category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb/qm/abin.json b/docs/js/schema/models_category/pb/qm/abin.json new file mode 100644 index 000000000..ee90a5d29 --- /dev/null +++ b/docs/js/schema/models_category/pb/qm/abin.json @@ -0,0 +1,178 @@ +{ + "$id": "models-category/pb/qm/abin", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Ab initio category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "abin" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb/qm/abin/enum-options.json b/docs/js/schema/models_category/pb/qm/abin/enum-options.json new file mode 100644 index 000000000..499072b09 --- /dev/null +++ b/docs/js/schema/models_category/pb/qm/abin/enum-options.json @@ -0,0 +1,15 @@ +{ + "$id": "models-category/pb/qm/abin/enum-options", + "gwApproximation": { + "enum": [ + "gw" + ] + }, + "gwSubtypes": { + "enum": [ + "g0w0", + "evgw0", + "evgw" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb/qm/abin/gw.json b/docs/js/schema/models_category/pb/qm/abin/gw.json new file mode 100644 index 000000000..9f19f60a8 --- /dev/null +++ b/docs/js/schema/models_category/pb/qm/abin/gw.json @@ -0,0 +1,186 @@ +{ + "$id": "models-category/pb/qm/abin/gw", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "GW category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "type": { + "enum": [ + "gw" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "enum": [ + "g0w0", + "evgw0", + "evgw" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "abin" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb/qm/dft.json b/docs/js/schema/models_category/pb/qm/dft.json new file mode 100644 index 000000000..ce10b753b --- /dev/null +++ b/docs/js/schema/models_category/pb/qm/dft.json @@ -0,0 +1,178 @@ +{ + "$id": "models-category/pb/qm/dft", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Density functional theory category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "dft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb/qm/dft/enum-options.json b/docs/js/schema/models_category/pb/qm/dft/enum-options.json new file mode 100644 index 000000000..8e6e932d9 --- /dev/null +++ b/docs/js/schema/models_category/pb/qm/dft/enum-options.json @@ -0,0 +1,8 @@ +{ + "$id": "models-category/pb/qm/dft/enum-options", + "kohnSham": { + "enum": [ + "ksdft" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb/qm/dft/ksdft.json b/docs/js/schema/models_category/pb/qm/dft/ksdft.json new file mode 100644 index 000000000..09237266b --- /dev/null +++ b/docs/js/schema/models_category/pb/qm/dft/ksdft.json @@ -0,0 +1,181 @@ +{ + "$id": "models-category/pb/qm/dft/ksdft", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Kohn-Sham DFT category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "type": { + "enum": [ + "ksdft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "dft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb/qm/dft/ksdft/double-hybrid.json b/docs/js/schema/models_category/pb/qm/dft/ksdft/double-hybrid.json new file mode 100644 index 000000000..df7a0dd07 --- /dev/null +++ b/docs/js/schema/models_category/pb/qm/dft/ksdft/double-hybrid.json @@ -0,0 +1,184 @@ +{ + "$id": "models-category/pb/qm/dft/ksdft/double-hybrid", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "DFT double hybrid functional category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "subtype": { + "enum": [ + "double-hybrid" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "enum": [ + "ksdft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "dft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb/qm/dft/ksdft/enum-options.json b/docs/js/schema/models_category/pb/qm/dft/ksdft/enum-options.json new file mode 100644 index 000000000..be9f75eb8 --- /dev/null +++ b/docs/js/schema/models_category/pb/qm/dft/ksdft/enum-options.json @@ -0,0 +1,28 @@ +{ + "$id": "models-category/pb/qm/dft/ksdft/enum-options", + "localDensityApproximation": { + "enum": [ + "lda" + ] + }, + "generalizedGradientApproximation": { + "enum": [ + "gga" + ] + }, + "metaGGA": { + "enum": [ + "mgga" + ] + }, + "hybrid": { + "enum": [ + "hybrid" + ] + }, + "doubleHybrid": { + "enum": [ + "double-hybrid" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb/qm/dft/ksdft/gga.json b/docs/js/schema/models_category/pb/qm/dft/ksdft/gga.json new file mode 100644 index 000000000..109d14f84 --- /dev/null +++ b/docs/js/schema/models_category/pb/qm/dft/ksdft/gga.json @@ -0,0 +1,184 @@ +{ + "$id": "models-category/pb/qm/dft/ksdft/gga", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "DFT GGA functional category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "subtype": { + "enum": [ + "gga" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "enum": [ + "ksdft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "dft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb/qm/dft/ksdft/hybrid.json b/docs/js/schema/models_category/pb/qm/dft/ksdft/hybrid.json new file mode 100644 index 000000000..adbc6429d --- /dev/null +++ b/docs/js/schema/models_category/pb/qm/dft/ksdft/hybrid.json @@ -0,0 +1,184 @@ +{ + "$id": "models-category/pb/qm/dft/ksdft/hybrid", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "DFT hybrid functional category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "subtype": { + "enum": [ + "hybrid" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "enum": [ + "ksdft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "dft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb/qm/dft/ksdft/lda.json b/docs/js/schema/models_category/pb/qm/dft/ksdft/lda.json new file mode 100644 index 000000000..e77fef739 --- /dev/null +++ b/docs/js/schema/models_category/pb/qm/dft/ksdft/lda.json @@ -0,0 +1,184 @@ +{ + "$id": "models-category/pb/qm/dft/ksdft/lda", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "DFT LDA functional category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "subtype": { + "enum": [ + "lda" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "enum": [ + "ksdft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "dft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb/qm/dft/ksdft/mgga.json b/docs/js/schema/models_category/pb/qm/dft/ksdft/mgga.json new file mode 100644 index 000000000..143382c6c --- /dev/null +++ b/docs/js/schema/models_category/pb/qm/dft/ksdft/mgga.json @@ -0,0 +1,184 @@ +{ + "$id": "models-category/pb/qm/dft/ksdft/mgga", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "DFT meta-GGA functional category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "subtype": { + "enum": [ + "mgga" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "enum": [ + "ksdft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "dft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb/qm/enum-options.json b/docs/js/schema/models_category/pb/qm/enum-options.json new file mode 100644 index 000000000..7c7b90cf1 --- /dev/null +++ b/docs/js/schema/models_category/pb/qm/enum-options.json @@ -0,0 +1,18 @@ +{ + "$id": "models-category/pb/qm/enum-options", + "abInitio": { + "enum": [ + "abin" + ] + }, + "densityFunctional": { + "enum": [ + "dft" + ] + }, + "semiEmpirical": { + "enum": [ + "semp" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/pb/qm/semp.json b/docs/js/schema/models_category/pb/qm/semp.json new file mode 100644 index 000000000..a7d4c1143 --- /dev/null +++ b/docs/js/schema/models_category/pb/qm/semp.json @@ -0,0 +1,178 @@ +{ + "$id": "models-category/pb/qm/semp", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Semi-empirical category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "semp" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/st.json b/docs/js/schema/models_category/st.json new file mode 100644 index 000000000..b8ab52518 --- /dev/null +++ b/docs/js/schema/models_category/st.json @@ -0,0 +1,172 @@ +{ + "$id": "models-category/st", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "statistical model category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "tier1": { + "enum": [ + "st" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/st/det.json b/docs/js/schema/models_category/st/det.json new file mode 100644 index 000000000..12d5f77b4 --- /dev/null +++ b/docs/js/schema/models_category/st/det.json @@ -0,0 +1,175 @@ +{ + "$id": "models-category/st/det", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "deterministic model category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "tier2": { + "enum": [ + "det" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "st" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/st/det/enum-options.json b/docs/js/schema/models_category/st/det/enum-options.json new file mode 100644 index 000000000..a916ee3fd --- /dev/null +++ b/docs/js/schema/models_category/st/det/enum-options.json @@ -0,0 +1,8 @@ +{ + "$id": "models-category/st/det/enum-options", + "machineLearning": { + "enum": [ + "ml" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/st/det/ml.json b/docs/js/schema/models_category/st/det/ml.json new file mode 100644 index 000000000..4cda8f5dc --- /dev/null +++ b/docs/js/schema/models_category/st/det/ml.json @@ -0,0 +1,178 @@ +{ + "$id": "models-category/st/det/ml", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "machine learning model category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "tier3": { + "enum": [ + "ml" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "det" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "st" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/st/det/ml/enum-options.json b/docs/js/schema/models_category/st/det/ml/enum-options.json new file mode 100644 index 000000000..2acf97c32 --- /dev/null +++ b/docs/js/schema/models_category/st/det/ml/enum-options.json @@ -0,0 +1,8 @@ +{ + "$id": "models-category/st/det/ml/enum-options", + "regression": { + "enum": [ + "re" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/st/det/ml/re.json b/docs/js/schema/models_category/st/det/ml/re.json new file mode 100644 index 000000000..65f4d364a --- /dev/null +++ b/docs/js/schema/models_category/st/det/ml/re.json @@ -0,0 +1,181 @@ +{ + "$id": "models-category/st/det/ml/re", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "regression model category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "type": { + "enum": [ + "re" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "ml" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "det" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "st" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_category/st/enum-options.json b/docs/js/schema/models_category/st/enum-options.json new file mode 100644 index 000000000..8fc07f54e --- /dev/null +++ b/docs/js/schema/models_category/st/enum-options.json @@ -0,0 +1,8 @@ +{ + "$id": "models-category/st/enum-options", + "deterministic": { + "enum": [ + "det" + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/models_directory/double-hybrid.json b/docs/js/schema/models_directory/double-hybrid.json new file mode 100644 index 000000000..9361d5722 --- /dev/null +++ b/docs/js/schema/models_directory/double-hybrid.json @@ -0,0 +1,404 @@ +{ + "$id": "models-directory/double-hybrid", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "model double hybrid functional", + "required": [ + "categories", + "parameters" + ], + "type": "object", + "properties": { + "categories": { + "$id": "models-category/pb/qm/dft/ksdft/double-hybrid", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "DFT double hybrid functional category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "subtype": { + "enum": [ + "double-hybrid" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "enum": [ + "ksdft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "dft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "$id": "model/mixins/dft/double-hybrid-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Double hybrid functional mixin", + "type": "object", + "anyOf": [ + { + "$id": "model/mixins/spin-orbit-coupling", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Spin-orbit coupling mixin", + "type": "object", + "properties": { + "spinOrbitCoupling": { + "type": "boolean" + } + } + }, + { + "$id": "model/mixins/dispersion-correction", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Dispersion correction mixin", + "type": "object", + "properties": { + "dispersionCorrection": { + "enum": [ + "dft-d2", + "dft-d3", + "xdm", + "ts" + ] + } + } + }, + { + "$id": "model/mixins/spin-polarization", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Spin-polarization mixin", + "type": "object", + "properties": { + "spinPolarization": { + "enum": [ + "collinear", + "non-collinear" + ] + } + } + } + ], + "description": "Model parameters defined in-place or via model mixins", + "properties": { + "functional": { + "enum": [ + "b2plyp" + ] + } + } + }, + "reference": { + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_directory/gga.json b/docs/js/schema/models_directory/gga.json new file mode 100644 index 000000000..23de94bf1 --- /dev/null +++ b/docs/js/schema/models_directory/gga.json @@ -0,0 +1,418 @@ +{ + "$id": "models-directory/gga", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "model generalized gradient approximation", + "required": [ + "categories", + "parameters" + ], + "type": "object", + "properties": { + "categories": { + "$id": "models-category/pb/qm/dft/ksdft/gga", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "DFT GGA functional category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "subtype": { + "enum": [ + "gga" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "enum": [ + "ksdft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "dft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "$id": "model/mixins/dft/gga-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "GGA functional mixin", + "type": "object", + "anyOf": [ + { + "$id": "model/mixins/spin-orbit-coupling", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Spin-orbit coupling mixin", + "type": "object", + "properties": { + "spinOrbitCoupling": { + "type": "boolean" + } + } + }, + { + "$id": "model/mixins/dispersion-correction", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Dispersion correction mixin", + "type": "object", + "properties": { + "dispersionCorrection": { + "enum": [ + "dft-d2", + "dft-d3", + "xdm", + "ts" + ] + } + } + }, + { + "$id": "model/mixins/spin-polarization", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Spin-polarization mixin", + "type": "object", + "properties": { + "spinPolarization": { + "enum": [ + "collinear", + "non-collinear" + ] + } + } + }, + { + "$id": "model/mixins/hubbard", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Hubbard model mixin", + "type": "object", + "properties": { + "hubbardType": { + "enum": [ + "u" + ] + } + } + } + ], + "description": "Model parameters defined in-place or via model mixins", + "properties": { + "functional": { + "enum": [ + "pbe", + "pbesol" + ] + } + } + }, + "reference": { + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_directory/gw.json b/docs/js/schema/models_directory/gw.json new file mode 100644 index 000000000..f4f86b937 --- /dev/null +++ b/docs/js/schema/models_directory/gw.json @@ -0,0 +1,431 @@ +{ + "$id": "models-directory/gw", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "model gw approximation", + "required": [ + "categories", + "parameters" + ], + "type": "object", + "properties": { + "categories": { + "$id": "models-category/pb/qm/abin/gw", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "GW category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "type": { + "enum": [ + "gw" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "enum": [ + "g0w0", + "evgw0", + "evgw" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "abin" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "oneOf": [ + { + "$id": "model/mixins/dft/lda-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "LDA functional mixin", + "type": "object", + "properties": { + "functional": { + "enum": [ + "pz" + ] + } + } + }, + { + "$id": "model/mixins/dft/gga-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "GGA functional mixin", + "type": "object", + "properties": { + "functional": { + "enum": [ + "pbe", + "pbesol" + ] + } + } + }, + { + "$id": "model/mixins/dft/mgga-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Meta-GGA functional mixin", + "type": "object", + "properties": { + "functional": { + "enum": [ + "scan" + ] + } + } + } + ], + "anyOf": [ + { + "$id": "model/mixins/spin-polarization", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Spin-polarization mixin", + "type": "object", + "properties": { + "spinPolarization": { + "enum": [ + "collinear", + "non-collinear" + ] + } + } + }, + { + "$id": "model/mixins/spin-orbit-coupling", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Spin-orbit coupling mixin", + "type": "object", + "properties": { + "spinOrbitCoupling": { + "type": "boolean" + } + } + } + ], + "type": "object", + "description": "Model parameters defined in-place or via model mixins", + "properties": { + "require": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + } + } + }, + "reference": { + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_directory/hybrid.json b/docs/js/schema/models_directory/hybrid.json new file mode 100644 index 000000000..e571df03e --- /dev/null +++ b/docs/js/schema/models_directory/hybrid.json @@ -0,0 +1,418 @@ +{ + "$id": "models-directory/hybrid", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "model hybrid functional", + "required": [ + "categories", + "parameters" + ], + "type": "object", + "properties": { + "categories": { + "$id": "models-category/pb/qm/dft/ksdft/hybrid", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "DFT hybrid functional category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "subtype": { + "enum": [ + "hybrid" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "enum": [ + "ksdft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "dft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "$id": "model/mixins/dft/hybrid-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Hybrid functional mixin", + "type": "object", + "anyOf": [ + { + "$id": "model/mixins/spin-orbit-coupling", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Spin-orbit coupling mixin", + "type": "object", + "properties": { + "spinOrbitCoupling": { + "type": "boolean" + } + } + }, + { + "$id": "model/mixins/dispersion-correction", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Dispersion correction mixin", + "type": "object", + "properties": { + "dispersionCorrection": { + "enum": [ + "dft-d2", + "dft-d3", + "xdm", + "ts" + ] + } + } + }, + { + "$id": "model/mixins/spin-polarization", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Spin-polarization mixin", + "type": "object", + "properties": { + "spinPolarization": { + "enum": [ + "collinear", + "non-collinear" + ] + } + } + }, + { + "$id": "model/mixins/hubbard", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Hubbard model mixin", + "type": "object", + "properties": { + "hubbardType": { + "enum": [ + "u" + ] + } + } + } + ], + "description": "Model parameters defined in-place or via model mixins", + "properties": { + "functional": { + "enum": [ + "hse06", + "b3lyp" + ] + } + } + }, + "reference": { + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_directory/lda.json b/docs/js/schema/models_directory/lda.json new file mode 100644 index 000000000..efed64b02 --- /dev/null +++ b/docs/js/schema/models_directory/lda.json @@ -0,0 +1,417 @@ +{ + "$id": "models-directory/lda", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "model local density approximation", + "required": [ + "categories", + "parameters" + ], + "type": "object", + "properties": { + "categories": { + "$id": "models-category/pb/qm/dft/ksdft/lda", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "DFT LDA functional category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "subtype": { + "enum": [ + "lda" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "enum": [ + "ksdft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "dft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "$id": "model/mixins/dft/lda-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "LDA functional mixin", + "type": "object", + "anyOf": [ + { + "$id": "model/mixins/spin-orbit-coupling", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Spin-orbit coupling mixin", + "type": "object", + "properties": { + "spinOrbitCoupling": { + "type": "boolean" + } + } + }, + { + "$id": "model/mixins/dispersion-correction", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Dispersion correction mixin", + "type": "object", + "properties": { + "dispersionCorrection": { + "enum": [ + "dft-d2", + "dft-d3", + "xdm", + "ts" + ] + } + } + }, + { + "$id": "model/mixins/spin-polarization", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Spin-polarization mixin", + "type": "object", + "properties": { + "spinPolarization": { + "enum": [ + "collinear", + "non-collinear" + ] + } + } + }, + { + "$id": "model/mixins/hubbard", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Hubbard model mixin", + "type": "object", + "properties": { + "hubbardType": { + "enum": [ + "u" + ] + } + } + } + ], + "description": "Model parameters defined in-place or via model mixins", + "properties": { + "functional": { + "enum": [ + "pz" + ] + } + } + }, + "reference": { + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_directory/legacy/dft.json b/docs/js/schema/models_directory/legacy/dft.json new file mode 100644 index 000000000..34b55ec22 --- /dev/null +++ b/docs/js/schema/models_directory/legacy/dft.json @@ -0,0 +1,153 @@ +{ + "$id": "models-directory/legacy/dft", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "legacy model density functional theory", + "definitions": { + "lda": { + "properties": { + "subtype": { + "enum": [ + "lda" + ] + }, + "functional": { + "enum": [ + "pz", + "pw", + "vwn", + "other" + ] + } + } + }, + "gga": { + "properties": { + "subtype": { + "enum": [ + "gga" + ] + }, + "functional": { + "enum": [ + "pbe", + "pbesol", + "pw91", + "other" + ] + } + } + }, + "hybrid": { + "properties": { + "subtype": { + "enum": [ + "hybrid" + ] + }, + "functional": { + "enum": [ + "b3lyp", + "hse06" + ] + } + } + } + }, + "required": [ + "type", + "subtype", + "method" + ], + "oneOf": [ + { + "properties": { + "subtype": { + "enum": [ + "lda" + ] + }, + "functional": { + "enum": [ + "pz", + "pw", + "vwn", + "other" + ] + } + } + }, + { + "properties": { + "subtype": { + "enum": [ + "gga" + ] + }, + "functional": { + "enum": [ + "pbe", + "pbesol", + "pw91", + "other" + ] + } + } + }, + { + "properties": { + "subtype": { + "enum": [ + "hybrid" + ] + }, + "functional": { + "enum": [ + "b3lyp", + "hse06" + ] + } + } + } + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "dft" + ], + "description": "general type of the model, eg. `dft`", + "type": "string" + }, + "subtype": { + "description": "general subtype of the model, eg. `lda`", + "type": "string" + }, + "method": { + "$id": "method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "base method", + "required": [ + "type", + "subtype" + ], + "properties": { + "type": { + "description": "general type of this method, eg. `pseudopotential`", + "type": "string" + }, + "subtype": { + "description": "general subtype of this method, eg. `ultra-soft`", + "type": "string" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "data": { + "description": "additional data specific to method, eg. array of pseudopotentials", + "type": "object" + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_directory/legacy/ml.json b/docs/js/schema/models_directory/legacy/ml.json new file mode 100644 index 000000000..f8dcd06ae --- /dev/null +++ b/docs/js/schema/models_directory/legacy/ml.json @@ -0,0 +1,54 @@ +{ + "$id": "models-directory/legacy/ml", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "legacy model regression", + "required": [ + "type", + "subtype", + "method" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "ml" + ], + "description": "general type of the model, eg. `dft`", + "type": "string" + }, + "subtype": { + "enum": [ + "re" + ], + "description": "general subtype of the model, eg. `lda`", + "type": "string" + }, + "method": { + "$id": "method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "base method", + "required": [ + "type", + "subtype" + ], + "properties": { + "type": { + "description": "general type of this method, eg. `pseudopotential`", + "type": "string" + }, + "subtype": { + "description": "general subtype of this method, eg. `ultra-soft`", + "type": "string" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "data": { + "description": "additional data specific to method, eg. array of pseudopotentials", + "type": "object" + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_directory/legacy/unknown.json b/docs/js/schema/models_directory/legacy/unknown.json new file mode 100644 index 000000000..62e639bf6 --- /dev/null +++ b/docs/js/schema/models_directory/legacy/unknown.json @@ -0,0 +1,54 @@ +{ + "$id": "models-directory/legacy/unknown", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "legacy model unknown", + "required": [ + "type", + "subtype", + "method" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "unknown" + ], + "description": "general type of the model, eg. `dft`", + "type": "string" + }, + "subtype": { + "enum": [ + "unknown" + ], + "description": "general subtype of the model, eg. `lda`", + "type": "string" + }, + "method": { + "$id": "method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "base method", + "required": [ + "type", + "subtype" + ], + "properties": { + "type": { + "description": "general type of this method, eg. `pseudopotential`", + "type": "string" + }, + "subtype": { + "description": "general subtype of this method, eg. `ultra-soft`", + "type": "string" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "data": { + "description": "additional data specific to method, eg. array of pseudopotentials", + "type": "object" + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_directory/mgga.json b/docs/js/schema/models_directory/mgga.json new file mode 100644 index 000000000..ef6a692b9 --- /dev/null +++ b/docs/js/schema/models_directory/mgga.json @@ -0,0 +1,417 @@ +{ + "$id": "models-directory/mgga", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "model meta generalized gradient approximation", + "required": [ + "categories", + "parameters" + ], + "type": "object", + "properties": { + "categories": { + "$id": "models-category/pb/qm/dft/ksdft/mgga", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "DFT meta-GGA functional category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "subtype": { + "enum": [ + "mgga" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "type": { + "enum": [ + "ksdft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "dft" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "qm" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "pb" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "$id": "model/mixins/dft/mgga-functional", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Meta-GGA functional mixin", + "type": "object", + "anyOf": [ + { + "$id": "model/mixins/spin-orbit-coupling", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Spin-orbit coupling mixin", + "type": "object", + "properties": { + "spinOrbitCoupling": { + "type": "boolean" + } + } + }, + { + "$id": "model/mixins/dispersion-correction", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Dispersion correction mixin", + "type": "object", + "properties": { + "dispersionCorrection": { + "enum": [ + "dft-d2", + "dft-d3", + "xdm", + "ts" + ] + } + } + }, + { + "$id": "model/mixins/spin-polarization", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Spin-polarization mixin", + "type": "object", + "properties": { + "spinPolarization": { + "enum": [ + "collinear", + "non-collinear" + ] + } + } + }, + { + "$id": "model/mixins/hubbard", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Hubbard model mixin", + "type": "object", + "properties": { + "hubbardType": { + "enum": [ + "u" + ] + } + } + } + ], + "description": "Model parameters defined in-place or via model mixins", + "properties": { + "functional": { + "enum": [ + "scan" + ] + } + } + }, + "reference": { + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/models_directory/re.json b/docs/js/schema/models_directory/re.json new file mode 100644 index 000000000..8ed576de0 --- /dev/null +++ b/docs/js/schema/models_directory/re.json @@ -0,0 +1,349 @@ +{ + "$id": "models-directory/re", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "model regression", + "description": "machine learning model type/subtype schema", + "required": [ + "categories", + "parameters" + ], + "type": "object", + "properties": { + "categories": { + "$id": "models-category/st/det/ml/re", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "regression model category schema", + "description": "Used to categorize entities such as models and methods", + "type": "object", + "properties": { + "type": { + "enum": [ + "re" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier3": { + "enum": [ + "ml" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier2": { + "enum": [ + "det" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "tier1": { + "enum": [ + "st" + ], + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + }, + "subtype": { + "$id": "core/primitive/slugified-entry-or-slug", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry or slug", + "description": "contains either object with slugified entry or slug only as a string", + "oneOf": [ + { + "$id": "core/primitive/slugified-entry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "slugified entry", + "description": "container for machine- and human-readable identifier", + "type": "object", + "properties": { + "name": { + "description": "descriptive human-readable name of entry", + "type": "string" + }, + "slug": { + "description": "machine-readable identifier", + "type": "string" + } + }, + "required": [ + "name", + "slug" + ] + }, + { + "type": "string" + } + ] + } + } + }, + "parameters": { + "type": "object", + "description": "Model parameters defined in-place or via model mixins" + }, + "reference": { + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } + }, + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/project.json b/docs/js/schema/project.json new file mode 100644 index 000000000..09c20b797 --- /dev/null +++ b/docs/js/schema/project.json @@ -0,0 +1,104 @@ +{ + "$id": "project", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "project schema", + "type": "object", + "properties": { + "gid": { + "description": "project GID", + "type": "number" + }, + "clusterBasedChargeRates": { + "description": "charge rates info for project", + "type": "array", + "items": { + "type": "object", + "properties": { + "rate": { + "type": "number" + }, + "timestamp": { + "type": "number" + }, + "hostname": { + "type": "string" + } + } + } + }, + "isExternal": { + "type": "boolean", + "default": false + }, + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "metadata": { + "type": "object" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/derived-properties.json b/docs/js/schema/properties_directory/derived-properties.json new file mode 100644 index 000000000..669db9d6c --- /dev/null +++ b/docs/js/schema/properties_directory/derived-properties.json @@ -0,0 +1,186 @@ +{ + "$id": "properties-directory/derived-properties", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "derived properties schema", + "type": "array", + "items": { + "anyOf": [ + { + "$id": "properties-directory/structural/volume", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "volume schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "volume" + ] + }, + "units": { + "enum": [ + "angstrom^3" + ] + }, + "value": { + "type": "number" + } + } + }, + { + "$id": "properties-directory/structural/density", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "density schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "density" + ] + }, + "units": { + "enum": [ + "g/cm^3" + ] + }, + "value": { + "type": "number" + } + } + }, + { + "$id": "properties-directory/structural/symmetry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "symmetry schema", + "properties": { + "pointGroupSymbol": { + "description": "point group symbol in Schoenflies notation", + "type": "string" + }, + "spaceGroupSymbol": { + "description": "space group symbol in Hermann–Mauguin notation", + "type": "string" + }, + "tolerance": { + "description": "tolerance used for symmetry calculation", + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "units": { + "enum": [ + "angstrom" + ] + }, + "value": { + "type": "number" + } + } + }, + "name": { + "enum": [ + "symmetry" + ] + } + } + }, + { + "$id": "properties-directory/structural/elemental-ratio", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "elemental-ratio", + "description": "ration of this element in the compound", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "elemental_ratio" + ] + }, + "value": { + "type": "number", + "min": 0, + "max": 1 + }, + "element": { + "type": "string", + "description": "the element this ratio is for" + } + } + }, + { + "$id": "properties-directory/structural/p-norm", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "p_norm", + "description": "https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "p-norm" + ] + }, + "degree": { + "type": "integer", + "description": "degree of the dimensionality of the norm" + }, + "value": { + "type": "number" + } + } + }, + { + "$id": "properties-directory/structural/inchi", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "InChI representation schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "inchi" + ] + }, + "value": { + "type": "string" + } + } + }, + { + "$id": "properties-directory/structural/inchi-key", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "InChI key representation schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "inchi_key" + ] + }, + "value": { + "type": "string" + } + } + } + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/electronic-configuration.json b/docs/js/schema/properties_directory/electronic-configuration.json new file mode 100644 index 000000000..4468d4056 --- /dev/null +++ b/docs/js/schema/properties_directory/electronic-configuration.json @@ -0,0 +1,16 @@ +{ + "$id": "properties-directory/electronic-configuration", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "electronic configuration schema", + "type": "object", + "properties": { + "charge": { + "description": "total charge of the molecular system", + "type": "integer" + }, + "multiplicity": { + "description": "calculated as 2S+1, with S is the total spin angular momentum", + "type": "integer" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/elemental/atomic-radius.json b/docs/js/schema/properties_directory/elemental/atomic-radius.json new file mode 100644 index 000000000..f36b14a42 --- /dev/null +++ b/docs/js/schema/properties_directory/elemental/atomic-radius.json @@ -0,0 +1,35 @@ +{ + "$id": "properties-directory/elemental/atomic-radius", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic radius", + "description": "atomic radius", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "atomic_radius" + ] + }, + "units": { + "enum": [ + "km", + "m", + "pm", + "nm", + "angstrom", + "a.u.", + "bohr", + "fractional", + "crystal", + "cartesian", + "alat" + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/elemental/electronegativity.json b/docs/js/schema/properties_directory/elemental/electronegativity.json new file mode 100644 index 000000000..f0f8b5941 --- /dev/null +++ b/docs/js/schema/properties_directory/elemental/electronegativity.json @@ -0,0 +1,20 @@ +{ + "$id": "properties-directory/elemental/electronegativity", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "electronegativity", + "description": "electronegativity for the element (Pauling scale)", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "electronegativity" + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/elemental/ionization-potential.json b/docs/js/schema/properties_directory/elemental/ionization-potential.json new file mode 100644 index 000000000..91b2853eb --- /dev/null +++ b/docs/js/schema/properties_directory/elemental/ionization-potential.json @@ -0,0 +1,31 @@ +{ + "$id": "properties-directory/elemental/ionization-potential", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ionization potential", + "description": "ionization potential for the element", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "ionization_potential" + ] + }, + "units": { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/non-scalar/average-potential-profile.json b/docs/js/schema/properties_directory/non-scalar/average-potential-profile.json new file mode 100644 index 000000000..d62223c00 --- /dev/null +++ b/docs/js/schema/properties_directory/non-scalar/average-potential-profile.json @@ -0,0 +1,108 @@ +{ + "$id": "properties-directory/non-scalar/average-potential-profile", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "average potential profile schema", + "required": [ + "xAxis", + "xDataArray", + "yAxis", + "yDataSeries" + ], + "type": "object", + "properties": { + "xAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "z coordinate" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "enum": [ + "km", + "m", + "pm", + "nm", + "angstrom", + "a.u.", + "bohr", + "fractional", + "crystal", + "cartesian", + "alat" + ], + "description": "units for an axis", + "type": "string" + } + } + }, + "yAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "energy" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ], + "description": "units for an axis", + "type": "string" + } + } + }, + "name": { + "enum": [ + "average_potential_profile" + ] + }, + "legend": { + "description": "Legend of y Axis data series", + "minItems": 1, + "type": "array" + }, + "xDataArray": { + "description": "array containing values of x Axis", + "type": "array" + }, + "yDataSeries": { + "$id": "core/primitive/1d-data-series", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "1 dimension data series schema", + "type": "array", + "items": { + "type": "array", + "minItems": 1, + "items": { + "type": [ + "number", + "string" + ] + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/non-scalar/band-gaps.json b/docs/js/schema/properties_directory/non-scalar/band-gaps.json new file mode 100644 index 000000000..9fcd85446 --- /dev/null +++ b/docs/js/schema/properties_directory/non-scalar/band-gaps.json @@ -0,0 +1,122 @@ +{ + "$id": "properties-directory/non-scalar/band-gaps", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "band gaps schema", + "description": "contains band gap values", + "required": [ + "name" + ], + "properties": { + "name": { + "enum": [ + "band_gaps" + ] + }, + "values": { + "type": "array", + "items": { + "$id": "core/reusable/band-gap", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "band gap schema", + "required": [ + "type", + "value" + ], + "type": "object", + "properties": { + "kpointConduction": { + "$id": "core/abstract/point", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "point schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "kpointValence": { + "$id": "core/abstract/point", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "point schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "eigenvalueConduction": { + "description": "eigenvalue at k-point in conduction band", + "type": "number" + }, + "eigenvalueValence": { + "description": "eigenvalue at k-point in valence band", + "type": "number" + }, + "spin": { + "type": "number" + }, + "type": { + "type": "string", + "enum": [ + "direct", + "indirect" + ] + }, + "units": { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ] + }, + "value": { + "type": "number" + } + } + } + }, + "eigenvalues": { + "type": "array", + "items": { + "properties": { + "kpoint": { + "$id": "core/abstract/point", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "point schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "weight": { + "type": "number" + }, + "eigenvalues": { + "type": "array", + "items": { + "properties": { + "spin": { + "type": "number" + }, + "energies": { + "type": "array" + }, + "occupations": { + "type": "array" + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/non-scalar/band-structure.json b/docs/js/schema/properties_directory/non-scalar/band-structure.json new file mode 100644 index 000000000..b73d40070 --- /dev/null +++ b/docs/js/schema/properties_directory/non-scalar/band-structure.json @@ -0,0 +1,119 @@ +{ + "$id": "properties-directory/non-scalar/band-structure", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "band structure schema", + "required": [ + "xAxis", + "xDataArray", + "yAxis", + "yDataSeries" + ], + "type": "object", + "properties": { + "xAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "kpoints" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "enum": [ + "km", + "m", + "pm", + "nm", + "angstrom", + "a.u.", + "bohr", + "fractional", + "crystal", + "cartesian", + "alat" + ], + "description": "units for an axis", + "type": "string" + } + } + }, + "yAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "energy" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ], + "description": "units for an axis", + "type": "string" + } + } + }, + "name": { + "enum": [ + "band_structure" + ] + }, + "spin": { + "description": "spin of each band", + "type": "array", + "items": { + "type": "number", + "enum": [ + 0.5, + -0.5 + ] + } + }, + "legend": { + "description": "Legend of y Axis data series", + "minItems": 1, + "type": "array" + }, + "xDataArray": { + "description": "array containing values of x Axis", + "type": "array" + }, + "yDataSeries": { + "$id": "core/primitive/1d-data-series", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "1 dimension data series schema", + "type": "array", + "items": { + "type": "array", + "minItems": 1, + "items": { + "type": [ + "number", + "string" + ] + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/non-scalar/charge-density-profile.json b/docs/js/schema/properties_directory/non-scalar/charge-density-profile.json new file mode 100644 index 000000000..30e6f59cf --- /dev/null +++ b/docs/js/schema/properties_directory/non-scalar/charge-density-profile.json @@ -0,0 +1,89 @@ +{ + "$id": "properties-directory/non-scalar/charge-density-profile", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "charge density profile schema", + "required": [ + "xAxis", + "xDataArray", + "yAxis", + "yDataSeries" + ], + "type": "object", + "properties": { + "xAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "z coordinate" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "description": "units for an axis", + "type": "string" + } + } + }, + "yAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "charge density" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "enum": [ + "e/A" + ], + "description": "units for an axis", + "type": "string" + } + } + }, + "name": { + "enum": [ + "charge_density_profile" + ] + }, + "legend": { + "description": "Legend of y Axis data series", + "minItems": 1, + "type": "array" + }, + "xDataArray": { + "description": "array containing values of x Axis", + "type": "array" + }, + "yDataSeries": { + "$id": "core/primitive/1d-data-series", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "1 dimension data series schema", + "type": "array", + "items": { + "type": "array", + "minItems": 1, + "items": { + "type": [ + "number", + "string" + ] + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/non-scalar/density-of-states.json b/docs/js/schema/properties_directory/non-scalar/density-of-states.json new file mode 100644 index 000000000..79a939cfe --- /dev/null +++ b/docs/js/schema/properties_directory/non-scalar/density-of-states.json @@ -0,0 +1,124 @@ +{ + "$id": "properties-directory/non-scalar/density-of-states", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "density of states schema", + "type": "object", + "required": [ + "xAxis", + "xDataArray", + "yAxis", + "yDataSeries" + ], + "properties": { + "xAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "energy" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ], + "description": "units for an axis", + "type": "string" + } + } + }, + "yAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "density of states" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "enum": [ + "states/unitcell" + ], + "description": "units for an axis", + "type": "string" + } + } + }, + "name": { + "enum": [ + "density_of_states" + ] + }, + "legend": { + "description": "Legend of y Axis data series", + "minItems": 1, + "type": "array", + "items": { + "type": "object", + "properties": { + "element": { + "description": "chemical element", + "type": "string" + }, + "index": { + "description": "index inside sub-array of atoms of the same element type", + "type": "integer" + }, + "electronicState": { + "description": "electronic character and shell of PDOS, such as `1s` or `s`, or `total`", + "type": "string", + "pattern": "^([1-5]{1})?(s|p|d|f|g).*$" + }, + "spin": { + "description": "spin of the electronic state", + "type": "number", + "enum": [ + 0.5, + -0.5 + ] + } + } + } + }, + "xDataArray": { + "description": "array containing values of x Axis", + "type": "array" + }, + "yDataSeries": { + "$id": "core/primitive/1d-data-series", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "1 dimension data series schema", + "type": "array", + "items": { + "type": "array", + "minItems": 1, + "items": { + "type": [ + "number", + "string" + ] + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/non-scalar/dielectric-tensor.json b/docs/js/schema/properties_directory/non-scalar/dielectric-tensor.json new file mode 100644 index 000000000..7f49c572a --- /dev/null +++ b/docs/js/schema/properties_directory/non-scalar/dielectric-tensor.json @@ -0,0 +1,66 @@ +{ + "$id": "properties-directory/non-scalar/dielectric-tensor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "dielectric tensor property", + "description": "The real and imaginary parts of the diagonal elements of the dieletric tensor", + "required": [ + "name" + ], + "properties": { + "name": { + "enum": [ + "dielectric_tensor" + ] + }, + "values": { + "type": "array", + "items": { + "$id": "core/reusable/dielectric-tensor-component", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Dielectric Tensor", + "required": [ + "part", + "frequencies", + "components" + ], + "description": "Schema for a function of frequency yielding a nx3 matrix", + "type": "object", + "properties": { + "part": { + "description": "Real or imaginary part of the dielectric tensor component", + "type": "string", + "enum": [ + "real", + "imaginary" + ] + }, + "spin": { + "type": "number" + }, + "frequencies": { + "description": "Frequencies", + "type": "array", + "items": { + "type": "number" + } + }, + "components": { + "description": "Matrix with 3 columns, e.g. x, y, z", + "type": "array", + "items": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/non-scalar/file-content.json b/docs/js/schema/properties_directory/non-scalar/file-content.json new file mode 100644 index 000000000..b8f059b80 --- /dev/null +++ b/docs/js/schema/properties_directory/non-scalar/file-content.json @@ -0,0 +1,72 @@ +{ + "$id": "properties-directory/non-scalar/file-content", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "file_content", + "required": [ + "name", + "objectData" + ], + "properties": { + "name": { + "enum": [ + "file_content" + ] + }, + "filetype": { + "description": "What kind of file this is, e.g. image / text", + "type": "string", + "enum": [ + "image", + "text", + "csv" + ], + "$comment": "isGenerative:true" + }, + "objectData": { + "$id": "core/reusable/object-storage-container-data", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Object Storage Container Data", + "required": [ + "CONTAINER", + "NAME", + "PROVIDER", + "REGION" + ], + "properties": { + "CONTAINER": { + "description": "Object storage container for the file", + "type": "string" + }, + "NAME": { + "description": "Name of the file inside the object storage bucket", + "type": "string" + }, + "PROVIDER": { + "description": "Object storage provider", + "type": "string" + }, + "REGION": { + "description": "Region for the object container specified in Container", + "type": "string" + }, + "SIZE": { + "description": "Size of the file in bytes", + "type": "integer" + }, + "TIMESTAMP": { + "description": "Unix timestamp showing when the file was last modified", + "type": "string" + } + } + }, + "pathname": { + "description": "Relative path to the directory that contains the file.", + "type": "string" + }, + "basename": { + "description": "Basename of the file", + "type": "string", + "$comment": "isGenerative:true" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/non-scalar/hubbard-u.json b/docs/js/schema/properties_directory/non-scalar/hubbard-u.json new file mode 100644 index 000000000..989d42410 --- /dev/null +++ b/docs/js/schema/properties_directory/non-scalar/hubbard-u.json @@ -0,0 +1,56 @@ +{ + "$id": "properties-directory/non-scalar/hubbard-u", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Hubbard U parameters", + "description": "Hubbard U value in eV", + "required": [ + "name" + ], + "properties": { + "name": { + "enum": [ + "hubbard_u" + ] + }, + "units": { + "enum": [ + "eV" + ] + }, + "values": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "atomicSpecies", + "orbitalName", + "value" + ], + "$id": "core/reusable/atomic-data-per-orbital-numeric", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Atomic data per orbital numeric", + "description": "Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.", + "properties": { + "id": { + "type": "integer", + "description": "Site number or index in the lattice" + }, + "atomicSpecies": { + "type": "string", + "pattern": "^[a-zA-Z]{1,2}[\\d+]?$", + "description": "Example: Co1, Mn" + }, + "orbitalName": { + "type": "string", + "pattern": "^[1-7][sSpPdDfF]$" + }, + "value": { + "type": "number", + "description": "Value related to a specific property, e.g., Hubbard U, V etc." + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/non-scalar/hubbard-v.json b/docs/js/schema/properties_directory/non-scalar/hubbard-v.json new file mode 100644 index 000000000..ba399aaa9 --- /dev/null +++ b/docs/js/schema/properties_directory/non-scalar/hubbard-v.json @@ -0,0 +1,74 @@ +{ + "$id": "properties-directory/non-scalar/hubbard-v", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Hubbard V parameters", + "description": "Hubbard V value in eV", + "required": [ + "name" + ], + "properties": { + "name": { + "enum": [ + "hubbard_v" + ] + }, + "units": { + "enum": [ + "eV" + ] + }, + "values": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "id2", + "atomicSpecies", + "atomicSpecies2", + "value" + ], + "$id": "core/reusable/atomic-data-per-orbital-pair-numeric", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Atomic data per orbital pair numeric", + "description": "Atomic properties per orbital pair with numeric value e.g., Hubbard V parameters.", + "properties": { + "id": { + "type": "integer", + "description": "Site number or index in the lattice" + }, + "id2": { + "type": "integer", + "description": "Site number or index in the lattice of second site" + }, + "atomicSpecies": { + "type": "string", + "pattern": "^[a-zA-Z]{1,2}[\\d+]?$", + "description": "Example: Co1, Mn" + }, + "atomicSpecies2": { + "type": "string", + "pattern": "^[a-zA-Z]{1,2}[\\d+]?$", + "description": "Example: Co2, O" + }, + "orbitalName": { + "type": "string", + "pattern": "^[1-7][sSpPdDfF]$" + }, + "orbitalName2": { + "type": "string", + "pattern": "^[1-7][sSpPdDfF]$" + }, + "distance": { + "type": "number", + "description": "Distance between two sites in angstrom." + }, + "value": { + "type": "number", + "description": "Value related to a specific property, e.g., Hubbard U, V etc." + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/non-scalar/phonon-dispersions.json b/docs/js/schema/properties_directory/non-scalar/phonon-dispersions.json new file mode 100644 index 000000000..7a04759fb --- /dev/null +++ b/docs/js/schema/properties_directory/non-scalar/phonon-dispersions.json @@ -0,0 +1,104 @@ +{ + "$id": "properties-directory/non-scalar/phonon-dispersions", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "phonon band structure schema", + "required": [ + "xAxis", + "xDataArray", + "yAxis", + "yDataSeries" + ], + "type": "object", + "properties": { + "xAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "qpoints" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "enum": [ + "km", + "m", + "pm", + "nm", + "angstrom", + "a.u.", + "bohr", + "fractional", + "crystal", + "cartesian", + "alat" + ], + "description": "units for an axis", + "type": "string" + } + } + }, + "yAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "frequency" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "enum": [ + "cm-1", + "THz", + "meV" + ], + "description": "units for an axis", + "type": "string" + } + } + }, + "name": { + "enum": [ + "phonon_dispersions" + ] + }, + "legend": { + "description": "Legend of y Axis data series", + "minItems": 1, + "type": "array" + }, + "xDataArray": { + "description": "array containing values of x Axis", + "type": "array" + }, + "yDataSeries": { + "$id": "core/primitive/1d-data-series", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "1 dimension data series schema", + "type": "array", + "items": { + "type": "array", + "minItems": 1, + "items": { + "type": [ + "number", + "string" + ] + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/non-scalar/phonon-dos.json b/docs/js/schema/properties_directory/non-scalar/phonon-dos.json new file mode 100644 index 000000000..75f8f7a7b --- /dev/null +++ b/docs/js/schema/properties_directory/non-scalar/phonon-dos.json @@ -0,0 +1,96 @@ +{ + "$id": "properties-directory/non-scalar/phonon-dos", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Phonon density of states schema", + "type": "object", + "required": [ + "xAxis", + "xDataArray", + "yAxis", + "yDataSeries" + ], + "properties": { + "xAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "frequency" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "enum": [ + "cm-1", + "THz", + "meV" + ], + "description": "units for an axis", + "type": "string" + } + } + }, + "yAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "Phonon DOS" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "enum": [ + "states/cm-1", + "states/THz", + "states/meV" + ], + "description": "units for an axis", + "type": "string" + } + } + }, + "name": { + "enum": [ + "phonon_dos" + ] + }, + "legend": { + "description": "Legend of y Axis data series", + "minItems": 1, + "type": "array" + }, + "xDataArray": { + "description": "array containing values of x Axis", + "type": "array" + }, + "yDataSeries": { + "$id": "core/primitive/1d-data-series", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "1 dimension data series schema", + "type": "array", + "items": { + "type": "array", + "minItems": 1, + "items": { + "type": [ + "number", + "string" + ] + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/non-scalar/potential-profile.json b/docs/js/schema/properties_directory/non-scalar/potential-profile.json new file mode 100644 index 000000000..739be21f4 --- /dev/null +++ b/docs/js/schema/properties_directory/non-scalar/potential-profile.json @@ -0,0 +1,95 @@ +{ + "$id": "properties-directory/non-scalar/potential-profile", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "potential profile schema", + "required": [ + "xAxis", + "xDataArray", + "yAxis", + "yDataSeries" + ], + "type": "object", + "properties": { + "xAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "z coordinate" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "description": "units for an axis", + "type": "string" + } + } + }, + "yAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "energy" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ], + "description": "units for an axis", + "type": "string" + } + } + }, + "name": { + "enum": [ + "potential_profile" + ] + }, + "legend": { + "description": "Legend of y Axis data series", + "minItems": 1, + "type": "array" + }, + "xDataArray": { + "description": "array containing values of x Axis", + "type": "array" + }, + "yDataSeries": { + "$id": "core/primitive/1d-data-series", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "1 dimension data series schema", + "type": "array", + "items": { + "type": "array", + "minItems": 1, + "items": { + "type": [ + "number", + "string" + ] + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/non-scalar/reaction-energy-profile.json b/docs/js/schema/properties_directory/non-scalar/reaction-energy-profile.json new file mode 100644 index 000000000..3b8e6ab19 --- /dev/null +++ b/docs/js/schema/properties_directory/non-scalar/reaction-energy-profile.json @@ -0,0 +1,95 @@ +{ + "$id": "properties-directory/non-scalar/reaction-energy-profile", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "reaction energy profile schema", + "required": [ + "xAxis", + "xDataArray", + "yAxis", + "yDataSeries" + ], + "type": "object", + "properties": { + "xAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "reaction coordinate" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "description": "units for an axis", + "type": "string" + } + } + }, + "yAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "energy" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ], + "description": "units for an axis", + "type": "string" + } + } + }, + "name": { + "enum": [ + "reaction_energy_profile" + ] + }, + "legend": { + "description": "Legend of y Axis data series", + "minItems": 1, + "type": "array" + }, + "xDataArray": { + "description": "array containing values of x Axis", + "type": "array" + }, + "yDataSeries": { + "$id": "core/primitive/1d-data-series", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "1 dimension data series schema", + "type": "array", + "items": { + "type": "array", + "minItems": 1, + "items": { + "type": [ + "number", + "string" + ] + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/non-scalar/stress-tensor.json b/docs/js/schema/properties_directory/non-scalar/stress-tensor.json new file mode 100644 index 000000000..26604f060 --- /dev/null +++ b/docs/js/schema/properties_directory/non-scalar/stress-tensor.json @@ -0,0 +1,37 @@ +{ + "$id": "properties-directory/non-scalar/stress-tensor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "stress tensor schema", + "properties": { + "value": { + "$id": "core/abstract/3d-tensor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "3 dimensional tensor schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + } + }, + "name": { + "enum": [ + "stress_tensor" + ] + }, + "units": { + "enum": [ + "kbar", + "pa" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/non-scalar/total-energy-contributions.json b/docs/js/schema/properties_directory/non-scalar/total-energy-contributions.json new file mode 100644 index 000000000..2e634171a --- /dev/null +++ b/docs/js/schema/properties_directory/non-scalar/total-energy-contributions.json @@ -0,0 +1,284 @@ +{ + "$id": "properties-directory/non-scalar/total-energy-contributions", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "total energy contributions schema", + "type": "object", + "properties": { + "temperatureEntropy": { + "description": "product of temperature and configurational entropy", + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "temperature_entropy" + ] + }, + "value": { + "type": "number" + } + } + }, + "harrisFoulkes": { + "description": "non self-consitent energy based on an input charge density", + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "harris_foulkes" + ] + }, + "value": { + "type": "number" + } + } + }, + "oneElectron": { + "description": "kinetic + pseudopotential energy", + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "one_electron" + ] + }, + "value": { + "type": "number" + } + } + }, + "hartree": { + "description": "energy due to coulomb potential", + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "hartree" + ] + }, + "value": { + "type": "number" + } + } + }, + "exchange": { + "description": "exchange energy", + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "exchange" + ] + }, + "value": { + "type": "number" + } + } + }, + "exchangeCorrelation": { + "description": "exchange and correlation energy per particle", + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "exchange_correlation" + ] + }, + "value": { + "type": "number" + } + } + }, + "ewald": { + "description": "summation of interaction energies at long length scales due to coloumbic interactions", + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "ewald" + ] + }, + "value": { + "type": "number" + } + } + }, + "alphaZ": { + "description": "divergent electrostatic ion interaction in compensating electron gas", + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "alphaZ" + ] + }, + "value": { + "type": "number" + } + } + }, + "atomicEnergy": { + "description": "kinetic energy of wavefunctions in the atomic limit", + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "atomic_energy" + ] + }, + "value": { + "type": "number" + } + } + }, + "eigenvalues": { + "description": "sum of one electron energies of kinetic, electrostatic, and exchange correlation", + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "eigenvalues" + ] + }, + "value": { + "type": "number" + } + } + }, + "PAWDoubleCounting2": { + "description": "double counting correction 2", + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "PAW_double-counting_correction_2" + ] + }, + "value": { + "type": "number" + } + } + }, + "PAWDoubleCounting3": { + "description": "double counting correction 3", + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "PAW_double-counting_correction_3" + ] + }, + "value": { + "type": "number" + } + } + }, + "hartreeFock": { + "description": "hartree-fock contribution", + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "hartree_fock" + ] + }, + "value": { + "type": "number" + } + } + }, + "name": { + "enum": [ + "total_energy_contributions" + ] + }, + "units": { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/non-scalar/vibrational-spectrum.json b/docs/js/schema/properties_directory/non-scalar/vibrational-spectrum.json new file mode 100644 index 000000000..526fe0767 --- /dev/null +++ b/docs/js/schema/properties_directory/non-scalar/vibrational-spectrum.json @@ -0,0 +1,100 @@ +{ + "$id": "properties-directory/non-scalar/vibrational-spectrum", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Vibrational spectrum schema", + "type": "object", + "required": [ + "xAxis", + "xDataArray", + "yAxis", + "yDataSeries" + ], + "properties": { + "xAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "frequency", + "wavenumber" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "enum": [ + "cm-1", + "THz", + "meV" + ], + "description": "units for an axis", + "type": "string" + } + } + }, + "yAxis": { + "$id": "core/primitive/axis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "axis schema", + "required": [ + "label" + ], + "properties": { + "label": { + "enum": [ + "Intensity", + "Absorbance", + "Absorption coefficient" + ], + "description": "label of an axis object", + "type": "string" + }, + "units": { + "enum": [ + "(debye/angstrom)^2", + "km/mol", + "m/mol", + "a.u." + ], + "description": "units for an axis", + "type": "string" + } + } + }, + "name": { + "enum": [ + "vibrational_spectrum" + ] + }, + "legend": { + "description": "Legend of y Axis data series", + "minItems": 1, + "type": "array" + }, + "xDataArray": { + "description": "array containing values of x Axis", + "type": "array" + }, + "yDataSeries": { + "$id": "core/primitive/1d-data-series", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "1 dimension data series schema", + "type": "array", + "items": { + "type": "array", + "minItems": 1, + "items": { + "type": [ + "number", + "string" + ] + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/scalar/electron-affinity.json b/docs/js/schema/properties_directory/scalar/electron-affinity.json new file mode 100644 index 000000000..f137999ad --- /dev/null +++ b/docs/js/schema/properties_directory/scalar/electron-affinity.json @@ -0,0 +1,42 @@ +{ + "$id": "properties-directory/scalar/electron-affinity", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "electron affinity schema", + "required": [ + "name", + "units", + "value" + ], + "type": "object", + "properties": { + "name": { + "enum": [ + "electron_affinity" + ], + "type": "string" + }, + "units": { + "anyOf": [ + { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ] + }, + { + "enum": [ + "eV/A^2" + ] + } + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/scalar/fermi-energy.json b/docs/js/schema/properties_directory/scalar/fermi-energy.json new file mode 100644 index 000000000..6bb20bad3 --- /dev/null +++ b/docs/js/schema/properties_directory/scalar/fermi-energy.json @@ -0,0 +1,42 @@ +{ + "$id": "properties-directory/scalar/fermi-energy", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "fermi energy schema", + "required": [ + "name", + "units", + "value" + ], + "type": "object", + "properties": { + "name": { + "enum": [ + "fermi_energy" + ], + "type": "string" + }, + "units": { + "anyOf": [ + { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ] + }, + { + "enum": [ + "eV/A^2" + ] + } + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/scalar/formation-energy.json b/docs/js/schema/properties_directory/scalar/formation-energy.json new file mode 100644 index 000000000..734b9be4c --- /dev/null +++ b/docs/js/schema/properties_directory/scalar/formation-energy.json @@ -0,0 +1,42 @@ +{ + "$id": "properties-directory/scalar/formation-energy", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "formation energy schema", + "required": [ + "name", + "units", + "value" + ], + "type": "object", + "properties": { + "name": { + "enum": [ + "formation_energy" + ], + "type": "string" + }, + "units": { + "anyOf": [ + { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ] + }, + { + "enum": [ + "eV/A^2" + ] + } + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/scalar/ionization-potential.json b/docs/js/schema/properties_directory/scalar/ionization-potential.json new file mode 100644 index 000000000..19b8bd10e --- /dev/null +++ b/docs/js/schema/properties_directory/scalar/ionization-potential.json @@ -0,0 +1,42 @@ +{ + "$id": "properties-directory/scalar/ionization-potential", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ionization potential schema", + "required": [ + "name", + "units", + "value" + ], + "type": "object", + "properties": { + "name": { + "enum": [ + "ionization_potential" + ], + "type": "string" + }, + "units": { + "anyOf": [ + { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ] + }, + { + "enum": [ + "eV/A^2" + ] + } + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/scalar/pressure.json b/docs/js/schema/properties_directory/scalar/pressure.json new file mode 100644 index 000000000..67a7e6ae2 --- /dev/null +++ b/docs/js/schema/properties_directory/scalar/pressure.json @@ -0,0 +1,26 @@ +{ + "$id": "properties-directory/scalar/pressure", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pressure", + "description": "average pressure in unit cell", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "pressure" + ] + }, + "units": { + "enum": [ + "kbar", + "pa" + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/scalar/reaction-energy-barrier.json b/docs/js/schema/properties_directory/scalar/reaction-energy-barrier.json new file mode 100644 index 000000000..4780f3357 --- /dev/null +++ b/docs/js/schema/properties_directory/scalar/reaction-energy-barrier.json @@ -0,0 +1,42 @@ +{ + "$id": "properties-directory/scalar/reaction-energy-barrier", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "reaction energy barrier schema", + "required": [ + "name", + "units", + "value" + ], + "type": "object", + "properties": { + "name": { + "enum": [ + "reaction_energy_barrier" + ], + "type": "string" + }, + "units": { + "anyOf": [ + { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ] + }, + { + "enum": [ + "eV/A^2" + ] + } + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/scalar/surface-energy.json b/docs/js/schema/properties_directory/scalar/surface-energy.json new file mode 100644 index 000000000..eb4e018a9 --- /dev/null +++ b/docs/js/schema/properties_directory/scalar/surface-energy.json @@ -0,0 +1,42 @@ +{ + "$id": "properties-directory/scalar/surface-energy", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "surface energy schema", + "required": [ + "name", + "units", + "value" + ], + "type": "object", + "properties": { + "name": { + "enum": [ + "surface_energy" + ], + "type": "string" + }, + "units": { + "anyOf": [ + { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ] + }, + { + "enum": [ + "eV/A^2" + ] + } + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/scalar/total-energy.json b/docs/js/schema/properties_directory/scalar/total-energy.json new file mode 100644 index 000000000..c7c664b58 --- /dev/null +++ b/docs/js/schema/properties_directory/scalar/total-energy.json @@ -0,0 +1,42 @@ +{ + "$id": "properties-directory/scalar/total-energy", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "total energy schema", + "required": [ + "name", + "units", + "value" + ], + "type": "object", + "properties": { + "name": { + "enum": [ + "total_energy" + ], + "type": "string" + }, + "units": { + "anyOf": [ + { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ] + }, + { + "enum": [ + "eV/A^2" + ] + } + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/scalar/total-force.json b/docs/js/schema/properties_directory/scalar/total-force.json new file mode 100644 index 000000000..c2499b3d7 --- /dev/null +++ b/docs/js/schema/properties_directory/scalar/total-force.json @@ -0,0 +1,29 @@ +{ + "$id": "properties-directory/scalar/total-force", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "total forces schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "total_force" + ] + }, + "units": { + "enum": [ + "eV/bohr", + "eV/angstrom", + "rydberg/a.u.", + "newton", + "kg*m/s^2", + "eV/a.u." + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/scalar/valence-band-offset.json b/docs/js/schema/properties_directory/scalar/valence-band-offset.json new file mode 100644 index 000000000..3110f221e --- /dev/null +++ b/docs/js/schema/properties_directory/scalar/valence-band-offset.json @@ -0,0 +1,42 @@ +{ + "$id": "properties-directory/scalar/valence-band-offset", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "valence band offset schema", + "required": [ + "name", + "units", + "value" + ], + "type": "object", + "properties": { + "name": { + "enum": [ + "valence_band_offset" + ], + "type": "string" + }, + "units": { + "anyOf": [ + { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ] + }, + { + "enum": [ + "eV/A^2" + ] + } + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/scalar/zero-point-energy.json b/docs/js/schema/properties_directory/scalar/zero-point-energy.json new file mode 100644 index 000000000..204e8ced2 --- /dev/null +++ b/docs/js/schema/properties_directory/scalar/zero-point-energy.json @@ -0,0 +1,42 @@ +{ + "$id": "properties-directory/scalar/zero-point-energy", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "zero point energy schema", + "required": [ + "name", + "units", + "value" + ], + "type": "object", + "properties": { + "name": { + "enum": [ + "zero_point_energy" + ], + "type": "string" + }, + "units": { + "anyOf": [ + { + "enum": [ + "kJ/mol", + "eV", + "J/mol", + "hartree", + "cm-1", + "rydberg", + "eV/atom" + ] + }, + { + "enum": [ + "eV/A^2" + ] + } + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/atomic-forces.json b/docs/js/schema/properties_directory/structural/atomic-forces.json new file mode 100644 index 000000000..2ef35e29c --- /dev/null +++ b/docs/js/schema/properties_directory/structural/atomic-forces.json @@ -0,0 +1,69 @@ +{ + "$id": "properties-directory/structural/atomic-forces", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic forces", + "description": "coordinates of atoms by ids, vector, unitless", + "properties": { + "name": { + "enum": [ + "atomic_forces" + ] + }, + "values": { + "$id": "core/reusable/atomic-vectors", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic vectors schema", + "description": "array of objects containing integer id each", + "type": "array", + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "value": { + "$id": "core/abstract/vector", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "vector schema", + "oneOf": [ + { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3, + "maxItems": 3 + }, + { + "$id": "core/primitive/array-of-3-booleans", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 boolean elements schema", + "type": "array", + "items": { + "type": "boolean" + }, + "minItems": 3, + "maxItems": 3 + } + ] + }, + "id": { + "description": "integer id of this entry", + "type": "integer" + } + } + } + }, + "units": { + "enum": [ + "eV/bohr", + "eV/angstrom", + "rydberg/a.u.", + "newton", + "kg*m/s^2", + "eV/a.u." + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/basis.json b/docs/js/schema/properties_directory/structural/basis.json new file mode 100644 index 000000000..05bfae795 --- /dev/null +++ b/docs/js/schema/properties_directory/structural/basis.json @@ -0,0 +1,133 @@ +{ + "$id": "properties-directory/structural/basis", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "basis schema", + "type": "object", + "required": [ + "elements", + "coordinates" + ], + "properties": { + "elements": { + "type": "array", + "items": { + "$id": "properties-directory/structural/basis/atomic-element", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic elements", + "description": "elements of atoms by ids, string, unitless", + "required": [ + "id", + "value" + ], + "properties": { + "id": { + "type": "number" + }, + "value": { + "type": "string" + }, + "occurrence": { + "description": "Occurrence is for fractional occupations", + "type": "number" + }, + "oxidationState": { + "type": "number" + } + } + } + }, + "coordinates": { + "type": "array", + "items": { + "$id": "properties-directory/structural/basis/atomic-coordinate", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic coordinate", + "description": "coordinates of atoms by ids, vector, unitless", + "properties": { + "id": { + "type": "number" + }, + "value": { + "$id": "core/abstract/vector", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "vector schema", + "oneOf": [ + { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3, + "maxItems": 3 + }, + { + "$id": "core/primitive/array-of-3-booleans", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 boolean elements schema", + "type": "array", + "items": { + "type": "boolean" + }, + "minItems": 3, + "maxItems": 3 + } + ] + } + } + } + }, + "name": { + "type": "string" + }, + "units": { + "type": "string" + }, + "bonds": { + "$id": "properties-directory/structural/basis/bonds", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "bonds schema", + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "atomPair": { + "description": "indices of the two connected atoms", + "minItems": 2, + "maxItems": 2, + "$id": "core/primitive/array-of-ids", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic ids", + "type": "array", + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "id": { + "description": "integer id of this entry", + "type": "integer" + } + } + } + }, + "bondType": { + "type": "string", + "enum": [ + "single", + "double", + "triple", + "quadruple", + "aromatic", + "tautomeric", + "dative", + "other" + ] + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/basis/atomic-constraints.json b/docs/js/schema/properties_directory/structural/basis/atomic-constraints.json new file mode 100644 index 000000000..29c406d43 --- /dev/null +++ b/docs/js/schema/properties_directory/structural/basis/atomic-constraints.json @@ -0,0 +1,59 @@ +{ + "$id": "properties-directory/structural/basis/atomic-constraints", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic constraints", + "description": "atomic constraints schema", + "properties": { + "name": { + "enum": [ + "atomic_constraints" + ] + }, + "values": { + "$id": "core/reusable/atomic-vectors", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic vectors schema", + "description": "array of objects containing integer id each", + "type": "array", + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "value": { + "$id": "core/abstract/vector", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "vector schema", + "oneOf": [ + { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3, + "maxItems": 3 + }, + { + "$id": "core/primitive/array-of-3-booleans", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 boolean elements schema", + "type": "array", + "items": { + "type": "boolean" + }, + "minItems": 3, + "maxItems": 3 + } + ] + }, + "id": { + "description": "integer id of this entry", + "type": "integer" + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/basis/atomic-coordinate.json b/docs/js/schema/properties_directory/structural/basis/atomic-coordinate.json new file mode 100644 index 000000000..66a0238d8 --- /dev/null +++ b/docs/js/schema/properties_directory/structural/basis/atomic-coordinate.json @@ -0,0 +1,40 @@ +{ + "$id": "properties-directory/structural/basis/atomic-coordinate", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic coordinate", + "description": "coordinates of atoms by ids, vector, unitless", + "properties": { + "id": { + "type": "number" + }, + "value": { + "$id": "core/abstract/vector", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "vector schema", + "oneOf": [ + { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3, + "maxItems": 3 + }, + { + "$id": "core/primitive/array-of-3-booleans", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 boolean elements schema", + "type": "array", + "items": { + "type": "boolean" + }, + "minItems": 3, + "maxItems": 3 + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/basis/atomic-coordinates.json b/docs/js/schema/properties_directory/structural/basis/atomic-coordinates.json new file mode 100644 index 000000000..165cd56da --- /dev/null +++ b/docs/js/schema/properties_directory/structural/basis/atomic-coordinates.json @@ -0,0 +1,70 @@ +{ + "$id": "properties-directory/structural/basis/atomic-coordinates", + "title": "atomic coordinates", + "description": "coordinates of atoms by ids, vector, unitless", + "properties": { + "name": { + "enum": [ + "atomic_coordinates" + ] + }, + "values": { + "type": "array", + "items": { + "$id": "properties-directory/structural/basis/atomic-coordinate", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic coordinate", + "description": "coordinates of atoms by ids, vector, unitless", + "properties": { + "id": { + "type": "number" + }, + "value": { + "$id": "core/abstract/vector", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "vector schema", + "oneOf": [ + { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3, + "maxItems": 3 + }, + { + "$id": "core/primitive/array-of-3-booleans", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 boolean elements schema", + "type": "array", + "items": { + "type": "boolean" + }, + "minItems": 3, + "maxItems": 3 + } + ] + } + } + } + }, + "units": { + "enum": [ + "km", + "m", + "pm", + "nm", + "angstrom", + "a.u.", + "bohr", + "fractional", + "crystal", + "cartesian", + "alat" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/basis/atomic-element.json b/docs/js/schema/properties_directory/structural/basis/atomic-element.json new file mode 100644 index 000000000..36c68fa4f --- /dev/null +++ b/docs/js/schema/properties_directory/structural/basis/atomic-element.json @@ -0,0 +1,25 @@ +{ + "$id": "properties-directory/structural/basis/atomic-element", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic elements", + "description": "elements of atoms by ids, string, unitless", + "required": [ + "id", + "value" + ], + "properties": { + "id": { + "type": "number" + }, + "value": { + "type": "string" + }, + "occurrence": { + "description": "Occurrence is for fractional occupations", + "type": "number" + }, + "oxidationState": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/basis/bonds.json b/docs/js/schema/properties_directory/structural/basis/bonds.json new file mode 100644 index 000000000..cfaeb3ce8 --- /dev/null +++ b/docs/js/schema/properties_directory/structural/basis/bonds.json @@ -0,0 +1,44 @@ +{ + "$id": "properties-directory/structural/basis/bonds", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "bonds schema", + "type": "array", + "uniqueItems": true, + "items": { + "type": "object", + "properties": { + "atomPair": { + "description": "indices of the two connected atoms", + "minItems": 2, + "maxItems": 2, + "$id": "core/primitive/array-of-ids", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic ids", + "type": "array", + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "id": { + "description": "integer id of this entry", + "type": "integer" + } + } + } + }, + "bondType": { + "type": "string", + "enum": [ + "single", + "double", + "triple", + "quadruple", + "aromatic", + "tautomeric", + "dative", + "other" + ] + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/density.json b/docs/js/schema/properties_directory/structural/density.json new file mode 100644 index 000000000..5c723e871 --- /dev/null +++ b/docs/js/schema/properties_directory/structural/density.json @@ -0,0 +1,24 @@ +{ + "$id": "properties-directory/structural/density", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "density schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "density" + ] + }, + "units": { + "enum": [ + "g/cm^3" + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/elemental-ratio.json b/docs/js/schema/properties_directory/structural/elemental-ratio.json new file mode 100644 index 000000000..401ec11fe --- /dev/null +++ b/docs/js/schema/properties_directory/structural/elemental-ratio.json @@ -0,0 +1,26 @@ +{ + "$id": "properties-directory/structural/elemental-ratio", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "elemental-ratio", + "description": "ration of this element in the compound", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "elemental_ratio" + ] + }, + "value": { + "type": "number", + "min": 0, + "max": 1 + }, + "element": { + "type": "string", + "description": "the element this ratio is for" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/inchi-key.json b/docs/js/schema/properties_directory/structural/inchi-key.json new file mode 100644 index 000000000..e032b260f --- /dev/null +++ b/docs/js/schema/properties_directory/structural/inchi-key.json @@ -0,0 +1,19 @@ +{ + "$id": "properties-directory/structural/inchi-key", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "InChI key representation schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "inchi_key" + ] + }, + "value": { + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/inchi.json b/docs/js/schema/properties_directory/structural/inchi.json new file mode 100644 index 000000000..80b90f7f8 --- /dev/null +++ b/docs/js/schema/properties_directory/structural/inchi.json @@ -0,0 +1,19 @@ +{ + "$id": "properties-directory/structural/inchi", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "InChI representation schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "inchi" + ] + }, + "value": { + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/lattice.json b/docs/js/schema/properties_directory/structural/lattice.json new file mode 100644 index 000000000..2935faca1 --- /dev/null +++ b/docs/js/schema/properties_directory/structural/lattice.json @@ -0,0 +1,153 @@ +{ + "$id": "properties-directory/structural/lattice", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "lattice schema", + "type": "object", + "required": [ + "a", + "alpha", + "b", + "beta", + "c", + "gamma", + "type" + ], + "properties": { + "name": { + "enum": [ + "lattice" + ] + }, + "vectors": { + "$id": "properties-directory/structural/lattice/lattice-vectors", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "lattice explicit unit", + "type": "object", + "required": [ + "a", + "b", + "c" + ], + "properties": { + "alat": { + "description": "lattice parameter for fractional coordinates", + "type": "number", + "default": 1 + }, + "units": { + "enum": [ + "km", + "m", + "pm", + "nm", + "angstrom", + "a.u.", + "bohr", + "fractional", + "crystal", + "cartesian", + "alat" + ] + }, + "a": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "b": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "c": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + } + } + }, + "type": { + "$id": "properties-directory/structural/lattice/type-enum", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "lattice type schema", + "type": "string", + "enum": [ + "CUB", + "BCC", + "FCC", + "TET", + "MCL", + "ORC", + "ORCC", + "ORCF", + "ORCI", + "HEX", + "BCT", + "TRI", + "MCLC", + "RHL" + ] + }, + "units": { + "type": "object", + "properties": { + "length": { + "type": "string", + "enum": [ + "angstrom", + "bohr" + ] + }, + "angle": { + "type": "string", + "enum": [ + "degree", + "radian" + ] + } + } + }, + "a": { + "description": "length of the first lattice vector", + "type": "number" + }, + "b": { + "description": "length of the second lattice vector", + "type": "number" + }, + "c": { + "description": "length of the third lattice vector", + "type": "number" + }, + "alpha": { + "description": "angle between first and second lattice vector", + "type": "number" + }, + "beta": { + "description": "angle between second and third lattice vector", + "type": "number" + }, + "gamma": { + "description": "angle between first and third lattice vector", + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/lattice/lattice-bravais.json b/docs/js/schema/properties_directory/structural/lattice/lattice-bravais.json new file mode 100644 index 000000000..4e467f9d1 --- /dev/null +++ b/docs/js/schema/properties_directory/structural/lattice/lattice-bravais.json @@ -0,0 +1,82 @@ +{ + "$id": "properties-directory/structural/lattice/lattice-bravais", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "lattice implicit schema", + "required": [ + "a", + "alpha", + "b", + "beta", + "c", + "gamma", + "type" + ], + "type": "object", + "properties": { + "type": { + "$id": "properties-directory/structural/lattice/type-enum", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "lattice type schema", + "type": "string", + "enum": [ + "CUB", + "BCC", + "FCC", + "TET", + "MCL", + "ORC", + "ORCC", + "ORCF", + "ORCI", + "HEX", + "BCT", + "TRI", + "MCLC", + "RHL" + ] + }, + "units": { + "type": "object", + "properties": { + "length": { + "type": "string", + "enum": [ + "angstrom", + "bohr" + ] + }, + "angle": { + "type": "string", + "enum": [ + "degree", + "radian" + ] + } + } + }, + "a": { + "description": "length of the first lattice vector", + "type": "number" + }, + "b": { + "description": "length of the second lattice vector", + "type": "number" + }, + "c": { + "description": "length of the third lattice vector", + "type": "number" + }, + "alpha": { + "description": "angle between first and second lattice vector", + "type": "number" + }, + "beta": { + "description": "angle between second and third lattice vector", + "type": "number" + }, + "gamma": { + "description": "angle between first and third lattice vector", + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/lattice/lattice-vectors.json b/docs/js/schema/properties_directory/structural/lattice/lattice-vectors.json new file mode 100644 index 000000000..95b6fcb70 --- /dev/null +++ b/docs/js/schema/properties_directory/structural/lattice/lattice-vectors.json @@ -0,0 +1,66 @@ +{ + "$id": "properties-directory/structural/lattice/lattice-vectors", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "lattice explicit unit", + "type": "object", + "required": [ + "a", + "b", + "c" + ], + "properties": { + "alat": { + "description": "lattice parameter for fractional coordinates", + "type": "number", + "default": 1 + }, + "units": { + "enum": [ + "km", + "m", + "pm", + "nm", + "angstrom", + "a.u.", + "bohr", + "fractional", + "crystal", + "cartesian", + "alat" + ] + }, + "a": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "b": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + }, + "c": { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/lattice/type-enum.json b/docs/js/schema/properties_directory/structural/lattice/type-enum.json new file mode 100644 index 000000000..a12f60692 --- /dev/null +++ b/docs/js/schema/properties_directory/structural/lattice/type-enum.json @@ -0,0 +1,22 @@ +{ + "$id": "properties-directory/structural/lattice/type-enum", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "lattice type schema", + "type": "string", + "enum": [ + "CUB", + "BCC", + "FCC", + "TET", + "MCL", + "ORC", + "ORCC", + "ORCF", + "ORCI", + "HEX", + "BCT", + "TRI", + "MCLC", + "RHL" + ] +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/lattice/type-extended-enum.json b/docs/js/schema/properties_directory/structural/lattice/type-extended-enum.json new file mode 100644 index 000000000..3ab0ffbff --- /dev/null +++ b/docs/js/schema/properties_directory/structural/lattice/type-extended-enum.json @@ -0,0 +1,32 @@ +{ + "$id": "properties-directory/structural/lattice/type-extended-enum", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "lattice type extended schema", + "type": "string", + "enum": [ + "BCC", + "BCT-1", + "BCT-2", + "CUB", + "FCC", + "HEX", + "MCL", + "MCLC-1", + "MCLC-2", + "MCLC-3", + "MCLC-4", + "MCLC-5", + "ORC", + "ORCC", + "ORCF-1", + "ORCF-2", + "ORCF-3", + "ORCI", + "RHL-1", + "RHL-2", + "TET", + "TRI_1a", + "TRI_2a", + "TRI_1b" + ] +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/magnetic-moments.json b/docs/js/schema/properties_directory/structural/magnetic-moments.json new file mode 100644 index 000000000..57adeb885 --- /dev/null +++ b/docs/js/schema/properties_directory/structural/magnetic-moments.json @@ -0,0 +1,64 @@ +{ + "$id": "properties-directory/structural/magnetic-moments", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "magnetic moments", + "description": "magnetization on each ion", + "properties": { + "name": { + "enum": [ + "magnetic_moments" + ] + }, + "values": { + "$id": "core/reusable/atomic-vectors", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic vectors schema", + "description": "array of objects containing integer id each", + "type": "array", + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "value": { + "$id": "core/abstract/vector", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "vector schema", + "oneOf": [ + { + "$id": "core/primitive/array-of-3-numbers", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 number elements schema", + "type": "array", + "items": { + "type": "number" + }, + "minItems": 3, + "maxItems": 3 + }, + { + "$id": "core/primitive/array-of-3-booleans", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "array of 3 boolean elements schema", + "type": "array", + "items": { + "type": "boolean" + }, + "minItems": 3, + "maxItems": 3 + } + ] + }, + "id": { + "description": "integer id of this entry", + "type": "integer" + } + } + } + }, + "units": { + "enum": [ + "uB" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/molecular-pattern.json b/docs/js/schema/properties_directory/structural/molecular-pattern.json new file mode 100644 index 000000000..0f9238b0a --- /dev/null +++ b/docs/js/schema/properties_directory/structural/molecular-pattern.json @@ -0,0 +1,120 @@ +{ + "$id": "properties-directory/structural/molecular-pattern", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "molecular pattern schema", + "type": "array", + "items": { + "anyOf": [ + { + "$id": "properties-directory/structural/patterns/functional-group", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "functional group pattern schema", + "type": "object", + "properties": { + "name": { + "enum": [ + "functional_group" + ] + }, + "atoms": { + "$id": "core/primitive/array-of-ids", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic ids", + "description": "array of objects containing integer id each", + "type": "array", + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "isConnector": { + "description": "whether atom connects to atoms outside of functional group.", + "type": "boolean" + }, + "id": { + "description": "integer id of this entry", + "type": "integer" + } + } + } + }, + "SMARTS": { + "description": "SMARTS string for classification of FG; https://en.wikipedia.org/wiki/SMILES_arbitrary_target_specification", + "type": "string" + } + } + }, + { + "$id": "properties-directory/structural/patterns/ring", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ring pattern schema", + "type": "object", + "properties": { + "name": { + "enum": [ + "ring" + ] + }, + "atoms": { + "$id": "core/primitive/array-of-ids", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic ids", + "description": "array of objects containing integer id each", + "type": "array", + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "isConnector": { + "description": "whether atom connects to atoms outside of functional group.", + "type": "boolean" + }, + "id": { + "description": "integer id of this entry", + "type": "integer" + } + } + } + }, + "isAromatic": { + "type": "boolean" + } + } + }, + { + "$id": "properties-directory/structural/patterns/special-bond", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "special bond pattern schema", + "type": "object", + "description": "Any bonding interaction that cannot be described by simple 2-atom picture, e.g. 3-center-2-electron bond in diborane", + "properties": { + "name": { + "enum": [ + "special_bond" + ] + }, + "atoms": { + "$id": "core/primitive/array-of-ids", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic ids", + "description": "array of objects containing integer id each", + "type": "array", + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "isConnector": { + "description": "whether atom connects to atoms outside of functional group.", + "type": "boolean" + }, + "id": { + "description": "integer id of this entry", + "type": "integer" + } + } + } + } + } + } + ] + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/p-norm.json b/docs/js/schema/properties_directory/structural/p-norm.json new file mode 100644 index 000000000..bf590e96f --- /dev/null +++ b/docs/js/schema/properties_directory/structural/p-norm.json @@ -0,0 +1,24 @@ +{ + "$id": "properties-directory/structural/p-norm", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "p_norm", + "description": "https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "p-norm" + ] + }, + "degree": { + "type": "integer", + "description": "degree of the dimensionality of the norm" + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/patterns/functional-group.json b/docs/js/schema/properties_directory/structural/patterns/functional-group.json new file mode 100644 index 000000000..50120d188 --- /dev/null +++ b/docs/js/schema/properties_directory/structural/patterns/functional-group.json @@ -0,0 +1,38 @@ +{ + "$id": "properties-directory/structural/patterns/functional-group", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "functional group pattern schema", + "type": "object", + "properties": { + "name": { + "enum": [ + "functional_group" + ] + }, + "atoms": { + "$id": "core/primitive/array-of-ids", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic ids", + "description": "array of objects containing integer id each", + "type": "array", + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "isConnector": { + "description": "whether atom connects to atoms outside of functional group.", + "type": "boolean" + }, + "id": { + "description": "integer id of this entry", + "type": "integer" + } + } + } + }, + "SMARTS": { + "description": "SMARTS string for classification of FG; https://en.wikipedia.org/wiki/SMILES_arbitrary_target_specification", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/patterns/ring.json b/docs/js/schema/properties_directory/structural/patterns/ring.json new file mode 100644 index 000000000..961ac5c07 --- /dev/null +++ b/docs/js/schema/properties_directory/structural/patterns/ring.json @@ -0,0 +1,37 @@ +{ + "$id": "properties-directory/structural/patterns/ring", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ring pattern schema", + "type": "object", + "properties": { + "name": { + "enum": [ + "ring" + ] + }, + "atoms": { + "$id": "core/primitive/array-of-ids", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic ids", + "description": "array of objects containing integer id each", + "type": "array", + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "isConnector": { + "description": "whether atom connects to atoms outside of functional group.", + "type": "boolean" + }, + "id": { + "description": "integer id of this entry", + "type": "integer" + } + } + } + }, + "isAromatic": { + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/patterns/special-bond.json b/docs/js/schema/properties_directory/structural/patterns/special-bond.json new file mode 100644 index 000000000..f18f8dbe0 --- /dev/null +++ b/docs/js/schema/properties_directory/structural/patterns/special-bond.json @@ -0,0 +1,35 @@ +{ + "$id": "properties-directory/structural/patterns/special-bond", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "special bond pattern schema", + "type": "object", + "description": "Any bonding interaction that cannot be described by simple 2-atom picture, e.g. 3-center-2-electron bond in diborane", + "properties": { + "name": { + "enum": [ + "special_bond" + ] + }, + "atoms": { + "$id": "core/primitive/array-of-ids", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "atomic ids", + "description": "array of objects containing integer id each", + "type": "array", + "items": { + "type": "object", + "uniqueItems": true, + "properties": { + "isConnector": { + "description": "whether atom connects to atoms outside of functional group.", + "type": "boolean" + }, + "id": { + "description": "integer id of this entry", + "type": "integer" + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/symmetry.json b/docs/js/schema/properties_directory/structural/symmetry.json new file mode 100644 index 000000000..38a76de64 --- /dev/null +++ b/docs/js/schema/properties_directory/structural/symmetry.json @@ -0,0 +1,40 @@ +{ + "$id": "properties-directory/structural/symmetry", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "symmetry schema", + "properties": { + "pointGroupSymbol": { + "description": "point group symbol in Schoenflies notation", + "type": "string" + }, + "spaceGroupSymbol": { + "description": "space group symbol in Hermann–Mauguin notation", + "type": "string" + }, + "tolerance": { + "description": "tolerance used for symmetry calculation", + "$id": "core/primitive/scalar", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scalar schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "units": { + "enum": [ + "angstrom" + ] + }, + "value": { + "type": "number" + } + } + }, + "name": { + "enum": [ + "symmetry" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/structural/volume.json b/docs/js/schema/properties_directory/structural/volume.json new file mode 100644 index 000000000..deec089bc --- /dev/null +++ b/docs/js/schema/properties_directory/structural/volume.json @@ -0,0 +1,24 @@ +{ + "$id": "properties-directory/structural/volume", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "volume schema", + "type": "object", + "required": [ + "value" + ], + "properties": { + "name": { + "enum": [ + "volume" + ] + }, + "units": { + "enum": [ + "angstrom^3" + ] + }, + "value": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/workflow/convergence/electronic.json b/docs/js/schema/properties_directory/workflow/convergence/electronic.json new file mode 100644 index 000000000..a379fbaf8 --- /dev/null +++ b/docs/js/schema/properties_directory/workflow/convergence/electronic.json @@ -0,0 +1,31 @@ +{ + "$id": "properties-directory/workflow/convergence/electronic", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "electronic self consistency convergence schema", + "required": [ + "data" + ], + "properties": { + "name": { + "enum": [ + "convergence_electronic" + ] + }, + "units": { + "enum": [ + "eV", + "rydberg", + "hartree" + ] + }, + "data": { + "type": "array", + "items": { + "type": "array", + "items": { + "type": "number" + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/workflow/convergence/ionic.json b/docs/js/schema/properties_directory/workflow/convergence/ionic.json new file mode 100644 index 000000000..c9b15bbcb --- /dev/null +++ b/docs/js/schema/properties_directory/workflow/convergence/ionic.json @@ -0,0 +1,60 @@ +{ + "$id": "properties-directory/workflow/convergence/ionic", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "ionic convergence schema", + "required": [ + "data" + ], + "properties": { + "name": { + "enum": [ + "convergence_ionic" + ] + }, + "tolerance": { + "description": "for ionic convergence tolerance shows force tolerance" + }, + "units": { + "description": "units for force tolerance", + "enum": [ + "eV" + ] + }, + "data": { + "description": "energetic and structural information", + "items": { + "type": "object", + "properties": { + "energy": { + "description": "converged electronic energy for this structure (last in `electronic`)", + "type": "number" + }, + "structure": { + "description": "TODO: structural information at each step to be here", + "type": "object" + }, + "electronic": { + "description": "data about electronic at this ionic step", + "type": "object", + "properties": { + "units": { + "description": "units for force tolerance", + "enum": [ + "eV", + "rydberg", + "hartree" + ] + }, + "data": { + "type": "array", + "items": { + "type": "number" + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/properties_directory/workflow/convergence/kpoint.json b/docs/js/schema/properties_directory/workflow/convergence/kpoint.json new file mode 100644 index 000000000..b2ed3c442 --- /dev/null +++ b/docs/js/schema/properties_directory/workflow/convergence/kpoint.json @@ -0,0 +1,46 @@ +{ + "$id": "properties-directory/workflow/convergence/kpoint", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "convergence schema for converging a property wrt kpoints", + "required": [ + "tolerance", + "units", + "data" + ], + "properties": { + "tolerance": { + "description": "tolerance for the property under investigation" + }, + "units": { + "description": "units for the property under investigation", + "type": "string" + }, + "property": { + "description": "name of the property under investigation", + "type": "string" + }, + "data": { + "description": "kpoint grid and property information", + "items": { + "type": "object", + "required": [ + "value", + "grid" + ], + "properties": { + "value": { + "description": "value of the property at this step" + }, + "grid": { + "description": "information about the kpoint grid", + "type": "object" + }, + "spacing": { + "description": "optional kpoint spacing information", + "type": "number" + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/property/base.json b/docs/js/schema/property/base.json new file mode 100644 index 000000000..2b7d297c9 --- /dev/null +++ b/docs/js/schema/property/base.json @@ -0,0 +1,392 @@ +{ + "$id": "property/base", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Schema of base material's preliminary property", + "required": [ + "data", + "source" + ], + "properties": { + "slug": { + "description": "property slug, e.g. total_energy", + "type": "string" + }, + "group": { + "description": "property group, e.g. qe:dft:gga:pbe", + "type": "string" + }, + "data": { + "description": "container of the information, specific to each property", + "type": "object" + }, + "source": { + "$id": "property/source", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "The source of a property. This could be an article, a simulation on Exabyte, an external simulation, etc.", + "type": "object", + "properties": { + "type": { + "description": "Type of the material property's source.", + "type": "string" + }, + "url": { + "description": "Internet address of the reference.", + "type": "string" + }, + "info": { + "oneOf": [ + { + "$id": "core/reference/exabyte", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "materialId": { + "description": "Material's identity. Used for protoProperties.", + "type": "string" + }, + "jobId": { + "description": "Job's identity", + "type": "string" + }, + "unitId": { + "description": "Id of the unit that extracted the result", + "type": "string" + } + } + }, + { + "$id": "core/reference/experiment", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "info for characteristic obtained by experiment", + "properties": { + "type": { + "enum": [ + "experiment" + ] + }, + "authors": { + "description": "experiment authors", + "type": "array", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "title": { + "type": "string", + "description": "experiment title" + }, + "method": { + "type": "string", + "description": "method used in experiment" + }, + "conditions": { + "type": "array", + "items": { + "$id": "core/reference/experiment/condition", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "condition schema", + "required": [ + "name" + ], + "properties": { + "units": { + "description": "condition unit", + "type": "string" + }, + "scalar": { + "description": "array of condition values", + "type": "array", + "items": { + "properties": { + "value": { + "type": "string" + } + } + } + }, + "name": { + "description": "human-readable name of the condition", + "type": "string" + } + } + } + }, + "location": { + "$id": "core/reference/experiment/location", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "location schema", + "required": [ + "latitude", + "longitude" + ], + "properties": { + "latitude": { + "description": "location latitude", + "type": "number" + }, + "longitude": { + "description": "location longitude", + "type": "number" + } + } + }, + "timestamp": { + "description": "epoch time.", + "type": "number" + }, + "note": { + "description": "Note about experiment", + "type": "string" + }, + "references": { + "type": "array", + "description": "references to literature articles", + "items": { + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } + } + } + }, + "required": [ + "conditions", + "authors", + "title", + "method", + "timestamp" + ] + } + ] + } + } + }, + "exabyteId": { + "description": "Id of the corresponding item in the entity bank that this property is obtained for", + "type": "array", + "items": { + "type": "string" + } + }, + "precision": { + "type": "object" + }, + "count": { + "description": "total number of properties among which this property is the best.", + "type": "number" + }, + "systemTags": { + "description": "property system tags, marks property system characteristics, values refined or best (could be both)", + "type": "array", + "items": { + "type": "string", + "enum": [ + "isRefined", + "isBest" + ] + } + }, + "_id": { + "description": "entity identity", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/property/meta.json b/docs/js/schema/property/meta.json new file mode 100644 index 000000000..b0f1b5405 --- /dev/null +++ b/docs/js/schema/property/meta.json @@ -0,0 +1,392 @@ +{ + "$id": "property/meta", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Schema of material's meta properties", + "required": [ + "data", + "source" + ], + "properties": { + "slug": { + "description": "property slug, e.g. total_energy", + "type": "string" + }, + "group": { + "description": "property group, e.g. qe:dft:gga:pbe", + "type": "string" + }, + "data": { + "description": "container of the information, specific to each property", + "type": "object" + }, + "source": { + "$id": "property/source", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "The source of a property. This could be an article, a simulation on Exabyte, an external simulation, etc.", + "type": "object", + "properties": { + "type": { + "description": "Type of the material property's source.", + "type": "string" + }, + "url": { + "description": "Internet address of the reference.", + "type": "string" + }, + "info": { + "oneOf": [ + { + "$id": "core/reference/exabyte", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "materialId": { + "description": "Material's identity. Used for protoProperties.", + "type": "string" + }, + "jobId": { + "description": "Job's identity", + "type": "string" + }, + "unitId": { + "description": "Id of the unit that extracted the result", + "type": "string" + } + } + }, + { + "$id": "core/reference/experiment", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "info for characteristic obtained by experiment", + "properties": { + "type": { + "enum": [ + "experiment" + ] + }, + "authors": { + "description": "experiment authors", + "type": "array", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "title": { + "type": "string", + "description": "experiment title" + }, + "method": { + "type": "string", + "description": "method used in experiment" + }, + "conditions": { + "type": "array", + "items": { + "$id": "core/reference/experiment/condition", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "condition schema", + "required": [ + "name" + ], + "properties": { + "units": { + "description": "condition unit", + "type": "string" + }, + "scalar": { + "description": "array of condition values", + "type": "array", + "items": { + "properties": { + "value": { + "type": "string" + } + } + } + }, + "name": { + "description": "human-readable name of the condition", + "type": "string" + } + } + } + }, + "location": { + "$id": "core/reference/experiment/location", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "location schema", + "required": [ + "latitude", + "longitude" + ], + "properties": { + "latitude": { + "description": "location latitude", + "type": "number" + }, + "longitude": { + "description": "location longitude", + "type": "number" + } + } + }, + "timestamp": { + "description": "epoch time.", + "type": "number" + }, + "note": { + "description": "Note about experiment", + "type": "string" + }, + "references": { + "type": "array", + "description": "references to literature articles", + "items": { + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } + } + } + }, + "required": [ + "conditions", + "authors", + "title", + "method", + "timestamp" + ] + } + ] + } + } + }, + "exabyteId": { + "description": "Id of the corresponding item in the entity bank that this property is obtained for", + "type": "array", + "items": { + "type": "string" + } + }, + "precision": { + "type": "object" + }, + "count": { + "description": "total number of properties among which this property is the best.", + "type": "number" + }, + "systemTags": { + "description": "property system tags, marks property system characteristics, values refined or best (could be both)", + "type": "array", + "items": { + "type": "string", + "enum": [ + "isRefined", + "isBest" + ] + } + }, + "_id": { + "description": "entity identity", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/property/raw.json b/docs/js/schema/property/raw.json new file mode 100644 index 000000000..0739b8814 --- /dev/null +++ b/docs/js/schema/property/raw.json @@ -0,0 +1,392 @@ +{ + "$id": "property/raw", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Schema of material's preliminary property", + "required": [ + "data", + "source" + ], + "properties": { + "slug": { + "description": "property slug, e.g. total_energy", + "type": "string" + }, + "group": { + "description": "property group, e.g. qe:dft:gga:pbe", + "type": "string" + }, + "data": { + "description": "container of the information, specific to each property", + "type": "object" + }, + "source": { + "$id": "property/source", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "The source of a property. This could be an article, a simulation on Exabyte, an external simulation, etc.", + "type": "object", + "properties": { + "type": { + "description": "Type of the material property's source.", + "type": "string" + }, + "url": { + "description": "Internet address of the reference.", + "type": "string" + }, + "info": { + "oneOf": [ + { + "$id": "core/reference/exabyte", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "materialId": { + "description": "Material's identity. Used for protoProperties.", + "type": "string" + }, + "jobId": { + "description": "Job's identity", + "type": "string" + }, + "unitId": { + "description": "Id of the unit that extracted the result", + "type": "string" + } + } + }, + { + "$id": "core/reference/experiment", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "info for characteristic obtained by experiment", + "properties": { + "type": { + "enum": [ + "experiment" + ] + }, + "authors": { + "description": "experiment authors", + "type": "array", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "title": { + "type": "string", + "description": "experiment title" + }, + "method": { + "type": "string", + "description": "method used in experiment" + }, + "conditions": { + "type": "array", + "items": { + "$id": "core/reference/experiment/condition", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "condition schema", + "required": [ + "name" + ], + "properties": { + "units": { + "description": "condition unit", + "type": "string" + }, + "scalar": { + "description": "array of condition values", + "type": "array", + "items": { + "properties": { + "value": { + "type": "string" + } + } + } + }, + "name": { + "description": "human-readable name of the condition", + "type": "string" + } + } + } + }, + "location": { + "$id": "core/reference/experiment/location", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "location schema", + "required": [ + "latitude", + "longitude" + ], + "properties": { + "latitude": { + "description": "location latitude", + "type": "number" + }, + "longitude": { + "description": "location longitude", + "type": "number" + } + } + }, + "timestamp": { + "description": "epoch time.", + "type": "number" + }, + "note": { + "description": "Note about experiment", + "type": "string" + }, + "references": { + "type": "array", + "description": "references to literature articles", + "items": { + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } + } + } + }, + "required": [ + "conditions", + "authors", + "title", + "method", + "timestamp" + ] + } + ] + } + } + }, + "exabyteId": { + "description": "Id of the corresponding item in the entity bank that this property is obtained for", + "type": "array", + "items": { + "type": "string" + } + }, + "precision": { + "type": "object" + }, + "count": { + "description": "total number of properties among which this property is the best.", + "type": "number" + }, + "systemTags": { + "description": "property system tags, marks property system characteristics, values refined or best (could be both)", + "type": "array", + "items": { + "type": "string", + "enum": [ + "isRefined", + "isBest" + ] + } + }, + "_id": { + "description": "entity identity", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/property/source.json b/docs/js/schema/property/source.json new file mode 100644 index 000000000..23f86ef45 --- /dev/null +++ b/docs/js/schema/property/source.json @@ -0,0 +1,290 @@ +{ + "$id": "property/source", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "The source of a property. This could be an article, a simulation on Exabyte, an external simulation, etc.", + "type": "object", + "properties": { + "type": { + "description": "Type of the material property's source.", + "type": "string" + }, + "url": { + "description": "Internet address of the reference.", + "type": "string" + }, + "info": { + "oneOf": [ + { + "$id": "core/reference/exabyte", + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "properties": { + "materialId": { + "description": "Material's identity. Used for protoProperties.", + "type": "string" + }, + "jobId": { + "description": "Job's identity", + "type": "string" + }, + "unitId": { + "description": "Id of the unit that extracted the result", + "type": "string" + } + } + }, + { + "$id": "core/reference/experiment", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "info for characteristic obtained by experiment", + "properties": { + "type": { + "enum": [ + "experiment" + ] + }, + "authors": { + "description": "experiment authors", + "type": "array", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "title": { + "type": "string", + "description": "experiment title" + }, + "method": { + "type": "string", + "description": "method used in experiment" + }, + "conditions": { + "type": "array", + "items": { + "$id": "core/reference/experiment/condition", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "condition schema", + "required": [ + "name" + ], + "properties": { + "units": { + "description": "condition unit", + "type": "string" + }, + "scalar": { + "description": "array of condition values", + "type": "array", + "items": { + "properties": { + "value": { + "type": "string" + } + } + } + }, + "name": { + "description": "human-readable name of the condition", + "type": "string" + } + } + } + }, + "location": { + "$id": "core/reference/experiment/location", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "location schema", + "required": [ + "latitude", + "longitude" + ], + "properties": { + "latitude": { + "description": "location latitude", + "type": "number" + }, + "longitude": { + "description": "location longitude", + "type": "number" + } + } + }, + "timestamp": { + "description": "epoch time.", + "type": "number" + }, + "note": { + "description": "Note about experiment", + "type": "string" + }, + "references": { + "type": "array", + "description": "references to literature articles", + "items": { + "$id": "core/reference/literature", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "literature reference schema", + "properties": { + "type": { + "enum": [ + "literature" + ] + }, + "doi": { + "type": "string", + "description": "Digital Object Identifier of the reference." + }, + "isbn": { + "type": "string", + "description": "International Standard Book Number of the reference." + }, + "issn": { + "type": "string", + "description": "International Standard Serial Number of the reference." + }, + "url": { + "type": "string", + "description": "Internet address of the reference." + }, + "title": { + "type": "string", + "description": "Title of the work." + }, + "publisher": { + "type": "string", + "description": "Publisher of the work." + }, + "journal": { + "type": "string", + "description": "Journal in which the work appeared." + }, + "volume": { + "type": "string", + "description": "Volume of the series in which the work appeared." + }, + "year": { + "type": "string", + "description": "Year in which the reference was published." + }, + "issue": { + "type": "string", + "description": "Issue of the collection in which the work appeared." + }, + "pages": { + "type": "object", + "description": "Start and end pages of the work.", + "$id": "core/reference/literature/pages", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "pages schema", + "required": [ + "start" + ], + "properties": { + "start": { + "type": "string" + }, + "end": { + "type": "string" + } + } + }, + "authors": { + "type": "array", + "description": "List of authors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "editors": { + "type": "array", + "description": "List of editors of the work.", + "items": { + "$id": "core/reference/literature/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "experiment author schema", + "type": "object", + "required": [ + "first", + "last" + ], + "properties": { + "first": { + "type": "string" + }, + "middle": { + "type": "string" + }, + "last": { + "type": "string" + }, + "affiliation": { + "type": "string" + } + } + } + }, + "reference": { + "type": "array", + "description": "References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.", + "items": { + "type": "object" + } + } + } + } + } + }, + "required": [ + "conditions", + "authors", + "title", + "method", + "timestamp" + ] + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software/application.json b/docs/js/schema/software/application.json new file mode 100644 index 000000000..15fbcc8cb --- /dev/null +++ b/docs/js/schema/software/application.json @@ -0,0 +1,40 @@ +{ + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software/executable.json b/docs/js/schema/software/executable.json new file mode 100644 index 000000000..4ba9fce31 --- /dev/null +++ b/docs/js/schema/software/executable.json @@ -0,0 +1,159 @@ +{ + "$id": "software/executable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "name", + "applicationId" + ], + "properties": { + "name": { + "description": "The name of the executable. e.g. pw.x", + "type": "string" + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software/flavor.json b/docs/js/schema/software/flavor.json new file mode 100644 index 000000000..65ed5e87a --- /dev/null +++ b/docs/js/schema/software/flavor.json @@ -0,0 +1,185 @@ +{ + "$id": "software/flavor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "name", + "executableId" + ], + "properties": { + "name": { + "description": "The name of the executable flavor. e.g. `pw_scf`", + "type": "string" + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "required": [ + "templateId" + ], + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } + } + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software/template.json b/docs/js/schema/software/template.json new file mode 100644 index 000000000..b0f6021e5 --- /dev/null +++ b/docs/js/schema/software/template.json @@ -0,0 +1,47 @@ +{ + "$id": "software/template", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "template schema", + "type": "object", + "required": [ + "name", + "content" + ], + "properties": { + "applicationName": { + "type": "string" + }, + "applicationVersion": { + "type": "string" + }, + "executableName": { + "type": "string" + }, + "contextProviders": { + "type": "array", + "items": { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } + } + }, + "name": { + "description": "Input file name. e.g. pw_scf.in", + "type": "string" + }, + "content": { + "description": "Content of the input file. e.g. &CONTROL calculation='scf' ...", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/ml/exabyteml.json b/docs/js/schema/software_directory/ml/exabyteml.json new file mode 100644 index 000000000..696c675f6 --- /dev/null +++ b/docs/js/schema/software_directory/ml/exabyteml.json @@ -0,0 +1,23 @@ +{ + "$id": "software-directory/ml/exabyteml", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "exabyte machine learning engine schema", + "type": "object", + "properties": { + "name": { + "enum": [ + "exabyteml" + ] + }, + "summary": { + "enum": [ + "exabyte machine learning engine" + ] + }, + "version": { + "enum": [ + "0.2.0" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/ml/unit/execution.json b/docs/js/schema/software_directory/ml/unit/execution.json new file mode 100644 index 000000000..e5f500f5d --- /dev/null +++ b/docs/js/schema/software_directory/ml/unit/execution.json @@ -0,0 +1,2644 @@ +{ + "$id": "software-directory/ml/unit/execution", + "oneOf": [ + { + "$id": "software-directory/ml/unit/execution/evaluate/cross-validate", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "cross-validation unit schema", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "type" + ], + "additionalProperties": true, + "properties": { + "input": { + "description": "TODO: consider keeping executable `evaluate` and flavor `cross-validate` as before", + "type": "object", + "required": [ + "nSplits" + ], + "properties": { + "nSplits": { + "description": "number of groups to split the training dataset for cross-validation", + "type": "number" + } + } + }, + "type": { + "enum": [ + "execution" + ], + "description": "type of the unit", + "type": "string" + }, + "application": { + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$id": "software/executable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "name", + "applicationId" + ], + "properties": { + "name": { + "description": "The name of the executable. e.g. pw.x", + "type": "string" + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "flavor": { + "$id": "software/flavor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "name", + "executableId" + ], + "properties": { + "name": { + "description": "The name of the executable flavor. e.g. `pw_scf`", + "type": "string" + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "required": [ + "templateId" + ], + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } + } + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "software-directory/ml/unit/execution/train", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "train unit schema", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "type" + ], + "additionalProperties": true, + "properties": { + "input": { + "description": "model train unit (NOTE: info about method, eg. regression/linear is taken from (sub)workflow)", + "type": "object", + "required": [ + "features", + "targets" + ], + "properties": { + "features": { + "description": "material features used for model fitting", + "type": "array", + "items": { + "description": "material features (properties) in a 'flattened' format", + "type": "string" + } + }, + "targets": { + "description": "target properties to train for", + "type": "array", + "items": { + "description": "material features (properties) in a 'flattened' format", + "type": "string" + } + } + } + }, + "type": { + "enum": [ + "execution" + ], + "description": "type of the unit", + "type": "string" + }, + "application": { + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$id": "software/executable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "name", + "applicationId" + ], + "properties": { + "name": { + "description": "The name of the executable. e.g. pw.x", + "type": "string" + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "flavor": { + "$id": "software/flavor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "name", + "executableId" + ], + "properties": { + "name": { + "description": "The name of the executable flavor. e.g. `pw_scf`", + "type": "string" + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "required": [ + "templateId" + ], + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } + } + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "software-directory/ml/unit/execution/score", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "train score schema", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "type" + ], + "additionalProperties": true, + "properties": { + "input": { + "description": "unit input (type to be specified by the application's execution unit)" + }, + "type": { + "enum": [ + "execution" + ], + "description": "type of the unit", + "type": "string" + }, + "application": { + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$id": "software/executable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "name", + "applicationId" + ], + "properties": { + "name": { + "description": "The name of the executable. e.g. pw.x", + "type": "string" + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "flavor": { + "$id": "software/flavor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "name", + "executableId" + ], + "properties": { + "name": { + "description": "The name of the executable flavor. e.g. `pw_scf`", + "type": "string" + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "required": [ + "templateId" + ], + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } + } + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "software-directory/ml/unit/execution/initialize", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "initialize unit schema", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "type" + ], + "additionalProperties": true, + "properties": { + "input": { + "description": "model init unit (NOTE: info about method, eg. regression/linear is taken from (sub)workflow)", + "type": "object", + "required": [ + "targets" + ], + "properties": { + "targets": { + "description": "target properties to predict (NOTE: must be a subset of targets for which training was done)", + "type": "array", + "items": { + "description": "material features (properties) in a 'flattened' format", + "type": "string" + } + } + } + }, + "type": { + "enum": [ + "execution" + ], + "description": "type of the unit", + "type": "string" + }, + "application": { + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$id": "software/executable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "name", + "applicationId" + ], + "properties": { + "name": { + "description": "The name of the executable. e.g. pw.x", + "type": "string" + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "flavor": { + "$id": "software/flavor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "name", + "executableId" + ], + "properties": { + "name": { + "description": "The name of the executable flavor. e.g. `pw_scf`", + "type": "string" + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "required": [ + "templateId" + ], + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } + } + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + } + ] +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/ml/unit/execution/evaluate/cross-validate.json b/docs/js/schema/software_directory/ml/unit/execution/evaluate/cross-validate.json new file mode 100644 index 000000000..c4f007d6e --- /dev/null +++ b/docs/js/schema/software_directory/ml/unit/execution/evaluate/cross-validate.json @@ -0,0 +1,658 @@ +{ + "$id": "software-directory/ml/unit/execution/evaluate/cross-validate", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "cross-validation unit schema", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "type" + ], + "additionalProperties": true, + "properties": { + "input": { + "description": "TODO: consider keeping executable `evaluate` and flavor `cross-validate` as before", + "type": "object", + "required": [ + "nSplits" + ], + "properties": { + "nSplits": { + "description": "number of groups to split the training dataset for cross-validation", + "type": "number" + } + } + }, + "type": { + "enum": [ + "execution" + ], + "description": "type of the unit", + "type": "string" + }, + "application": { + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$id": "software/executable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "name", + "applicationId" + ], + "properties": { + "name": { + "description": "The name of the executable. e.g. pw.x", + "type": "string" + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "flavor": { + "$id": "software/flavor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "name", + "executableId" + ], + "properties": { + "name": { + "description": "The name of the executable flavor. e.g. `pw_scf`", + "type": "string" + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "required": [ + "templateId" + ], + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } + } + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/ml/unit/execution/initialize.json b/docs/js/schema/software_directory/ml/unit/execution/initialize.json new file mode 100644 index 000000000..95af9e90e --- /dev/null +++ b/docs/js/schema/software_directory/ml/unit/execution/initialize.json @@ -0,0 +1,662 @@ +{ + "$id": "software-directory/ml/unit/execution/initialize", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "initialize unit schema", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "type" + ], + "additionalProperties": true, + "properties": { + "input": { + "description": "model init unit (NOTE: info about method, eg. regression/linear is taken from (sub)workflow)", + "type": "object", + "required": [ + "targets" + ], + "properties": { + "targets": { + "description": "target properties to predict (NOTE: must be a subset of targets for which training was done)", + "type": "array", + "items": { + "description": "material features (properties) in a 'flattened' format", + "type": "string" + } + } + } + }, + "type": { + "enum": [ + "execution" + ], + "description": "type of the unit", + "type": "string" + }, + "application": { + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$id": "software/executable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "name", + "applicationId" + ], + "properties": { + "name": { + "description": "The name of the executable. e.g. pw.x", + "type": "string" + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "flavor": { + "$id": "software/flavor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "name", + "executableId" + ], + "properties": { + "name": { + "description": "The name of the executable flavor. e.g. `pw_scf`", + "type": "string" + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "required": [ + "templateId" + ], + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } + } + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/ml/unit/execution/score.json b/docs/js/schema/software_directory/ml/unit/execution/score.json new file mode 100644 index 000000000..db3092c00 --- /dev/null +++ b/docs/js/schema/software_directory/ml/unit/execution/score.json @@ -0,0 +1,648 @@ +{ + "$id": "software-directory/ml/unit/execution/score", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "train score schema", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "type" + ], + "additionalProperties": true, + "properties": { + "input": { + "description": "unit input (type to be specified by the application's execution unit)" + }, + "type": { + "enum": [ + "execution" + ], + "description": "type of the unit", + "type": "string" + }, + "application": { + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$id": "software/executable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "name", + "applicationId" + ], + "properties": { + "name": { + "description": "The name of the executable. e.g. pw.x", + "type": "string" + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "flavor": { + "$id": "software/flavor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "name", + "executableId" + ], + "properties": { + "name": { + "description": "The name of the executable flavor. e.g. `pw_scf`", + "type": "string" + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "required": [ + "templateId" + ], + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } + } + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/ml/unit/execution/train.json b/docs/js/schema/software_directory/ml/unit/execution/train.json new file mode 100644 index 000000000..b3bc55d26 --- /dev/null +++ b/docs/js/schema/software_directory/ml/unit/execution/train.json @@ -0,0 +1,671 @@ +{ + "$id": "software-directory/ml/unit/execution/train", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "train unit schema", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "type" + ], + "additionalProperties": true, + "properties": { + "input": { + "description": "model train unit (NOTE: info about method, eg. regression/linear is taken from (sub)workflow)", + "type": "object", + "required": [ + "features", + "targets" + ], + "properties": { + "features": { + "description": "material features used for model fitting", + "type": "array", + "items": { + "description": "material features (properties) in a 'flattened' format", + "type": "string" + } + }, + "targets": { + "description": "target properties to train for", + "type": "array", + "items": { + "description": "material features (properties) in a 'flattened' format", + "type": "string" + } + } + } + }, + "type": { + "enum": [ + "execution" + ], + "description": "type of the unit", + "type": "string" + }, + "application": { + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$id": "software/executable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "name", + "applicationId" + ], + "properties": { + "name": { + "description": "The name of the executable. e.g. pw.x", + "type": "string" + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "flavor": { + "$id": "software/flavor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "name", + "executableId" + ], + "properties": { + "name": { + "description": "The name of the executable flavor. e.g. `pw_scf`", + "type": "string" + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "required": [ + "templateId" + ], + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } + } + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/ml/unit/processing.json b/docs/js/schema/software_directory/ml/unit/processing.json new file mode 100644 index 000000000..9a7e29965 --- /dev/null +++ b/docs/js/schema/software_directory/ml/unit/processing.json @@ -0,0 +1,634 @@ +{ + "$id": "software-directory/ml/unit/processing", + "oneOf": [ + { + "$id": "software-directory/ml/unit/processing/data-transformation", + "oneOf": [ + { + "$id": "software-directory/ml/unit/processing/data-transformation/scale-and-reduce", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scale and reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "operation", + "operationType", + "type" + ], + "additionalProperties": true, + "properties": { + "operation": { + "type": "string", + "enum": [ + "data_transformation" + ], + "description": "Contains information about the operation used." + }, + "operationType": { + "type": "string", + "enum": [ + "scale_and_reduce" + ], + "description": "Contains information about the specific type of the operation used." + }, + "inputData": { + "type": "object", + "required": [ + "scaler" + ], + "description": "unit input (type to be specified by the child units)", + "properties": { + "scaler": { + "description": "type of scaler to be applied", + "type": "string", + "default": "standard_scaler", + "enum": [ + "standard_scaler" + ] + }, + "perFeature": { + "decription": "per-feature scaling data", + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "scale" + ], + "properties": { + "variance": { + "description": "variance in original training data", + "type": "number" + }, + "mean": { + "description": "mean value of the original training data", + "type": "number" + }, + "scale": { + "description": "scale multiplier for this feature/property", + "type": "number" + }, + "name": { + "description": "feature/property name in 'flattened' format", + "type": "string" + } + } + } + } + } + }, + "type": { + "enum": [ + "processing" + ], + "description": "type of the unit", + "type": "string" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + } + ] + }, + { + "$id": "software-directory/ml/unit/processing/feature-selection", + "oneOf": [ + { + "$id": "software-directory/ml/unit/processing/feature-selection/filter-based", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "filter-based feature selection unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "operation", + "operationType", + "type" + ], + "additionalProperties": true, + "properties": { + "operation": { + "type": "string", + "enum": [ + "feature_selection" + ], + "description": "Contains information about the operation used." + }, + "operationType": { + "type": "string", + "enum": [ + "filter_based" + ], + "description": "Contains information about the specific type of the operation used." + }, + "inputData": { + "type": "object", + "required": [ + "nFeatures", + "algorithm" + ], + "description": "unit input (type to be specified by the child units)", + "properties": { + "nFeatures": { + "description": "number of features to select for model training. If equal to 0, will use all available features", + "type": "number" + }, + "algorithm": { + "description": "feature selection algorithm following sklearn.feature_selection", + "type": "string", + "enum": [ + "f_regression" + ] + } + } + }, + "type": { + "enum": [ + "processing" + ], + "description": "type of the unit", + "type": "string" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + } + ] + } + ] +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/ml/unit/processing/data-transformation.json b/docs/js/schema/software_directory/ml/unit/processing/data-transformation.json new file mode 100644 index 000000000..6e4c2b66a --- /dev/null +++ b/docs/js/schema/software_directory/ml/unit/processing/data-transformation.json @@ -0,0 +1,327 @@ +{ + "$id": "software-directory/ml/unit/processing/data-transformation", + "oneOf": [ + { + "$id": "software-directory/ml/unit/processing/data-transformation/scale-and-reduce", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scale and reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "operation", + "operationType", + "type" + ], + "additionalProperties": true, + "properties": { + "operation": { + "type": "string", + "enum": [ + "data_transformation" + ], + "description": "Contains information about the operation used." + }, + "operationType": { + "type": "string", + "enum": [ + "scale_and_reduce" + ], + "description": "Contains information about the specific type of the operation used." + }, + "inputData": { + "type": "object", + "required": [ + "scaler" + ], + "description": "unit input (type to be specified by the child units)", + "properties": { + "scaler": { + "description": "type of scaler to be applied", + "type": "string", + "default": "standard_scaler", + "enum": [ + "standard_scaler" + ] + }, + "perFeature": { + "decription": "per-feature scaling data", + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "scale" + ], + "properties": { + "variance": { + "description": "variance in original training data", + "type": "number" + }, + "mean": { + "description": "mean value of the original training data", + "type": "number" + }, + "scale": { + "description": "scale multiplier for this feature/property", + "type": "number" + }, + "name": { + "description": "feature/property name in 'flattened' format", + "type": "string" + } + } + } + } + } + }, + "type": { + "enum": [ + "processing" + ], + "description": "type of the unit", + "type": "string" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + } + ] +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/ml/unit/processing/data-transformation/manipulation.json b/docs/js/schema/software_directory/ml/unit/processing/data-transformation/manipulation.json new file mode 100644 index 000000000..78f12d656 --- /dev/null +++ b/docs/js/schema/software_directory/ml/unit/processing/data-transformation/manipulation.json @@ -0,0 +1,302 @@ +{ + "$id": "software-directory/ml/unit/processing/data-transformation/manipulation", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "manipulation unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "operation", + "operationType", + "type" + ], + "additionalProperties": true, + "properties": { + "operation": { + "type": "string", + "enum": [ + "data_transformation" + ], + "description": "Contains information about the operation used." + }, + "operationType": { + "type": "string", + "enum": [ + "manipulation" + ], + "description": "Contains information about the specific type of the operation used." + }, + "inputData": { + "type": "object", + "required": [ + "cleanMissingData", + "removeDuplicateRows", + "replaceNoneValuesWith" + ], + "description": "unit input (type to be specified by the child units)", + "properties": { + "cleanMissingData": { + "description": "whether to clean missing data, eg. NaN", + "type": "boolean", + "default": true + }, + "removeDuplicateRows": { + "description": "whether to remove duplicate rows", + "type": "boolean", + "default": true + }, + "replaceNoneValuesWith": { + "description": "replace None values with a given value", + "default": 0, + "type": "number" + } + } + }, + "type": { + "enum": [ + "processing" + ], + "description": "type of the unit", + "type": "string" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/ml/unit/processing/data-transformation/scale-and-reduce.json b/docs/js/schema/software_directory/ml/unit/processing/data-transformation/scale-and-reduce.json new file mode 100644 index 000000000..04991eb76 --- /dev/null +++ b/docs/js/schema/software_directory/ml/unit/processing/data-transformation/scale-and-reduce.json @@ -0,0 +1,322 @@ +{ + "$id": "software-directory/ml/unit/processing/data-transformation/scale-and-reduce", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scale and reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "operation", + "operationType", + "type" + ], + "additionalProperties": true, + "properties": { + "operation": { + "type": "string", + "enum": [ + "data_transformation" + ], + "description": "Contains information about the operation used." + }, + "operationType": { + "type": "string", + "enum": [ + "scale_and_reduce" + ], + "description": "Contains information about the specific type of the operation used." + }, + "inputData": { + "type": "object", + "required": [ + "scaler" + ], + "description": "unit input (type to be specified by the child units)", + "properties": { + "scaler": { + "description": "type of scaler to be applied", + "type": "string", + "default": "standard_scaler", + "enum": [ + "standard_scaler" + ] + }, + "perFeature": { + "decription": "per-feature scaling data", + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "scale" + ], + "properties": { + "variance": { + "description": "variance in original training data", + "type": "number" + }, + "mean": { + "description": "mean value of the original training data", + "type": "number" + }, + "scale": { + "description": "scale multiplier for this feature/property", + "type": "number" + }, + "name": { + "description": "feature/property name in 'flattened' format", + "type": "string" + } + } + } + } + } + }, + "type": { + "enum": [ + "processing" + ], + "description": "type of the unit", + "type": "string" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/ml/unit/processing/feature-selection.json b/docs/js/schema/software_directory/ml/unit/processing/feature-selection.json new file mode 100644 index 000000000..54f885810 --- /dev/null +++ b/docs/js/schema/software_directory/ml/unit/processing/feature-selection.json @@ -0,0 +1,302 @@ +{ + "$id": "software-directory/ml/unit/processing/feature-selection", + "oneOf": [ + { + "$id": "software-directory/ml/unit/processing/feature-selection/filter-based", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "filter-based feature selection unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "operation", + "operationType", + "type" + ], + "additionalProperties": true, + "properties": { + "operation": { + "type": "string", + "enum": [ + "feature_selection" + ], + "description": "Contains information about the operation used." + }, + "operationType": { + "type": "string", + "enum": [ + "filter_based" + ], + "description": "Contains information about the specific type of the operation used." + }, + "inputData": { + "type": "object", + "required": [ + "nFeatures", + "algorithm" + ], + "description": "unit input (type to be specified by the child units)", + "properties": { + "nFeatures": { + "description": "number of features to select for model training. If equal to 0, will use all available features", + "type": "number" + }, + "algorithm": { + "description": "feature selection algorithm following sklearn.feature_selection", + "type": "string", + "enum": [ + "f_regression" + ] + } + } + }, + "type": { + "enum": [ + "processing" + ], + "description": "type of the unit", + "type": "string" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + } + ] +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/ml/unit/processing/feature-selection/filter-based.json b/docs/js/schema/software_directory/ml/unit/processing/feature-selection/filter-based.json new file mode 100644 index 000000000..dfa291e30 --- /dev/null +++ b/docs/js/schema/software_directory/ml/unit/processing/feature-selection/filter-based.json @@ -0,0 +1,297 @@ +{ + "$id": "software-directory/ml/unit/processing/feature-selection/filter-based", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "filter-based feature selection unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "operation", + "operationType", + "type" + ], + "additionalProperties": true, + "properties": { + "operation": { + "type": "string", + "enum": [ + "feature_selection" + ], + "description": "Contains information about the operation used." + }, + "operationType": { + "type": "string", + "enum": [ + "filter_based" + ], + "description": "Contains information about the specific type of the operation used." + }, + "inputData": { + "type": "object", + "required": [ + "nFeatures", + "algorithm" + ], + "description": "unit input (type to be specified by the child units)", + "properties": { + "nFeatures": { + "description": "number of features to select for model training. If equal to 0, will use all available features", + "type": "number" + }, + "algorithm": { + "description": "feature selection algorithm following sklearn.feature_selection", + "type": "string", + "enum": [ + "f_regression" + ] + } + } + }, + "type": { + "enum": [ + "processing" + ], + "description": "type of the unit", + "type": "string" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/modeling/espresso.json b/docs/js/schema/software_directory/modeling/espresso.json new file mode 100644 index 000000000..ce2d85083 --- /dev/null +++ b/docs/js/schema/software_directory/modeling/espresso.json @@ -0,0 +1,26 @@ +{ + "$id": "software-directory/modeling/espresso", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "espresso app schema", + "type": "object", + "properties": { + "name": { + "enum": [ + "espresso" + ] + }, + "summary": { + "enum": [ + "Quantum Espresso" + ] + }, + "version": { + "enum": [ + "5.1.1", + "5.2.1", + "5.4.0", + "6.0.0" + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/modeling/espresso/arguments.json b/docs/js/schema/software_directory/modeling/espresso/arguments.json new file mode 100644 index 000000000..179da42f9 --- /dev/null +++ b/docs/js/schema/software_directory/modeling/espresso/arguments.json @@ -0,0 +1,44 @@ +{ + "$id": "software-directory/modeling/espresso/arguments", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "quantum espresso arguments schema", + "type": "object", + "additionalProperties": false, + "properties": { + "nimage": { + "description": "Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "npools": { + "description": "Each image can be subpartitioned into `pools`, each taking care of a group of k-points.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "nband": { + "description": "Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "ntg": { + "description": "In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "ndiag": { + "description": "A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/modeling/nwchem.json b/docs/js/schema/software_directory/modeling/nwchem.json new file mode 100644 index 000000000..f09e8ca0c --- /dev/null +++ b/docs/js/schema/software_directory/modeling/nwchem.json @@ -0,0 +1,55 @@ +{ + "$id": "software-directory/modeling/nwchem", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "NWChem", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "enum": [ + "NWChem" + ], + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "summary": { + "enum": [ + "NWChem: a comprehensive and scalable open-source solution for large scale molecular simulations" + ], + "description": "Application's short description.", + "type": "string" + }, + "version": { + "enum": [ + "6.6", + "7.0.2" + ], + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "exec": { + "enum": [ + "nwchem" + ] + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/modeling/unit/execution.json b/docs/js/schema/software_directory/modeling/unit/execution.json new file mode 100644 index 000000000..05ce0a716 --- /dev/null +++ b/docs/js/schema/software_directory/modeling/unit/execution.json @@ -0,0 +1,695 @@ +{ + "$id": "software-directory/modeling/unit/execution", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit schema for physics-based simulation engines (defined using espresso as example)", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "execution" + ], + "description": "type of the unit", + "type": "string" + }, + "application": { + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$id": "software/executable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "name", + "applicationId" + ], + "properties": { + "name": { + "description": "The name of the executable. e.g. pw.x", + "type": "string" + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "flavor": { + "$id": "software/flavor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "name", + "executableId" + ], + "properties": { + "name": { + "description": "The name of the executable flavor. e.g. `pw_scf`", + "type": "string" + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "required": [ + "templateId" + ], + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } + } + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "input": { + "description": "unit input (type to be specified by the application's execution unit)", + "title": "execution unit input schema", + "type": "array", + "items": { + "oneOf": [ + { + "$id": "workflow/unit/input/-inputItem", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input item schema for physics-based simulation engines", + "type": "object", + "properties": { + "name": { + "description": "Input file name. e.g. pw_scf.in", + "type": "string" + }, + "content": { + "description": "Content of the input file. e.g. &CONTROL calculation='scf' ...", + "type": "string" + } + }, + "required": [ + "name", + "content" + ] + }, + { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + }, + "required": [ + "templateId" + ] + } + ] + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/modeling/vasp.json b/docs/js/schema/software_directory/modeling/vasp.json new file mode 100644 index 000000000..eaa079856 --- /dev/null +++ b/docs/js/schema/software_directory/modeling/vasp.json @@ -0,0 +1,61 @@ +{ + "$id": "software-directory/modeling/vasp", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "vienna ab-inito simulation package", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "enum": [ + "vasp" + ], + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "summary": { + "enum": [ + "vienna ab-initio simulation package" + ], + "description": "Application's short description.", + "type": "string" + }, + "flavor": { + "enum": [ + "vasp", + "vasp_nscf", + "vasp_bands" + ] + }, + "version": { + "enum": [ + "5.3.5" + ], + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "exec": { + "enum": [ + "vasp" + ] + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/scripting/jupyter-lab.json b/docs/js/schema/software_directory/scripting/jupyter-lab.json new file mode 100644 index 000000000..4ad0736ca --- /dev/null +++ b/docs/js/schema/software_directory/scripting/jupyter-lab.json @@ -0,0 +1,59 @@ +{ + "$id": "software-directory/scripting/jupyter-lab", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Jupyter Lab Application Schema", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "enum": [ + "jupyterLab" + ], + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "flavor": { + "enum": [ + "notebook" + ] + }, + "summary": { + "enum": [ + "Jupyter Lab" + ], + "description": "Application's short description.", + "type": "string" + }, + "version": { + "enum": [ + "0.33.12" + ], + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "exec": { + "enum": [ + "jupyter" + ] + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/scripting/python.json b/docs/js/schema/software_directory/scripting/python.json new file mode 100644 index 000000000..ecca80557 --- /dev/null +++ b/docs/js/schema/software_directory/scripting/python.json @@ -0,0 +1,73 @@ +{ + "$id": "software-directory/scripting/python", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Python Programing Language Schema", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "enum": [ + "python" + ], + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "flavor": { + "enum": [ + "python2", + "python3" + ] + }, + "summary": { + "enum": [ + "Python Script" + ], + "description": "Application's short description.", + "type": "string" + }, + "version": { + "enum": [ + "2.7.5", + "3.6.1" + ], + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "exec": { + "enum": [ + "python" + ] + }, + "arguments": { + "description": "Optional arguments passed to the Python script", + "type": "string" + }, + "environment": { + "description": "Optional environment variables exported before running the Python script", + "type": "object" + }, + "dependencies": { + "description": "Optional Python dependencies, e.g. amqp==1.4.6", + "type": "array" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/scripting/shell.json b/docs/js/schema/software_directory/scripting/shell.json new file mode 100644 index 000000000..d1c6c59c4 --- /dev/null +++ b/docs/js/schema/software_directory/scripting/shell.json @@ -0,0 +1,73 @@ +{ + "$id": "software-directory/scripting/shell", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Shell Scripting Language Schema", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "enum": [ + "shell" + ], + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "flavor": { + "enum": [ + "sh", + "bash", + "zsh", + "csh" + ] + }, + "summary": { + "enum": [ + "Shell Script" + ], + "description": "Application's short description.", + "type": "string" + }, + "version": { + "enum": [ + "4.2.46" + ], + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "exec": { + "enum": [ + "sh", + "bash", + "zsh", + "csh" + ] + }, + "arguments": { + "description": "Optional arguments passed to the Shell script", + "type": "string" + }, + "environment": { + "description": "Optional environment variables exported before running the Shell script", + "type": "object" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/software_directory/scripting/unit/execution.json b/docs/js/schema/software_directory/scripting/unit/execution.json new file mode 100644 index 000000000..68e649cc4 --- /dev/null +++ b/docs/js/schema/software_directory/scripting/unit/execution.json @@ -0,0 +1,695 @@ +{ + "$id": "software-directory/scripting/unit/execution", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit schema for scripting-based applications", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "execution" + ], + "description": "type of the unit", + "type": "string" + }, + "application": { + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$id": "software/executable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "name", + "applicationId" + ], + "properties": { + "name": { + "description": "The name of the executable. e.g. pw.x", + "type": "string" + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "flavor": { + "$id": "software/flavor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "name", + "executableId" + ], + "properties": { + "name": { + "description": "The name of the executable flavor. e.g. `pw_scf`", + "type": "string" + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "required": [ + "templateId" + ], + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } + } + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "input": { + "description": "unit input (type to be specified by the application's execution unit)", + "title": "execution unit input schema", + "type": "array", + "items": { + "oneOf": [ + { + "$id": "workflow/unit/input/-inputItem", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input item schema for physics-based simulation engines", + "type": "object", + "properties": { + "name": { + "description": "Input file name. e.g. pw_scf.in", + "type": "string" + }, + "content": { + "description": "Content of the input file. e.g. &CONTROL calculation='scf' ...", + "type": "string" + } + }, + "required": [ + "name", + "content" + ] + }, + { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + }, + "required": [ + "templateId" + ] + } + ] + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/_material.json b/docs/js/schema/system/_material.json new file mode 100644 index 000000000..fcb76d2ab --- /dev/null +++ b/docs/js/schema/system/_material.json @@ -0,0 +1,22 @@ +{ + "$id": "system/-material", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Material entity reference schema", + "properties": { + "cls": { + "description": "Material class", + "type": "string", + "enum": [ + "Material" + ] + }, + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/_parent-job.json b/docs/js/schema/system/_parent-job.json new file mode 100644 index 000000000..b457c4107 --- /dev/null +++ b/docs/js/schema/system/_parent-job.json @@ -0,0 +1,22 @@ +{ + "$id": "system/-parent-job", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Parent job entity reference schema", + "properties": { + "cls": { + "description": "Job class", + "type": "string", + "enum": [ + "Job" + ] + }, + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/_project.json b/docs/js/schema/system/_project.json new file mode 100644 index 000000000..bd057b7eb --- /dev/null +++ b/docs/js/schema/system/_project.json @@ -0,0 +1,22 @@ +{ + "$id": "system/-project", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Project entity reference schema", + "properties": { + "cls": { + "description": "Project class", + "type": "string", + "enum": [ + "Project" + ] + }, + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/bankable.json b/docs/js/schema/system/bankable.json new file mode 100644 index 000000000..a3dac93b3 --- /dev/null +++ b/docs/js/schema/system/bankable.json @@ -0,0 +1,15 @@ +{ + "$id": "system/bankable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "bankable schema", + "properties": { + "exabyteId": { + "description": "Identity of the corresponding bank entity", + "type": "string" + }, + "hash": { + "description": "Hash string which is calculated based on the meaningful fields of the entity. Used to identify equal entities.", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/consistency_check.json b/docs/js/schema/system/consistency_check.json new file mode 100644 index 000000000..84c59e906 --- /dev/null +++ b/docs/js/schema/system/consistency_check.json @@ -0,0 +1,39 @@ +{ + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/creator.json b/docs/js/schema/system/creator.json new file mode 100644 index 000000000..d87b268e2 --- /dev/null +++ b/docs/js/schema/system/creator.json @@ -0,0 +1,22 @@ +{ + "$id": "system/creator", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Creator entity reference schema", + "properties": { + "cls": { + "description": "Creator class", + "type": "string", + "enum": [ + "User" + ] + }, + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/creator_account.json b/docs/js/schema/system/creator_account.json new file mode 100644 index 000000000..352d77973 --- /dev/null +++ b/docs/js/schema/system/creator_account.json @@ -0,0 +1,26 @@ +{ + "$id": "system/creator-account", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "creator account schema", + "properties": { + "creatorAccount": { + "$id": "system/entity-reference", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "entity reference schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "cls": { + "description": "entity class", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/database_source.json b/docs/js/schema/system/database_source.json new file mode 100644 index 000000000..28a011f88 --- /dev/null +++ b/docs/js/schema/system/database_source.json @@ -0,0 +1,40 @@ +{ + "$id": "system/database-source", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "database source schema", + "description": "information about a database source", + "type": "object", + "required": [ + "id", + "source", + "origin" + ], + "properties": { + "id": { + "description": "ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32", + "type": "string" + }, + "source": { + "description": "Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.", + "type": "string" + }, + "origin": { + "description": "A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).", + "type": "boolean", + "comment": "Deprecated. To be removed." + }, + "data": { + "description": "Original response from external source.", + "type": "object" + }, + "doi": { + "description": "Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506", + "type": "string" + }, + "url": { + "description": "The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48", + "type": "string", + "comment": "ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/defaultable.json b/docs/js/schema/system/defaultable.json new file mode 100644 index 000000000..c602b9beb --- /dev/null +++ b/docs/js/schema/system/defaultable.json @@ -0,0 +1,12 @@ +{ + "$id": "system/defaultable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "defaultable entity schema", + "properties": { + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/description.json b/docs/js/schema/system/description.json new file mode 100644 index 000000000..4aa879f7b --- /dev/null +++ b/docs/js/schema/system/description.json @@ -0,0 +1,14 @@ +{ + "$id": "system/description", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "extended base entity schema", + "properties": { + "description": { + "description": "entity description", + "type": "string" + }, + "descriptionObject": { + "type": "object" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/entity_reference.json b/docs/js/schema/system/entity_reference.json new file mode 100644 index 000000000..5b30300e0 --- /dev/null +++ b/docs/js/schema/system/entity_reference.json @@ -0,0 +1,19 @@ +{ + "$id": "system/entity-reference", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "entity reference schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "cls": { + "description": "entity class", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/file_source.json b/docs/js/schema/system/file_source.json new file mode 100644 index 000000000..b34f91990 --- /dev/null +++ b/docs/js/schema/system/file_source.json @@ -0,0 +1,30 @@ +{ + "$id": "system/file-source", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "file source schema", + "description": "file source with the information inside", + "type": "object", + "required": [ + "filename", + "text", + "hash" + ], + "properties": { + "extension": { + "description": "file extension", + "type": "string" + }, + "filename": { + "description": "file name without extension", + "type": "string" + }, + "text": { + "description": "file content as raw text", + "type": "string" + }, + "hash": { + "description": "MD5 hash based on file content", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/history.json b/docs/js/schema/system/history.json new file mode 100644 index 000000000..8f2a24bf6 --- /dev/null +++ b/docs/js/schema/system/history.json @@ -0,0 +1,25 @@ +{ + "$id": "system/history", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "history schema", + "properties": { + "history": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "revision" + ], + "properties": { + "id": { + "type": "string" + }, + "revision": { + "type": "number" + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/in_set.json b/docs/js/schema/system/in_set.json new file mode 100644 index 000000000..f0c8643b0 --- /dev/null +++ b/docs/js/schema/system/in_set.json @@ -0,0 +1,36 @@ +{ + "$id": "system/in-set", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "System in-set schema", + "properties": { + "inSet": { + "type": "array", + "items": { + "$id": "system/entity-reference", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "entity reference schema", + "type": "object", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "cls": { + "description": "entity class", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "type": { + "type": "string" + }, + "index": { + "type": "number" + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/is_multi-material.json b/docs/js/schema/system/is_multi-material.json new file mode 100644 index 000000000..5dbeb5098 --- /dev/null +++ b/docs/js/schema/system/is_multi-material.json @@ -0,0 +1,10 @@ +{ + "$id": "system/is-multi-material", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "is multi schema", + "properties": { + "isMultiMaterial": { + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/is_outdated.json b/docs/js/schema/system/is_outdated.json new file mode 100644 index 000000000..8a6a7fefa --- /dev/null +++ b/docs/js/schema/system/is_outdated.json @@ -0,0 +1,10 @@ +{ + "$id": "system/is-outdated", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "is outdated schema", + "properties": { + "isOutdated": { + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/job_extended.json b/docs/js/schema/system/job_extended.json new file mode 100644 index 000000000..304f36323 --- /dev/null +++ b/docs/js/schema/system/job_extended.json @@ -0,0 +1,63 @@ +{ + "$id": "system/job-extended", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "extended job schema", + "properties": { + "mode": { + "type": "string" + }, + "isExternal": { + "type": "boolean" + }, + "_materials": { + "type": "array", + "items": { + "$id": "system/entity-reference", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "entity reference schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "cls": { + "description": "entity class", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } + } + }, + "_materialsSet": { + "$id": "system/entity-reference", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "entity reference schema", + "properties": { + "_id": { + "description": "entity identity", + "type": "string" + }, + "cls": { + "description": "entity class", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } + }, + "purged": { + "type": "boolean" + }, + "purgedAt": { + "type": "number" + }, + "dataset": { + "type": "object" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/message.json b/docs/js/schema/system/message.json new file mode 100644 index 000000000..ff5d1bbe7 --- /dev/null +++ b/docs/js/schema/system/message.json @@ -0,0 +1,67 @@ +{ + "$id": "system/message", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "message schema", + "description": "communication message between Rupy and web application.", + "required": [ + "header", + "payload" + ], + "properties": { + "header": { + "type": "object", + "required": [ + "entity", + "version", + "timestamp" + ], + "properties": { + "entity": { + "type": "object", + "required": [ + "_id", + "name" + ], + "properties": { + "_id": { + "description": "job identifier", + "type": "string" + }, + "name": { + "description": "entity name.", + "type": "string", + "enum": [ + "job", + "unit" + ] + }, + "flowchartId": { + "description": "unit identifier within the workflow", + "type": "string" + }, + "probe": { + "description": "source of the message.", + "type": "string", + "enum": [ + "monitor", + "postprocessor" + ] + } + } + }, + "version": { + "description": "Rupy-Webapp communication schema version.", + "type": "string" + }, + "timestamp": { + "description": "Timestamp of the message.", + "type": "number" + } + } + }, + "payload": { + "description": "Actual payload of the message.", + "type": "object" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/metadata.json b/docs/js/schema/system/metadata.json new file mode 100644 index 000000000..90accb0a7 --- /dev/null +++ b/docs/js/schema/system/metadata.json @@ -0,0 +1,10 @@ +{ + "$id": "system/metadata", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "metadata schema", + "properties": { + "metadata": { + "type": "object" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/name.json b/docs/js/schema/system/name.json new file mode 100644 index 000000000..c4df2eb85 --- /dev/null +++ b/docs/js/schema/system/name.json @@ -0,0 +1,11 @@ +{ + "$id": "system/name", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name entity schema", + "properties": { + "name": { + "description": "entity name", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/owner.json b/docs/js/schema/system/owner.json new file mode 100644 index 000000000..8dfd38c5a --- /dev/null +++ b/docs/js/schema/system/owner.json @@ -0,0 +1,22 @@ +{ + "$id": "system/owner", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Entity owner reference schema", + "properties": { + "cls": { + "description": "Entity owner class", + "type": "string", + "enum": [ + "Account" + ] + }, + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/path.json b/docs/js/schema/system/path.json new file mode 100644 index 000000000..10692a8c5 --- /dev/null +++ b/docs/js/schema/system/path.json @@ -0,0 +1,15 @@ +{ + "$id": "system/path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "path schema", + "type": "object", + "properties": { + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/path_entity.json b/docs/js/schema/system/path_entity.json new file mode 100644 index 000000000..d9cf68ec5 --- /dev/null +++ b/docs/js/schema/system/path_entity.json @@ -0,0 +1,19 @@ +{ + "$id": "system/path-entity", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "path entity schema", + "type": "object", + "properties": { + "name": { + "description": "entity name", + "type": "string" + }, + "path": { + "$id": "core/reusable/category-path", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "category path schema", + "description": "TODO: Use regex once schema draft version has been updated", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/schema_version.json b/docs/js/schema/system/schema_version.json new file mode 100644 index 000000000..6a34b56bc --- /dev/null +++ b/docs/js/schema/system/schema_version.json @@ -0,0 +1,12 @@ +{ + "$id": "system/schema-version", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "schema version", + "properties": { + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/scope.json b/docs/js/schema/system/scope.json new file mode 100644 index 000000000..bfd74362d --- /dev/null +++ b/docs/js/schema/system/scope.json @@ -0,0 +1,10 @@ +{ + "$id": "system/scope", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "scope schema", + "properties": { + "scope": { + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/set.json b/docs/js/schema/system/set.json new file mode 100644 index 000000000..cffd60904 --- /dev/null +++ b/docs/js/schema/system/set.json @@ -0,0 +1,16 @@ +{ + "$id": "system/set", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Entity set schema", + "properties": { + "isEntitySet": { + "type": "boolean" + }, + "entitySetType": { + "type": "string" + }, + "entityCls": { + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/sharing.json b/docs/js/schema/system/sharing.json new file mode 100644 index 000000000..9813dd30b --- /dev/null +++ b/docs/js/schema/system/sharing.json @@ -0,0 +1,10 @@ +{ + "$id": "system/sharing", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "extended sharing schema", + "properties": { + "sharedCount": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/soft_removable.json b/docs/js/schema/system/soft_removable.json new file mode 100644 index 000000000..35633d23a --- /dev/null +++ b/docs/js/schema/system/soft_removable.json @@ -0,0 +1,15 @@ +{ + "$id": "system/soft-removable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "soft removable entity schema", + "properties": { + "removedAt": { + "description": "Timestamp of the moment when entity was removed", + "type": "string" + }, + "removed": { + "description": "Identifies that entity was removed", + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/status.json b/docs/js/schema/system/status.json new file mode 100644 index 000000000..b1ed85343 --- /dev/null +++ b/docs/js/schema/system/status.json @@ -0,0 +1,31 @@ +{ + "$id": "system/status", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "status schema", + "properties": { + "status": { + "type": "string" + }, + "statusTrack": { + "type": "array", + "items": { + "type": "object", + "required": [ + "trackedAt", + "status" + ], + "properties": { + "trackedAt": { + "type": "number" + }, + "status": { + "type": "string" + }, + "repetition": { + "type": "number" + } + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/tags.json b/docs/js/schema/system/tags.json new file mode 100644 index 000000000..1dffc867e --- /dev/null +++ b/docs/js/schema/system/tags.json @@ -0,0 +1,14 @@ +{ + "$id": "system/tags", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "entity tags schema", + "properties": { + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/timestampable.json b/docs/js/schema/system/timestampable.json new file mode 100644 index 000000000..d4764af5f --- /dev/null +++ b/docs/js/schema/system/timestampable.json @@ -0,0 +1,37 @@ +{ + "$id": "system/timestampable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "timestampable entity schema", + "properties": { + "createdAt": { + "description": "entity creation time", + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "description": "entity last modification time", + "type": "string", + "format": "date-time" + }, + "createdBy": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "updatedBy": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + } + } +} \ No newline at end of file diff --git a/docs/js/schema/system/use_values.json b/docs/js/schema/system/use_values.json new file mode 100644 index 000000000..5084344fa --- /dev/null +++ b/docs/js/schema/system/use_values.json @@ -0,0 +1,10 @@ +{ + "$id": "system/use-values", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "use values schema", + "properties": { + "useValues": { + "type": "boolean" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow.json b/docs/js/schema/workflow.json new file mode 100644 index 000000000..032b4a1a2 --- /dev/null +++ b/docs/js/schema/workflow.json @@ -0,0 +1,3757 @@ +{ + "$id": "workflow", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow schema", + "type": "object", + "required": [ + "units", + "subworkflows" + ], + "properties": { + "subworkflows": { + "description": "Array of subworkflows. Subworkflow can be an instance of workflow to allow for nesting", + "type": "array", + "items": { + "$id": "workflow/subworkflow", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Subworkflow", + "type": "object", + "required": [ + "application", + "model", + "name", + "units" + ], + "properties": { + "units": { + "description": "Contains the Units of the subworkflow", + "type": "array", + "items": { + "$id": "workflow/unit", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow unit schema", + "type": "object", + "required": [ + "type", + "flowchartId" + ], + "additionalProperties": true, + "properties": { + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "model": { + "$id": "model", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "base model", + "required": [ + "type", + "subtype", + "method" + ], + "additionalProperties": true, + "properties": { + "type": { + "description": "general type of the model, eg. `dft`", + "type": "string" + }, + "subtype": { + "description": "general subtype of the model, eg. `lda`", + "type": "string" + }, + "method": { + "$id": "method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "base method", + "required": [ + "type", + "subtype" + ], + "properties": { + "type": { + "description": "general type of this method, eg. `pseudopotential`", + "type": "string" + }, + "subtype": { + "description": "general subtype of this method, eg. `ultra-soft`", + "type": "string" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "data": { + "description": "additional data specific to method, eg. array of pseudopotentials", + "type": "object" + } + } + } + } + }, + "application": { + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "isDraft": { + "description": "Defines whether to store the results/properties extracted in this unit to properties collection", + "type": "boolean", + "default": false + }, + "_id": { + "description": "subworkflow identity", + "type": "string" + }, + "name": { + "description": "Human-readable name of the subworkflow. e.g. Total-energy", + "type": "string" + }, + "properties": { + "description": "Array of characteristic properties calculated by this subworkflow", + "type": "array", + "items": { + "description": "property names, eg. `band_gaps`, `band_structure`", + "oneOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ] + } + }, + "compute": { + "$id": "job/compute", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "compute arguments schema", + "description": "Custom keywords prefixed with validate correspond to custom validation methods implemented downstream", + "required": [ + "queue", + "nodes", + "ppn", + "timeLimit" + ], + "properties": { + "queue": { + "description": "Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.", + "type": "string", + "enum": [ + "D", + "OR", + "OF", + "OFplus", + "SR", + "SF", + "SFplus", + "GPOF", + "GP2OF", + "GP4OF", + "GPSF", + "GP2SF", + "GP4SF", + "OR4", + "OR8", + "OR16", + "SR4", + "SR8", + "SR16", + "GOF", + "G4OF", + "G8OF", + "GSF", + "G4SF", + "G8SF" + ] + }, + "nodes": { + "description": "number of nodes used for the job inside the RMS.", + "type": "integer", + "validateNodes": {} + }, + "ppn": { + "description": "number of CPUs used for the job inside the RMS.", + "type": "integer", + "validatePpn": {} + }, + "timeLimit": { + "description": "Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'", + "type": "string", + "validateTimeLimit": {} + }, + "timeLimitType": { + "description": "Convention to use when reasoning about time limits", + "type": "string", + "default": "per single attempt", + "enum": [ + "per single attempt", + "compound" + ] + }, + "isRestartable": { + "description": "Job is allowed to restart on termination.", + "type": "boolean", + "default": true + }, + "notify": { + "description": "Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.", + "type": "string" + }, + "email": { + "description": "Email address to notify about job execution.", + "type": "string" + }, + "maxCPU": { + "description": "Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.", + "type": "integer" + }, + "arguments": { + "description": "Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere", + "type": "object", + "default": {}, + "oneOf": [ + { + "$id": "software-directory/modeling/espresso/arguments", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "quantum espresso arguments schema", + "type": "object", + "properties": { + "nimage": { + "description": "Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "npools": { + "description": "Each image can be subpartitioned into `pools`, each taking care of a group of k-points.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "nband": { + "description": "Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "ntg": { + "description": "In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "ndiag": { + "description": "A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + } + }, + "additionalProperties": false + } + ] + }, + "cluster": { + "description": "Cluster where the job is executed. Optional on create. Required on job submission.", + "type": "object", + "properties": { + "fqdn": { + "description": "FQDN of the cluster. e.g. master-1-staging.exabyte.io", + "type": "string" + }, + "jid": { + "description": "Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io", + "type": "string" + } + } + }, + "errors": { + "description": "Computation error. Optional. Appears only if something happens on jobs execution.", + "type": "array", + "items": { + "type": "object", + "properties": { + "domain": { + "description": "Domain of the error appearance (internal).", + "type": "string", + "enum": [ + "rupy", + "alfred", + "celim", + "webapp" + ] + }, + "reason": { + "description": "Should be a short, unique, machine-readable error code string. e.g. FileNotFound", + "type": "string" + }, + "message": { + "description": "Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'", + "type": "string" + }, + "traceback": { + "description": "Full machine-readable error traceback. e.g. FileNotFound", + "type": "string" + } + } + } + }, + "excludeFilesPattern": { + "description": "A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix", + "type": "string" + } + } + } + } + } + }, + "units": { + "description": "Contains the Units of the Workflow", + "type": "array", + "items": { + "oneOf": [ + { + "$id": "workflow/unit", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow unit schema", + "type": "object", + "required": [ + "type", + "flowchartId" + ], + "additionalProperties": true, + "properties": { + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "workflow/unit/io", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "data IO unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "source", + "subtype", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "io" + ], + "description": "type of the unit", + "type": "string" + }, + "subtype": { + "enum": [ + "input", + "output", + "dataFrame" + ] + }, + "source": { + "enum": [ + "api", + "db", + "object_storage" + ] + }, + "input": { + "type": "array", + "items": { + "anyOf": [ + { + "$id": "workflow/unit/io/api", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "data IO rest API input schema", + "type": "object", + "properties": { + "endpoint": { + "description": "rest API endpoint", + "type": "string" + }, + "endpoint_options": { + "description": "rest API endpoint options", + "type": "object" + }, + "name": { + "description": "the name of the variable in local scope to save the data under", + "type": "string" + } + }, + "required": [ + "endpoint", + "endpoint_options" + ] + }, + { + "$id": "workflow/unit/io/db", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "data IO database input/output schema", + "type": "object", + "oneOf": [ + { + "properties": { + "ids": { + "description": "IDs of item to retrieve from db", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "ids" + ] + }, + { + "properties": { + "collection": { + "description": "db collection name", + "type": "string" + }, + "draft": { + "description": "whether the result should be saved as draft", + "type": "boolean", + "default": true + } + }, + "required": [ + "collection", + "draft" + ] + } + ] + }, + { + "$id": "workflow/unit/io/object-storage", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "object_storage io schema", + "type": "object", + "allof": [ + { + "$id": "core/reusable/file-metadata", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "file_metadata", + "properties": { + "pathname": { + "description": "Relative path to the directory that contains the file.", + "type": "string" + }, + "basename": { + "description": "Basename of the file", + "type": "string", + "$comment": "isGenerative:true" + }, + "filetype": { + "description": "What kind of file this is, e.g. image / text", + "type": "string" + } + } + } + ], + "properties": { + "objectData": { + "$id": "core/reusable/object-storage-container-data", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Object Storage Container Data", + "required": [ + "CONTAINER", + "NAME", + "PROVIDER", + "REGION" + ], + "properties": { + "CONTAINER": { + "description": "Object storage container for the file", + "type": "string" + }, + "NAME": { + "description": "Name of the file inside the object storage bucket", + "type": "string" + }, + "PROVIDER": { + "description": "Object storage provider", + "type": "string" + }, + "REGION": { + "description": "Region for the object container specified in Container", + "type": "string" + }, + "SIZE": { + "description": "Size of the file in bytes", + "type": "integer" + }, + "TIMESTAMP": { + "description": "Unix timestamp showing when the file was last modified", + "type": "string" + } + } + }, + "overwrite": { + "description": "if a file with the same filename already exists, whether to overwrite the old file", + "type": "boolean", + "default": false + } + }, + "required": [ + "objectData", + "basename" + ] + } + ] + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "workflow/unit/map", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "map unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "type", + "workflowId" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "map" + ], + "description": "type of the unit", + "type": "string" + }, + "workflowId": { + "description": "Id of workflow to run inside map", + "type": "string" + }, + "input": { + "description": "Input information for map.", + "type": "object", + "required": [ + "target" + ], + "properties": { + "target": { + "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", + "type": "string" + }, + "scope": { + "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", + "type": "string" + }, + "name": { + "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", + "type": "string" + }, + "values": { + "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object" + } + ] + } + }, + "useValues": { + "type": "boolean" + } + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "workflow/unit/reduce", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "mapFlowchartId", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "reduce" + ], + "description": "type of the unit", + "type": "string" + }, + "mapFlowchartId": { + "description": "corresponding map unit flowchart ID", + "type": "string" + }, + "input": { + "description": "input information for reduce unit", + "type": "array", + "items": { + "type": "object", + "required": [ + "operation", + "arguments" + ], + "properties": { + "operation": { + "description": "reduce operation, e.g. aggregate", + "type": "string" + }, + "arguments": { + "description": "arguments which are passed to reduce operation function", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "workflow/unit/condition", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "condition unit schema", + "type": "object", + "required": [ + "else", + "flowchartId", + "input", + "statement", + "then", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "condition" + ], + "description": "type of the unit", + "type": "string" + }, + "input": { + "description": "Input information for condition.", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemScope", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow unit input schema", + "type": "object", + "required": [ + "scope", + "name" + ], + "properties": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", + "type": "string" + }, + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" + } + } + } + }, + "statement": { + "description": "Condition statement. e.g. 'abs(x-total_energy) < 1e-5'", + "type": "string" + }, + "then": { + "description": "Flowchart ID reference for `then` part of the condition.", + "type": "string" + }, + "else": { + "description": "Flowchart ID reference for `else` part of the condition.", + "type": "string" + }, + "maxOccurrences": { + "description": "Maximum occurrence of the condition, usable for loops.", + "type": "integer" + }, + "throwException": { + "description": "Throw exception on reaching to maximum occurence.", + "type": "boolean" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "workflow/unit/assertion", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "assertion unit schema", + "type": "object", + "required": [ + "flowchartId", + "name", + "statement", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "assertion" + ], + "description": "type of the unit", + "type": "string" + }, + "statement": { + "type": "string" + }, + "errorMessage": { + "type": "string" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "workflow/unit/execution", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit schema (base)", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "execution" + ], + "description": "type of the unit", + "type": "string" + }, + "application": { + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$id": "software/executable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "name", + "applicationId" + ], + "properties": { + "name": { + "description": "The name of the executable. e.g. pw.x", + "type": "string" + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "flavor": { + "$id": "software/flavor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "name", + "executableId" + ], + "properties": { + "name": { + "description": "The name of the executable flavor. e.g. `pw_scf`", + "type": "string" + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "required": [ + "templateId" + ], + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } + } + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "input": { + "description": "unit input (type to be specified by the application's execution unit)" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "workflow/unit/assignment", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "assignment unit schema", + "type": "object", + "required": [ + "flowchartId", + "name", + "type", + "value" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "assignment" + ], + "description": "type of the unit", + "type": "string" + }, + "input": { + "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemScope", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow unit input schema", + "type": "object", + "required": [ + "scope", + "name" + ], + "properties": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", + "type": "string" + }, + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" + } + } + } + }, + "operand": { + "description": "Name of the global variable. e.g. 'x'", + "type": "string" + }, + "value": { + "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", + "type": "string" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + { + "$id": "workflow/unit/processing", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "processing unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "operation", + "operationType", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "processing" + ], + "description": "type of the unit", + "type": "string" + }, + "operation": { + "description": "Contains information about the operation used.", + "type": "string" + }, + "operationType": { + "description": "Contains information about the specific type of the operation used.", + "type": "string" + }, + "inputData": { + "description": "unit input (type to be specified by the child units)" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + } + ] + } + }, + "properties": { + "description": "Array of characteristic properties calculated by this workflow (TODO: add enums)", + "type": "array", + "items": { + "description": "property names, eg. `band_gaps`, `band_structure`", + "oneOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ] + } + }, + "isUsingDataset": { + "description": "Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.", + "type": "boolean" + }, + "workflows": { + "description": "Array of workflows with the same schema as the current one.", + "type": "array", + "items": { + "type": "object" + } + }, + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "metadata": { + "type": "object" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/base.json b/docs/js/schema/workflow/base.json new file mode 100644 index 000000000..68f6fa3f6 --- /dev/null +++ b/docs/js/schema/workflow/base.json @@ -0,0 +1,104 @@ +{ + "$id": "workflow/base", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "base workflow schema", + "type": "object", + "properties": { + "properties": { + "description": "Array of characteristic properties calculated by this workflow (TODO: add enums)", + "type": "array", + "items": { + "description": "property names, eg. `band_gaps`, `band_structure`", + "oneOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ] + } + }, + "isUsingDataset": { + "description": "Whether to use the dataset tab in the job designer. Mutually exclusive with using the materials tab.", + "type": "boolean" + }, + "workflows": { + "description": "Array of workflows with the same schema as the current one.", + "type": "array", + "items": { + "type": "object" + } + }, + "_id": { + "description": "entity identity", + "type": "string" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "name": { + "description": "entity name", + "type": "string" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "metadata": { + "type": "object" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/base_flow.json b/docs/js/schema/workflow/base_flow.json new file mode 100644 index 000000000..6e9fd8f85 --- /dev/null +++ b/docs/js/schema/workflow/base_flow.json @@ -0,0 +1,221 @@ +{ + "$id": "workflow/base-flow", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "BaseFlow", + "type": "object", + "required": [ + "name", + "units" + ], + "properties": { + "_id": { + "description": "subworkflow identity", + "type": "string" + }, + "name": { + "description": "Human-readable name of the subworkflow. e.g. Total-energy", + "type": "string" + }, + "properties": { + "description": "Array of characteristic properties calculated by this subworkflow", + "type": "array", + "items": { + "description": "property names, eg. `band_gaps`, `band_structure`", + "oneOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ] + } + }, + "compute": { + "$id": "job/compute", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "compute arguments schema", + "description": "Custom keywords prefixed with validate correspond to custom validation methods implemented downstream", + "required": [ + "queue", + "nodes", + "ppn", + "timeLimit" + ], + "properties": { + "queue": { + "description": "Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.", + "type": "string", + "enum": [ + "D", + "OR", + "OF", + "OFplus", + "SR", + "SF", + "SFplus", + "GPOF", + "GP2OF", + "GP4OF", + "GPSF", + "GP2SF", + "GP4SF", + "OR4", + "OR8", + "OR16", + "SR4", + "SR8", + "SR16", + "GOF", + "G4OF", + "G8OF", + "GSF", + "G4SF", + "G8SF" + ] + }, + "nodes": { + "description": "number of nodes used for the job inside the RMS.", + "type": "integer", + "validateNodes": {} + }, + "ppn": { + "description": "number of CPUs used for the job inside the RMS.", + "type": "integer", + "validatePpn": {} + }, + "timeLimit": { + "description": "Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'", + "type": "string", + "validateTimeLimit": {} + }, + "timeLimitType": { + "description": "Convention to use when reasoning about time limits", + "type": "string", + "default": "per single attempt", + "enum": [ + "per single attempt", + "compound" + ] + }, + "isRestartable": { + "description": "Job is allowed to restart on termination.", + "type": "boolean", + "default": true + }, + "notify": { + "description": "Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.", + "type": "string" + }, + "email": { + "description": "Email address to notify about job execution.", + "type": "string" + }, + "maxCPU": { + "description": "Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.", + "type": "integer" + }, + "arguments": { + "description": "Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere", + "type": "object", + "default": {}, + "oneOf": [ + { + "$id": "software-directory/modeling/espresso/arguments", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "quantum espresso arguments schema", + "type": "object", + "properties": { + "nimage": { + "description": "Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "npools": { + "description": "Each image can be subpartitioned into `pools`, each taking care of a group of k-points.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "nband": { + "description": "Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "ntg": { + "description": "In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "ndiag": { + "description": "A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + } + }, + "additionalProperties": false + } + ] + }, + "cluster": { + "description": "Cluster where the job is executed. Optional on create. Required on job submission.", + "type": "object", + "properties": { + "fqdn": { + "description": "FQDN of the cluster. e.g. master-1-staging.exabyte.io", + "type": "string" + }, + "jid": { + "description": "Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io", + "type": "string" + } + } + }, + "errors": { + "description": "Computation error. Optional. Appears only if something happens on jobs execution.", + "type": "array", + "items": { + "type": "object", + "properties": { + "domain": { + "description": "Domain of the error appearance (internal).", + "type": "string", + "enum": [ + "rupy", + "alfred", + "celim", + "webapp" + ] + }, + "reason": { + "description": "Should be a short, unique, machine-readable error code string. e.g. FileNotFound", + "type": "string" + }, + "message": { + "description": "Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'", + "type": "string" + }, + "traceback": { + "description": "Full machine-readable error traceback. e.g. FileNotFound", + "type": "string" + } + } + } + }, + "excludeFilesPattern": { + "description": "A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix", + "type": "string" + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/scope.json b/docs/js/schema/workflow/scope.json new file mode 100644 index 000000000..84b6090f4 --- /dev/null +++ b/docs/js/schema/workflow/scope.json @@ -0,0 +1,20 @@ +{ + "$id": "workflow/scope", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow scope schema", + "type": "object", + "required": [ + "global", + "local" + ], + "properties": { + "global": { + "type": "object", + "additionalProperties": true + }, + "local": { + "type": "object", + "additionalProperties": true + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/subworkflow.json b/docs/js/schema/workflow/subworkflow.json new file mode 100644 index 000000000..ff5806065 --- /dev/null +++ b/docs/js/schema/workflow/subworkflow.json @@ -0,0 +1,576 @@ +{ + "$id": "workflow/subworkflow", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Subworkflow", + "type": "object", + "required": [ + "application", + "model", + "name", + "units" + ], + "properties": { + "units": { + "description": "Contains the Units of the subworkflow", + "type": "array", + "items": { + "$id": "workflow/unit", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow unit schema", + "type": "object", + "required": [ + "type", + "flowchartId" + ], + "additionalProperties": true, + "properties": { + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "model": { + "$id": "model", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "base model", + "required": [ + "type", + "subtype", + "method" + ], + "additionalProperties": true, + "properties": { + "type": { + "description": "general type of the model, eg. `dft`", + "type": "string" + }, + "subtype": { + "description": "general subtype of the model, eg. `lda`", + "type": "string" + }, + "method": { + "$id": "method", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "base method", + "required": [ + "type", + "subtype" + ], + "properties": { + "type": { + "description": "general type of this method, eg. `pseudopotential`", + "type": "string" + }, + "subtype": { + "description": "general subtype of this method, eg. `ultra-soft`", + "type": "string" + }, + "precision": { + "description": "Object showing the actual possible precision based on theory and implementation", + "type": "object" + }, + "data": { + "description": "additional data specific to method, eg. array of pseudopotentials", + "type": "object" + } + } + } + } + }, + "application": { + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "isDraft": { + "description": "Defines whether to store the results/properties extracted in this unit to properties collection", + "type": "boolean", + "default": false + }, + "_id": { + "description": "subworkflow identity", + "type": "string" + }, + "name": { + "description": "Human-readable name of the subworkflow. e.g. Total-energy", + "type": "string" + }, + "properties": { + "description": "Array of characteristic properties calculated by this subworkflow", + "type": "array", + "items": { + "description": "property names, eg. `band_gaps`, `band_structure`", + "oneOf": [ + { + "type": "string" + }, + { + "type": "object" + } + ] + } + }, + "compute": { + "$id": "job/compute", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "compute arguments schema", + "description": "Custom keywords prefixed with validate correspond to custom validation methods implemented downstream", + "required": [ + "queue", + "nodes", + "ppn", + "timeLimit" + ], + "properties": { + "queue": { + "description": "Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.", + "type": "string", + "enum": [ + "D", + "OR", + "OF", + "OFplus", + "SR", + "SF", + "SFplus", + "GPOF", + "GP2OF", + "GP4OF", + "GPSF", + "GP2SF", + "GP4SF", + "OR4", + "OR8", + "OR16", + "SR4", + "SR8", + "SR16", + "GOF", + "G4OF", + "G8OF", + "GSF", + "G4SF", + "G8SF" + ] + }, + "nodes": { + "description": "number of nodes used for the job inside the RMS.", + "type": "integer", + "validateNodes": {} + }, + "ppn": { + "description": "number of CPUs used for the job inside the RMS.", + "type": "integer", + "validatePpn": {} + }, + "timeLimit": { + "description": "Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'", + "type": "string", + "validateTimeLimit": {} + }, + "timeLimitType": { + "description": "Convention to use when reasoning about time limits", + "type": "string", + "default": "per single attempt", + "enum": [ + "per single attempt", + "compound" + ] + }, + "isRestartable": { + "description": "Job is allowed to restart on termination.", + "type": "boolean", + "default": true + }, + "notify": { + "description": "Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.", + "type": "string" + }, + "email": { + "description": "Email address to notify about job execution.", + "type": "string" + }, + "maxCPU": { + "description": "Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.", + "type": "integer" + }, + "arguments": { + "description": "Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere", + "type": "object", + "default": {}, + "oneOf": [ + { + "$id": "software-directory/modeling/espresso/arguments", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "quantum espresso arguments schema", + "type": "object", + "properties": { + "nimage": { + "description": "Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "npools": { + "description": "Each image can be subpartitioned into `pools`, each taking care of a group of k-points.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "nband": { + "description": "Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "ntg": { + "description": "In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + }, + "ndiag": { + "description": "A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.", + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 100 + } + }, + "additionalProperties": false + } + ] + }, + "cluster": { + "description": "Cluster where the job is executed. Optional on create. Required on job submission.", + "type": "object", + "properties": { + "fqdn": { + "description": "FQDN of the cluster. e.g. master-1-staging.exabyte.io", + "type": "string" + }, + "jid": { + "description": "Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io", + "type": "string" + } + } + }, + "errors": { + "description": "Computation error. Optional. Appears only if something happens on jobs execution.", + "type": "array", + "items": { + "type": "object", + "properties": { + "domain": { + "description": "Domain of the error appearance (internal).", + "type": "string", + "enum": [ + "rupy", + "alfred", + "celim", + "webapp" + ] + }, + "reason": { + "description": "Should be a short, unique, machine-readable error code string. e.g. FileNotFound", + "type": "string" + }, + "message": { + "description": "Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'", + "type": "string" + }, + "traceback": { + "description": "Full machine-readable error traceback. e.g. FileNotFound", + "type": "string" + } + } + } + }, + "excludeFilesPattern": { + "description": "A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix", + "type": "string" + } + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit.json b/docs/js/schema/workflow/unit.json new file mode 100644 index 000000000..086db4329 --- /dev/null +++ b/docs/js/schema/workflow/unit.json @@ -0,0 +1,256 @@ +{ + "$id": "workflow/unit", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow unit schema", + "type": "object", + "required": [ + "type", + "flowchartId" + ], + "additionalProperties": true, + "properties": { + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "type": { + "description": "type of the unit", + "type": "string" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/assertion.json b/docs/js/schema/workflow/unit/assertion.json new file mode 100644 index 000000000..e01ba88d7 --- /dev/null +++ b/docs/js/schema/workflow/unit/assertion.json @@ -0,0 +1,267 @@ +{ + "$id": "workflow/unit/assertion", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "assertion unit schema", + "type": "object", + "required": [ + "flowchartId", + "name", + "statement", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "assertion" + ], + "description": "type of the unit", + "type": "string" + }, + "statement": { + "type": "string" + }, + "errorMessage": { + "type": "string" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/assignment.json b/docs/js/schema/workflow/unit/assignment.json new file mode 100644 index 000000000..e52e4f2b3 --- /dev/null +++ b/docs/js/schema/workflow/unit/assignment.json @@ -0,0 +1,293 @@ +{ + "$id": "workflow/unit/assignment", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "assignment unit schema", + "type": "object", + "required": [ + "flowchartId", + "name", + "type", + "value" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "assignment" + ], + "description": "type of the unit", + "type": "string" + }, + "input": { + "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemScope", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow unit input schema", + "type": "object", + "required": [ + "scope", + "name" + ], + "properties": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", + "type": "string" + }, + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" + } + } + } + }, + "operand": { + "description": "Name of the global variable. e.g. 'x'", + "type": "string" + }, + "value": { + "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)", + "type": "string" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/condition.json b/docs/js/schema/workflow/unit/condition.json new file mode 100644 index 000000000..73d684a62 --- /dev/null +++ b/docs/js/schema/workflow/unit/condition.json @@ -0,0 +1,307 @@ +{ + "$id": "workflow/unit/condition", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "condition unit schema", + "type": "object", + "required": [ + "else", + "flowchartId", + "input", + "statement", + "then", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "condition" + ], + "description": "type of the unit", + "type": "string" + }, + "input": { + "description": "Input information for condition.", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemScope", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow unit input schema", + "type": "object", + "required": [ + "scope", + "name" + ], + "properties": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", + "type": "string" + }, + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" + } + } + } + }, + "statement": { + "description": "Condition statement. e.g. 'abs(x-total_energy) < 1e-5'", + "type": "string" + }, + "then": { + "description": "Flowchart ID reference for `then` part of the condition.", + "type": "string" + }, + "else": { + "description": "Flowchart ID reference for `else` part of the condition.", + "type": "string" + }, + "maxOccurrences": { + "description": "Maximum occurrence of the condition, usable for loops.", + "type": "integer" + }, + "throwException": { + "description": "Throw exception on reaching to maximum occurence.", + "type": "boolean" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/execution.json b/docs/js/schema/workflow/unit/execution.json new file mode 100644 index 000000000..eb0a7da43 --- /dev/null +++ b/docs/js/schema/workflow/unit/execution.json @@ -0,0 +1,648 @@ +{ + "$id": "workflow/unit/execution", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit schema (base)", + "type": "object", + "required": [ + "application", + "flowchartId", + "input", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "execution" + ], + "description": "type of the unit", + "type": "string" + }, + "application": { + "$id": "software/application", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "application schema (base)", + "type": "object", + "required": [ + "name" + ], + "additionalProperties": true, + "properties": { + "name": { + "description": "The name of the application. e.g. espresso", + "type": "string" + }, + "shortName": { + "description": "The short name of the application. e.g. qe", + "type": "string" + }, + "summary": { + "description": "Application's short description.", + "type": "string" + }, + "version": { + "description": "Application version. e.g. 5.3.5", + "type": "string" + }, + "build": { + "description": "Application build. e.g. VTST", + "type": "string" + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "isLicensed": { + "description": "Whether licensing is present", + "type": "boolean" + } + } + }, + "executable": { + "$id": "software/executable", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "executable schema", + "type": "object", + "required": [ + "name", + "applicationId" + ], + "properties": { + "name": { + "description": "The name of the executable. e.g. pw.x", + "type": "string" + }, + "applicationId": { + "description": "_ids of the application this executable belongs to", + "type": "array", + "items": { + "type": "string" + } + }, + "hasAdvancedComputeOptions": { + "description": "Whether advanced compute options are present", + "type": "boolean" + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "flavor": { + "$id": "software/flavor", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "flavor schema", + "type": "object", + "required": [ + "name", + "executableId" + ], + "properties": { + "name": { + "description": "The name of the executable flavor. e.g. `pw_scf`", + "type": "string" + }, + "executableId": { + "description": "_id of the executable this flavor belongs to", + "type": "string" + }, + "executableName": { + "description": "name of the executable this flavor belongs to", + "type": "string" + }, + "applicationName": { + "description": "name of the application this flavor belongs to", + "type": "string" + }, + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "required": [ + "templateId" + ], + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } + } + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } + }, + "input": { + "description": "unit input (type to be specified by the application's execution unit)" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/input/_input.json b/docs/js/schema/workflow/unit/input/_input.json new file mode 100644 index 000000000..487a66c5e --- /dev/null +++ b/docs/js/schema/workflow/unit/input/_input.json @@ -0,0 +1,57 @@ +{ + "$id": "workflow/unit/input/-input", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input schema for physics-based simulation engines", + "type": "object", + "properties": { + "input": { + "title": "execution unit input schema", + "type": "array", + "items": { + "oneOf": [ + { + "$id": "workflow/unit/input/-inputItem", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input item schema for physics-based simulation engines", + "type": "object", + "properties": { + "name": { + "description": "Input file name. e.g. pw_scf.in", + "type": "string" + }, + "content": { + "description": "Content of the input file. e.g. &CONTROL calculation='scf' ...", + "type": "string" + } + }, + "required": [ + "name", + "content" + ] + }, + { + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + }, + "required": [ + "templateId" + ] + } + ] + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/input/_inputItem.json b/docs/js/schema/workflow/unit/input/_inputItem.json new file mode 100644 index 000000000..61730c655 --- /dev/null +++ b/docs/js/schema/workflow/unit/input/_inputItem.json @@ -0,0 +1,20 @@ +{ + "$id": "workflow/unit/input/-inputItem", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input item schema for physics-based simulation engines", + "type": "object", + "required": [ + "name", + "content" + ], + "properties": { + "name": { + "description": "Input file name. e.g. pw_scf.in", + "type": "string" + }, + "content": { + "description": "Content of the input file. e.g. &CONTROL calculation='scf' ...", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/input/_inputItemId.json b/docs/js/schema/workflow/unit/input/_inputItemId.json new file mode 100644 index 000000000..19e0ce1bf --- /dev/null +++ b/docs/js/schema/workflow/unit/input/_inputItemId.json @@ -0,0 +1,21 @@ +{ + "$id": "workflow/unit/input/-inputItemId", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "execution unit input id item schema for physics-based simulation engines", + "type": "object", + "required": [ + "templateId" + ], + "properties": { + "templateId": { + "type": "string" + }, + "templateName": { + "type": "string" + }, + "name": { + "description": "name of the resulting input file, if different than template name", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/input/_inputItemScope.json b/docs/js/schema/workflow/unit/input/_inputItemScope.json new file mode 100644 index 000000000..d76f9c149 --- /dev/null +++ b/docs/js/schema/workflow/unit/input/_inputItemScope.json @@ -0,0 +1,20 @@ +{ + "$id": "workflow/unit/input/-inputItemScope", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "workflow unit input schema", + "type": "object", + "required": [ + "scope", + "name" + ], + "properties": { + "scope": { + "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'", + "type": "string" + }, + "name": { + "description": "Name of the input data. e.g. total_energy", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/io.json b/docs/js/schema/workflow/unit/io.json new file mode 100644 index 000000000..0e761d7df --- /dev/null +++ b/docs/js/schema/workflow/unit/io.json @@ -0,0 +1,422 @@ +{ + "$id": "workflow/unit/io", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "data IO unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "source", + "subtype", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "io" + ], + "description": "type of the unit", + "type": "string" + }, + "subtype": { + "enum": [ + "input", + "output", + "dataFrame" + ] + }, + "source": { + "enum": [ + "api", + "db", + "object_storage" + ] + }, + "input": { + "type": "array", + "items": { + "anyOf": [ + { + "$id": "workflow/unit/io/api", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "data IO rest API input schema", + "type": "object", + "properties": { + "endpoint": { + "description": "rest API endpoint", + "type": "string" + }, + "endpoint_options": { + "description": "rest API endpoint options", + "type": "object" + }, + "name": { + "description": "the name of the variable in local scope to save the data under", + "type": "string" + } + }, + "required": [ + "endpoint", + "endpoint_options" + ] + }, + { + "$id": "workflow/unit/io/db", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "data IO database input/output schema", + "type": "object", + "oneOf": [ + { + "properties": { + "ids": { + "description": "IDs of item to retrieve from db", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "ids" + ] + }, + { + "properties": { + "collection": { + "description": "db collection name", + "type": "string" + }, + "draft": { + "description": "whether the result should be saved as draft", + "type": "boolean", + "default": true + } + }, + "required": [ + "collection", + "draft" + ] + } + ] + }, + { + "$id": "workflow/unit/io/object-storage", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "object_storage io schema", + "type": "object", + "allof": [ + { + "$id": "core/reusable/file-metadata", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "file_metadata", + "properties": { + "pathname": { + "description": "Relative path to the directory that contains the file.", + "type": "string" + }, + "basename": { + "description": "Basename of the file", + "type": "string", + "$comment": "isGenerative:true" + }, + "filetype": { + "description": "What kind of file this is, e.g. image / text", + "type": "string" + } + } + } + ], + "properties": { + "objectData": { + "$id": "core/reusable/object-storage-container-data", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Object Storage Container Data", + "required": [ + "CONTAINER", + "NAME", + "PROVIDER", + "REGION" + ], + "properties": { + "CONTAINER": { + "description": "Object storage container for the file", + "type": "string" + }, + "NAME": { + "description": "Name of the file inside the object storage bucket", + "type": "string" + }, + "PROVIDER": { + "description": "Object storage provider", + "type": "string" + }, + "REGION": { + "description": "Region for the object container specified in Container", + "type": "string" + }, + "SIZE": { + "description": "Size of the file in bytes", + "type": "integer" + }, + "TIMESTAMP": { + "description": "Unix timestamp showing when the file was last modified", + "type": "string" + } + } + }, + "overwrite": { + "description": "if a file with the same filename already exists, whether to overwrite the old file", + "type": "boolean", + "default": false + } + }, + "required": [ + "objectData", + "basename" + ] + } + ] + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/io/api.json b/docs/js/schema/workflow/unit/io/api.json new file mode 100644 index 000000000..643bd4abf --- /dev/null +++ b/docs/js/schema/workflow/unit/io/api.json @@ -0,0 +1,24 @@ +{ + "$id": "workflow/unit/io/api", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "data IO rest API input schema", + "type": "object", + "required": [ + "endpoint", + "endpoint_options" + ], + "properties": { + "endpoint": { + "description": "rest API endpoint", + "type": "string" + }, + "endpoint_options": { + "description": "rest API endpoint options", + "type": "object" + }, + "name": { + "description": "the name of the variable in local scope to save the data under", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/io/db.json b/docs/js/schema/workflow/unit/io/db.json new file mode 100644 index 000000000..e8aa60a48 --- /dev/null +++ b/docs/js/schema/workflow/unit/io/db.json @@ -0,0 +1,39 @@ +{ + "$id": "workflow/unit/io/db", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "data IO database input/output schema", + "type": "object", + "oneOf": [ + { + "properties": { + "ids": { + "description": "IDs of item to retrieve from db", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "ids" + ] + }, + { + "properties": { + "collection": { + "description": "db collection name", + "type": "string" + }, + "draft": { + "description": "whether the result should be saved as draft", + "type": "boolean", + "default": true + } + }, + "required": [ + "collection", + "draft" + ] + } + ] +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/io/object_storage.json b/docs/js/schema/workflow/unit/io/object_storage.json new file mode 100644 index 000000000..447969b5b --- /dev/null +++ b/docs/js/schema/workflow/unit/io/object_storage.json @@ -0,0 +1,76 @@ +{ + "$id": "workflow/unit/io/object-storage", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "object_storage io schema", + "type": "object", + "allof": [ + { + "$id": "core/reusable/file-metadata", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "file_metadata", + "properties": { + "pathname": { + "description": "Relative path to the directory that contains the file.", + "type": "string" + }, + "basename": { + "description": "Basename of the file", + "type": "string", + "$comment": "isGenerative:true" + }, + "filetype": { + "description": "What kind of file this is, e.g. image / text", + "type": "string" + } + } + } + ], + "required": [ + "objectData", + "basename" + ], + "properties": { + "objectData": { + "$id": "core/reusable/object-storage-container-data", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Object Storage Container Data", + "required": [ + "CONTAINER", + "NAME", + "PROVIDER", + "REGION" + ], + "properties": { + "CONTAINER": { + "description": "Object storage container for the file", + "type": "string" + }, + "NAME": { + "description": "Name of the file inside the object storage bucket", + "type": "string" + }, + "PROVIDER": { + "description": "Object storage provider", + "type": "string" + }, + "REGION": { + "description": "Region for the object container specified in Container", + "type": "string" + }, + "SIZE": { + "description": "Size of the file in bytes", + "type": "integer" + }, + "TIMESTAMP": { + "description": "Unix timestamp showing when the file was last modified", + "type": "string" + } + } + }, + "overwrite": { + "description": "if a file with the same filename already exists, whether to overwrite the old file", + "type": "boolean", + "default": false + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/map.json b/docs/js/schema/workflow/unit/map.json new file mode 100644 index 000000000..7cb6f9d6f --- /dev/null +++ b/docs/js/schema/workflow/unit/map.json @@ -0,0 +1,306 @@ +{ + "$id": "workflow/unit/map", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "map unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "type", + "workflowId" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "map" + ], + "description": "type of the unit", + "type": "string" + }, + "workflowId": { + "description": "Id of workflow to run inside map", + "type": "string" + }, + "input": { + "description": "Input information for map.", + "type": "object", + "required": [ + "target" + ], + "properties": { + "target": { + "description": "Name of the target variable to substitute using the values below. e.g. K_POINTS", + "type": "string" + }, + "scope": { + "description": "Scope to retrieve `values` from, global or flowchartId. Optional if `values` is given.", + "type": "string" + }, + "name": { + "description": "Name of the variable inside the scope to retrieve `values` from. Optional if `values` is given.", + "type": "string" + }, + "values": { + "description": "Sequence of values for the target Jinja variable. Optional if `scope` and `name` are given. This can be used for map-reduce type parallel execution", + "type": "array", + "items": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "object" + } + ] + } + }, + "useValues": { + "type": "boolean" + } + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/processing.json b/docs/js/schema/workflow/unit/processing.json new file mode 100644 index 000000000..2663fc6c9 --- /dev/null +++ b/docs/js/schema/workflow/unit/processing.json @@ -0,0 +1,273 @@ +{ + "$id": "workflow/unit/processing", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "processing unit schema", + "type": "object", + "required": [ + "flowchartId", + "inputData", + "operation", + "operationType", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "processing" + ], + "description": "type of the unit", + "type": "string" + }, + "operation": { + "description": "Contains information about the operation used.", + "type": "string" + }, + "operationType": { + "description": "Contains information about the specific type of the operation used.", + "type": "string" + }, + "inputData": { + "description": "unit input (type to be specified by the child units)" + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/reduce.json b/docs/js/schema/workflow/unit/reduce.json new file mode 100644 index 000000000..aaccdabbc --- /dev/null +++ b/docs/js/schema/workflow/unit/reduce.json @@ -0,0 +1,289 @@ +{ + "$id": "workflow/unit/reduce", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "reduce unit schema", + "type": "object", + "required": [ + "flowchartId", + "input", + "mapFlowchartId", + "type" + ], + "additionalProperties": true, + "properties": { + "type": { + "enum": [ + "reduce" + ], + "description": "type of the unit", + "type": "string" + }, + "mapFlowchartId": { + "description": "corresponding map unit flowchart ID", + "type": "string" + }, + "input": { + "description": "input information for reduce unit", + "type": "array", + "items": { + "type": "object", + "required": [ + "operation", + "arguments" + ], + "properties": { + "operation": { + "description": "reduce operation, e.g. aggregate", + "type": "string" + }, + "arguments": { + "description": "arguments which are passed to reduce operation function", + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "_id": { + "type": "string", + "description": "entity identity" + }, + "isDraft": { + "type": "boolean" + }, + "name": { + "description": "name of the unit. e.g. pw_scf", + "type": "string" + }, + "status": { + "description": "Status of the unit.", + "type": "string", + "enum": [ + "idle", + "active", + "warning", + "error", + "finished" + ] + }, + "head": { + "description": "Whether this unit is the first one to be executed.", + "type": "boolean" + }, + "flowchartId": { + "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.", + "type": "string" + }, + "next": { + "description": "Next unit's flowchartId. If empty, the current unit is the last.", + "type": "string" + }, + "enableRender": { + "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit", + "type": "boolean" + }, + "context": { + "type": "object" + }, + "slug": { + "description": "entity slug", + "type": "string" + }, + "systemName": { + "type": "string" + }, + "consistencyChecks": { + "type": "array", + "items": { + "$id": "system/consistency-check", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "consistency check", + "type": "object", + "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.", + "required": [ + "key", + "name", + "severity", + "message" + ], + "properties": { + "key": { + "type": "string", + "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'" + }, + "name": { + "enum": [ + "default", + "atomsTooClose", + "atomsOverlap" + ], + "description": "Name of the consistency check that is performed, which is listed in an enum." + }, + "severity": { + "enum": [ + "info", + "warning", + "error" + ], + "description": "Severity level of the problem, which is used in UI to differentiate." + }, + "message": { + "type": "string", + "description": "Message generated by the consistency check describing the problem." + } + } + } + }, + "schemaVersion": { + "description": "entity's schema version. Used to distinct between different schemas.", + "type": "string", + "default": "2022.8.16" + }, + "isDefault": { + "description": "Identifies that entity is defaultable", + "type": "boolean", + "default": false + }, + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "tags": { + "description": "entity tags", + "type": "array", + "items": { + "type": "string" + } + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/runtime/_runtime-item-full-object.json b/docs/js/schema/workflow/unit/runtime/_runtime-item-full-object.json new file mode 100644 index 000000000..abed0e1d9 --- /dev/null +++ b/docs/js/schema/workflow/unit/runtime/_runtime-item-full-object.json @@ -0,0 +1,15 @@ +{ + "$id": "workflow/unit/runtime/-runtime-item-full-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "full result schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. 'my_custom_property. '", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/runtime/_runtime-item-name-object.json b/docs/js/schema/workflow/unit/runtime/_runtime-item-name-object.json new file mode 100644 index 000000000..31f326138 --- /dev/null +++ b/docs/js/schema/workflow/unit/runtime/_runtime-item-name-object.json @@ -0,0 +1,15 @@ +{ + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + } +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/runtime/_runtime-item-string.json b/docs/js/schema/workflow/unit/runtime/_runtime-item-string.json new file mode 100644 index 000000000..d02489611 --- /dev/null +++ b/docs/js/schema/workflow/unit/runtime/_runtime-item-string.json @@ -0,0 +1,7 @@ +{ + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/runtime/runtime_item.json b/docs/js/schema/workflow/unit/runtime/runtime_item.json new file mode 100644 index 000000000..343b3cec6 --- /dev/null +++ b/docs/js/schema/workflow/unit/runtime/runtime_item.json @@ -0,0 +1,29 @@ +{ + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] +} \ No newline at end of file diff --git a/docs/js/schema/workflow/unit/runtime/runtime_items.json b/docs/js/schema/workflow/unit/runtime/runtime_items.json new file mode 100644 index 000000000..939877ff3 --- /dev/null +++ b/docs/js/schema/workflow/unit/runtime/runtime_items.json @@ -0,0 +1,140 @@ +{ + "$id": "workflow/unit/runtime/runtime-items", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime items schema (pre-/post-processors, monitors, results", + "type": "object", + "properties": { + "preProcessors": { + "description": "names of the pre-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "postProcessors": { + "description": "names of the post-processors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "monitors": { + "description": "names of the monitors for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + }, + "results": { + "description": "names of the results for this calculation", + "type": "array", + "items": { + "$id": "workflow/unit/runtime/runtime-item", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "runtime item schema", + "oneOf": [ + { + "$id": "workflow/unit/runtime/-runtime-item-name-object", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "name result schema", + "type": "object", + "properties": { + "name": { + "description": "The name of this item. e.g. scf_accuracy", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + { + "$id": "workflow/unit/runtime/-runtime-item-string", + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "RuntimeItemString", + "description": "name of runtime item in shortened notation", + "type": "string" + } + ] + } + } + } +} \ No newline at end of file