Versions Compared

Key

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

...

  1. Introduction
  2. Files provided
  3. Running a test example
  4. Structure of the command files
  5. Storing the EIRENE triangular grids in IMAS
    1. Structure of EIRENE files keeping the grid
    2. Presentation of EIRENE grid in GGD
    3. Module  triangular_grid_modile 
      1. Data types
      2. Methods
    4. Module  triangular_grid_ids_io
      1. Data types
      2. Methods
  6. EIRENE input wrapper
    1. Structure of EIRENE input files
    2. Module eirene_data_io
      1. Data types
      2. Methods
    3. Module imas_data_io
      1. Constants
      2. Methods
    4. Module edge_profiles_io
      1. Data types
      2. Methods
    5. Module equilibrium_io
      1. Data types
      2. Methods
    6. Module global_objects
      1. Constants
      2. Methods
    7. Module imas_controls_for_input
      1. Data types
      2. Methods
    8. Main program files  save_input_main.f90  and  provide_input_main.f90
  7. Known issues
  8. Things to be done

Introduction

...

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

This document can be found at EIRENE IMASification - Scientific Worfklows - PCSS Confluence (psnc.pl), https://docs.psnc.pl/display/WFMS/EIRENE+IMASification.

The repository folder of the current version is The files listed below can be found in the public directory ~g2yyakov/public/eirene/version0.10.

Files provided

FILES

CONTENT

​triangular_grid_module.f90

Module that supports reading, writing and processing triangular grids

triangular_grid_ids_io.f90Module supporting the storage of triangular grids in IMAS
imas_data_io.f90Module supporting the storage of physical quantities (tallies) in IMAS
eirene_data_io.f90Module supporting reading / writing of EIRENE data files
edge_profiles_io.f90Module that supports placing the data to the 'edge_profiles' IDS
equilibrium_io.f90Module that supports placing the data to the 'equilibrium' IDS
imas_controls_for_input.f90Module that works with the parameter files (the files controlling the work of the programs)
global_parameters.f90Module that holds constants and some service routines
save_input_main.f90Main file of the program save_input.exe
provide_input_main.f90Main file of the program provide_input.exe
MakefileUsed to compile the programs
save_input.parA template command file for the program save_input.exe
provide_input.parA template command file for the program provide_input.exe
soledge3x.npco_charTriangular grid example received from the EIRENE team
soledge3x.elementeAnother file of this example
soledge3x.neighborAnother file of this example
Te.dat, nT.dat, TT.dat, nD.dat, TD.datSample files supposed to contain the temperature and density of electrons, D ions and T ions
Btotal.dat, bx.dat, by.dat, bz.datSample files supposed to contain the strength and components of the magnetic field
README.txtBrief description of how to compile and run

EIRENE_wrapper_

user_guide.pdf

PDF version of this document

...

The program save_input.exe takes parameters that control the work of the program from the file save_input.par. A template of this file is given below. 


Code Block
! 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.
!


! 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
'once 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

...

  • Reads the command file 'provide_input.par', putting its content to the structures 'imas_controls', 'grid_controls', and 'equilibrium_files'.
  • Opens the IMAS database, invoking the IMAS library subroutine  imas_open_env  .
  • Inputs the data (the grid and the tallies) from 2 IMAS IDS's, using the subroutines  'fetch_input_from_edge_profiles' and 'fetch_input_from_equilibrium'.
  • Writes these data to EIRENE-format files, invoking the subroutines 'write_eirene_grid', 'write_input_data_from_edge_profiles_ids', and 'write_input_data_from_equilibrium_ids'.
  • Closes the database, invoking the IMAS library subroutine 'imas_close'.
  • Deallocates the structures holding the data.

 Known issues

The statements that are to deallocate the IDS's in the program memory when they are not needed anymore are now commented out (they are in the modules 'edge_profiles_io' and 'equilibrium_io'). The reason is that the IMAS library subroutine 'ids_deallocate' hangs the program 'save_input.exe' if it is called for both IDS's ('edge_profiles' and 'equilibrium'). This issue is yet to be resolved.

...