Versions Compared

Key

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

Michal, Dejan,

if it is only possible, please do it very briefly, using e.g. "Cheat sheet" (example below) or some bullet list.

please indicate only >>differences<< between ITM and IMAS concerning particular lib!

CHEAT SHEET
DB creationITMIMAS
DB creation
$ITMSCRIPTDIR/create_user_itm_dir <machine> <version>
imasdb <machine>
DB switching
source $ITMSCRIPTDIR/ITMv2 <machine> [<local_kepler_dir>]
imasdb <machine>
pulse file listing
itmdbs
imasdbs
pulse files
euitm_<shot><run>.datafile,
euitm_<shot><run>.tree,
euitm_<shot><run>.characteristics
ids_<shot><run>.datafile,
ids_<shot><run>.tree,
ids_<shot><run>.characteristics
 DB folder
 $HOME/public/itmdb/itm_trees/<machine>/<version>/mdsplus/0/

~g2bpalak/public/itmdb/itm_trees/test/4.10b/mdsplus/0/

$HOME/public/imasdb/<machine>/<version>/mdsplus/0/
~g2bpalak/public/imasdb/test/4.10b/mdsplus/0/
Contentcpodumpidsdump
Copycpocopyidscopy

6.1 ITM Types

  • ITM types are not a separate library any longer
  • Defined as a part of UAL
  • Available for Fortran only
  • defines:
    • types: ids_realids_int
    • values: ids_int_invalidids_real_invalid
    • routines: ids_is_valid for: int, array of int, real, array of reals

...

CHEAT SHEET
 ITMIMAS
module loading
shell> module load itmtypes
shell> module load imas
pkgconfigpkg-config --libs --cflags itmtypes-amd64_<compiler>_<compiler_version>.pc

pkg-config --libs --cflags imas-<compiler> (where <compiler>=ifort,gfortran,...)

using library (Fortran)
use itm_types
use ids_types

6.2 ITM

...

constants

  • Available for Fortran and CPP
  • Two separate libraries: imas-constants and imas-identifiers

 

CHEAT SHEET
 ITMIMAS (constants)IMAS (identifiers)
module loading
shell> module load itm-constants
shell> module load imas itmconstants
shell> module load imas
pkgconfig (Fortran)pkg-config --libs --cflags itm-constantspkg-config --libs --cflags iitmconstants.pcimas-<compiler> (<compiler>=ifort ,gfortran,...)pkg-config --libs --cflags imas-identifiers-<compiler> (where <compiler>=ifort, gfortran,...)
using library (Fortran)
use itm_constants
use imas_constants_module
use imas_identifiers_module

6.3 XMLLib

 

CHEAT SHEET
 ITMIMAS
module loading
shell> module load xmllib
shell> module load imas
pkgconfig (Fortran)pkg-config --libs --cflags xmllib-<compiler>.pcpkg-config --libs --cflags imas-xmllib
using library (Fortran)

classic:

Code Block
use xml_file_reader, only: fill_param
use euitm_schemas, only: type_param
use itm_types
use xml2eg_mdl
use euitm_xml_parser, only: element, tree, euitm_xml_parse, find_parameter

xpath:

Code Block
use xml_file_reader, only: fill_param
use euitm_schemas, only: type_param
use euitm_xml_parser, only: element, tree, euitm_xml_parse, find_parameter
use xmllib_pathquery, only: xmlget, xmlget_allocatable, xmlsize
use string_manipulation_tools, only: count_words_in_string

xml2eg wrapper:

Code Block
use f90_file_reader, only: file2buffer
use
ids_types

6.3 XMLLib >>Michal<<

...

 xml2eg_mdl, only: xml2eg_parse_memory, xml2eg_get, type_xml2eg_document, xml2eg_free_doc, set_verbose
 

 

Sample codes:

ITMIMAS
Code Block
# You can always find sample codes inside XMLLIB's installation directory
# ITM version
 
> cd $ITM_XMLLIB_DIR/$ITM_XMLLIB_VERSION/$DATAVERSION/example/
> tree -L 1 --charset=ascii
.
|-- classic
|-- cpp
|-- xml2eg
`-- xpath
Code Block
 

 

6.4 GGD Library

  • Defined as part of IMAS
  • Available for Fortran only
  • Available for imas/3.12.0/ual/3.6.3 - imas/3.15.0/ual/3.6.4
  • Defined as multiple module files (ids_grid is one of them)
CHEAT SHEET
 ITMIMAS
module loading
shell> module load itmenv
shell> module load itmggd 
shell> module load imas/3.15.0/ual/3.6.4
pkgconfig (Fortran)pkg-config --libs --cflags itmggd-<compiler>.pc

pkg-config -- libs --cflags imas-lowlevel imas-<compiler> ggd-<compiler> (where <compiler>=ifort,gfortran,...)

using library (Fortran)
use euITM_schemas
use euITM_routines
use itm_grid
use ids_schemas
use ids_routines
use ids_grid