@mat3ra/esse 2025.8.20-0 → 2025.10.8-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/dist/js/example/element.json +2 -1
  2. package/dist/js/example/properties_directory/elemental/ionization_potential.json +2 -1
  3. package/dist/js/example/properties_directory/workflow/convergence/electronic.json +1 -0
  4. package/dist/js/example/properties_directory/workflow/convergence/ionic.json +1 -0
  5. package/dist/js/example/property/{base.json → holder.json} +10 -8
  6. package/dist/js/example/workflow/unit/io/object_storage.json +2 -1
  7. package/dist/js/schema/core/abstract/2d_data.json +15 -5
  8. package/dist/js/schema/core/abstract/2d_plot.json +15 -10
  9. package/dist/js/schema/core/primitive/1d_data_series.json +1 -4
  10. package/dist/js/schema/core/{reusable/axis_enum.json → primitive/axis_3d_names_enum.json} +1 -1
  11. package/dist/js/schema/core/reference/exabyte.json +4 -4
  12. package/dist/js/schema/core/reusable/{coordinate_conditions.json → coordinate_conditions/index.json} +1 -1
  13. package/dist/js/schema/core/reusable/energy.json +1 -1
  14. package/dist/js/schema/core/{abstract → reusable}/kpoint.json +1 -1
  15. package/dist/js/schema/definitions/{materials.json → material.json} +1 -1
  16. package/dist/js/schema/element.json +5 -2
  17. package/dist/js/schema/job.json +168 -187
  18. package/dist/js/schema/methods_directory/physical/psp/file.json +3 -1
  19. package/dist/js/schema/methods_directory/physical/psp/file_data_item.json +3 -1
  20. package/dist/js/schema/methods_directory/physical/psp.json +3 -1
  21. package/dist/js/schema/properties_directory/elemental/atomic_radius.json +1 -0
  22. package/dist/js/schema/properties_directory/elemental/electronegativity.json +1 -0
  23. package/dist/js/schema/properties_directory/elemental/ionization_potential.json +3 -2
  24. package/dist/js/schema/properties_directory/jupyter_notebook_endpoint.json +28 -0
  25. package/dist/js/schema/properties_directory/non_scalar/average_potential_profile.json +17 -11
  26. package/dist/js/schema/properties_directory/non_scalar/band_gaps.json +3 -2
  27. package/dist/js/schema/properties_directory/non_scalar/band_structure.json +18 -11
  28. package/dist/js/schema/properties_directory/non_scalar/charge_density_profile.json +17 -11
  29. package/dist/js/schema/properties_directory/non_scalar/density_of_states.json +18 -8
  30. package/dist/js/schema/properties_directory/non_scalar/dielectric_tensor.json +3 -2
  31. package/dist/js/schema/properties_directory/non_scalar/file_content.json +2 -1
  32. package/dist/js/schema/properties_directory/non_scalar/final_structure.json +25 -0
  33. package/dist/js/schema/properties_directory/non_scalar/hubbard_u.json +4 -2
  34. package/dist/js/schema/properties_directory/non_scalar/hubbard_v.json +5 -4
  35. package/dist/js/schema/properties_directory/non_scalar/hubbard_v_nn.json +4 -3
  36. package/dist/js/schema/properties_directory/non_scalar/is_relaxed.json +25 -0
  37. package/dist/js/schema/properties_directory/non_scalar/phonon_dispersions.json +17 -11
  38. package/dist/js/schema/properties_directory/non_scalar/phonon_dos.json +17 -11
  39. package/dist/js/schema/properties_directory/non_scalar/potential_profile.json +17 -11
  40. package/dist/js/schema/properties_directory/non_scalar/reaction_energy_profile.json +17 -11
  41. package/dist/js/schema/properties_directory/non_scalar/stress_tensor.json +6 -1
  42. package/dist/js/schema/properties_directory/non_scalar/total_energy_contributions.json +26 -4
  43. package/dist/js/schema/properties_directory/non_scalar/vibrational_spectrum.json +17 -11
  44. package/dist/js/schema/properties_directory/non_scalar/workflow.json +5503 -0
  45. package/dist/js/schema/properties_directory/reusable/hubbard_parameters.json +70 -0
  46. package/dist/js/schema/properties_directory/scalar/electron_affinity.json +2 -2
  47. package/dist/js/schema/properties_directory/scalar/fermi_energy.json +2 -2
  48. package/dist/js/schema/properties_directory/scalar/formation_energy.json +2 -2
  49. package/dist/js/schema/properties_directory/scalar/ionization_potential.json +2 -2
  50. package/dist/js/schema/properties_directory/scalar/pressure.json +3 -1
  51. package/dist/js/schema/properties_directory/scalar/reaction_energy_barrier.json +2 -2
  52. package/dist/js/schema/properties_directory/scalar/surface_energy.json +2 -2
  53. package/dist/js/schema/properties_directory/scalar/total_energy.json +2 -2
  54. package/dist/js/schema/properties_directory/scalar/total_force.json +3 -1
  55. package/dist/js/schema/properties_directory/scalar/valence_band_offset.json +2 -2
  56. package/dist/js/schema/properties_directory/scalar/zero_point_energy.json +2 -2
  57. package/dist/js/schema/properties_directory/structural/atomic_forces.json +6 -1
  58. package/dist/js/schema/properties_directory/structural/basis/atomic_constraints_property.json +4 -0
  59. package/dist/js/schema/properties_directory/structural/basis/boundary_conditions.json +33 -0
  60. package/dist/js/schema/properties_directory/structural/lattice/{lattice_vectors.json → units.json} +1 -1
  61. package/dist/js/schema/properties_directory/structural/magnetic_moments.json +6 -1
  62. package/dist/js/schema/properties_directory/structural/molecular_pattern.json +12 -3
  63. package/dist/js/schema/properties_directory/structural/patterns/functional_group.json +3 -0
  64. package/dist/js/schema/properties_directory/structural/patterns/ring.json +3 -0
  65. package/dist/js/schema/properties_directory/structural/patterns/special_bond.json +3 -0
  66. package/dist/js/schema/properties_directory/workflow/convergence/electronic.json +4 -2
  67. package/dist/js/schema/properties_directory/workflow/convergence/ionic.json +7 -2
  68. package/dist/js/schema/property/holder.json +7886 -0
  69. package/dist/js/schema/property/meta_holder.json +244 -0
  70. package/dist/js/schema/property/proto_holder.json +143 -0
  71. package/dist/js/schema/property/source.json +9 -6
  72. package/dist/js/schema/workflow/base_flow.json +162 -177
  73. package/dist/js/schema/workflow/subworkflow/unit.json +3 -5
  74. package/dist/js/schema/workflow/subworkflow.json +165 -182
  75. package/dist/js/schema/workflow/unit/io/db.json +1 -2
  76. package/dist/js/schema/workflow/unit/io/object_storage.json +1 -2
  77. package/dist/js/schema/workflow/unit/io.json +3 -5
  78. package/dist/js/schema/workflow/unit.json +3 -5
  79. package/dist/js/schema/workflow.json +168 -187
  80. package/dist/js/schemas.json +1 -1
  81. package/dist/js/types.d.ts +6756 -1388
  82. package/example/properties_directory/elemental/ionization_potential.json +2 -1
  83. package/example/properties_directory/non-scalar/hubbard_v.json +3 -3
  84. package/example/properties_directory/non-scalar/hubbard_v_nn.json +3 -3
  85. package/example/properties_directory/workflow/convergence/electronic.json +1 -0
  86. package/example/properties_directory/workflow/convergence/ionic.json +1 -0
  87. package/example/property/{base.json → holder.json} +11 -2
  88. package/example/workflow/unit/io/object_storage.json +2 -1
  89. package/package.json +3 -3
  90. package/schema/core/abstract/2d_data.json +14 -1
  91. package/schema/core/abstract/2d_plot.json +0 -5
  92. package/schema/core/primitive/1d_data_series.json +1 -4
  93. package/schema/core/primitive/axis_3d_names_enum.json +1 -1
  94. package/schema/core/reference/exabyte.json +5 -5
  95. package/schema/core/reusable/coordinate_conditions/index.json +2 -2
  96. package/schema/core/reusable/energy.json +1 -1
  97. package/schema/core/reusable/kpoint.json +1 -1
  98. package/schema/definitions/material.json +1 -1
  99. package/schema/methods_directory/physical/psp/file_data_item.json +3 -1
  100. package/schema/properties_directory/elemental/atomic_radius.json +4 -1
  101. package/schema/properties_directory/elemental/electronegativity.json +4 -1
  102. package/schema/properties_directory/elemental/ionization_potential.json +6 -3
  103. package/schema/properties_directory/jupyter_notebook_endpoint.json +28 -0
  104. package/schema/properties_directory/non-scalar/average_potential_profile.json +5 -2
  105. package/schema/properties_directory/non-scalar/band_gaps.json +4 -2
  106. package/schema/properties_directory/non-scalar/band_structure.json +8 -2
  107. package/schema/properties_directory/non-scalar/charge_density_profile.json +5 -2
  108. package/schema/properties_directory/non-scalar/density_of_states.json +6 -2
  109. package/schema/properties_directory/non-scalar/dielectric_tensor.json +4 -2
  110. package/schema/properties_directory/non-scalar/file_content.json +2 -1
  111. package/schema/properties_directory/non-scalar/final_structure.json +25 -0
  112. package/schema/properties_directory/non-scalar/hubbard_u.json +5 -2
  113. package/schema/properties_directory/non-scalar/hubbard_v.json +7 -26
  114. package/schema/properties_directory/non-scalar/hubbard_v_nn.json +12 -2
  115. package/schema/properties_directory/non-scalar/is_relaxed.json +25 -0
  116. package/schema/properties_directory/non-scalar/phonon_dispersions.json +5 -2
  117. package/schema/properties_directory/non-scalar/phonon_dos.json +5 -2
  118. package/schema/properties_directory/non-scalar/potential_profile.json +5 -2
  119. package/schema/properties_directory/non-scalar/reaction_energy_profile.json +5 -2
  120. package/schema/properties_directory/non-scalar/stress_tensor.json +8 -2
  121. package/schema/properties_directory/non-scalar/total_energy_contributions.json +25 -5
  122. package/schema/properties_directory/non-scalar/vibrational_spectrum.json +5 -2
  123. package/schema/properties_directory/non-scalar/workflow.json +21 -0
  124. package/schema/properties_directory/reusable/hubbard_parameters.json +36 -0
  125. package/schema/properties_directory/scalar/electron_affinity.json +5 -2
  126. package/schema/properties_directory/scalar/fermi_energy.json +5 -2
  127. package/schema/properties_directory/scalar/formation_energy.json +5 -2
  128. package/schema/properties_directory/scalar/ionization_potential.json +5 -2
  129. package/schema/properties_directory/scalar/pressure.json +6 -2
  130. package/schema/properties_directory/scalar/reaction_energy_barrier.json +5 -2
  131. package/schema/properties_directory/scalar/surface_energy.json +5 -2
  132. package/schema/properties_directory/scalar/total_energy.json +6 -2
  133. package/schema/properties_directory/scalar/total_force.json +6 -2
  134. package/schema/properties_directory/scalar/valence_band_offset.json +5 -2
  135. package/schema/properties_directory/scalar/zero_point_energy.json +5 -2
  136. package/schema/properties_directory/structural/atomic_forces.json +7 -2
  137. package/schema/properties_directory/structural/basis/atomic_constraints_property.json +5 -1
  138. package/schema/properties_directory/structural/basis/boundary_conditions.json +25 -0
  139. package/schema/properties_directory/structural/lattice/units.json +1 -1
  140. package/schema/properties_directory/structural/magnetic_moments.json +7 -2
  141. package/schema/properties_directory/structural/patterns/functional_group.json +4 -1
  142. package/schema/properties_directory/structural/patterns/ring.json +4 -1
  143. package/schema/properties_directory/structural/patterns/special_bond.json +4 -1
  144. package/schema/properties_directory/workflow/convergence/electronic.json +4 -2
  145. package/schema/properties_directory/workflow/convergence/ionic.json +8 -3
  146. package/schema/property/holder.json +180 -0
  147. package/schema/property/meta_holder.json +42 -0
  148. package/schema/property/proto_holder.json +51 -0
  149. package/schema/property/source.json +5 -2
  150. package/schema/workflow/base_flow.json +2 -16
  151. package/schema/workflow/unit/io/db.json +1 -2
  152. package/schema/workflow/unit/io/object_storage.json +1 -2
  153. package/schema/workflow/unit/io.json +1 -1
  154. package/dist/js/schema/property/base.json +0 -346
  155. package/dist/js/schema/property/meta.json +0 -346
  156. package/dist/js/schema/property/raw.json +0 -346
  157. package/schema/property/base.json +0 -58
  158. package/schema/property/meta.json +0 -11
  159. package/schema/property/raw.json +0 -58
