SED navigation bar go to SED home page go to Dataplot home page go to NIST home page SED Home Page SED Staff SED Projects SED Products and Publications Search SED Pages
Dataplot Vol 1 Vol 2

SYSTEM

Name:
    SYSTEM
Type:
    Support Command
Purpose:
    This command allows DATAPLOT to issue an operating system command on the host computer.
Description:
    The Fortran 77/90 standard do not explicitly support a SYSTEM library function, so this command is compiler dependent. However, most Fortran compilers do provide a library function that supports this capability. This command should be available on most currently suppported platforms. However, it is possible that the command is not available on your local platform.
Syntax:
    SYSTEM <string>
    where <string> contains a command to be executed on the local operating system.
Examples:
    SYSTEM DIR (on an Windows PC system)
    SYSTEM ls (on a Unix system)
Note:
    This command is host dependent. It is operational on the following systems:

      UNIX/Linux/MacOS (except Cray UNICOS)
      Microsoft Windows (based on Intel compiler)
      CYBER NOS/VE

    It has been coded, but not tested, on the VAX/VMS system.

Note:
    DATAPLOT does no error checking on the requested command. It is the users responsibility to enter the correct operating system command.
Note:
    Systems may vary somewhat in how sophisticated a command can be executed. Also be aware that on most systems, a separate process is spawned and the environment is not passed back to the calling system. Specifically, on a Unix system, the following does not work:

      SYSTEM cd ~/datasets

    since the current environment is restored after the command completes execution.

Note:
    The following updates were made to the SYSTEM command 03/2019.

    For the Windows 7/8/10 platforms, the SYSTEM command works as follows:

    1. A new terminal window is opened.
    2. The requested command is executed.
    3. When the requested command is completed, the new window is closed and control returns to the Dataplot session.

    Several SET commands have been added to control this behavior. Specifically,

    1. In some cases, it is desirable to leave the new Window up. For example, you may need to view the results from the SYSTEM command. To specify that the new command window should remain, enter the command

        SET SYSTEM PERSIST ON

      To reset the default, enter

        SET SYSTEM PERSIST OFF

      Note that control does not return to the Dataplot session until the new terminal window is closed.

      This command has no effect on Unix/Linux and MacOS platforms.

    2. In some cases, you may want the SYSTEM command to operate in the background and not open a new terminal window. To specify this, enter the command

        SET SYSTEM HIDDEN ON

      For Windows, Dataplot normally executes the SYSTEM command with the SYSTEMQQ system call in the Intel Fortran library. If HIDDEN is set to ON, Dataplot will use the EXECUTE_COMMAND_LINE routine that was added in the Fortran 2008 standard. If you compile Dataplot for Windows using an older version of the Intel compiler or a non-Intel compiler, the EXECUTE_COMMAND_LINE subroutine may or may not be available. If not, Dataplot will revert to using SYSTEMQQ (and HIDDEN ON will have no effect).

      To reset the default, enter

        SET SYSTEM HIDDEN OFF

      This command has no effect on Unix/Linux and MacOS platforms.

    3. By default, Dataplot uses "CALL SYSTEM" for Linux/Unix and MacOS platforms and "CALL SYSTEMQQ" for Windows platforms.

      You can request that Dataplot use the EXECUTE_COMMAND_LINE subroutine instead by entering the command

        SET QWIN SYSTEM EXECUTE COMMAND LINE

      Be aware that this is relatively new addition to the Fortran standard and may not be available in all Fortran compilers (or in older versions of compilers). Specifically, it is not supported in gfortran (Linux, MacOS) until version 5.x and version 16 of the Intel compiler. So this option may not be available on all platforms. The Windows executable for 2019/03 that can be downloaded from the Dataplot web site uses version 17 of the Intel compiler, so this feature is available. If you are running Dataplot on a platform where EXECUTE_COMMAND_LINE is not available, Dataplot will revert to "CALL SYSTEM" or "CALL SYSTEMQQ".

      One advantage of using EXECUTE_COMMAND_LINE is that it supports either synchronous or asynchronous execution. By synchronous, we mean that control does not return to the Dataplot session until the SYSTEM command completes execution. By asynchronous, we mean that control returns to the Dataplot session after the SYSTEM command is initated (but not neccessarily completed).

      To specify asynchronous, enter

        SET COMMAND LINE EXECUTE WAIT ON

      To restore the default of synchronous, enter

        SET COMMAND LINE EXECUTE WAIT OFF

      Note that this command only applies if EXECUTE_COMMAND_LINE is used to implement the SYSTEM command.

Note:
    This command preserves the case as entered. This is important for the Unix implementation since Unix commands are case sensitive. DATAPLOT does not try to guess what case should be passed to the local host.
Default:
    None
Synonyms:
    DOS
    UNIX
Related Commands:
    SLEEP = Pause for <n> seconds.
    CD = Change the current directory.
    PWD = Retrieve the current directory.
Applications:
    Interact with the local operating system
Implementation Date:
    1989/02: Original implementation
    2019/03: Support for SET SYSTEM PERSIST
    2019/03: Support for SET SYSTEM HIDDEN
    2019/03: Support for SET QWIN SYSTEM EXECUTE COMMAND LINE
    2019/03: Support for SET COMMAND LINE EXECUTE WAIT
Program:
     
    DEVICE 2 POSTSCRIPT
    PLOT X**2 FOR X = 1 1 9
    DEVICE 2 CLOSE
    SYSTEM lpr dppl1f.dat 
        

Privacy Policy/Security Notice
Disclaimer | FOIA

NIST is an agency of the U.S. Commerce Department.

Date created: 01/13/2011
Last updated: 03/14/2019

Please email comments on this WWW page to alan.heckert@nist.gov.