Skip to content

Releases: Cosmoglobe/zodipy

Dropping quadpy dependency

10 Jan 13:05
Compare
Choose a tag to compare

[0.8.1] - 2023-01-10

Changed

  • Dropping quadpy as a dependency and manually implementing gaussian quadrature for the line of sight integrals.

Experimental Rowan-Robinson and May model, possibility to modify model parameters and major bandpass integration speed up

09 Jan 16:03
Compare
Choose a tag to compare

[0.8.0] - 2023-01-09

This release features an experimental implementation of the Rowan-Robinson and May zodiacal model (https://ui.adsabs.harvard.edu/abs/2013MNRAS.429.2894R/abstract), a new interface for being able to change and update the model parameters (useful for testing and sampling), and a significant performance boosts when working with bandpasses.

New

  • An implementation of the Rowan-Robinsan and May model: model = zodipy.Zodipy(model="rrm-experimental"). This implementation is still in development and should not be used for results, but it features several new and exciting zodiacal components (such as interstellar dust) when compared to the Kelsall model, and perhaps a more physical description of the dust in the solar system.
  • An interface for manipulating the parameters in a model which includes the two new methods get_parameters() -> dict which outputs a dictionary of all the model parameters, and update_parameters(parameters) which takes in a dictionary on the form outputted by get_parameters and updates the model:
    model = zodipy.Zodipy()
    
    parameters = model.get_parameters()
    parameters["comps"]["cloud"]["i"] = 5
    model.update_parameters(parameters)

Changed

  • Removed numba as a dependency: Switched from brute force bandpass integration using numba, to an interpolation technique. This heavily speeds up computations when using bandpasses and removes the need for numba as a dependency in zodipy

Fix bug with bandpasses

24 Oct 13:31
Compare
Choose a tag to compare

[0.7.5] - 2022-10-24

This release contains mostly technical bug fixes. Be sure to upgrade your version of ZodiPy if you are working with bandpasses in micron.

Fixes

  • Fixed yet another bug with bandpasses in microns being improperly converted to frequency.

Bug fix

14 Oct 17:42
Compare
Choose a tag to compare

[0.7.3] - 2022-10-14

Fix

  • Fixed a bug where the weights of bandpasses given in microns were not flipped when the bandpass was converted to frequency units.

Revert back to not distributing pointing in parallel by default

13 Oct 14:03
Compare
Choose a tag to compare

[0.7.2] - 2022-10-13

New

  • Revert default value for parallel to False when initializing Zodipy. In many common use cases, the user will want to use ZodiPy in a parallel environment, where instead of distributing the pointing in each chunk over the CPU's, the chunks themselves are distributed.

Removed unintentional nested parallelization and renamed argument `gauss_quad_order` to `gauss_quad_degree`

11 Oct 13:21
Compare
Choose a tag to compare

[0.7.1] - 2022-10-11

New

  • Renamed argument gauss_quad_order to gauss_quad_degree in Zodipy().

Changed

  • Fixed issue with nested parallelization where using a large number of processes would cause oversubscription and bloated threads.

Add support for bandpass integration

06 Oct 08:32
Compare
Choose a tag to compare

[0.7.0] - 2022-10-06

New

  • Added support for bandpass integration. The get_*_emission_* methods now accept a sequence of frequencies to the freq argument and corresponding weights to the new weights argument.
  • Add numba as a dependency.

Changed

  • By default, ZodiPy will now run concurrently and spawn processes based on the number of available CPU's (given by os.cpu_count()). This can be turned off by initializing Zodipy with parallel=False. The number of CPUs can be manually specified by using the n_proc keyword when initializing ZodiPy.

Fix multiprocessing start method

05 Jul 09:20
Compare
Choose a tag to compare

[0.6.6] - 2022-07-05

Fixed

  • start_method for multiprocessing now defaults to using "fork" for linux and macOS systems, which means that users no longer need to wrap the code in if __name__ == "__main__" guards unless they are on Windows.

Performance improvements

04 Jul 15:20
Compare
Choose a tag to compare

[0.6.5] - 2022-07-04

Changed

  • Improved performance of ZodiPy by up to 40% for single process calls. This was achieved by refactoring the brightness integral function to take advantage of that we are no longer using component specific line of sight discretisation e1edd34.

Add parallelization for large pointing sequences

04 Jul 12:52
Compare
Choose a tag to compare

[0.6.4] - 2022-07-04

New

  • ZodiPy can now compute the emission in parallel by distributing the pointing over multiple processes. This is useful for large pointing sequences or making binned maps with large nside where the execution would be slow due to the massive amount of line of sights that needs to be evaluated. This feature is disabled by default, but is activated by initializing Zodipy with parallel=True. Optionally, the user may also specify the number of desired processes with the n_proc argument. See the new Parallel computations section in the documentation for an example of how to use ZodiPy with this feature.