Skip to content

Releases: radiocosmology/draco

v24.6.0

24 Jun 19:10
Compare
Choose a tag to compare

What's Changed

  • fix: update cython code to account for the changed division operator by @jrs65 in #248
  • fix(sidereal): mpiarray issues by @jrs65 in #246
  • Refactor delay-space measurement code and add features by @sjforeman in #217
  • fix(ringmapmaker): fix bug finding shortest baseline in find_basis by @ssiegelx in #251
  • ci(ruff): add extra linting rules: isort, pyupgrade, numpy, ruff-specific by @ljgray in #243
  • Redistribute back to frequency after generating baseline mask by @ljgray in #253
  • feat(core.io): support globs without * by @rikvl in #252
  • Wavelet Power Spectra by @jrs65 in #237
  • Timestream high pass filter by @jrs65 in #250
  • Delay cross 1 by @jrs65 in #254
  • Delay cross power spectrum estimator by @jrs65 in #255
  • Ensure truncation is applied to all datasets by @jrs65 in #257
  • Optionally load an initial delay spectrum sample by @ljgray in #256
  • Update sphinx and black by @ljgray in #261
  • fix(GaussianNoise): fix bug in noise generation by @sjforeman in #263
  • Enforce linting rule RUF012 by @ljgray in #258
  • fix: apply filter to inherited datasets by @jrs65 in #260
  • fix(core.containers): Recognise np.int as an axis def. by @tristpinsm in #267
  • Add a new RFI Flagging task by @ljgray in #265
  • fix(sensitivity): fix bug in exclude_intracyl sensitivity calculation by @ssiegelx in #270
  • feat(flagging): mask rfi based on delay filtered visibilities by @ssiegelx in #268
  • Baseline-dependent rebinner by @ljgray in #269
  • feat(DebugInfo): a new task for printing useful debugging information by @jrs65 in #249
  • fix(rfi): fix misalignment between mask and data in sumthreshold by @ssiegelx in #272
  • ss/sens mask by @ssiegelx in #274
  • Save out multiple files per task and tweak Stokes I RFI task by @ljgray in #271
  • Assorted bug fixes by @ljgray in #275
  • Maximum likelihood delay power spectrum estimator by @jrs65 in #262
  • fix(ci): don't use bitshuffle wheel by @ljgray in #279
  • fix(sidereal): remove unnecessary copy by @ljgray in #277
  • fix(analysis.DayenuDelayFilterMap): Remove rms dset by @tristpinsm in #276
  • Modifications to BlendStack and frequency mask by @ljgray in #280

New Contributors

Full Changelog: v23.6.0...v24.6.0

23.6.0

29 Jun 05:20
Compare
Choose a tag to compare

What's Changed

  • Move _invert_no_zero to caput and add deprecation warning by @ljgray in #202
  • Fix Gibbs sampler bug and add initial_amplitude parameter, and fix misc. MPIArray warnings by @sjforeman in #207
  • fix(misc): Log MPI check as successful only after all ranks complete by @ljgray in #212
  • fix: change deprecated numpy dtypes by @jrs65 in #220
  • refactor(flagging): clean up various versions of ThresholdVisWeight. by @ljgray in #209
  • fix(band_covariance): fix out of bounds index in _band_wiener_covariance by @ljgray in #218
  • Bump minimum version to 3.8 by @ljgray in #228
  • Mask gain interpolation region after bad calibration by @ljgray in #221
  • perf(SmoothVisWeight): Use caput moving_weighted_median by @ljgray in #187
  • feat(flagging): introduce a task to apply a baseline-dependent mask. by @ljgray in #229
  • feat(ShiftRA): add option to make shift 360-degree-periodic by @sjforeman in #226
  • feat(io): allowing zarr zip jobs to run in the background by @jrs65 in #214
  • Only iterate over self.compression if it's a dict by @ljgray in #232
  • perf(task): only count nans/infs if any are found by @ljgray in #234
  • Use ruff for CI linting by @ljgray in #235
  • fix(flagging): increase default threshold for static weight masking by @ljgray in #236
  • feat(flagging): add timestamp to pseudo-static rfi sensitivity mask hook by @ljgray in #240
  • Timestamp Alignment(2/4): Copy index_map dataset attributes and remove time property by @ljgray in #227
  • Timestamp fixes (1/1): Remove some unnecessary time axis copies by @ljgray in #222
  • perf(sidereal): clear timestream list after concatenation by @ljgray in #244
  • feat(beamform): delete some class list attributes in 'process_finish'. by @ljgray in #242
  • feat(dayenu.DayenuDelayFilter): Add attenuation threshold parameter. by @tristpinsm in #239
  • feat(transform): task to apply reduction ops to a container by @ljgray in #241

Full Changelog: v22.10.0...v23.6.0

22.10.0

25 Oct 05:57
Compare
Choose a tag to compare

