Basic simulation package for HERA-like redundant interferometric arrays.
- Systematic Models: Many models of instrumental systematics in various forms, eg. thermal noise, RFI, bandpass gains, cross-talk, cable reflections and foregrounds.
- HERA-tuned: All models have defaults tuned to HERA, with various default "sets" available (eg.H1C, H2C)
- Interoperability: Interoperability with
pyuvdatadatasets andpyuvsimconfigurations. - Ease-of-use: High-level interface for adding multiple systematics to existing visibilities in a self-consistent way.
- Visibility Simulation: A high-level interface for visbility simulation that is
compatible with the configuration definition from
pyuvsimbut is able to call multiple simulator implementations. - Convenience: Methods for adjusting simulated data to match the times/baselines of a reference dataset.
At ReadTheDocs. In particular, for a tutorial and overview of available features, check out the tour.
If you are using conda, the following command will install all dependencies which it can handle natively:
$ conda install -c conda-forge numpy scipy pyuvdata attrs h5py healpy pyyaml
If you are creating a new development environment, consider using the included environment file:
$ conda env create -f ci/tests.yaml
This will create a fresh environment with all required dependencies, as
well as those required for testing. Then follow the pip-only
instructions below to install hera_sim itself.
Simply use pip install -e . or run
pip install git+git://github.com/HERA-Team/hera_sim.
For a development install (tests and documentation), run
pip install -e .[dev].
Other optional extras can be installed as well. To use
baseline-dependent averaging functionality, install the extra [bda].
For the ability to simulate redundant gains, install [cal]. To
enable GPU functionality on some of the methods (especially visibility
simulators), install [gpu].
As the repository is becoming quite large, you may also wish to perform a shallow clone to retrieve only the recent commits and history. This makes the clone faster and avoid bottleneck in CI pipelines.
Provide an argument --depth 1 to the git clone command to copy only
the latest revision of the repository.
git clone -–depth [depth] [email protected]:HERA-Team/hera_sim.git
We use semantic versioning (major.minor.patch) for the
hera_sim package (see SemVer documentation).
To briefly summarize, new
major versions include API-breaking changes, new minor versions
add new features in a backwards-compatible way, and new patch
versions implement backwards-compatible bug fixes.