Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


EMEWS Queues - R implementation

EQ-R is a Swift/T ( extension that allows Swift/T workflows to communicate with a persistent embedded R interpreter on a worker process via blocking queues. Using the mechanism an R model exploration (ME) algorithm can be used to control and define an ensemble of model runs.

File index

BlockingQueue.h A queue for inter-thread communication.

EQR.h EQR.cpp The main functionality to enable EQ-R- thread and queue control interfaces for access from Tcl and Swift.

EQR.i The SWIG interface file for EQ-R. Contains example compilier settings for compling EQ-R. Filters into at configure time. This can be include by other Makefiles to obtain build settings, for example, to compile task code that will be called from Swift.

Spack Install

  • Install Spack
    • git clone
  • Set up Spack shell support, e.g., for bash
    • . spack/share/spack/
  • Clone the EMEWS Spack repository
    • git clone
  • Change directory into the repository
    • cd spack_emews
  • Add the EMEWS Spack repository to your existing Spack repository or repositories
    • spack repo add .
  • Install EQ/R
    • spack install eqr

This will install EQ/R along with any dependencies. (Look here for tips for using existing dependencies.) You will then need to point to the install location of EQ/R in your EMEWS workflow launch script. The location can be queried via:

  • spack location --install-dir eqr

For information on installing Swift/T for EMEWS, look here.

Manual Build



./configure ...

make install


Run ./bootstrap. This runs autoconf and generates ./configure.

Then, run ./configure. You can use ./configure --help. Key settings are:

  • --prefix: EQ.R install location. This defaults to $PWD/.. for compatibility with EMEWS templates (
  • --with-tcl: Point to Tcl installation root (e.g., /usr)
  • --with-r: Point to R installation root (requires RInside and Rcpp packages)

Then do make install.

You can do make clean or make distclean.


./configure halts with "checking whether the C++ compiler works... no"

To inspect what went went wrong, you will have to look in the generated config.log . Check that your compiler settings in are correct, the library locations in particular.