Recent Releases of MARTINI
MARTINI - v2.1.5
Fixed a serious bug in the EAGLESource class causing all particles to have masses too high by several orders of magnitude (but by a nearly constant factor, within a few percent).
Full Changelog: https://github.com/kyleaoman/martini/compare/v2.1.4...v2.1.5
Scientific Software - Peer-reviewed
- Python
Published by kyleaoman over 1 year ago
MARTINI - v2.1.5
Fixed a serious bug in the EAGLESource class causing all particles to have masses too high by several orders of magnitude (but by a nearly constant factor, within a few percent).
Full Changelog: https://github.com/kyleaoman/martini/compare/v2.1.4...v2.1.5
Scientific Software - Peer-reviewed
- Python
Published by kyleaoman over 1 year ago
MARTINI - v2.1.4
What's Changed
- Lint docstrings by @kyleaoman in https://github.com/kyleaoman/martini/pull/75
- Tests for example notebooks by @kyleaoman in https://github.com/kyleaoman/martini/pull/76
- Add support for FIRE simulations by @kyleaoman in https://github.com/kyleaoman/martini/pull/69
Full Changelog: https://github.com/kyleaoman/martini/compare/v2.1.3...v2.1.4
Scientific Software - Peer-reviewed
- Python
Published by kyleaoman over 1 year ago
MARTINI - v2.1.2
What's Changed
- Apply Hubble flow velocity offsets per-particle by @kyleaoman in https://github.com/kyleaoman/martini/pull/72
Full Changelog: https://github.com/kyleaoman/martini/compare/v2.1.1...v2.1.2
Scientific Software - Peer-reviewed
- Python
Published by kyleaoman over 1 year ago
MARTINI - v2.1.0
What's Changed
- There is a new example notebook showcasing how MARTINI can be used to add a simulated source to an existing observational data cube.
- A new initialisation method for
DataCubeobjects has been added inDataCube.from_wcs. This allows using anastropy.wcs.WCSobject (trivially created from a FITS header) to set up aDataCube. It's now much easier to make mocks exactly matching an observed data cube (shape, pixel size, channel spacing, etc.). - The above new feature revealed some shortcoming in how MARTINI handles coordinates and, especially, how channels were implemented (switching between frequency and velocity channels, specifically). The internals have been overhauled but will behave essentially as before with default options.
- There are now options to specify a coordinate frame (using
astropy.coordinatesclasses) of the source and data cube. For the data cube, the spectral reference frame (e.g. LSR or barycentric) can also be controlled. All of these default to ICRS and if left alone will behave as in earlier MARTINI versions. This finer control could be useful in workflows such as inserting a simulated source into an observed data cube. - Related to the above, some minor changes to the MARTINI API were needed. These are signposted by
DeprecationWarnings, so attempting to use obsolete features will generate instructions on how to adapt existing code.
Full Changelog: https://github.com/kyleaoman/martini/compare/v2.0.13...v2.1.0
Scientific Software - Peer-reviewed
- Python
Published by kyleaoman over 1 year ago
MARTINI - v2.0.10
What's Changed
- Add a global profile mode by @kyleaoman in https://github.com/kyleaoman/martini/pull/52
See documentation on https://martini.readthedocs.io/en/latest/global_profile/index.html
Full Changelog: https://github.com/kyleaoman/martini/compare/v2.0.9...v2.0.10
Scientific Software - Peer-reviewed
- Python
Published by kyleaoman over 1 year ago
MARTINI - v2.0.7
What's Changed
- Validate padding by @kyleaoman in https://github.com/kyleaoman/martini/pull/41
- Add docstrings for spec_dtype. by @kyleaoman in https://github.com/kyleaoman/martini/pull/42
- Parallel spectra by @kyleaoman in https://github.com/kyleaoman/martini/pull/44
- Preview plot tool by @kyleaoman in https://github.com/kyleaoman/martini/pull/45
Full Changelog: https://github.com/kyleaoman/martini/compare/v2.0.6...v2.0.7
Scientific Software - Peer-reviewed
- Python
Published by kyleaoman almost 2 years ago
MARTINI - v2.0.4
Parallelize the core loop of martini.martini.Martini.insert_source_in_cube with multiprocess (not multiprocessing!). Unit tests for this new feature, and narrative documentation for this and all of the Martini class public functions, included as well.
Scientific Software - Peer-reviewed
- Python
Published by kyleaoman over 2 years ago
MARTINI - v2.0.3
This release adds significant changes to the SPH kernel classes.
Instead of trying to walk users through the best practice for setting up an "adaptive kernel" that will fall back to other kernels when the approximations used for the kernel line integrals lose accuracy, the best practice is now implemented in a set of recommended kernels, with the individual underlying kernels now moved to private members shadowing the recommended "adaptive" versions. So for example the old WendlandC2Kernel becomes _WendlandC2Kernel, and is replaced by a WendlandC2Kernel that is adaptive and falls back to the DiracDeltaKernel or GaussianKernel when needed to achieve the target accuracy. The new approach is reflected in updated example notebooks and a new narrative docs page for SPH kernels.
Scientific Software - Peer-reviewed
- Python
Published by kyleaoman over 2 years ago
MARTINI - v2.0.2
Updates in this version: - Channels are now fundamentally defined in frequency units (then converted to velocity units) for consistency with most real radio telescopes. Previously the definition was in velocity units, converted to frequency units. - Added an option to toggle whether a Stokes' axis is included in the output cube. The default is to omit it (previously it was included by default). - When specifying a noise level, the desired noise in the output cube is now given instead of the "raw" noise level before beam convolution. This should be more user-friendly. - Coordinate transformations into the source coordinate frame are now delayed internally in Martini so that the particles can be inspected and/or manipulated before producing a mock cube. This is especially useful in simulation-specific source modules where the particles would be loaded and have their coordinates transformed before the user had a chance to inspect them (they would have needed to go and load them "by hand" outside of Martini for inspection!). Now the transformations are delayed until the source-insertion step, so the user can create the source object and inspect/manipulate it before passing it to the main Martini object. - Made some unit conversions a bit more streamlined with available astropy tools.
Scientific Software - Peer-reviewed
- Python
Published by kyleaoman over 2 years ago
MARTINI - v2.0.0
Martini has had a comprehensive overhaul!
Many of the changes have happened behind the scenes to make the code more maintainable and reduce the number of bugs through unit testing and CI.
The documentation is now hosted on readthedocs.
From the user perspective, there are some mostly small changes to the user interface, particularly around many optional arguments to the different modules. Check the updated documentation to update old scripts!
The example notebooks for EAGLE, IllustrisTNG and Simba have been comprehensively revised and updated, in principle they should now "just work" - but please report any issues with these especially.
Scientific Software - Peer-reviewed
- Python
Published by kyleaoman almost 3 years ago