hg clone -u v0.9.3 https://firstname.lastname@example.org/abensonca/galacticus
to grab v0.9.3, or you can download a source tarball. v0.9.3 becomes the stable version (supported and will receive bug fixes), v0.9.2 becomes deprecated (no longer supported and will not receive bug fixes) and development moves to v0.9.4.
One of the major internal changes to Galacticus in v0.9.3 has been to begin moving all of the algorithms to a fully object-oriented framework. This mostly makes for cleaner (and less!) code, but has some notable effects visible to users. In particular, there are now several cases where an algorithm functions by modifying another algorithm. A good example of this is the new warm dark matter halo concentrations algorithm. This works by taking a CDM halo concentration algorithm and modifying it. This functionality is possible because of the new object-oriented design.
Some of the other notable changes and improvements to Galacticus are described below.
New componentsSeveral new component classes have been added to Galacticus, most of which allow the tracking of various useful statistics of galaxies and halos:
- Galaxy dynamics - this component records a time series of properties related to bar instability in galaxy disks (instability timescale and adiabatic ratio);
- Hot halo mass outflows - tracks the mass of gas in a galaxy's hot halo which arrived there directly via outflows;
- Mass flows - tracks the cumulative mass of gas which has ever cooled onto a galaxy
- Host halo history - tracks the maximum mass ever reached by a satellite galaxy's host halo;
- Age statistics - tracks the stellar mass-weighted mean ages of disk and spheroid components of galaxies;
- Output filters:
- Filter on a combination of stellar mass and spheroid-to-total mass ratio;
- The lightcone filter can now prune trees which lie entirely outside the lightcone so that they do not have to be processed at all;
- This filter also now handles non-small angle geometries correctly.
- Physical properties:
- The λR parameter of Cappellari et al. (2007);
- Stellar half-mass radii;
- Satellite status (i.e. if satellite is an orphan);
New physical models
- Direct integration of subhalo orbits accounting for dynamical friction, tidal mass loss, and tidal heating - thanks to Anthony Pullen;
- Self-consistent evolution of the intergalactic medium temperature and ionization state - thanks to Daniel McAndrew;
- Calculation of emission line luminosities - thanks to Gabe Currier;
- Evolution of the intergalactic background radiation SED;
- Code mode cooling model of Benson & Bower (2011);
- Dark matter halo concentrations:
- Warm dark matter modifier - alters any of the standard CDM concentration classes to account for the effects of warm dark matter in low mass halos;
- Diemer & Kravtsov (2014);
- Dutton & Maccio (2014);
- A virial density contrast algorithm based on friends-of-friends linking length;
- Inoue et al. (2014) IGM absorption model;
- Ricotti & Shull (2000) hot halo gas distibution model;
- Infinite satellite merging times (useful to test the effects of merging);
- Villalobos et al. (2013) method to modify satellite merger timescales based on redshift (can be applied to any other satellite merger timescale algorithm);
- Additional "sub-resolution merging delays" can be added to the merging timescale for subhalos read from file using any available satellite merging timescale algorithm.
New tools and functionality
- A script is now provided to help migrate Galacticus parameter files between versions - it intelligently updates your parameter file to handle changes in parameter names and definitions between versions;
- The script used to launch batches of Galacticus models has been re-written and modularized, making it easier to launch models on different systems (PBS, SLURM, etc.);
- Reading of merger trees from file is now split into data import (reading the data from file) and data processing (manipulating the data into a form that Galacticus can use), allowing for import from multiple different merger tree file formats;
- Updates of external codes:
- Luminosity filters:
- Arbitrary tophat filters can now be specified using topHat_Lmin_Lmax_R - this gets expanded into a top-hat filter between wavelengths Lmin and Lmax with resolution R;
- A filter redshift can now be set to "all" to cause the filter to be used for all available output redshifts;
- HDF5 output can now be more effectively buffered which results in much lower I/O overheads when outputting large numbers of redshifts;
- Stellar population luminosities integrated under filters can be stored to file for rapid re-use;
- Lists of suitable components to support requested functionality are automatically reported whenever the selected component is insufficient;
- When a requested method is unrecognized, a list of available methods is printed.