Skip to content

Releases: jlvdb/yet_another_wizz

v3.1.1

14 Jan 17:03
Compare
Choose a tag to compare

Removed the unnecessary version requirement for numpy version 2.x.

v3.1.0

14 Jan 15:34
Compare
Choose a tag to compare

Implemented a new version of the commandline client as entry point yaw_cli.
The documentation update with examples will follow soon in a separate release.

Added features

  • The newly added commandline client retains the functionality of
    yaw_cli run and removes the other dedicated modes which call specific
    functionality. As the base code, the new client supports both MPI and
    multiprocessing parallelism. Some of the commandline options have been
    removed, renamed, or added compared to the original version of the client.
    Use yaw_cli --help for information on the new specification.
  • Added set_comm() in yaw.utils.parallel to use a specific MPI
    communicator which is used globally by yet_another_wizz in the current
    python session.

Changes

  • Reimplemented the configuration classes, which are now defined as a set of
    (hierarchical) parameters. Each parameter implements a name, description
    string, and methods to convert from and to built-in python types (e.g. for
    serialisation to YAML). These changes do not affect the public API and
    simplify detecting invalid configurations and providing more accurate error
    messages to the user.
  • Removed all explicit references to the internal MPI communicator
    yaw.parallel.COMM.

v3.0.7

03 Dec 10:14
Compare
Choose a tag to compare

Adapted the random generator seeding such that the new randoms.BoxRandoms generator generates the same results as the legacy randoms.UniformRandoms.

v3.0.6

02 Dec 16:54
Compare
Choose a tag to compare

Added new generator method .generate_dataframe().

v3.0.5

02 Dec 16:09
Compare
Choose a tag to compare
  • Fixed a bug that prevented reading catalogs from memory correctly.
  • Fixed the handling of user-provided patch IDs when creating new catalogs.

v3.0.4

02 Dec 14:12
Compare
Choose a tag to compare

Fixed a bug when converting scales from arcminutes to radian in correlation measurements.

v3.0.3

28 Nov 00:01
Compare
Choose a tag to compare
  • Fixed bugs in the serialisation of BinningConfig, ScalesConfig, and HistData.
  • Fixed a bug when normalising RedshiftData relative to another dataset.
  • Implemented custom YAML formatting for better readability.

v3.0.2

22 Nov 20:13
Compare
Choose a tag to compare
  • Updated the example data in yaw.examples to the latest data layout.
  • Improvements to documentation.

v3.0.1

21 Nov 15:00
Compare
Choose a tag to compare

Fixed a bug that resulted in skipping empty redshift bins when building trees and computing binned correlations.

v3.0.0

20 Nov 17:16
Compare
Choose a tag to compare

Version 3.0.0

Implements out-of-memory reading of input data and parallel computation using
the MPI standard.

Warning

This version presents a major rework of the package, which is incompatible
with any version 2 code. The changes listed below are a summary of the most
important differences in the public API and not necessarily complete.

Note

Data files produced by version 2 can still be read from version 3 (except
for cached catalogs).

Added features

  • Implemented parallel processing using the MPI standard to support running on
    multi-node compute systems. This is optional and python multiprocessing
    remains the default approach to parallel processing.
  • Creating catalogs from large datasets by reading and processing input data
    in chunks using a parallelsied pipeline. This removes one of the main memory
    restriction of version 2 and allows processing arbitrarily large inputs.
  • Improved the performace by a factor of 3-5, depending on the task and
    hardware.
  • Improved integration of random generators. Added a random generator that
    generates uniform randoms within the constraints of a HealPix map. Catalogs
    can be generated directly from the generator without creating an intermediate
    input file.
  • Added support for units when specifying correlation scales. Scales may now
    also be angles (radian, degrees, arcmin/sec) or comoving distances (kpc/h,
    Mpc/h).

Removed features

  • Catalogs can no longer be constructed in memory and instead always require a
    cache directory (previously optional).
  • Bootstrap resampling has been removed permanently (previously not yet
    implemented).
  • Removed the treecorr catalog and backend to compute correlations.
  • The external package yet_another_wizz_cli, which implements the command line
    client yaw_cli, is no longer supported. In a future version, a limited
    subset of its features may be integrated directly into this package.
  • Removed the docker image.

Changes

  • In yaw.catalogs:

    • Removed the treecorr catalog and the NewCatalog factory class.
    • There is only as single catalog class (yaw.Catalog) that is created
      directly from its factory methods :meth:yaw.Catalog.from_file,
      :meth:yaw.Catalog.from_dataframe, :meth:yaw.Catalog.from_random.
      The factory methods now require as first argument a path serving as the
      cache directory.
    • Most method arguments have been renamed slightly to be more consistent
      throughout the package.
    • The yaw.Catalog how serves as a dictionary of
      yaw.patch.Patch es and most of its previous methods have been
      removed.
    • Removed the correlate() and true_redshifts() methods from
      yaw.Catalog. The latter is now implemented as a constructor for
      yaw.HistData.
  • In yaw.config:

    • Removed the BackendConfig and ResamplingConfig as both treecorr
      catalogs and bootstrap resampling is no longer supported.
    • Removed the backend attribute of yaw.Configuration.
    • Renamed the serialisation methods from to/from_yaml() to
      to/from_file().
    • In the :meth:yaw.Config.create and :meth:yaw.Config.modify methods,
      renamed rbin_num to resolution, zbin_num to num_bins,
      zbins to edges, and thread_num to max_workers. Removed
      rbin_slop (no longer needed) and added closed, which indicates
      which side of the bin edges are closed intervals.
  • In yaw.correlation:

    • Removed the linkage argument from yaw.autocorrelate and
      yaw.crosscorrelate. Added max_workers, which overrides the
      value given in the configuration.
    • yaw.autocorrelate and yaw.crosscorrelate now always
      return a list of yaw.CorrFunc instances. In the previous version,
      this was only the case if multiple scales where configured.
    • Changed the internal structure of correlation function HDF5 files.
    • Removed the attributes related to the redshift binning in
      yaw.CorrFunc and yaw.CorrData. These can now accessed
      through the binning attribute (replacing get_binning()). Renamed
      n_bins (n_patches) to num_bins (num_patches).
    • Changed the get_data(), get_error(), get_covariance(), and
      get_correlation() methods of yaw.CorrData to attributes called
      data, error, covariance, and correlation.
  • In yaw.redshifts:

    • The changes to yaw.CorrData listed above also apply to
      yaw.RedshiftData and yaw.HistData.
    • Removed the rebin(), mean(), and shift() methods from
      yaw.RedshiftData and yaw.HistData.
    • The constructor function :meth:yaw.RedshiftData.from_corrfuncs no
      longer accepts the *_est arguments or the config parameter. The
      resampling always defaults to using the Davis-Peebles estimator or the
      Landy-Szalay estimator if random-random pair counts are availble. This is
      consistent with the previous default behaviour.
    • Added a new constructor to yaw.HistData to compute a redshift
      histogram directly from a yaw.Catalog instance.
  • Fully reimpleneted yaw.randoms and added a new HealPix-map based
    random generator.