Waveforms are a standard way to store physics data. A single waveform file exists for each shot and a waveform is an array of data in that file which is accessed by a waveform name. Subroutine DW_GET returns the waveform data, description, units, quality flag, and time base for file or derived waveforms. DW_GETH also returns the history comment and allows you to select the version number. The status code is 0 for success; non-zero values mean an error. (See $ HELP CMLIB WF_ERRORS.)
WF_STOH writes a waveform to the file. Anyone writing a waveform should first check with Michael Bell that the waveform name, description, units, etc., are consistent with PPL accepted waveform practices. The history comment should start with the date and the initials of the person creating the waveform. The rest of the comment is free-form, but should indicate why and/or what was used to generate the waveform.
Link your program with USR:[LIB]CMLIB/OPT. Sample code for reading and writing waveforms can be found in TFTR_EXAMPLES. Also see $ HELP CMLIB DW_GET and USR:[DOC] WFUSE.DOC.