You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Quote of the day:
I love the smell of broken configuration in the morning ...
- Anonymous tutorial lecturer

In this tutorial

  • installation and configuration of MDSPlus databases



Table of Contents



Warning

Stop here for a moment. Make sure you have followed the configuration setup before proceeding any further!

Configuration related tutorial is here -> Click me! <-

1.1. 2.1. Introduction

For the future versions of UAL physical implementation of back-ends will be fully transparent,

however current version of UAL is coupled only with  MDSPlus engine used for storing/ reading data locally.

This part of tutorial provides you some tricks useful in everyday work.

1.2. 2.2. MDSPlus database

MDSplus is a set of software tools for data acquisition and storage and a methodology for management of complex scientific data (source).

In order to benefit from UAL layer, scientific data must be stored in MDSPlus database. Before you will be able to use it, you have to create database's structure. This is fairly simple. All you have to do is to execute following commands:

imasdb <machine_name>

At this point, you can check your public directory and browse through the database structure.

cd $HOME/public/imasdb/

Explanation of the tree structure:

location

description

$HOME/public/itmdb/<machine_name>/<data_version>/<MDSPlus_tree_number>/ids_<shot><run>.*
example: ~/public/imasdb/test/3/0/ids_120001.*
<machine_name>
example: test
defines the equipment used for acquiring the results; "test" - is most commonly used for artificial, test data
<data_version>
example: 3
Major Data Dictionary version
<MDSPlus_tree_number>
example: 0
Contains all the shot and runs for given data tree
Shot numberShot number is represented by first digits in database file ids_SSSSRRRR.*; there is no limit for number of digits used
Run numberRun number is represented by last four digits in database file ids_SSSSRRRR.*

ids_####.datafile,

ids_####.tree,

ids_####.characteristics

Contains data for given shot/run

1.3. 2.3. Accessing MDSPlus database data

1.3.1.1. 2.3.1 Listing pulse files

itmdbs command

Usage: imasdbs [OPTIONS] [COMMAND]

This program lists existing databases.

Possible commands are:

        list <shot number>- list existing databases

       slices <shot number> <run number> - list existing databases, including number of timeslices and time range for time-dependent IDSes

        times <shot number> <run number> - list existing databases, including number of timeslices their time points for time-dependent IDSes

        tokamak - list existing tokamaks (with data versions)                                                                                

        dataversion - list existing dataversions (with tokamaks)                                                                             

If the optional arguments shot number and run number are given, only databases with these numbers will be shown.

If no command is given, the list command is performed.

To see databases stored in the public database, use 'public' as the user name.

Options:

  -h, --help            show this help message and exit

  -u USER, --user=USER  Show databases of specified user

  -t TOKAMAK, --tokamak=TOKAMAK                         

                        Show only databases for specified tokamaks

  -v VERSION, --version=VERSION                                   

                        Show only databases for specified data version

  --backend=BACKEND     Show databases written with given backend(s).  Comma-

                        separated list of backends (Currently supported:     

                        mdsplus, hdf5). By default all backends are shown.   

  -c, --compact         Compact/reduced output

shell> imasdbs -t test slices 10 40
Tokamak: test
   Data version: 3
      UAL Backend: mdsplus
         Shot    10
             Run:     40
                 core_profiles:   25 slices (345.0 - 345.48)
                  core_sources:   25 slices (345.0 - 345.48)
                core_transport:   25 slices (345.0 - 345.48)
                   equilibrium:   25 slices (345.0 - 345.48)
               transport_solver_numerics:   25 slices (345.0 - 345.48)
                          wall:   25 slices (345.0 - 345.48)
shell> imasdbs  -u palakb
Tokamak: test
   Data version: 3
      UAL Backend: mdsplus
         Shot     1 Runs:     1
         Shot     2 Runs:     3   666   777   999
         Shot    10 Runs:    30    40    42    60    61    64    65    66    80    81    99   123   666   999  1234
         Shot    12 Runs:     1     2    99
         Shot    13 Runs:     1


1.3.1.2. 2.3.2 Dumping pulse files

shell> idsdump
Usage: idsdump <USER> <TOKAMAK> <VERSION> <SHOT> <RUN> <IDS>
         or
       idsdump <SHOT> <RUN> <IDS>
[palakb@hpc-login4 ~]$ idsdump 13 1 equilibrium
class equilibrium
Attribute ids_properties
        class ids_properties
        Attribute comment:
        Attribute homogeneous_time: 1
        Attribute source:
        Attribute provider:
        Attribute creation_date:
[.......]
Attribute code
        class code
        Attribute name:
        Attribute commit:
        Attribute version:
        Attribute repository:
        Attribute parameters:
        Attribute output_flag
        []
Attribute time
[ 0.  1.  2.]



1.3.1.3. 2.3.3 Copying database files directly

In case you know user name, machine name, shot number and run number, you can import users' database files copying them directly from the users' public directories. Database files are located inside:

~$USERNAME/public/imasdb/$TOKAMAKNAME/$DATAVERSION/0/ids_SSSSRRRR.*


Take a look at the example below. We will copy data from user michalo, machine test, shot: 12 and run: 2


# change directory in your $HOME
cd $HOME/public/imasdb/test/3/0/

# copy data files (pay attention to *_dot_* at the end of command line!)
cp ~michalo/public/imasdb/test/3/0/ids_120002.* .
cp ~michalo/public/imasdb/test/3/0/ids_130003.* .




Currently UAL uses only MDSPlus engine for storing/ reading data locally.


  • No labels