ITER Physics Data Model Documentation for amns_data
Atomic, molecular, nuclear and surface physics data. Each occurrence contains the data for a given element (nuclear charge), describing various physical processes. For each process, data tables are organized by charge states. The coordinate system used by the data tables is described under the coordinate_system node.
Notation of array of structure indices: itime indicates a time index; i1, i2, i3, ... indicate other indices with their depth in the IDS. This notation clarifies the path of a given node, but should not be used to compare indices of different nodes (they may have different meanings).
Lifecycle status: alpha since version 3.0.0
Last change occured on version: 3.21.0
By convention, only the upper error node should be filled in case of symmetrical error bars. The upper and lower errors are absolute and defined positive, and represent one standard deviation of the data. The effective values of the data (within one standard deviation) will be within the interval [data-data_error_lower, data+data_error_upper]. Thus whatever the sign of data, data_error_lower relates to the lower bound and data_error_upper to the upper bound of the error bar interval.Full path name | Description | Data Type | Coordinates |
ids_properties | Interface Data Structure properties. This element identifies the node above as an IDS | structure | |
ids_properties/comment | Any comment describing the content of this IDS {constant} | STR_0D | |
ids_properties/homogeneous_time | This node must be filled (with 0, 1, or 2) for the IDS to be valid. If 1, the time of this IDS is homogeneous, i.e. the time values for this IDS are stored in the time node just below the root of this IDS. If 0, the time values are stored in the various time fields at lower levels in the tree. In the case only constant or static nodes are filled within the IDS, homogeneous_time must be set to 2 {constant} | INT_0D | |
ids_properties/source Lifecycle status: obsolescent since version 3.34.0 |
Source of the data (any comment describing the origin of the data : code, path to diagnostic signals, processing method, ...). Superseeded by the new provenance structure. {constant} | STR_0D | |
ids_properties/provider | Name of the person in charge of producing this data {constant} | STR_0D | |
ids_properties/creation_date | Date at which this data has been produced {constant} | STR_0D | |
ids_properties/version_put | Version of the access layer package used to PUT this IDS | structure | |
ids_properties/version_put/data_dictionary | Version of Data Dictionary used to PUT this IDS {constant} | STR_0D | |
ids_properties/version_put/access_layer | Version of Access Layer used to PUT this IDS {constant} | STR_0D | |
ids_properties/version_put/access_layer_language | Programming language of the Access Layer high level API used to PUT this IDS {constant} | STR_0D | |
ids_properties/provenance Lifecycle status: alpha since version 3.34.0 |
Provenance information about this IDS | structure | |
ids_properties/provenance/node(i1) | Set of IDS nodes for which the provenance is given. The provenance information applies to the whole structure below the IDS node. For documenting provenance information for the whole IDS, set the size of this array of structure to 1 and leave the child "path" node empty {constant} | struct_array [max_size=20 (limited in MDS+ backend only)] |
1- 1...N |
ids_properties/provenance/node(i1)/path | Path of the node within the IDS, following the syntax given in the link below. If empty, means the provenance information applies to the whole IDS. Click here for further documentation. {constant} | STR_0D | |
ids_properties/provenance/node(i1)/sources(:) | List of sources used to import or calculate this node, identified as explained below. In case the node is the result of of a calculation / data processing, the source is an input to the process described in the "code" structure at the root of the IDS. The source can be an IDS (identified by a URI or a persitent identifier, see syntax in the link below) or non-IDS data imported directly from an non-IMAS database (identified by the command used to import the source, or the persistent identifier of the data source). Often data are obtained by a chain of processes, however only the last process input are recorded here. The full chain of provenance has then to be reconstructed recursively from the provenance information contained in the data sources. Click here for further documentation. {constant} | STR_1D |
1- 1...N |
ids_properties/plugins Lifecycle status: alpha since version 3.39.0 |
Information about the plugins used to write/read this IDS. This structure is filled automatically by the Access Layer at GET/PUT time, no need to fill it via a user program.. Introduced after DD version 3.38.1 | structure | |
ids_properties/plugins/node(i1) | Set of IDS nodes for which a plugin has been applied {constant} | struct_array [max_size=20 (limited in MDS+ backend only)] |
1- 1...N |
ids_properties/plugins/node(i1)/path | Path of the node within the IDS, following the syntax given in the link below. If empty, means the plugin applies to the whole IDS. Click here for further documentation. {constant} | STR_0D | |
ids_properties/plugins/node(i1)/put_operation(i2) | Plugins used to PUT a node (potentially, multiple plugins can be applied, if so they are listed by order of application) | struct_array [max_size=10 (limited in MDS+ backend only)] |
1- 1...N |
ids_properties/plugins/node(i1)/put_operation(i2)/name | Name of software used {constant} | STR_0D | |
ids_properties/plugins/node(i1)/put_operation(i2)/description | Short description of the software (type, purpose) {constant}. Introduced after DD version 3.38.1 | STR_0D | |
ids_properties/plugins/node(i1)/put_operation(i2)/commit | Unique commit reference of software {constant} | STR_0D | |
ids_properties/plugins/node(i1)/put_operation(i2)/version | Unique version (tag) of software {constant} | STR_0D | |
ids_properties/plugins/node(i1)/put_operation(i2)/repository | URL of software repository {constant} | STR_0D | |
ids_properties/plugins/node(i1)/put_operation(i2)/parameters | List of the code specific parameters in XML format {constant} | STR_0D | |
ids_properties/plugins/node(i1)/readback(i2) | Plugins to be used to read back a node (potentially, multiple plugins can be applied, listed in reverse order of application) | struct_array [max_size=10 (limited in MDS+ backend only)] |
1- 1...N |
ids_properties/plugins/node(i1)/readback(i2)/name | Name of software used {constant} | STR_0D | |
ids_properties/plugins/node(i1)/readback(i2)/description | Short description of the software (type, purpose) {constant}. Introduced after DD version 3.38.1 | STR_0D | |
ids_properties/plugins/node(i1)/readback(i2)/commit | Unique commit reference of software {constant} | STR_0D | |
ids_properties/plugins/node(i1)/readback(i2)/version | Unique version (tag) of software {constant} | STR_0D | |
ids_properties/plugins/node(i1)/readback(i2)/repository | URL of software repository {constant} | STR_0D | |
ids_properties/plugins/node(i1)/readback(i2)/parameters | List of the code specific parameters in XML format {constant} | STR_0D | |
ids_properties/plugins/node(i1)/get_operation(i2) | Plugins actually used to read back a node (potentially, multiple plugins can be applied, listed in reverse order of application). This information is filled by the plugin infrastructure during the GET operation. | struct_array [max_size=10 (limited in MDS+ backend only)] |
1- 1...N |
ids_properties/plugins/node(i1)/get_operation(i2)/name | Name of software used {constant} | STR_0D | |
ids_properties/plugins/node(i1)/get_operation(i2)/description | Short description of the software (type, purpose) {constant}. Introduced after DD version 3.38.1 | STR_0D | |
ids_properties/plugins/node(i1)/get_operation(i2)/commit | Unique commit reference of software {constant} | STR_0D | |
ids_properties/plugins/node(i1)/get_operation(i2)/version | Unique version (tag) of software {constant} | STR_0D | |
ids_properties/plugins/node(i1)/get_operation(i2)/repository | URL of software repository {constant} | STR_0D | |
ids_properties/plugins/node(i1)/get_operation(i2)/parameters | List of the code specific parameters in XML format {constant} | STR_0D | |
ids_properties/plugins/infrastructure_put | Plugin infrastructure used to PUT the data | structure | |
ids_properties/plugins/infrastructure_put/name | Name of software used {constant} | STR_0D | |
ids_properties/plugins/infrastructure_put/description | Short description of the software (type, purpose) {constant}. Introduced after DD version 3.38.1 | STR_0D | |
ids_properties/plugins/infrastructure_put/commit | Unique commit reference of software {constant} | STR_0D | |
ids_properties/plugins/infrastructure_put/version | Unique version (tag) of software {constant} | STR_0D | |
ids_properties/plugins/infrastructure_put/repository | URL of software repository {constant} | STR_0D | |
ids_properties/plugins/infrastructure_get | Plugin infrastructure used to GET the data | structure | |
ids_properties/plugins/infrastructure_get/name | Name of software used {constant} | STR_0D | |
ids_properties/plugins/infrastructure_get/description | Short description of the software (type, purpose) {constant}. Introduced after DD version 3.38.1 | STR_0D | |
ids_properties/plugins/infrastructure_get/commit | Unique commit reference of software {constant} | STR_0D | |
ids_properties/plugins/infrastructure_get/version | Unique version (tag) of software {constant} | STR_0D | |
ids_properties/plugins/infrastructure_get/repository | URL of software repository {constant} | STR_0D | |
z_n | Nuclear charge {static} [Elementary Charge Unit] | FLT_0D | |
a | Mass of atom {static} [Atomic Mass Unit] | FLT_0D | |
process(i1) | Description and data for a set of physical processes. | struct_array [max_size=20 (limited in MDS+ backend only)] |
1- 1...N |
process(i1)/source | Filename or subroutine name used to provide this data {static} | STR_0D | |
process(i1)/provider | Name of the person in charge of producing this data {static} | STR_0D | |
process(i1)/citation | Reference to publication(s) {static} | STR_0D | |
process(i1)/label | String identifying the process (e.g. EI, RC, ...) {static} | STR_0D | |
process(i1)/reactants(i2) | Set of reactants involved in this process | struct_array [max_size=5 (limited in MDS+ backend only)] |
1- 1...N |
process(i1)/reactants(i2)/label | String identifying reaction participant (e.g. "D", "e", "W", "CD4", "photon", "n") {static} | STR_0D | |
process(i1)/reactants(i2)/element(i3) | List of elements forming the atom (in such case, this array should be of size 1) or molecule. Mass of atom and nuclear charge should be set to 0 for photons and electrons. The mass of atom shouldn't be set for an atomic process that is not isotope dependent. | struct_array [max_size=5 (limited in MDS+ backend only)] |
1- 1...N |
process(i1)/reactants(i2)/element(i3)/a | Mass of atom {constant} [Atomic Mass Unit] | FLT_0D | |
process(i1)/reactants(i2)/element(i3)/z_n | Nuclear charge {constant} [Elementary Charge Unit] | FLT_0D | |
process(i1)/reactants(i2)/element(i3)/atoms_n | Number of atoms of this element in the molecule {constant} | INT_0D | |
process(i1)/reactants(i2)/element(i3)/multiplicity Lifecycle status: obsolescent since version 3.15.0 |
Multiplicity of the atom {constant} [Elementary Charge Unit] | FLT_0D | |
process(i1)/reactants(i2)/role | Identifier for the role of this paricipant in the reaction. For surface reactions distinguish between projectile and wall. | structure | |
process(i1)/reactants(i2)/role/name | Short string identifier {constant} | STR_0D | |
process(i1)/reactants(i2)/role/index | Integer identifier (enumeration index within a list). Private identifier values must be indicated by a negative index. {constant} | INT_0D | |
process(i1)/reactants(i2)/role/description | Verbose description {constant} | STR_0D | |
process(i1)/reactants(i2)/mass | Mass of the participant {static} [Atomic Mass Unit] | FLT_0D | |
process(i1)/reactants(i2)/charge | Charge number of the participant {static} [-] | FLT_0D | |
process(i1)/reactants(i2)/relative_charge | This is a flag indicating that charges are absolute (if set to 0), relative (if 1) or irrelevant (-1); relative would be used to categorize the ionization reactions from i to i+1 for all charge states; in the case of bundles, the +1 relative indicates the next bundle {static} | INT_0D | |
process(i1)/reactants(i2)/multiplicity | Multiplicity in the reaction {static} [-] | FLT_0D | |
process(i1)/reactants(i2)/metastable(:) | An array identifying the metastable; if zero-length, then not a metastable; if of length 1, then the value indicates the electronic level for the metastable (mostly used for atoms/ions); if of length 2, then the 1st would indicate the electronic level and the second the vibrational level for the metastable (mostly used for molecules and molecular ions); if of length 3, then the 1st would indicate the electronic level, the second the vibrational level and the third the rotational level for the metastable (mostly used for molecules and molecular ions) {static} | INT_1D |
1- 1...N |
process(i1)/reactants(i2)/metastable_label | Label identifying in text form the metastable {static} | STR_0D | |
process(i1)/products(i2) | Set of products resulting of this process | struct_array [max_size=5 (limited in MDS+ backend only)] |
1- 1...N |
process(i1)/products(i2)/label | String identifying reaction participant (e.g. "D", "e", "W", "CD4", "photon", "n") {static} | STR_0D | |
process(i1)/products(i2)/element(i3) | List of elements forming the atom (in such case, this array should be of size 1) or molecule. Mass of atom and nuclear charge should be set to 0 for photons and electrons. The mass of atom shouldn't be set for an atomic process that is not isotope dependent. | struct_array [max_size=5 (limited in MDS+ backend only)] |
1- 1...N |
process(i1)/products(i2)/element(i3)/a | Mass of atom {constant} [Atomic Mass Unit] | FLT_0D | |
process(i1)/products(i2)/element(i3)/z_n | Nuclear charge {constant} [Elementary Charge Unit] | FLT_0D | |
process(i1)/products(i2)/element(i3)/atoms_n | Number of atoms of this element in the molecule {constant} | INT_0D | |
process(i1)/products(i2)/element(i3)/multiplicity Lifecycle status: obsolescent since version 3.15.0 |
Multiplicity of the atom {constant} [Elementary Charge Unit] | FLT_0D | |
process(i1)/products(i2)/role | Identifier for the role of this paricipant in the reaction. For surface reactions distinguish between projectile and wall. | structure | |
process(i1)/products(i2)/role/name | Short string identifier {constant} | STR_0D | |
process(i1)/products(i2)/role/index | Integer identifier (enumeration index within a list). Private identifier values must be indicated by a negative index. {constant} | INT_0D | |
process(i1)/products(i2)/role/description | Verbose description {constant} | STR_0D | |
process(i1)/products(i2)/mass | Mass of the participant {static} [Atomic Mass Unit] | FLT_0D | |
process(i1)/products(i2)/charge | Charge number of the participant {static} [-] | FLT_0D | |
process(i1)/products(i2)/relative_charge | This is a flag indicating that charges are absolute (if set to 0), relative (if 1) or irrelevant (-1); relative would be used to categorize the ionization reactions from i to i+1 for all charge states; in the case of bundles, the +1 relative indicates the next bundle {static} | INT_0D | |
process(i1)/products(i2)/multiplicity | Multiplicity in the reaction {static} [-] | FLT_0D | |
process(i1)/products(i2)/metastable(:) | An array identifying the metastable; if zero-length, then not a metastable; if of length 1, then the value indicates the electronic level for the metastable (mostly used for atoms/ions); if of length 2, then the 1st would indicate the electronic level and the second the vibrational level for the metastable (mostly used for molecules and molecular ions); if of length 3, then the 1st would indicate the electronic level, the second the vibrational level and the third the rotational level for the metastable (mostly used for molecules and molecular ions) {static} | INT_1D |
1- 1...N |
process(i1)/products(i2)/metastable_label | Label identifying in text form the metastable {static} | STR_0D | |
process(i1)/table_dimension | Table dimensionality of the process (1 to 6), valid for all charge states. Indicates which of the tables is filled (below the charge_state node) {static} | INT_0D | |
process(i1)/coordinate_index | Index in tables_coord, specifying what coordinate systems to use for this process (valid for all tables) {static} | INT_0D | |
process(i1)/result_label | Description of the process result (rate, cross section, sputtering yield, ...) {static} | STR_0D | |
process(i1)/result_units | Units of the process result {static} | STR_0D | |
process(i1)/result_transformation | Transformation of the process result. Integer flag: 0=no transformation; 1=10^; 2=exp() {static} | INT_0D | |
process(i1)/charge_state(i2) | Process tables for a set of charge states. Only one table is used for that process, defined by process(:)/table_dimension | struct_array [max_size=75 (limited in MDS+ backend only)] |
1- 1...N |
process(i1)/charge_state(i2)/label | String identifying charge state (e.g. C+, C+2 , C+3, C+4, C+5, C+6, ...) {static} | STR_0D | |
process(i1)/charge_state(i2)/z_min | Minimum Z of the charge state bundle {static} [Elementary Charge Unit] | FLT_0D | |
process(i1)/charge_state(i2)/z_max | Maximum Z of the charge state bundle (equal to z_min if no bundle) {static} [Elementary Charge Unit] | FLT_0D | |
process(i1)/charge_state(i2)/table_0d | 0D table describing the process data {static} [units given by process(:)/results_units] | FLT_0D | |
process(i1)/charge_state(i2)/table_1d(:) | 1D table describing the process data {static} [units given by process(i1)/results_units] | FLT_1D |
1- coordinate_system(process(i1)/coordinate_index)/coordinate(1)/values |
process(i1)/charge_state(i2)/table_2d(:,:) | 2D table describing the process data {static} [units given by process(i1)/results_units] | FLT_2D |
1- coordinate_system(process(i1)/coordinate_index)/coordinate(1)/values 2- coordinate_system(process(i1)/coordinate_index)/coordinate(2)/values |
process(i1)/charge_state(i2)/table_3d(:,:,:) | 3D table describing the process data {static} [units given by process(:)/results_units] | FLT_3D |
1- coordinate_system(process(i1)/coordinate_index)/coordinate(1)/values 2- coordinate_system(process(i1)/coordinate_index)/coordinate(2)/values 3- coordinate_system(process(i1)/coordinate_index)/coordinate(3)/values |
process(i1)/charge_state(i2)/table_4d(:,:,:,:) | 4D table describing the process data {static} [units given by process(i1)/results_units] | FLT_4D |
1- coordinate_system(process(i1)/coordinate_index)/coordinate(1)/values 2- coordinate_system(process(i1)/coordinate_index)/coordinate(2)/values 3- coordinate_system(process(i1)/coordinate_index)/coordinate(3)/values 4- coordinate_system(process(i1)/coordinate_index)/coordinate(4)/values |
process(i1)/charge_state(i2)/table_5d(:,:,:,:,:) | 5D table describing the process data {static} [units given by process(i1)/results_units] | FLT_5D |
1- coordinate_system(process(i1)/coordinate_index)/coordinate(1)/values 2- coordinate_system(process(i1)/coordinate_index)/coordinate(2)/values 3- coordinate_system(process(i1)/coordinate_index)/coordinate(3)/values 4- coordinate_system(process(i1)/coordinate_index)/coordinate(4)/values 5- coordinate_system(process(i1)/coordinate_index)/coordinate(5)/values |
process(i1)/charge_state(i2)/table_6d(:,:,:,:,:,:) | 6D table describing the process data {static} [units given by process(i1)/results_units] | FLT_6D |
1- coordinate_system(process(i1)/coordinate_index)/coordinate(1)/values 2- coordinate_system(process(i1)/coordinate_index)/coordinate(2)/values 3- coordinate_system(process(i1)/coordinate_index)/coordinate(3)/values 4- coordinate_system(process(i1)/coordinate_index)/coordinate(4)/values 5- coordinate_system(process(i1)/coordinate_index)/coordinate(5)/values 6- coordinate_system(process(i1)/coordinate_index)/coordinate(6)/values |
coordinate_system(i1) | Array of possible coordinate systems for process tables | struct_array [max_size=20 (limited in MDS+ backend only)] |
1- 1...N |
coordinate_system(i1)/coordinate(i2) | Set of coordinates for that coordinate system. A coordinate an be either a range of real values or a set of discrete values (if interpolation_type=0) | struct_array [max_size=6 (limited in MDS+ backend only)] |
1- 1...N |
coordinate_system(i1)/coordinate(i2)/label | Description of coordinate (e.g. "Electron temperature") {static} | STR_0D | |
coordinate_system(i1)/coordinate(i2)/values(:) | Coordinate values {static} [units given by coordinate_system(:)/coordinate(:)/units] | FLT_1D |
1- 1...N |
coordinate_system(i1)/coordinate(i2)/interpolation_type | Interpolation strategy in this coordinate direction. Integer flag: 0=discrete (no interpolation); 1=linear; ... {static} | INT_0D | |
coordinate_system(i1)/coordinate(i2)/extrapolation_type(:) | Extrapolation strategy when leaving the domain. The first value of the vector describes the behaviour at lower bound, the second describes the at upper bound. Possible values: 0=none, report error; 1=boundary value; 2=linear extrapolation {static} | INT_1D |
1- 1...2 |
coordinate_system(i1)/coordinate(i2)/value_labels(:) | String description of discrete coordinate values (if interpolation_type=0). E.g., for spectroscopic lines, the spectroscopic description of the transition. {static} | STR_1D |
1- coordinate_system(i1)/coordinate(i2)/values |
coordinate_system(i1)/coordinate(i2)/units | Units of coordinate (e.g. eV) {static} | STR_0D | |
coordinate_system(i1)/coordinate(i2)/transformation | Coordinate transformation applied to coordinate values stored in coord. Integer flag: 0=none; 1=log10; 2=ln {static} | INT_0D | |
coordinate_system(i1)/coordinate(i2)/spacing | Flag for specific coordinate spacing (for optimization purposes). Integer flag: 0=undefined; 1=uniform; ... {static} | INT_0D | |
release(i1) | List of available releases of the AMNS data; each element contains information about the AMNS data that is included in the release. This part of the IDS is filled and stored only into shot/run=0/1, playing the role of a catalogue. | struct_array [max_size=100 (limited in MDS+ backend only)] |
1- 1...N |
release(i1)/description | Description of this release {static} | STR_0D | |
release(i1)/date | Date of this release {static} | STR_0D | |
release(i1)/data_entry(i2) | For this release, list of each data item (i.e. shot/run pair containing the actual data) included in this release | struct_array [max_size=30 (limited in MDS+ backend only)] |
1- 1...N |
release(i1)/data_entry(i2)/description | Description of this data entry {static} | STR_0D | |
release(i1)/data_entry(i2)/shot | Shot number = Mass*1000+Nuclear_charge {static} | INT_0D | |
release(i1)/data_entry(i2)/run | Which run number is the active run number for this version {static} | INT_0D | |
code | Generic decription of the code-specific parameters for the code that has produced this IDS | structure | |
code/name | Name of software generating IDS {constant} | STR_0D | |
code/description | Short description of the software (type, purpose) {constant}. Introduced after DD version 3.38.1 | STR_0D | |
code/commit | Unique commit reference of software {constant} | STR_0D | |
code/version | Unique version (tag) of software {constant} | STR_0D | |
code/repository | URL of software repository {constant} | STR_0D | |
code/parameters | List of the code specific parameters in XML format {constant} | STR_0D | |
code/output_flag(:) | Output flag : 0 means the run is successful, other values mean some difficulty has been encountered, the exact meaning is then code specific. Negative values mean the result shall not be used. {dynamic} | INT_1D |
1- time |
code/library(i1) | List of external libraries used by the code that has produced this IDS | struct_array [max_size=10 (limited in MDS+ backend only)] |
1- 1...N |
code/library(i1)/name | Name of software {constant} | STR_0D | |
code/library(i1)/description | Short description of the software (type, purpose) {constant}. Introduced after DD version 3.38.1 | STR_0D | |
code/library(i1)/commit | Unique commit reference of software {constant} | STR_0D | |
code/library(i1)/version | Unique version (tag) of software {constant} | STR_0D | |
code/library(i1)/repository | URL of software repository {constant} | STR_0D | |
code/library(i1)/parameters | List of the code specific parameters in XML format {constant} | STR_0D | |
time(:) | Generic time {dynamic} [s] | FLT_1D |
1- 1...N |