Gateau User Manual
Atmospheric simulation of astronomical signals
Home

Introduction

Welcome to the documentation pages for Gateau! This is a Python package designed to simulate astronomical signals through the atmosphere.

Gateau is designed to be an improvement over its predecessor TiEMPO [1]. These improvements are:

  • Offloading the heavy lifting to a parallel C++/CUDA implementation.
  • More flexible interface for interchanging astronomical sources.
  • Flexible interface for applying atmospheric subtraction algorithms, such as ABBA chopping.
  • Enhanced structure, tests and code documentation, facilitating smooth future development.
  • More elaborate scanning strategies, allowing for the simulation of extended celestial sources.

Installation

Installing CUDA

CUDA is an API, developed by NVIDIA, to harness the computing power of a graphics processing unit (GPU) for general purpose computing. It provides access to the GPU's instruction set through common high-level programming languages, such as C and C++.

gateau uses CUDA for calculations, and hence must be installed in order to use gateau. It can be installed from source or using a package manager. gateau has been tested on both CUDA version 11 and 12, so please stick to these versions. Error-free performance on other versions is NOT guaranteed.

Even though gateau was exclusively developed on a GTX 1650 Mobile, which is nowhere near impressive by today's standards, it is probably a good idea to use gateau on GPU's that meet or exceed the specs of this particular card.

Installing dependencies

Since version 0.2.3, Gateau is distributed as an sdist. This means there are a few dependencies, besides CUDA, that you need to set up before installing Gateau:

These depenencies need to be installed in a way that is discoverable by Meson (e.g. via pkg-config).

On Debian and Ubuntu, all of these dependencies can be installed using the package manager:

sudo apt-get -y install gcc g++ pkg-config libgsl-dev libhdf5-dev

Installing gateau

Gateau is available from pypi. You can install it like any other python package:

pip install gateau

The installation can be verified by launching the gateau module from your shell:

python -m gateau

or by running the selftest() method from within python:

import gateau
gateau.selftest()

When installed correctly, the test should run without issues.

In both cases, please make sure you are running in the same Python environment as you used to install the gateau package.

Supported Platforms

We currently only support Linux with GNU libc (known as manylinux in the Python world). We have tried and failed to port gateau to Windows. If you want to get gateau working on other platforms, have a read of MAINTAINERS.md (and please let us know if you're interested in helping us get gateau running on other platforms!).

Frequently Asked Questions

For common troubleshooting instructions, please see the FAQ Page.

License

Gateau is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License only.

Gateau is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with Gateau. If not, see https://www.gnu.org/licenses/.

Note: Previous versions of gateau were released under different licenses. If the current license does not meet your needs, you may consider using an earlier version under the terms of its original license. You can find these versions by browsing the commit history.

Copyright (c) 2025, maybetree, Arend Moerman.

Contact

Gateau is maintained by Arend Moerman: A.Moerman-1(at)tudelft.nl and maybetree.