@@ -78,7 +78,7 @@
78
78
  "input": {
79
79
  "type": "array",
80
80
  "items": {
81
- "anyOf": [
81
+ "oneOf": [
82
82
  {
83
83
  "$schema": "http://json-schema.org/draft-07/schema#",
84
84
  "title": "data IO rest API input schema",
@@ -131,8 +131,7 @@
131
131
  },
132
132
  "draft": {
133
133
  "description": "whether the result should be saved as draft",
134
- "type": "boolean",
135
- "default": true
134
+ "type": "boolean"
136
135
  }
137
136
  },
138
137
  "required": [
@@ -185,8 +184,7 @@
185
184
  },
186
185
  "overwrite": {
187
186
  "description": "if a file with the same filename already exists, whether to overwrite the old file",
188
- "type": "boolean",
189
- "default": false
187
+ "type": "boolean"
190
188
  },
191
189
  "pathname": {
192
190
  "description": "Relative path to the directory that contains the file.",
@@ -2466,200 +2464,185 @@
2466
2464
  "type": "array",
2467
2465
  "items": {
2468
2466
  "description": "property names, eg. `band_gaps`, `band_structure`",
2469
- "oneOf": [
2470
- {
2471
- "type": "string"
2472
- },
2473
- {
2474
- "type": "object"
2475
- }
2476
- ]
2467
+ "type": "string"
2477
2468
  }
2478
2469
  },
2479
2470
  "compute": {
2480
- "description": "compute parameters",
2481
- "oneOf": [
2482
- {
2471
+ "$schema": "http://json-schema.org/draft-07/schema#",
2472
+ "title": "compute arguments schema",
2473
+ "description": "Custom keywords prefixed with validate correspond to custom validation methods implemented downstream",
2474
+ "type": "object",
2475
+ "required": [
2476
+ "queue",
2477
+ "nodes",
2478
+ "ppn",
2479
+ "timeLimit"
2480
+ ],
2481
+ "properties": {
2482
+ "queue": {
2483
+ "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.",
2484
+ "type": "string",
2485
+ "enum": [
2486
+ "D",
2487
+ "OR",
2488
+ "OF",
2489
+ "OFplus",
2490
+ "SR",
2491
+ "SF",
2492
+ "SFplus",
2493
+ "GPOF",
2494
+ "GP2OF",
2495
+ "GP4OF",
2496
+ "GPSF",
2497
+ "GP2SF",
2498
+ "GP4SF",
2499
+ "OR4",
2500
+ "OR8",
2501
+ "OR16",
2502
+ "SR4",
2503
+ "SR8",
2504
+ "SR16",
2505
+ "GOF",
2506
+ "G4OF",
2507
+ "G8OF",
2508
+ "GSF",
2509
+ "G4SF",
2510
+ "G8SF"
2511
+ ]
2512
+ },
2513
+ "nodes": {
2514
+ "description": "number of nodes used for the job inside the RMS.",
2515
+ "type": "integer"
2516
+ },
2517
+ "ppn": {
2518
+ "description": "number of CPUs used for the job inside the RMS.",
2519
+ "type": "integer"
2520
+ },
2521
+ "timeLimit": {
2522
+ "description": "Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'",
2523
+ "type": "string"
2524
+ },
2525
+ "timeLimitType": {
2526
+ "description": "Convention to use when reasoning about time limits",
2527
+ "type": "string",
2528
+ "default": "per single attempt",
2529
+ "enum": [
2530
+ "per single attempt",
2531
+ "compound"
2532
+ ]
2533
+ },
2534
+ "isRestartable": {
2535
+ "description": "Job is allowed to restart on termination.",
2536
+ "type": "boolean",
2537
+ "default": true
2538
+ },
2539
+ "notify": {
2540
+ "description": "Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.",
2541
+ "type": "string"
2542
+ },
2543
+ "email": {
2544
+ "description": "Email address to notify about job execution.",
2545
+ "type": "string"
2546
+ },
2547
+ "maxCPU": {
2548
+ "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.",
2549
+ "type": "integer"
2550
+ },
2551
+ "arguments": {
2552
+ "description": "Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere",
2553
+ "default": {},
2483
2554
  "$schema": "http://json-schema.org/draft-07/schema#",
2484
- "title": "compute arguments schema",
2485
- "description": "Custom keywords prefixed with validate correspond to custom validation methods implemented downstream",
2555
+ "title": "quantum espresso arguments schema",
2486
2556
  "type": "object",
2557
+ "additionalProperties": false,
2487
2558
  "properties": {
2488
- "queue": {
2489
- "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.",
2490
- "type": "string",
2491
- "enum": [
2492
- "D",
2493
- "OR",
2494
- "OF",
2495
- "OFplus",
2496
- "SR",
2497
- "SF",
2498
- "SFplus",
2499
- "GPOF",
2500
- "GP2OF",
2501
- "GP4OF",
2502
- "GPSF",
2503
- "GP2SF",
2504
- "GP4SF",
2505
- "OR4",
2506
- "OR8",
2507
- "OR16",
2508
- "SR4",
2509
- "SR8",
2510
- "SR16",
2511
- "GOF",
2512
- "G4OF",
2513
- "G8OF",
2514
- "GSF",
2515
- "G4SF",
2516
- "G8SF"
2517
- ]
2559
+ "nimage": {
2560
+ "description": "Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.",
2561
+ "type": "integer",
2562
+ "default": 1,
2563
+ "minimum": 1,
2564
+ "maximum": 100
2518
2565
  },
2519
- "nodes": {
2520
- "description": "number of nodes used for the job inside the RMS.",
2521
- "type": "integer"
2522
- },
2523
- "ppn": {
2524
- "description": "number of CPUs used for the job inside the RMS.",
2525
- "type": "integer"
2526
- },
2527
- "timeLimit": {
2528
- "description": "Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'",
2529
- "type": "string"
2566
+ "npools": {
2567
+ "description": "Each image can be subpartitioned into `pools`, each taking care of a group of k-points.",
2568
+ "type": "integer",
2569
+ "default": 1,
2570
+ "minimum": 1,
2571
+ "maximum": 100
2530
2572
  },
2531
- "timeLimitType": {
2532
- "description": "Convention to use when reasoning about time limits",
2533
- "type": "string",
2534
- "default": "per single attempt",
2535
- "enum": [
2536
- "per single attempt",
2537
- "compound"
2538
- ]
2573
+ "nband": {
2574
+ "description": "Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).",
2575
+ "type": "integer",
2576
+ "default": 1,
2577
+ "minimum": 1,
2578
+ "maximum": 100
2539
2579
  },
2540
- "isRestartable": {
2541
- "description": "Job is allowed to restart on termination.",
2542
- "type": "boolean",
2543
- "default": true
2580
+ "ntg": {
2581
+ "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.",
2582
+ "type": "integer",
2583
+ "default": 1,
2584
+ "minimum": 1,
2585
+ "maximum": 100
2544
2586
  },
2545
- "notify": {
2546
- "description": "Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.",
2587
+ "ndiag": {
2588
+ "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.",
2589
+ "type": "integer",
2590
+ "default": 1,
2591
+ "minimum": 1,
2592
+ "maximum": 100
2593
+ }
2594
+ }
2595
+ },
2596
+ "cluster": {
2597
+ "description": "Cluster where the job is executed. Optional on create. Required on job submission.",
2598
+ "type": "object",
2599
+ "properties": {
2600
+ "fqdn": {
2601
+ "description": "FQDN of the cluster. e.g. master-1-staging.exabyte.io",
2547
2602
  "type": "string"
2548
2603
  },
2549
- "email": {
2550
- "description": "Email address to notify about job execution.",
2604
+ "jid": {
2605
+ "description": "Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io",
2551
2606
  "type": "string"
2552
- },
2553
- "maxCPU": {
2554
- "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.",
2555
- "type": "integer"
2556
- },
2557
- "arguments": {
2558
- "description": "Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere",
2559
- "default": {},
2560
- "$schema": "http://json-schema.org/draft-07/schema#",
2561
- "title": "quantum espresso arguments schema",
2562
- "type": "object",
2563
- "additionalProperties": false,
2564
- "properties": {
2565
- "nimage": {
2566
- "description": "Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.",
2567
- "type": "integer",
2568
- "default": 1,
2569
- "minimum": 1,
2570
- "maximum": 100
2571
- },
2572
- "npools": {
2573
- "description": "Each image can be subpartitioned into `pools`, each taking care of a group of k-points.",
2574
- "type": "integer",
2575
- "default": 1,
2576
- "minimum": 1,
2577
- "maximum": 100
2578
- },
2579
- "nband": {
2580
- "description": "Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).",
2581
- "type": "integer",
2582
- "default": 1,
2583
- "minimum": 1,
2584
- "maximum": 100
2585
- },
2586
- "ntg": {
2587
- "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.",
2588
- "type": "integer",
2589
- "default": 1,
2590
- "minimum": 1,
2591
- "maximum": 100
2592
- },
2593
- "ndiag": {
2594
- "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.",
2595
- "type": "integer",
2596
- "default": 1,
2597
- "minimum": 1,
2598
- "maximum": 100
2599
- }
2600
- }
2601
- },
2602
- "cluster": {
2603
- "description": "Cluster where the job is executed. Optional on create. Required on job submission.",
2604
- "type": "object",
2605
- "properties": {
2606
- "fqdn": {
2607
- "description": "FQDN of the cluster. e.g. master-1-staging.exabyte.io",
2608
- "type": "string"
2609
- },
2610
- "jid": {
2611
- "description": "Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io",
2612
- "type": "string"
2613
- }
2614
- }
2615
- },
2616
- "errors": {
2617
- "description": "Computation error. Optional. Appears only if something happens on jobs execution.",
2618
- "type": "array",
2619
- "items": {
2620
- "type": "object",
2621
- "properties": {
2622
- "domain": {
2623
- "description": "Domain of the error appearance (internal).",
2624
- "type": "string",
2625
- "enum": [
2626
- "rupy",
2627
- "alfred",
2628
- "celim",
2629
- "webapp"
2630
- ]
2631
- },
2632
- "reason": {
2633
- "description": "Should be a short, unique, machine-readable error code string. e.g. FileNotFound",
2634
- "type": "string"
2635
- },
2636
- "message": {
2637
- "description": "Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'",
2638
- "type": "string"
2639
- },
2640
- "traceback": {
2641
- "description": "Full machine-readable error traceback. e.g. FileNotFound",
2642
- "type": "string"
2643
- }
2644
- }
2607
+ }
2608
+ }
2609
+ },
2610
+ "errors": {
2611
+ "description": "Computation error. Optional. Appears only if something happens on jobs execution.",
2612
+ "type": "array",
2613
+ "items": {
2614
+ "type": "object",
2615
+ "properties": {
2616
+ "domain": {
2617
+ "description": "Domain of the error appearance (internal).",
2618
+ "type": "string",
2619
+ "enum": [
2620
+ "rupy",
2621
+ "alfred",
2622
+ "celim",
2623
+ "webapp"
2624
+ ]
2625
+ },
2626
+ "reason": {
2627
+ "description": "Should be a short, unique, machine-readable error code string. e.g. FileNotFound",
2628
+ "type": "string"
2629
+ },
2630
+ "message": {
2631
+ "description": "Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'",
2632
+ "type": "string"
2633
+ },
2634
+ "traceback": {
2635
+ "description": "Full machine-readable error traceback. e.g. FileNotFound",
2636
+ "type": "string"
2645
2637
  }
2646
- },
2647
- "excludeFilesPattern": {
2648
- "description": "A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix",
2649
- "type": "string"
2650
2638
  }
2651
- },
2652
- "required": [
2653
- "queue",
2654
- "nodes",
2655
- "ppn",
2656
- "timeLimit"
2657
- ]
2639
+ }
2658
2640
  },
2659
- {
2660
- "type": "null"
2641
+ "excludeFilesPattern": {
2642
+ "description": "A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix",
2643
+ "type": "string"
2661
2644
  }
2662
- ]
2645
+ }
2663
2646
  }
2664
2647
  }
2665
2648
  }
@@ -2709,7 +2692,7 @@
2709
2692
  "input": {
2710
2693
  "type": "array",
2711
2694
  "items": {
2712
- "anyOf": [
2695
+ "oneOf": [
2713
2696
  {
2714
2697
  "$schema": "http://json-schema.org/draft-07/schema#",
2715
2698
  "title": "data IO rest API input schema",
@@ -2762,8 +2745,7 @@
2762
2745
  },
2763
2746
  "draft": {
2764
2747
  "description": "whether the result should be saved as draft",
2765
- "type": "boolean",
2766
- "default": true
2748
+ "type": "boolean"
2767
2749
  }
2768
2750
  },
2769
2751
  "required": [
@@ -2816,8 +2798,7 @@
2816
2798
  },
2817
2799
  "overwrite": {
2818
2800
  "description": "if a file with the same filename already exists, whether to overwrite the old file",
2819
- "type": "boolean",
2820
- "default": false
2801
+ "type": "boolean"
2821
2802
  },
2822
2803
  "pathname": {
2823
2804
  "description": "Relative path to the directory that contains the file.",
@@ -19,7 +19,9 @@
19
19
  "exchangeCorrelation",
20
20
  "source",
21
21
  "path",
22
- "apps"
22
+ "apps",
23
+ "name",
24
+ "hash"
23
25
  ],
24
26
  "properties": {
25
27
  "element": {
@@ -9,7 +9,9 @@
9
9
  "exchangeCorrelation",
10
10
  "source",
11
11
  "path",
12
- "apps"
12
+ "apps",
13
+ "name",
14
+ "hash"
13
15
  ],
14
16
  "properties": {
15
17
  "element": {
@@ -204,7 +204,9 @@
204
204
  "exchangeCorrelation",
205
205
  "source",
206
206
  "path",
207
- "apps"
207
+ "apps",
208
+ "name",
209
+ "hash"
208
210
  ],
209
211
  "properties": {
210
212
  "element": {
@@ -5,6 +5,7 @@
5
5
  "description": "atomic radius",
6
6
  "type": "object",
7
7
  "required": [
8
+ "name",
8
9
  "value"
9
10
  ],
10
11
  "properties": {
@@ -5,6 +5,7 @@
5
5
  "description": "electronegativity for the element (Pauling scale)",
6
6
  "type": "object",
7
7
  "required": [
8
+ "name",
8
9
  "value"
9
10
  ],
10
11
  "properties": {
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "$id": "properties-directory/elemental/ionization-potential",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "ionization potential",
5
- "description": "ionization potential for the element",
4
+ "title": "Ionization potential elemental property schema",
6
5
  "type": "object",
7
6
  "required": [
7
+ "name",
8
+ "units",
8
9
  "value"
9
10
  ],
10
11
  "properties": {
@@ -0,0 +1,28 @@
1
+ {
2
+ "$id": "properties-directory/jupyter-notebook-endpoint",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Jupyter notebook endpoint property schema",
5
+ "type": "object",
6
+ "required": [
7
+ "name",
8
+ "host",
9
+ "port",
10
+ "token"
11
+ ],
12
+ "properties": {
13
+ "name": {
14
+ "enum": [
15
+ "jupyter_notebook_endpoint"
16
+ ]
17
+ },
18
+ "host": {
19
+ "type": "string"
20
+ },
21
+ "port": {
22
+ "type": "number"
23
+ },
24
+ "token": {
25
+ "type": "string"
26
+ }
27
+ }
28
+ }
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "$id": "properties-directory/non-scalar/average-potential-profile",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "average potential profile schema",
4
+ "title": "Average potential profile property schema",
5
5
  "type": "object",
6
6
  "required": [
7
+ "name",
7
8
  "xAxis",
8
9
  "xDataArray",
9
10
  "yAxis",
@@ -78,14 +79,22 @@
78
79
  "average_potential_profile"
79
80
  ]
80
81
  },
81
- "legend": {
82
- "description": "Legend of y Axis data series",
83
- "minItems": 1,
84
- "type": "array"
85
- },
86
82
  "xDataArray": {
87
83
  "description": "array containing values of x Axis",
88
- "type": "array"
84
+ "type": "array",
85
+ "items": {
86
+ "oneOf": [
87
+ {
88
+ "type": "number"
89
+ },
90
+ {
91
+ "type": "array",
92
+ "items": {
93
+ "type": "number"
94
+ }
95
+ }
96
+ ]
97
+ }
89
98
  },
90
99
  "yDataSeries": {
91
100
  "$schema": "http://json-schema.org/draft-07/schema#",
@@ -95,10 +104,7 @@
95
104
  "type": "array",
96
105
  "minItems": 1,
97
106
  "items": {
98
- "type": [
99
- "number",
100
- "string"
101
- ]
107
+ "type": "number"
102
108
  }
103
109
  }
104
110
  }
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "$id": "properties-directory/non-scalar/band-gaps",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "band gaps schema",
4
+ "title": "Band gaps property schema",
5
5
  "description": "contains band gap values",
6
6
  "type": "object",
7
7
  "required": [
8
- "name"
8
+ "name",
9
+ "values"
9
10
  ],
10
11
  "properties": {
11
12
  "name": {