...
Uses the subroutines: put_quantity_to_ids (module imas_data_io), put_eirene_grid_to_ids (module triangular_grid_ids_io), put_ions_to_edge_profiles (this module).
Argument | Type | Intent | Description |
---|---|---|---|
idx | integer | in | index of the I/O unit attached to the IMAS database |
imas_controls | type(imas_control_panel) | in | parameters of the IMAS database and basic information to be put to IDS |
grid_controls | type(grid_control_panel) | in | parameters controlling the grid saving |
edge_profiles_data | type(edge_profiles_data_set) | in | structure that contains the names of the input files and accepts the data read from the files |
eirene_grid | type(triangular_grid) | in | structure keeping the EIRENE triangular grid |
subroutine organize_ion_storage (ion_list, ggd)
...
Restrictions to be overcome: only single atoms (no molecules); one charge state per ion sort.
Argument | Type | Intent | Description |
---|---|---|---|
ion_list | type(ion_parameters), allocatable, dimension(:) | in | array that holds parameters of all ions |
ggd | type(ids_edge_profiles_time_slice) | inout |
ggd AoS element to be filled |
subroutine put_ions_to_edge_profiles (ion_list, ggd, grid_subset, grid_index)
...
Restrictions to be overcome: only single atoms (no molecules); one charge state per ion sort.
Argument | Type | Intent | Description |
---|---|---|---|
ion_list | type(ion_parameters), dimension(:) | in | array that holds parameters of all ions |
ggd | type(ids_edge_profiles_time_slice) | inout |
ggd AoS element to be filled | |||
grid_subset | type(ids_generic_grid_dynamic_grid_subset), dimension(:) | in | array of grid subsets |
grid_index | integer | in | index of |
the grid_ggd AOS |
element holding the grid |
subroutine fetch_input_from_edge_profiles (idx, grid_controls, fetch_grid, edge_profiles_data, eirene_grid)
...
Uses the subroutines: put_quantity_to_ids (module imas_data_io), put_eirene_grid_to_ids (module triangular_grid_ids_io), put_ions_to_edge_profiles (this module).
Argument | Type | Intent | Description |
---|---|---|---|
idx | integer | in | index of the I/O unit attached to the IMAS database |
grid_controls | type(grid_control_panel) | in | parameters controlling the grid saving |
fetch_grid | logical | in | switches on reading the grid |
edge_profiles_data | type(edge_profiles_data_set) | out | the structure holding the data found in the edge_profiles IDS (except for the grid) |
eirene_grid | type(triangular_grid) | inout | structure containing the grid; if fetch_input=.true., it is filled with data read from the IDS; otherwise, it remains unchanged. |
function get_quantities_from_edge_profiles (ggd, grid_ggd_aos) result (edge_profiles_data)
Get all physical quantities from the edge_profiles IDS, putting them to a type(edge_profiles_data_set) structure.
Argument | Type | Intent | Description |
---|---|---|---|
edge_profiles_data | type(edge_profiles_data_set) | result | the structure holding the obtained data |
ggd | type(ids_edge_profiles_time_slice) | in | ggd AoS element where the quantities are written |
grid_ggd_aos | type(ids_generic_grid_aos3_root), dimension(:) | in | AoS containing the GGD grids |
Module equilibrium_io
????????????
...