Releases: Cosmoglobe/zodipy
Releases · Cosmoglobe/zodipy
Dropping quadpy dependency
[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
[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, andupdate_parameters(parameters)
which takes in a dictionary on the form outputted byget_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
[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
Revert back to not distributing pointing in parallel by default
[0.7.2] - 2022-10-13
New
- Revert default value for
parallel
toFalse
when initializingZodipy
. 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`
[0.7.1] - 2022-10-11
New
- Renamed argument
gauss_quad_order
togauss_quad_degree
inZodipy()
.
Changed
- Fixed issue with nested parallelization where using a large number of processes would cause oversubscription and bloated threads.
Add support for bandpass integration
[0.7.0] - 2022-10-06
New
- Added support for bandpass integration. The
get_*_emission_*
methods now accept a sequence of frequencies to thefreq
argument and corresponding weights to the newweights
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 initializingZodipy
withparallel=False
. The number of CPUs can be manually specified by using then_proc
keyword when initializing ZodiPy.
Fix multiprocessing start method
[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 inif __name__ == "__main__"
guards unless they are on Windows.
Performance improvements
[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
[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 initializingZodipy
withparallel=True
. Optionally, the user may also specify the number of desired processes with then_proc
argument. See the new Parallel computations section in the documentation for an example of how to use ZodiPy with this feature.