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!

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

...

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

 

constants
CHEAT SHEET
 ITMIMAS (constants)IMAS (identifiers)
module loading
shell> module load itm-constants
shell> module load imasitmconstants
shell> module load imas
pkgconfig (Fortran)pkg-config --libs --cflags itm-constantspkg-config --libs --cflags itmconstantsimas-<compiler> (<compiler>.pc=ifort ,gfortran,...)pkg-config --libs --cflags imas-constantsidentifiers-<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 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)

...