Releases: JLBLine/WODEN
v2.4.0-alpha Use EveryBeam
- You can now use the EveryBeam package to create a LOFAR, OSKAR, or MWA primary beam. You need an appropriate measurement set as an input to run EveryBeam. See the LOFAR examples on the examples page to see how things are run
- EveryBeam runs on the CPU. These calculations happen as each skymodel chunk is read in. As a result,
WODEN
is now multi-threaded at this stage to try and speed things up, and will default to using as many cores as it can find. To revert to old behaviour, run with--num_threads=1
- Never fear, you don't have to use EveryBeam.
WODEN
uses the Everybeam Python wrapper. If you don't want to install EveryBeam,WODEN
just checks it exists at run time, and if it doesn't,WODEN
ignores it entirely. Unless you ask it to run an EveryBeam primary beam, thenWODEN
will refuse and you'll be sad. - More details and integration tests can be found on the EveryBeam testing page
v2.3.0-alpha Stokes QUV
- Full polarisation is back! You can now simulate visibilities using QUV information in the skymodel, and they can be independent to Stokes I. In fact, you can set Stokes I to zero in the sky model, and still enter QUV information.
- Stokes V can either be a power-law, curved power-law, be a polarisation fraction of Stokes I, or be a list of flux densities.
- Linear polarisation (Q and U) can either be a power-law, curved power-law, be a polarisation fraction of Stokes I, or be a list of flux densities. The first three are always used in conjunction with a rotation measure. List-type fluxes can be given separately for Q and U, which makes Q and U independent of each other. Alternatively, a single list of linear polarisation fluxes can be given, which is used in conjunction with a rotation measure to determine Q and U.
- Also worked out a way to dynamically create the
ctypes
classes used to mirror the structs used in the C code, as they needed either float or double precision. Removes the need for having two different sets of near identical code.
v2.2.0-alpha HIP support
Get a bunch of macros in there thanks to Marcin Sokolowski to run on HIP, so in theory WODEN
can be run on AMD GPUs now. Tested to run on Setonix, but nowhere else, hence this is an alpha release. Also thanks to Dev Null for getting things working on Setonix. Made a bunch of Docker images.
v2.1.0 MWA FEE dipole flagging and amplitudes
- Dipole flagging for the MWA FEE beam is now enabled (
--use_MWA_dipflags
) - Dipole amplitudes for the MWA FEE beam is now enabled (
--use_MWA_dipamps
). Needs a modified metafits file to work, including the columnDipamps
- Things are still all Stokes I; plan is to implement QUV in version 2.2
Creation of `wodenpy` and introduction of the FITS skymodel and lazy loading
Big changes going into version 2.0.0:
- Large swathes of the code have been transferred from C into python
- The C/CUDA code that remains is called directly from python now, meaning the .json and .dat files are no longer needed
- A new FITS sky model format is supported, meaning you can run simulations with greater than 25 million components via lazy loading
- I've done away with using Stokes QUV to speed things up. The plan is to implement some kind of rotation measure model to include Q/U, and reinstate Stokes V in a future release
- There is a now a docker image, which means you might be able to get away with not installing things yourself. Check out the installation guide in the documentation
- Updated to use
hyperbeam v0.6.0
Full Changelog: v1.3.0...v2.0.0
Swap bespoke MWA FEE code for `mwa_hyperbeam`
This release swaps out the MWA Fully Embedded Element primary beam code, which was adapted from the RTS
, with mwa_hyperbeam
. This has garnered a significant speed up when running using the --primary_beam=MWA_FEE_interp
flag. It does add another dependency but extra installation notes have been added accordingly.
Took the opportunity to consolidate some functionality and modify the structs used to store sky model and beam gain information to tidy the code up. These changes have not affected the functionality but should make things easier to read / modify going forward.
Frequency-smooth MWA primary beams
This release adds two new primary beam models:
--MWA_FEE_interp
- adds the ability to use the new hdf5 MWA Fully Embedded Element (FEE) fileMWA_embedded_element_pattern_rev2_interp_167_197MHz.h5
, which contains frequency interpolated coefficients. At the time of this release, this file was unpublished. If the documentation doesn't specify how to obtain the file yet, please contact jack.line@curtin.edu.au to obtain/discuss. This file only spans the frequencies between 167 and 197 MHz--MWA_analy
- An analytic version of the MWA primary beam. Not as accurate as the MWA FEE beam, but covers all frequencies, allowing smooth spectral behaviours at all frequencies.
Both new models have had tests written for them, and updated documentation.
Also note that run_woden.py
should work from both a git repo and the release tarball now (previously it only worked from a git repo).
Full Changelog: v1.1.0...v1.2.0
JOSS reviewed version
WARNING - run_woden.py
was hard-coded to run from a git repository, so if you download the release source code, it won't work. You have two options to fix this:
- (Best solution) Clone the
WODEN
repo and revert to v1.1.0 via the command:
git reset --hard v1.1.0
- (Alternative solution) Download the release source code, and edit line 1335 of
run_woden.py
, and delete the line
gitlabel = check_output(["git", "describe", "--always"],universal_newlines=True).strip()
and replace it with
gitlabel = "v1.1.0"
This release includes all the changes implemented during the JOSS paper review, namely:
- Adding a switch that allows toggling between float and double precision
- An estimation on the absolute accuracy of the simulation package as a whole
- Huge additions to the documentation, especially on what the unit tests are doing
- An option to make install, which installs to the default installation path
- Code coverage reports on the C and python code
- Making the output uvfits files capable of being read into pyuvdata
- Adding community guidelines of how to contribute
Initial working release
I seriously advise to use later versions of WODEN
, this one is old and crummy now.
This is the first release of WODEN
, where the basic functionality has been tested and documented. This version includes simulations via point source, Gaussian, and shapelet sky models, and can simulate the MWA and EDA2 primary beams, along with a Gaussian primary beam. This version includes the MWA FEE beam, at a coarse resolution of 1.28MHz.
NOTE - in this old version, you must set the evironment variable WODEN_DIR
to where you build the code, e.g.
export WODEN_DIR=/home/jline/software/WODEN-1.0.0/build
WARNING - run_woden.py
was hard-coded to run from a git repository, so if you download the release source code, it won't work. You have two options to fix this:
- (Best solution) Clone the
WODEN
repo and revert to v1.0.0 via the command:
git reset --hard v1.0.0
- (Alternative solution) Download the release source code, and edit line 1198 of
run_woden.py
, and delete the line
gitlabel = check_output(["git", "describe", "--always"],universal_newlines=True).strip()
and replace it with
gitlabel = "v1.0.0"