Mondaic Downloader

Mondaic distributes its software through a small utility program, called the Mondaic Downloader. To invoke it, simply execute, on Linux and macOS:

bash -c "$(curl -sSL"

or on Windows execute

powershell -command "iex (New-Object System.Net.WebClient).DownloadString('')"

in any terminal prompt. In case you are hesitant about directly running an unknown script via piping into bash, that script and how to manually do what it does, is explained at the end of this page.

You need a Mondaic account to use the Downloader. If you do not have one yet or forgot your credentials, please contact us.

Where to Run the Downloader

The Downloader will always download things to the machine where it is run, so the general strategy is to run it on the machine where you want to install things. On dark sites without internet access we recommend to run the Downloader on another machine and manually copy the files.

How to Use It

The Downloader will ask you a number of interactive questions. Most should be self-explanatory. A few things to note:

  • If you don't have a license file yet, the Downloader will offer to create one for you.
  • You need to chose the correct microarchitecture of your CPU. The Downloader will autodetect the one of the machine it is run on. This is almost always correct. There are some cases, especially on large HPCs, where the login nodes have a different CPU than the compute nodes.
  • Everything will be downloaded to a folder within the installation directory that is shown at the end. If you have been downloading a restricted release please note that everything has been installed to a separate folder.

Salvus uses MPI for parallelization. On laptops and smaller workstations you very likely want to download the MPI distributed via the Downloader. On big clusters that provide their own MPI you very likely do not want to download the MPI distributed by the Downloader, but to instead use a library provided by the cluster. This is very important for Salvus to work correctly. Please see the dedicated MPI page for details.

Downloadable products

At a certain point it will present you with a choice of products to download.

  • Salvus: SalvusCompute binary for single precision calculations.
  • SalvusF64: SalvusCompute binary for double precision calculations. The single precision binary is sufficient for the vast majority of applications -- only use the double precision version if you need it. The double precision version is twice as slow and uses twice as much memory.
  • mpi: A pre-compiled version of MPICH. Use on laptops and local workstations, on an HPC use the cluster provided MPI.
  • SalvusPy: The Salvus Python package.

Installating the Salvus Python Packages

There is no need to install SalvusCompute and the downloader will choose a precompiled binary tailored to your architecture. The only thing left to do is to install the Python package. Make sure that you have succesfully setup and activated the Python environment before installing it with pip:

pip install ~/Salvus/python_packages/salvus-*.whl

If you did not use the default location for the download, you might have to adjust the path above.

Running the Downloader Again and Manually Upgrading

Running the downloader again will ensure all local files are updated to the latest available version. It will download anything that misses/has been updated and keep your folder structure in consistent state. You then might have to invoke pip install ... again and reinitialize any sites.

Manually Invoke the Mondaic Downloader

The first command on this page downloads a script located at and executes it via bash. If you visit this page you can see that it determines your operating system, and then proceeds to download the corresponding binary of the Mondaic Downloader.

You are free and very welcome to do this manually if you prefer to. The only caveat here is that we update the Mondaic Downloader frequently without prior notice. As long as you make sure to work with an up-to-date version everything will work fine.

Diagnose Problems

Running the downloader with

MONDAIC_LOG_LEVEL=salvus_downloader=debug bash -c "$(curl  -sSL"

will cause a lot more diagnostic output to be printed to the console. In case you encounter any problems we recommend to run it like this. If the problem persists, please send us the result of the debug output.