Getting Started

This section will guide you through the steps needed to get ecFlow up and running on your environment. ecFlow is available on several platforms such as Linux and MacOS, including HPC environments as the one available at ECMWF.

The instructions below will help you to get started on your individual machine, a shared machine or the ECMWF HPC.

An individual machine is a machine that is used by a single user, and typically where the user has full control of the environment.

In an individual machine, an ecflow_server can be started by simply calling the following command at the unix prompt:

ecflow_server

This will launch the server in the foreground, which can be stopped by typing Ctrl-C. To enable a verbose output, use the -d option, as follows:

ecflow_server -d

This command will start an ecflow_server running on your system with a default host name of localhost and port number 3141.

Warning

If another program on the machine is already using the same port number, then an “Address in use” error will be reported and the server will not start.

To start the server on a specific port number you can either specify the --port option or define the ECF_PORT environment variable, as follows:

# using --port option
ecflow_server --port 3500

# using ECF_PORT environment variable
export ECF_PORT=3500; ecflow_server

While the above is the simplest way to start ecflow_server, the preferred way to start an ecflow_server is to use the script ecflow_start.sh, as this script prevents unintentional shared usage of the server by automatically selecting a port number unique to your user ID.

Regardless of the selected way to run the ecflow_server, the log files and check point files are by default created in the working directory, and will have the prefix <machine_name>.<port_number>. This naming schema avoids overwriting information when multiple servers are, for example, run on different ports.

When relaunching an ecflow_server, the server will attempt to automatically reload the suite definition from the check point file.

What to do

  1. Ensure that ecFlow is installed and accessible on your system. Run the following command to check that ecFlow is installed:

    Listing 12 Check ecFlow installation
    ecflow_server --version
    ecflow_client --version
    
  2. Setup the Tutorial directory, and start the ecflow_server using:

    Listing 13 Start the ecflow_server (with verbose output)
    mkdir $HOME/course
    cd $HOME/course
    
    ecflow_server -d
    # n.b. the server runs in the foreground, on port 3141 -- use Ctrl-C to stop it
    
  3. Check if the server is running by using the command:

    Listing 14 Ping the server
    ecflow_client --ping