...
- Introduction
- Files provided
- Running a test example
- Structure of the parameter files
- Storing the EIRENE triangular grids in IMAS
- Structure of EIRENE files keeping the grid
- Presentation of EIRENE grid in GGD
- Module triangular_grid_modile
- Data types provided
- Methods provided
- Module triangular_grid_ids_io
- Data types provided
- Methods provided
- Storing the EIRENE input wrapper
- Structure of EIRENE input files
- Module eirene_data_io
- Data types provided
- Methods provided
- Module imas_data_io
- ???
- Main program files save_input_main.f90 and provide_input_main.f90
- Things to be done
...
The structure of this document is as follows. Section 2 lists the files provided. Section 3 describes how to run a test example. Section 4 presents the parameter files controlling the wrapper programs. Section 5 ??????????????????????????????????????describes the organization of the grid storage. In Section 6, the wrapper for the EIRENE input is described. Finally, the things to be done are outlined in Section 7.
Files provided
The files listed below can be found in the public directory ~g2yyakov/public/eirene/version0.9.
...
! Parameters that control saving the EIRENE input to IMAS.
! Use '!' when inserting comment lines.
! You can add comments at the end of each line unless this line holds a text that may contain blanks (e.g., a description field).
! Do not change the order of the parameters.
!
eirene <= IMAS database
10003 <= shot
1 <= run
'IDS created to test EIRENE input storage' <= IDS comment
'Yurii Yakovenko' <= input provider
'long agoonce upon a time' < <= creation date
!!! grid data
"SN" <= grid name
4 <= grid index in dictionary (single null)
"EIRENE grid for single null configuration" <= grid description
"primary_standard" <= poloidal space name
"primary poloidal triangular grid" <= poloidal space description
soledge3x.npco_char <= grid node file
soledge3x.elemente <= grid triangle file
soledge3x.neighbors <= grid neighbor file
!!! Physical quantities
bx.dat <= bx file
by.dat <= by file
bz.dat <= bz file
Btotal.dat <= Btotal file
vx.dat <= vx file
vy.dat <= vy file
vz.dat <= vz file
Te.dat <= Te file
!!! Ion physical quantities
2 <= Number of ion species
! Ion species 1
D 2 1 1 <= label, mass, Z_ion, Z_element
TD.dat <= temperature file
nD.dat <= density file
! Ion species 2
T 3 1 1 <= label, mass, Z_ion, Z_element
TT.dat <= temperature file
nT.dat <= density file
A tempalte tempalate of the file provide_input.par that controls the program provide_input.exe is as follows:
...
Argument | Type | Intent | Description |
---|---|---|---|
subsets | type(ids_generic_grid_dynamic_grid_subset), pointer, dimension(:) | result | IDS space structure holding the grid |
eirene_space | type(ids_generic_grid_dynamic_space) | in | the GGD grid space to which the subsets are attached |
eirene_space_index | integer | in | the index of this space in the 'space' AoS |
grid | type(triangular_grid) | in | The grid to be saved |
...
Argument | Type | Intent | Description |
---|---|---|---|
subset | type(ids_generic_grid_dynamic_grid_subset) | pointer | Pointer to the |
subset_id | integer | in | Integer identifier of the subset |
...
EIRENE input wrappers
Now the subroutines are united in wrapper programs, but, if desired, they can be incorporated into the code. Only a part of input quantities is now processed. ?????????
Structure of EIRENE input files
??????????
Module eirene_data_io
This module provides tools for dealing with files containing EIRENE input data.
...
- deallocate_data_set
- read_quantity_from_file
- write_quantity_to_file
Module imas_data_io
The module contains???
Module edge_profiles_io
?????
Module equilibrium_io
????????????
Module global_parameters
??????????????
Module imas_controls_for_input
????????????
Main files save_input_main.f90
and provide_input_main
.f90
The wrapper program contained in the file save_input_main
.f90
performs the following actions:
- ???????? Initializes an instance of the
edge_profiles
IDS IDS in the code memory ( with writing some mandatory fields), using the subroutinesetIDSFundamentals
(module ids_utility). - Writes some labels to the IDS.
- Allocates the
grid_ggd
AOS with only one element. - Reads information about the grid from files and establishes grid edges, using the
read_eirene_grid
function (moduletriangular_grid_module
). - Puts the grid information into the IDS, using the
put_triangular_grid_to_ids
subroutine (moduletriangular_grid_ids_io
). - Creates the corresponding IDS in an IMAS database, using the
createIDS
subroutine (moduleids_utility
). - Writes the IDS prepared in the code memory to the IMAS database and closes the database, using the subroutine
putIDS
(moduleids_utility
).
The program contained in the file recover_grid.f90
performs the following actions:
...