-
Breaking change:
PointingSys()
now requiresObservation
as an argument. And several functions to add pointing systematics are merged intoleft_multiply_syst_quats()
. -
Breaking change: Redefinition (ωt instead of 2ωt) of the hwp angle returned by
get_pointings()
. Change in the pointing returned byObservation.get_pointings()
, now behaving as it was before this commit. Documentation updated accordingly. #340 -
Restructure the manual and use a new, cleaner style #342
-
Module for including nonlinearity in the simulations #331
-
Improve the documentation of the binner and the destriper #333
-
Make the code compatible with Python 3.12 #332
-
plot_fp.py which visualizes focal plane and
DetectorInfo
is implemented. Also it can generate a dector list file by clicking visualized detectors. The function is executable by:python -m litebird_sim.plot_fp
#345 -
Simulation.add_noise() uses self.random as default random number generator #349
-
Mbs updated, code aligned to pysm 3.4.0, CO lines included plus other new foreground models #347
-
Breaking change: new API for pointing computation #319. Here is a in-depth list of all the breaking changes in this PR:
-
Quaternions describing the orientation of the detectors must now be encoded using a
RotQuaternion
object; plain NumPy arrays are no longer supported. -
Quaternions are now computed using the function
prepare_pointings()
(low-level) and the methodSimulation.prepare_pointings()
(high-level, you should use this). Pointings are no longer kept in memory until you retrieve them usingObservation.get_pointings()
. -
Pointings are no longer accessible using the field
pointings
in theObservation
class. (Not 100% true, see below.) They are computed on the fly by the methodObservation.get_pointings()
. -
The way pointings are returned differs from how they were stored before. The result of a call to
Observation.get_pointings()
is a 2-element tuple: the first element contains a(N, 3)
NumPy array containing the colatitude θ, the longitude φ, and the orientation ψ, while the second element is an array of the angles of the HWP. Thus, the orientation angle ψ is now stored together with θ and φ. -
If you want to pre-compute all the pointings instead of computing them on the fly each time you call
Observation.get_pointings()
, you can use the functionprecompute_pointings()
(low-level) and the methodSimulation.precompute_pointings()
(high-level). This initializes a number of fields in eachObservation
object, but they are shaped as described in the previous point, i.e., ψ is kept in the same matrix as θ and φ. -
The argument
dtype_tod
of the methodSimulation.create_observations
has becometod_type
for consistency with other similar parameters. -
The format of the HDF5 files has been slightly changed to let additional information about pointings to be stored.
See the comments in PR#319 and discussion #312 for more details.
-
-
Add data splits in time and detector space to destriped maps #309
-
Fix issue #317
-
Implement a time profiler #308
-
Breaking change: Disambiguate between “polarization angle” and “orientation” #305. A few functions have been renamed as a consequence of this change; however, they are low-level functions that are used internally (
compute_pointing_and_polangle
,all_compute_pointing_and_polangle
,polarization_angle
), so external codes should be unaffected by this PR. -
Breaking change: Reworking of the IO,
write_observations
andread_observations
are now part of the class simulation #293 -
Mbs optionally returns alms instead of maps #306
-
Include the possibility to pass components to fill_tods, add_dipole and add_noise #302
-
Add data splits in time and detector space to binned maps #291
-
Add support for partial multithreading using Numba #276
-
Fixing bug in mbs to pass general bandpass to mbs #271
-
Support for numpy.float128 made optional, this fixes importing issue on ARM architectures #286
-
Improve the documentation about noise simulations #283
-
Use libinsdb to access the IMO #282
-
Move from
flake8
/black
toruff
#281 -
New module to simulate HWP systematics #232
-
Breaking change: Change the interface to the binner, implement a new destriper, and make the dependency on TOAST optional #260
-
Breaking change: Drop support for Python 3.7 and 3.8 #254
-
Breaking change: Fix noise seed inconsistency #256
-
Be more robust when parsing UUIDs and URLs coming from the IMo #274
-
Solve typing error in destriper #272
-
Include default PTEP IMO for tests and demos #230
-
Fixed typo in timeordered.rst #250
-
Fix error in reading observation when it does not have tod field #262
-
Bug in mbs for band integration solved #251
-
Some memory optimization #245
-
Improve the docstring for
scan_map_in_observations
#248 -
New interface for
make_bin_map
inSimulation
#244 -
Added gain drift simulation module #243
-
Enable the use of other names than
tod
when calling the TOAST2 destriper #242 -
Use Poetry instead of Pip to specify the dependencies for the documentation #237
-
Remove bandpass-related warnings #236
-
Add TOD interpolation #233
-
Improve the documentation #231
-
Mbs supports generic bandpasses and can generate solar dipole #227
-
Improve the support for multiple TODs in the same
Observation
#225
-
Some memory optimization in pointing production #222, coordinate rotation and noise #223
-
Implement new methods in the
Simulation
class:fill_tods
,compute_pos_and_vel
,add_dipole
andadd_noise
#221 -
Breaking change: add multiple TOD support to
describe_mpi_distribution
and make the fieldMpiObservationDescr.tod_dtype
a list of strings #220 -
Add links to the manual in the example notebook #219
-
Implement new methods in the
Simulation
class:set_scanning_strategy
,set_instrument
,set_hwp
, and deprecategenerate_spin2ecl_quaternions
#217 -
Add
gzip_compression
keyword towrite_observations
#214 -
Run more comprehensive tests on different TOD components #212
-
Add a link to the IMO webpage @SSDC for each entity/quantity/data file included in simulation reports #211
-
Fix issue #209 #210
-
Add flag for coordinate system choice of madam output maps #208
-
Improve support for multiple TODs #205
-
Breaking change Interface of
get_pointings
modified, new functionget_pointings_for_observation
simplifies the pointing generation for a list of observations #198 -
Ensure chronological order for Madam FITS files and make sure that exporting them to Madam works with MPI #204
-
Properly install Madam template files #202
-
Mark installation errors for rich traceback in CI builds as non fatal #199
-
Fix bug in
make_bin_map
#196
-
Update and fix dependencies #192
-
Allow nnz=1 in the destriper #191
-
Improve the performance of the pointing generator #190
-
Add support for Madam (through an external call) #186
- Breaking change The wrapper to the TOAST2 mapmaker has been fixed, and the parameter
baseline_length
was renamed tobaseline_length_s
to make clear what the measurement unit is #182
-
Breaking change New API for noise module #151:
-
Function
add_noise
has been renamed toadd_noise_to_observations
, and its parameternoisetype
has been renamed intonoise_type
for consistency with other parameters (breaking) -
New functions
add_white_noise
andadd_one_over_f_noise
are exported (they were already implemented but were not visible) -
Each
Simulation
object creates random number generators (fieldSimulation.random
), in a way that is safe even for MPI applications
-
-
Breaking change New API for
scan_map_in_observations
andadd_dipole_to_observations
, which now accept list of pointing matrices and simplify the parameters describing the HWP #171 -
Add a notebook to show an example of how to use the framework (#178)
-
Support the production of maps in Galactic coordinates through the TOAST2 wrapper to the Madam map-maker (#177)
-
Make
make_bin_map
compute pixel indices instead of requiring them as input, add support for Galactic coordinates #176 -
Use a more robust algorithm to compute pointings #175
-
Improve the documentation for the destriper #172
-
Add a high-pass filter for the noise #169
-
Upgrade NumPy from 1.20 to 1.21, Numba from 0.54 to 0.55, Rich from 6.2 to 11.0 #152
-
Add the ability to create Singularity container from branches different than
master
#163 -
Make MBS tests more robust against disappearing temporary directories #162
-
Remove NumPy's and Healpy's deprecation warnings #158
-
Use a cache to speed up CI builds PR#147
-
Create a script that fetches information about the latest release and produce a release announcement PR#156
-
Option for rotating the pointing from ecliptic to galactic coordinates in scan_map #164
-
Fix issue #148
-
Breaking change Drop support for Python 3.6, enable Python 3.9 #136
-
Breaking change Rename keyword
distribute
tosplit_list_over_processes
inSimulation.create_observations
#110 -
Breaking change Switch to thermodynamic units in the MBS module #123
-
Functions to write/load TODs to HDF5 files #139
-
Module for simulating hwp systematics (hwp_sys) PR#117. The algebra is described in Giardiello et al.
-
Fix Singularity builds #145
-
Make the TOAST destriper more robust when MPI is/isn't present #106
-
Option in Mbs for maps in ecliptic coordinates #133
-
Module for scanning a map and filling TOD #131
-
Add a text-mode browser for the IMO PR#103
-
Implement the tools to build a Singularity container PR#96
-
Implement an interface to the TOAST mapmaker PR#86
-
Fix issue #101 (No proper "parents" in Entry objects) PR#102
-
Make the README point to the latest version of the documentation PR#99
-
Ensure that tests do not write within the source-code directory PR#97
-
Add a
STATUS.md
file showing the overall implementation status of the simulation modules PR#87 -
Clarify how the IMO is used by
litebird_sim
PR#94 -
Make tests run faster by using ducc0 0.8.0 PR#92
-
Misc minor changes: gitignore .DS_Store; losslessly compress some assets PR#88
-
Improve the
Observation
API. Deprecate the pointing-related methods (moved toscanning
), quantities are local by default PR#84 -
Permit to use pre-allocated buffers when generating quaternions and pointing angles PR#83
-
Add support for PySM3 in new class
Mbs
PR#76 -
Add the parameter
include_git_diff
inSimulation.flush()
PR#81 -
Add the ability to specify the size of the floating-point type used in
Observation
objects PR#79 -
Simple bin map-maker PR#73
-
Use SI units in class
SpinningScanningStrategy
(breaking change) PR#69 -
Use dataclasses, rename
Detector
toDetectorInfo
andInstrument
toInstrumentInfo
(breaking change) PR#60 -
Code cleanups PR#71
-
Improve the README PR#70
- First release