Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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_aostype(ids_generic_grid_dynamicaos3_grid_subsetroot), intent(in), dimension(:)inAoS, grid subsetsgrid_indexintegerinindex of the grid used in the grid_ggd AOS (must be put to IDS(AoS holding the description of GGD grids)
quantity_aostype(ids_generic_grid_scalar), dimension(:)pointerinAoS (IDS slot) where whence the quantity should be writtentaken
code_to_imas_unit_ratioreal(ids_real)inratio 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_aostype(ids_generic_grid_aos3_root), intent(in), dimension(:)ingrid_ggd (AoS holding the description of GGD grids)
quantity_aostype(ids_generic_grid_scalar), dimension(:)inAoS (IDS slot) whence the quantity should be taken
code_to_imas_unit_ratioreal(ids_real)inratio 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

?????

...