Recent Releases of ZodiPy
ZodiPy - v.1.1.1
What's Changed
- Fixed bug where results would differ when initializing the model with wavelength vs frequency by @hermda02 in https://github.com/Cosmoglobe/zodipy/pull/44
New Contributors
- @hermda02 made their first contribution in https://github.com/Cosmoglobe/zodipy/pull/44
Full Changelog: https://github.com/Cosmoglobe/zodipy/compare/v.1.1.0...v1.1.1
Scientific Software - Peer-reviewed
- Python
Published by MetinSa 8 months ago
ZodiPy - v.1.1.0
This is a minor release with one new feature:
- The grid_number_density function now accepts a model argument (replaces the old name argument) which can be either a string representing a built-in/registered zodiacal light model, or a custom or explicit ZodiacalLightModel.
What's Changed
- Tried adding option to insert arbitrary model by @Takatho in https://github.com/Cosmoglobe/zodipy/pull/38
New Contributors
- @Takatho made their first contribution in https://github.com/Cosmoglobe/zodipy/pull/38
Full Changelog: https://github.com/Cosmoglobe/zodipy/compare/v.1.0.0...v.1.1.0
Scientific Software - Peer-reviewed
- Python
Published by MetinSa about 1 year ago
ZodiPy - v1.0.0
This release features a major rewrite of the ZodiPy API following the integration of ZodiPy to the Astropy ecosystem. See the usage documentation for an overview of how to use ZodiPy with the new API.
What's Changed
- Renamed
zodipy.Zodipytozodipy.Model. - Removed all previous
get_*_emissionmethods which are all replaced by theevaluatemethod, which takes in aastropy.coordinates.SkyCoordobject. All user input (with the exception ofobspos) is now directly provided through theSkyCoordobject. - Support for per coordinate
obstimeandobsposvalues, for more accurate simulations. This also removes the need to manually chunk time-ordered data and re-evaluate ZodiPy. Now, a single call to theModel.evaluatemethod can compute the entire zodiacal light for a full instrument timestream.
Full Changelog: https://github.com/Cosmoglobe/zodipy/compare/v.0.9.2...v.1.0.0
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 1 year ago
ZodiPy - v.0.8.6
[0.8.6] - 2024-03-21
Deprecated
Deprecated the keyword parallel used when initializing a Zodipy model. Instead, wether or not ZodiPy will parallelize the line-of-sight integrals is inferred from n_proc, where n_proc=1, which is the default value, means no parallelization.
Example
```python import zodipy
no parallelization
model = zodipy.Zodipy()
parallelization over 10 cores
model = zodipy.Zodipy(n_proc=10) ```
Scientific Software - Peer-reviewed
- Python
Published by MetinSa almost 2 years ago
ZodiPy - Add new argument `interp_kind` to the initialization of `Zodipy`.
[0.8.4] - 2023-02-06
New
Previously only linear interpolation was performed for the relevant source and spectral parameters in the interplanetary dust models. Now the user may select between the various supported methods for Scipy's interp1d.
Example of how to use the new feature:
```python import zodipy
model = zodipy.Zodipy("Planck2018", interp_kind="quadratic") ```
Scientific Software - Peer-reviewed
- Python
Published by MetinSa almost 3 years ago
ZodiPy - Fix bug with spectral parameter interpolation
[0.8.3] - 2023-01-11
Fixed
- Fix a bug introduced in 0.8.1 that got through the previous release unspotted which resulted in spectral parameters being interpolated in wrong units.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa almost 3 years ago
ZodiPy - Fix bug with bandpasses in Hz
[0.8.2] - 2023-01-11
Fixed
- Fixed a bug that appeared in 0.8.0 where bandpasses in GHz were evaluated in units of GHz instead of Hz in the Planck function.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa almost 3 years ago
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.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa almost 3 years ago
ZodiPy - 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() -> dictwhich outputs a dictionary of all the model parameters, andupdate_parameters(parameters)which takes in a dictionary on the form outputted byget_parametersand updates the model: ```python model = zodipy.Zodipy()
parameters = model.getparameters() parameters["comps"]["cloud"]["i"] = 5 model.updateparameters(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
Scientific Software - Peer-reviewed
- Python
Published by MetinSa almost 3 years ago
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.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa about 3 years ago
ZodiPy - Revert back to not distributing pointing in parallel by default
[0.7.2] - 2022-10-13
New
- Revert default value for
paralleltoFalsewhen 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.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa about 3 years ago
ZodiPy - 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_ordertogauss_quad_degreeinZodipy(). ### Changed - Fixed issue with nested parallelization where using a large number of processes would cause oversubscription and bloated threads.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa about 3 years ago
ZodiPy - 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 thefreqargument and corresponding weights to the newweightsargument. - 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 initializingZodipywithparallel=False. The number of CPUs can be manually specified by using then_prockeyword when initializing ZodiPy.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa about 3 years ago
ZodiPy - Fix multiprocessing start method
[0.6.6] - 2022-07-05
Fixed
start_methodfor 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.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 3 years ago
ZodiPy - 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 e1edd34252b83ad999aca4ef46b7e4b1435f68f1.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 3 years ago
ZodiPy - 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
nsidewhere 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 initializingZodipywithparallel=True. Optionally, the user may also specify the number of desired processes with then_procargument. See the new Parallel computations section in the documentation for an example of how to use ZodiPy with this feature.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 3 years ago
ZodiPy - Fix dependencies so ZodiPy works on Python > 3.10
[0.6.3] - 2022-06-24
Fixed - Updated dependencies so ZodiPy now works properly on all Python versions >= 3.8
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 3 years ago
ZodiPy - Solar Cutoff
[0.6.2] - 2022-06-22
Changed
- Added solar_cutoff as an argument to the initialisation of Zodipy (see 73c03360c68a1a13f548bd4d3b8131b859bff160). This argument takes in an angle (in degrees) and masks the emission for all pointing that has an angular distance between the sun smaller than the specified solar_cutoff. Due to the singularity in the interplanetary dust model, pointing looking directly at the Sun will get unphysical values. Although most experiments dont have scanning strategies looking in towards the Sun, this feature could be useful for simulated pointing and for making instantaneous full sky maps of the zodiacal emission.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 3 years ago
ZodiPy - Ported documentation from sphinx to mkdocs
[0.6.1] - 2022-06-20
Documentation was ported from sphinx (readthedocs) to mkdocs with gh-pages.
The new home for our documentation is now https://cosmoglobe.github.io/zodipy/
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 3 years ago
ZodiPy - Significant changes to the ``Zodipy`` API
[0.6.0] - 2022-04-26
This release introduces significant changes to the Zodipy API by splitting the old get_emisison function into smaller components. The previous function was trying to do to much, which made the code harder to maintain and less pythonic. I believe it is better to split it into smaller components who each handle the specific use cases (get emission for pixels, angles, binned pixels, and binned angles).
The four new methods are: get_emission_ang, get_emission_pix, get_binned_emission_ang, and get_binned_emission_pix. For more information on how to use the new functions, please see the reference.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 3 years ago
ZodiPy - Support for frequency extrapolation, new solar irradiance models, and better performance using `quadpy`
This release introduces a new features and improves the performance of the Zodipy by using the quadpy library to perform vectorized line of sight integration.
[0.5.6] - 2022-04-19
- Added possibility to select between modern solar irradiance models for computing the scattered solar emission. These can be selected by specifying the
solar_irradiance_modelargument when initializingZodipy. - Zodipy now throws an error by default if the selected frequency or wavelength is outside of the range covered by the selected interplanetary dust model. To linearly extrapolate the spectral parameters in the model, set
extarpolate=Truewhen initializingZodipy. - Improved performance is achieved by introducing quadpy as a new dependency, which speeds up the line of sight integration.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 3 years ago
ZodiPy - Use Astropy `solar_system_ephemeris` API to compute position of Solar System bodies, accept pointing in form of angular coordinates
This release changes the interface of Zodipy to no longer depend on specific observer/earth position as input, and allows the user to provide pointing information in the form of angular coordinates.
- Zodipy now expects a
strrepresenting an observer and anastropy.time.Timeobject representing the time of observation instead of the previously required observer and earth positions in AU. - The pointing information can now be given in the form of angles on the sky in co-latitude and longitude (
thetaandphi). - The JPL ephemeris
de432swill be downloaded the first time the interface is initialized (10 MB file).
Following is a new minimal Zodipy use case ```python from astropy import unit as u from astropy.time import Time from zodipy import Zodipy
model = Zodipy() model.getemission( 25*u.micron, obs="earth", obstime=Time.now(), theta=10u.deg, phi=40u.deg, )
```
Scientific Software - Peer-reviewed
- Python
Published by MetinSa almost 4 years ago
ZodiPy - Performance upgrade and changes to the user interface
This release provides a significant upgrades to the Zodipy performance speed (up to 2x from the previous release).
The performance is mainly the result of e76707cbf91eee76dffef8269cf6aa2620d4e026 where the following changes were made: 1) the Planck function and the Interplanetary temperature is tabulated instead of being computed along each line of sight 2) the software architecture is refactored to remove redundant calculations
Additionally, the user interface is changed slightly.
The main interface is now called Zodipy and features two methods: get_time_ordered_emission and get_instantaneous_emission.
Following is an example how to use Zodipy with the new interface:
```python from zodipy import Zodipy
model = Zodipy() emission = model.gettimeorderedemission( 25 * u.micron, nside=256, pixels=[...], observerpos=[...] * u.AU, ) ```
Scientific Software - Peer-reviewed
- Python
Published by MetinSa almost 4 years ago
ZodiPy - Reworked interface and implemented time-ordered emission
This release introduces significant changes to the way Zodipy is used compared to previous versions. For a more in-depth guide on how to use Zodipy following the changes, see the README. Changed
- The Zodipy interface interface is now initialized with the
InterplanetaryDustModelclass instead ofZodi. - Instantaneous emission is now simulated using the
get_instantaneous_emissionmethod of the interface. - Time-ordered emission can now be simulated with the
get_time_ordered_emissionmethod of the interface.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa about 4 years ago
ZodiPy - Introduced testing and updated project dependency versions
This release updates project dependency versions and introduces unit and type testing
Changed
- Updated
pillowand related dependencies due to invulnerability issues with versions < 8.3.2 - Introduced type checking with
mypy - Introduced a few unit tests with
pytest - Added GitHub actions to automatically run
pytestandmypyon push and pull requests
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 4 years ago
ZodiPy - Zodipy 0.2.1 Release Notes
Note: This release only includes code refactoring. The behavior of Zodipy remains the same. - Merged the two existing simulation strategies into a common strategy that handles both simulation use cases 43c29ed5ad4ec02bdde5e977f71b7185f16f509e
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 4 years ago
ZodiPy - Zodipy 0.2.0 Release Notes
Note: This release only refactored code implementation and restructured files
- Moved logic for selecting simulation strategy out of the
Zodiinitialization to its own file_integration.pyac84be61102078b96876f1f7c5037a48f6eaa236
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 4 years ago
ZodiPy - Zodipy 0.1.9 Release Notes
- Implemented manual step-wise integration to drastically improve memory consumption for high nsides 8c510111494a72a7b8f4f929a286a3d6a5ef5b9a
- Renamed some files
- Added more type hints
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 4 years ago
ZodiPy - Zodipy 0.1.8 Release Notes
Note: This release only refactored code implementation and restructured files
- Renamed files d1cd49cb21fe63ac17a32dbfe8e655c163f6e60f.
- Fixed bug where the angle theta for the earth-trailing component was not properly constrained deb3e3cca121e9816959acd721f3fb0cb9f03f84.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 4 years ago
ZodiPy - Zodipy 0.1.7 Release Notes
Note: This release only refactored the code implementation - Implemented the factory method pattern into various aspects of the code d5703dd05f871ea95cc4be07f9e8bcf7ee92d213 943dd148531767b7b3d79455f88485648a51dc4e
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 4 years ago
ZodiPy - Zodipy 0.1.6 Release Notes
- Changed
Zodiinput arguments (start,stop, andstep->epochs) and removedsolar_cutkeyword 77f9912c2051edda368222022ede960f95b78dad. - Added possibility to include hit maps to produce pixel weighted average simulations and refactored the SimulationStrategy classes b84e250a8fac0a36c640d0a4f06083758e8dd956 2f95b3f59d73639ce4b893b5daed8c67048da234.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 4 years ago
ZodiPy - Zodipy 0.1.5 Release Notes
- Refactored code, updated documentation, and changed keyword name in
get_emissionfrommask->solar_cut44b7ab01326ecb2c928c6d643a871e6831372e08 95da02d93d807d28d8ffb64468ffc11be3a5c904.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 4 years ago
ZodiPy - Zodipy 0.1.4 Release Notes
- Added possibility to mask pixels during an observation 6edfc1aab6e9a85fbe9381071bed855ae7788501 aaa79f20111004606c544443202b10570307b60f b7f1486f70446d98c8e72cd3ae986a9cb07137ef.
- Observation times are now given through three separate keywords (start, stop, step) to the
Zodiobject, 6f79b42c8b9217941ee72e372fb97ff331aabc40 c3e08b43e4a9d59a1f549398e1ba2ee62362ccea.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 4 years ago
ZodiPy - Zodipy 0.1.3 Release Notes
- Changed input argument types to
Zodiobject 1703eb8. - Fixed import override 6cbf848.
- Added
__all__.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 4 years ago
ZodiPy - Zodipy 0.1.2 Release Notes
- Fix bug where initializing the Zodi interface without any arguments would raise an exception f9da748.
Scientific Software - Peer-reviewed
- Python
Published by MetinSa over 4 years ago