Skip to content

Releases: Cosmoglobe/zodipy

Fix dependencies so ZodiPy works on Python > 3.10

24 Jun 08:51
Compare
Choose a tag to compare

[0.6.3] - 2022-06-24

Fixed

  • Updated dependencies so ZodiPy now works properly on all Python versions >= 3.8

Solar Cutoff

22 Jun 13:23
Compare
Choose a tag to compare

[0.6.2] - 2022-06-22

Changed

  • Added solar_cutoff as an argument to the initialisation of Zodipy (see 73c0336). 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.

Ported documentation from sphinx to mkdocs

20 Jun 13:01
Compare
Choose a tag to compare

[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/

Significant changes to the ``Zodipy`` API

26 Apr 08:17
Compare
Choose a tag to compare

[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.

Support for frequency extrapolation, new solar irradiance models, and better performance using `quadpy`

19 Apr 13:28
Compare
Choose a tag to compare

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_model argument when initializing Zodipy.
  • 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=True when initializing Zodipy.
  • Improved performance is achieved by introducing quadpy as a new dependency, which speeds up the line of sight integration.

Use Astropy `solar_system_ephemeris` API to compute position of Solar System bodies, accept pointing in form of angular coordinates

20 Mar 13:37
Compare
Choose a tag to compare

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 str representing an observer and an astropy.time.Time object 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 (theta and phi).
  • The JPL ephemeris de432s will be downloaded the first time the interface is initialized (10 MB file).

Following is a new minimal Zodipy use case

from astropy import unit as u
from astropy.time import Time
from zodipy import Zodipy

model = Zodipy()
model.get_emission(
    25*u.micron,
    obs="earth",
    obs_time=Time.now(),
    theta=10*u.deg,
    phi=40*u.deg,
)
>> <Quantity [16.65684599] MJy / sr>

Performance upgrade and changes to the user interface

21 Feb 15:56
Compare
Choose a tag to compare

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 e76707c 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:

from zodipy import Zodipy

model = Zodipy()
emission = model.get_time_ordered_emission(
        25 * u.micron,
        nside=256,
        pixels=[...],
        observer_pos=[...] * u.AU,
    )

Reworked interface and implemented time-ordered emission

24 Nov 09:09
Compare
Choose a tag to compare

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 InterplanetaryDustModel class instead of Zodi.
  • Instantaneous emission is now simulated using the get_instantaneous_emission method of the interface.
  • Time-ordered emission can now be simulated with the get_time_ordered_emission method of the interface.

Introduced testing and updated project dependency versions

14 Sep 13:13
Compare
Choose a tag to compare

This release updates project dependency versions and introduces unit and type testing

Changed

  • Updated pillow and 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 pytest and mypy on push and pull requests

Zodipy 0.2.1 Release Notes

06 Sep 08:06
Compare
Choose a tag to compare

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 43c29ed