What's Changed

  • fix(ZipZarrContainers): prevent crash when requirements are not met by @jrs65 in #205
  • feat(flagging): improve code for masking low weights by @sjforeman in #203
  • feat(misc): add task to test mpi communication by @ljgray in #204
  • fix(CheckMPIEnvironment): use the logger on the task by @jrs65 in #206

Full Changelog: v22.9.0...v22.10.0

22.9.0

01 Oct 00:44
Compare
Choose a tag to compare

What's Changed

  • fix(beamform): incorrect normalization for collapse_ha by @ssiegelx in #114
  • feat(MakeSiderealDayStream): a new task to simulate a specific LSD by @jrs65 in #113
  • feat(io): raise ConfigError if file not found by @nritsche in #115
  • docs build / readthedocs by @nritsche in #116
  • docs(sphinx): add categorized lists again as simple references by @nritsche in #118
  • Hybrid map maker by @jrs65 in #65
  • Deprecate caput.pipeline.PipelineConfigError by @nritsche in #120
  • feat(containers): added a HealpixContainer baseclass by @jrs65 in #128
  • ss/common mode beam by @ssiegelx in #127
  • perf(SingleTask): remove no-effect-getitem call by @nritsche in #123
  • Deconvolving ringmap by @jrs65 in #122
  • feat(sourcestack): separately stack each pol by @ssiegelx in #129
  • feat(core.containers): HEALPixBeam container. by @tristpinsm in #105
  • fix(core.containers.HEALPixBeam): init order. by @tristpinsm in #132
  • Stacking and delay filter changes by @jrs65 in #117
  • feat(beamform): refactor how primary beam model is evaluated by @ssiegelx in #131
  • Fixes for simulating sidereal streams by @jrs65 in #134
  • ss/deconvolving ringmap by @ssiegelx in #126
  • refactor(io): create BaseLoadFiles class by @ssiegelx in #135
  • feat(sidereal, containers): sample variance over sidereal days by @ssiegelx in #104
  • feat(flagging): create FindBeamformedOutliers and MaskBeamformedOutliers tasks by @ssiegelx in #138
  • feat(delay): compatibility with RingMap and GridBeam containers by @ssiegelx in #140
  • jrs/transform jy to kelvin by @jrs65 in #136
  • feat: create tasks for generating mock catalogs by @sjforeman in #139
  • fix(isnan): check for NaN/Inf in local arrays, to avoid crashes due to de-syncing by @anjakefala in #125
  • fix(mpiarray): use non-pickling variant of MPI.Comm.Allreduce with MP… by @anjakefala in #143
  • fix(ringmapmaker): MPI calls could get out of sync by @jrs65 in #142
  • Misc. tweaks to SourceStack by @sjforeman in #141
  • build: build using the oldest supported version of numpy, for python version by @anjakefala in #146
  • Mockcat fixes and other goodies by @jrs65 in #144
  • Stacking/beamform bug fixes by @jrs65 in #147
  • fix(ci): update the apt cache within the sphinx doc build step by @jrs65 in #148
  • Task to add eBOSS-like redshift errors to catalog by @sjforeman in #149
  • Fix bug using tracer and allow setting of it by @jrs65 in #153
  • ss/tel-beam-stream by @ssiegelx in #152
  • fix(task): if finish task output is None, it should not be processed by @anjakefala in #155
  • fix(ContainerBase): correctly call superconstructor by @jrs65 in #150
  • ss/dayenu by @ssiegelx in #157
  • Mix data and fix flux cal bug by @jrs65 in #156
  • feat(MaskFreq): accept RingMap input data by @jrs65 in #158
  • feat(sourcestack): tools to generate many mock stacks by @ssiegelx in #159
  • RA integration window for sidereal streams and improve redshift errors by @jrs65 in #160
  • feat(util.tools.invert_no_zero): Handle subnormals. by @tristpinsm in #161
  • feat(synthesis.noise.GaussianNoiseDataset): Allow choice of dataset. by @tristpinsm in #163
  • Fix mode axis of SVDModes container by @sjforeman in #165
  • fix(beamform): do not crash beamformer, when no data is available by @anjakefala in #166
  • fix(SingleTask): pull tag from input_tags, when not explicitly configured by @anjakefala in #170
  • fix(beamform): return before requiring self.epoch by @anjakefala in #171
  • fix(task.SingleTask): ensure input tags are strings. by @tristpinsm in #172
  • Refactor invert_no_zero to avoid unnecessary memory copies by @tristpinsm in #168
  • New QSO z-error model by @jrs65 in #164
  • feat(task): zarr support by @nritsche in #130
  • fix(invert_no_zero): issue when operating on MPIArrays by @jrs65 in #178
  • fix(containers): add input axis to GainData weight dataset by @ssiegelx in #182
  • Update noise.py by @Arnab-half-blood-prince in #181
  • fix(containers): fixes bug setting compression parameters for copy by @ssiegelx in #183
  • feat(ContainerBase): copy over datasets when creating a container by @jrs65 in #180
  • Ljg/threashold vis weight by @ljgray in #185
  • feat(delay): allow user to specify apodisation window and allow for complex-valued delay spectrum by @sjforeman in #177
  • fix(ApplyRFIMask): don't apply mask to local array. by @ljgray in #186
  • feat(RFIMask): calculate RFIMask container rather than applying in place. by @jrs65 in #192
  • Speed up CollateProducts by avoiding redistribute when possible. by @ljgray in #191
  • Improve the debug messages when loading files by @jrs65 in #193
  • feat: add CITATION.cff file for Zenodo/Github by @jrs65 in #194
  • updated z_weights_sum calculation by @josephwkania in #189
  • feat(MaskBaselines): mask baselines under an average weight threshold by @jrs65 in #195
  • fix(regrid): remove bias in inverse noise estimate by @jrs65 in #196
  • Fix issues doing IO with zarr by @jrs65 in #197
  • feat(misc): add task to deep copy a container by @ljgray in #198
  • feat(flagging): add task to mask time/freq samples with low weight at… by @sjforeman in #199
  • Flagging Changes by @jrs65 in #200

