Versions Compared

Key

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

...

  • deallocate_edge_profiles_data
    Deallocate all components of a type(edge_profiles_data_set)-stucture.
  • initiate_ion_list_for_input_saving
    Read that part of the command file controls the input wrapper which concerns ions.
  • initiate_edge_profiles_data_for_input_saving
    Read the part of the command file that controls saving the EIRENE data to the edge_profiles IDS.
  • collect_data_for_edge_profiles_input
    Read the EIRENE input data intended for the edge_profiles IDS from files.
  • save_input_to_edge_profiles
    Put EIRENE input to the edge_profiles IDS.
  • organize_ion_storage
    Primary organization of the structure array for storing the ion data.
  • put_ions_to_edge_profiles
    Put quantities associated with ions to the edge_profiles IDS.
  • fetch_input_from_edge_profiles
    Get data from the edge_profiles IDS
  • get_quantities_from_edge_profiles
    Get all physical quantities from the edge_profiles IDS
  • get_ions_from_edge_profiles
    Get quantities associated with ions from the edge_profiles IDS
  • write_input_data_from_edge_profiles_ids
    Write the data extracted from the edge_profiles IDS to files in the format of EIRENE input tallies

subroutine deallocate_edge_profiles_data (all_data)

...

Argument

Type

Intent

Description

edge_profiles_data

type(edge_profiles_data_set)

resultset

of parameters controlling the to the ''structure holding parameters obtained from the command file

io_unitintegerinindex of the I/O unit attached to the command file


function subroutine collect_data_for_edge_profiles_input (edge_profiles_data)

Read the EIRENE input data intended for the edge_profiles IDS from files.

...

Argument

...

Type

...

Intent

...

Description

At the entry, the 'edge_profiles_data' structure is filled only partly (from the command file). The subroutine fills the remaining part, reading the information from data files.

Uses the subroutine read_quantity_from_file (module eirene_data_io).

Argument

Type

Intent

Description

edge_profiles_data

typetype(edge_profiles_data_set)

inout

structure that contains the names of the input files and accepts the data read from the files


subroutine save_input_to_edge_profiles (idx, imas_controls, grid_controls, edge_profiles_data, eirene_grid)

Put EIRENE input to the edge_profiles IDS. The input consists of (1) a triangular grid; (2) a set of quantities (characteristics of several plasma species) defined on this grid; (3) properties of these species. The first item is provided in 'eirene_grid'; the last two, in 'edge_profiles_data'.

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

idxintegerinindex of the I/O unit attached to the IMAS database
imas_controlstype(imas_control_panel)inparameters of the IMAS database and basic information to be put to IDS
grid_controlstype(grid_control_panel)inparameters 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_gridtype(triangular_grid)instructure keeping the EIRENE triangular grid


subroutine organize_ion_storage (ion_list, ggd)

Primary organization of the structure array for storing the ion data (allocation of AoS and putting basic ion properties there).

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

ggdtype(ids_edge_profiles_time_slice)inoutthat element of the ggd AOS which is to be filled


subroutine put_ions_to_edge_profiles (ion_list, ggd, grid_subset, grid_index)

Put quantities associated with ions to the edge_profiles IDS.

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

ggdtype(ids_edge_profiles_time_slice)inoutthat element of the ggd AOS which is to be filled
grid_subsettype(ids_generic_grid_dynamic_grid_subset), dimension(:)inarray of grid subsets
grid_indexintegerinindex of that element in grid_ggd AOS where the grid is placed


subroutine fetch_input_from_edge_profiles (idx, grid_controls, fetch_grid, edge_profiles_data, eirene_grid)

Get all physical quantities from the edge_profiles IDS, putting them to a type(edge_profiles_data_set) structure. If required, get the triangular 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

idxintegerinindex of the I/O unit attached to the IMAS database
grid_controlstype(grid_control_panel)inparameters controlling the grid saving
fetch_gridlogicalinswitches 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_gridtype(triangular_grid)inoutstructure containing the grid; if fetch_input=.true., it is filled with data read from the IDS; otherwise, it remains unchanged.



Module equilibrium_io

????????????

...