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_PATHas of April, 2007, shows the following areas:
$NSTXUSR/mdsplus_pppl/tdi /usr/pppl/nstx/mdsplus_pppl/tdi /usr/pppl/nstx/mdsplus/tdiLook for .fun procedures in those areas.
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:
Other users include
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 email@example.com. 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.
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:8501you can simply invoke "setevent", e.g.,
Edited 21-Oct-2009 by: Bill Davis