...
Get a quantity from a given IDS slot (sub-AoS of the ggd AoS intended for the storage of a single physical quantity). The subroutine scans the slot, investigating the identifier names of the grid subsets to which the slot array elements are attached (the 'grid_index' and the 'subset_index' components of the element are used to reach this subset). The subroutine obtains the value arrays attached to two grid subsets: the subset of all triangles and the subset organized to store the averages. These subsets are found by their identifier names, which are given by the module constants main_subset_label and average_subset_label, respectively. The obtained arrays are put into the components 'main_data' and 'average' of the function result. Not suitable for the 'equilibrium' IDS (use get_quantity_from_equilibrium for this IDS).
Argument | Type | Intent | Description | ||||
---|---|---|---|---|---|---|---|
quantity | type(eirene_data) | result | structure holding the obtained quantity | ||||
grid_ggd_aos | type(ids_generic_grid_dynamicaos3_grid_subsetroot), intent(in), dimension(:) | in | AoS, grid subsets | grid_index | integer | inindex | of the grid used in the grid_ggd AOS (must be put to IDS(AoS holding the description of GGD grids) |
quantity_aos | type(ids_generic_grid_scalar), dimension(:) | pointerin | AoS (IDS slot) where whence the quantity should be writtentaken | ||||
code_to_imas_unit_ratio | real(ids_real) | in | ratio of the quantity unit in the code to that in IMAS |
function get_quantity_from_equilibrium (grid_ggd_aos, quantity_aos, code_to_imas_unit_ratio) result (quantity)
Get a quantity from a given IDS slot (sub-AoS of the ggd AoS intended for the storage of a single physical quantity) of the 'equilibrium' IDS. The subroutine scans the slot, investigating the identifier names of the grid subsets to which the slot array elements are attached (the 'grid_index' and the 'subset_index' components of the element are used to reach this subset). The subroutine obtains the value arrays attached to two grid subsets: the subset of all triangles and the subset organized to store the averages. These subsets are found by their identifier names, which are given by the module constants main_subset_label and average_subset_label, respectively. The obtained arrays are put into the components 'main_data' and 'average' of the function result. Use get_quantity_from_ids for IDS other than 'equilibrium'.
Argument | Type | Intent | Description |
---|---|---|---|
quantity | type(eirene_data) | result | structure holding the obtained quantity |
grid_ggd_aos | type(ids_generic_grid_aos3_root), intent(in), dimension(:) | in | grid_ggd (AoS holding the description of GGD grids) |
quantity_aos | type(ids_generic_grid_scalar), dimension(:) | in | AoS (IDS slot) whence the quantity should be taken |
code_to_imas_unit_ratio | real(ids_real) | in | ratio of the quantity unit in the code to that in IMAS |
subroutine put_quantity_for_single_subset (quantity, ids_slot, code_to_imas_unit_ratio, grid_subset, grid_index, subset_label)
Write a quantity given as array to a given IDS slot, attaching it to a grid subset with a given name. The array size must coincide with the size of the grid subset.
Module edge_profiles_io
?????
...