NSTX-U logo Overview Programming Diagnostics Applications
FAQ Web Tools UNIX & VMS MDSplus
software
  MDSplus
What is TDI and why do I care? Is there a list of useful TDI functions?
Who else uses MDSplus?
Why can't I access MDSplus data at PPPL from offsite?
How can I set an MDSplus event from the Linux command line or a shell script?
What is TDI and why do I care? Is there a list of useful TDI functions?

TDI is the language of MDSplus. When filling out a Scope (dwscope) page (and most other programs that accept MDSplus signal names), all the form fields accept TDI expressions, allowing simple arithmetic with signals, as well as function calls for more complex operations.

The first argument to the MDSvalue routine is a TDI expression; knowing a bit of TDI can provide extra capabilities here as well. Perhaps the most important use is within nodes in MDSplus trees, where higher level nodes can be defined in terms of functions of raw data nodes and calibration operations, with the result then calculated for each data access. In this way all the "magic numbers" reside with the data, preventing a situation where a user is calling an incorrect calibration routine in his own program.

On Linux, custom written TDI functions are in the areas pointed to by the environmental variable MDS_PATH, so

     printenv MDS_PATH
as of April, 2007, shows the following areas:
     $NSTXUSR/mdsplus_pppl/tdi
     /usr/pppl/nstx/mdsplus_pppl/tdi
     /usr/pppl/nstx/mdsplus/tdi
Look for .fun procedures in those areas.

Who else uses MDSplus?

The system is currently in use on the following experiments: Alcator C-MOD, MIT Plasma Science and Fusion Center Pulse Test Facility, MIT Plasma Science and Fusion Center LDX, MIT Plasma Science and Fusion Center RFX, Istituto Gas Ionizzati TCV, EPFL, Lausanne, Switzerland DIIID, General Atomic, La Jolla, CA NSTX, PPPL, Princeton, NJ H-1, ANU, Canberra, Australia

MDSplus is becoming widely used in fusion, both in the United States and around the world. The original developers continue to use it:

MIT's CMOD experiment

The Instituto Gas Ionizati in Padova, Italy

Other users include

TCV in Lausanne, Switzerland

DIII-D at General Atomics

The University of Washington

Columbia University Department of Applied Mathematics

The Australian National University, Canberra

Korean labs

Japanese labs

JET and the Culham machines are involved (winter 2001) in investigating the use of MDSplus

Why can't I access MDSplus data at PPPL from offsite?

Permission must be given to your username and computer (or appropriate wild cards) in the /etc/mdsip. MDSplus server at PPPL. Send e-mail to nstx_sw_dev@pppl.gov. If you do not have an account on the VMS cluster at PPPL, your incoming account will be mapped to the NSTXPLAN account, which only has read privileges.

How can I set an MDSplus event from the Linux command line or a shell script?

Assuming you have setup MDSplus on the PPPL Linux Cluster, and are sure that the environmental variable mds_event_target is set (at PPPL, to a VMS machine), e.g.,

     setenv mds_event_target europa.pppl.gov:8501
     setenv mds_event_server europa.pppl.gov:8501
you can simply invoke "setevent", e.g.,
      setevent myevent

Edited 21-Oct-2009 by: Bill Davis