New Contributors

Full Changelog: v20.10.0...v22.9.0

20.10.0

21 Oct 23:22
Compare
Choose a tag to compare

Bug Fixes

  • analysis.flagging.MaskData: Fix m mask. (525305c)
  • containers: could not make selections along inherited axes (9d678eb)
  • containers: fix copy for non-distributed data (22b0719)
  • delay: issue identifying equivalent baselines because of rounding (a3f54e6)
  • DelayFilter: apply mask and weights consistently in filter (e503943)
  • DelayFilter: select appropriate number of points and update weights (20f7903)
  • noise: RandomGenerator rename and other GaussianNoiseDataset bugs (#106) (ba7648d)
  • svdfilter: fix initial fill of missing matrix entries in svd_em (75f8cd8)
  • task: fix deprecation warning for inspect.getargspec (ae2f1b6)
  • tv_channels_flag: account for frequencies partially in a channel (854964a)

Code Refactoring

  • remove Python 2 support (58c275c)

Features

  • analysis.transform: Add option to mask weights that were zero to regridder. (d6f2c76)
  • BlendStack: mix in a little stacked data to overcome RFI gaps (3167d43)
  • io: select ranges of axes when loading containers (201841e)
  • LoadFITSCatalog: task to load SDSS catalogs from FITS files (ffc570f)
  • random: new random number routines and tasks (8c8a533)
  • RandomSubset: a task to select a random subset of a catalog (abdb5fd)
  • sidereal: create nearest, linear, and cubic regridders (81badda)

Performance Improvements

  • BeamForm: 2x speed up to beamforming code (8945ee4)
  • DelaySpectrumEstimator: speedup for small numbers of frequencies (88ffda1)
  • stokes_I: stop recalculating the beamclass every iteration (ea70033)

BREAKING CHANGES

  • Python 2.7 is no longer supported

20.5.0

06 May 22:50
Compare
Choose a tag to compare

Bug Fixes

  • ContainerBase: axis overwritten when using attrs_from (0c812a2)
  • beamform: bug parsing lsd attribute (3e873b9)
  • beamform: convert sources to CIRS coordinates before beamforming (6f5704e)
  • ContainerBase: convert strings in containers by default (7e08750)
  • io: convert strings when using pipeline to read containers. (d4329f6)
  • LoggedTask: set correct module path in logger name (0cd19f2)
  • noise: update imports to resolve merge conflicts (48ff35c)
  • RFIMask: inverse of RFI mask was applied (80f55bf)
  • RFISensitivityMask: crash when MPI distributed (d5b3a88)
  • sensitivity: use unicode for pol axis map (8854536)
  • SetMPILogging: don't override root log level (8e723c6)
  • SiderealGrouper: crash at finish if no timestreams processed (9e09d1e)
  • SingleTask: use memh5 history for metadata (79311e5), closes #88
  • task: crash in key check when metadata already copied into the container (69b9a51)
  • test_selections: fixtures file may be removed before tests complete (4ab9c03)

Features

  • ak/52: Correct noise for auto-correlations (8338136)
  • ApplyRFIMask: a simple task to apply an RFIMask container (ac9e92d)
  • containerBase: support for sel_* params (#77) (01c1676)
  • ContainerBase: copy an existing container and share its data (518db11)
  • gaussiannoise: add a first-pass add a gaussian noise dataset generator (b974338), closes #52
  • gaussiannoise: add local seed states for RandomGen (4bec93a), closes #52
  • gaussiannoise: noise is complex (2b211ae)
  • io: add tasks to dump metadata (34e4000)
  • MaskBaselines: add option to share/copy the input container (a387c68)
  • mmode_inverse: add MModeInverse task (9b44d90)
  • sensitivity: account for freq dependent flags from gains (aae757b)
  • sensitivity: add frac lost to SystemSensitivity (cdfa35b)
  • senswaterfall: handle cases where weights are 0 (d44f441)
  • SingleTask: more flexible control of the name of output files (5a00fc9)
  • task: write metadata to file (821ad19), closes #71