Skip to content

Latest commit

 

History

History
115 lines (106 loc) · 44.1 KB

NEWS.md

File metadata and controls

115 lines (106 loc) · 44.1 KB

SimSpin v2.9.3 News

Last edit: 30/08/2024

Below is a table containing a summary of all changes made to SimSpin, since the date this file was created on 26/08/2021.

Version-ing follows a semantic formula:

  • The first value (i.e. [0].X.X) only changes when breaking changes are introduced. This will be in the case of a major update of features in the code.

  • The second value (i.e. X.[0].X) changes when a significant, but non-breaking change, is introduced that may cause the user to see warnings on older code, but the output will still be produced.

  • The final value (i.e. X.X.[0]) changes when any change is made to the code. These will often be minor updates that are introducing a new minor feature or bugfix.

All changes are noted in the changelog table below.

Date Summary of change Version Commit Author
30/08/24 Bug fix Ensuring output dispersion measured can't be less than 0. 2.9.3 Kate Harborne
27/08/24 Bug fix Adding an extra logic test for .check_names() so that if only 11 particles were included in the files, the Magneticum catch for single particles doesn't trigger on non-Magneticum files. 2.9.2 38bf34d305ce50d35baf7056e1d306da6e432bba Kate Harborne
21/08/24 Adding the moments parameter to output observation summary and ensuring this is written to out output FITS file. Also modifying the output h3 and h4 images in moments=2 mode to be 0's rather than NA's to avoid warning messages when writing output to FITS. 2.9.1 e69a91e5175a71c3b1d1985dd3e729ac71d430a4 Kate Harborne
25/07/24 New feature! Added the moments parameter to build_datacube function. You can now specify how many moments to fit the LOSVD. Either moments=2 (i.e. fitting a Gaussian to give v_los and sigma_los) or moments=4 (i.e. fitting a Gauss-Hermite polynomial to give v_los, sigma_los, h3 and h4). Fits moments=4 by default, in line with old behaviour of the code. Also bug fix to ensure the input variables to write_simspin_FITS are of the correct type and to give meaningful errors if not (resolving issue #109). 2.9.0 f7ae49853c9821ac992502eb3e7ce3b10c7986c2 Kate Harborne
19/07/24 Bug fix. .check_names() function fails for TNG outputs if one 1 gas particle is contained in the snapshot due to indexing errors. Added in a catch for this error to prevent unnecessary code failure. 2.8.8 b0d53def1f52e12a6da502843a89f49434d88508 Kate Harborne
17/06/24 Adding measurement of radial gas temperature to the output of the sim_analysis function 2.8.7 ad32eb746479240c4106296999957d6ff74aecdd Kate Harborne
25/04/24 Bug fix. Providing a meaningful error message from the voronoi.R function when you cannot bin enough particles to reach the requested voronoi bin N limit. Resolves issue #105. 2.8.6 4e8f0af0ebc0e43cc31729978deb3a554e039f6b Kate Harborne
23/04/24 Bug fix. Fixing a bug in write_simspin_FITS.R where the observed SFR maps were not being written to the FITS file as an index was incorrect - now fixed and checks written to ensure that the OBS_SFR and RAW_SFR map extensions are not identical. 2.8.5 21b5d219de05927918c5569c11e79709cea250df Kate Harborne
26/03/24 Bug fix. Updating the read in functions for cosmological models input to prevent the code falling over when attributes are not provided for Datasets that are unnecesary for SimSpin to function. This means HDF5 files extracted directly from the TNG database for galaxy cutouts will now produce outputs successfully, fixing Issue #95. 2.8.4 cdb17c1a2aaa1f2b8ea973eaad44fb22a625663b Kate Harborne
13/03/24 Adding observation-ally mapped mass and SFR images to the output $observed_images - the raw images are not blurred with the PSF, but for comparison with other observed properties, this PSF convolution is necessary. Now mass maps are output on all method="velocity" cubes as default and SFR maps on all method="gas" or "sf gas". 2.8.3 2e878f77bd7f3415c02591678c1694be1b990b7d Kate Harborne
29/02/24 Bug fix. Updating make_simspin_file to account for the Time at which the input simulation was extracted (for proper assignment of stellar ages relative to the snapshot, not z=0). Fixing issue #98. 2.8.2 0469ff454756e7b6195bf927b7c867fd02f20743 Kate Harborne
10/01/24 Also updating treatment for mass_flag = TRUE. No longer will the observed_images outputs change for the flag, the flux map will always be included. However, the kinematic maps observed will be weighted differently (by mass instead of the flux), which is now recorded in the observation log and output to FITS with a new header unit denoting mass rather than flux weighting. 2.8.1 352c5601b04767e10d2598358b164f1b203a8d54 Kate Harborne
10/01/24 Standardising which cubes/images output are voronoi binned. Properties, such as the mass, flux and number of particles, are produced simply as the sum along that line-of-sight and as such should be presented at the pixel resolution of the instrument. As default, summed images are now given in this way, while any spectral/velocity cubes are binned along with any output average maps (kinematics such as velocity, dispersion, h3 and h4, metallicity and age). The same is done for gas maps, with all but the mass, SFR and particle number being given in binned form when the voronoi function is turned on. Also, added raw_images$mass_image to the output of spectral mode as this is now "free"" to produce. 2.8.0 5af1ad3a90c7f84a55e6f9cb50492308fd422d7a Kate Harborne
17/11/23 Bug fix. The mass/flux in voronoi binned pixels were displayed as the sum of all the particles that fell within that bin. Now updated so that this value is averaged across the area of the bin (else outer larger bins appear brighter than inner ones...). Fixing issue #91. 2.7.1 e93c763c40ec670da58b37a353586887d0b34143 Kate Harborne
25/10/23 Adding functionality to voronoi bin individual pixels until the contain some minimum number of particles. This is important for reducing the effects of shot noise on the measured kinematics, especially in dispersion supported systems. We add a new function voronoi, which performs the tessellation algorithm as used in the Vorbin python package (Cappellari & Copin, 2003). When requested, this will add a new image to the raw_images output list called voronoi_bins, detailing the bin ids assigned to each pixel in the field-of-view of a given observation. 2.7.0 2df3fc5e7f8aabd64c6aeb517c956ef30ffb50de Kate Harborne
03/08/23 Updating the information stored in the SimSpin files following a suggestion from SimSpin v2.5.0 paper review. Do not need to store the full spectrum for each particle. Just the weights and id's of the spectra within the template set. Reduces the simspin file sizes by factor of 100. Old SimSpin files will still work with the code, but will now issue a warning when using a file older than v2.6.0. Tagging for release. Thank you anonymous reviewer!!! 2.6.0 ecb9d38031b40e63216d6200409b24ece8fadb69 Kate Harborne
19/07/23 Tagging a stable release of the code to align with the submission of the SimSpin v2.5.0 paper to PASA on the 28th June 2023. 2.5.0 cc3b2018527995dfaf09130b1afbe4341566e4f7 Kate Harborne
15/06/23 Updating the noise implementation for build_datacube using the median flux pixel to scale the level of noise such that the S/N does not go extreme towards the peak flux or minimum flux in the image. 2.4.10 3bf98efea656776436fca3384cda1411f8f9e642 Kate Harborne
13/06/23 Adding the thermal dispersion component to the observed gas maps. 2.4.9 d3e0675a80a0036da3e372344e40bf979ad9ffa7 Kate Harborne
09/06/23 Fixing the SFR maps produced in method = gas or sf gas mode. Previous values returned were mass-weighted mean SFR along the line-of-sight, now adjusted to give the sum of spawned fraction SFR along the LOS. 2.4.8 e1a6dd49d0aa74510c27aba5ccfeac8ab8a5e920 Kate Harborne
26/04/23 Inverse variance cubes have large values that do not save to FITS successfully. Dividing by 1e40 to remove this issue and incorporating this with the units. Also modifying S/N description to give the MINIMUM S/N in the image, not the maximum. 2.4.7 fb904cd302cc6b8edda2032bb68fa8cd6b233f8a Kate Harborne
23/04/23 Fixing the noise implementation in methods spectral and velocity. Adding inverse variance cubes to the output when a S/N value is specified. Incorporating tests to check proper incorporation and behaviour. 2.4.6 8eef4e6dea8f9901b83ced8f2b43cee1438fe034 Kate Harborne
18/04/23 Updating the methodology for method = "velocity" (details below) and fixing dependencies (resolving the Rfits and ProFit versions clash). Added header information to the SimSpin file made such that the whole file can be recreated using the information in the file rather than having to retain the code used to build the file. 2.4.5 cdf5522fb6040b7a5fdcf5ea4a54df7e576f57d5 Kate Harborne
1. Modified the Gauss-Hermite fitting function to use the mean and standard deviation of the LOSVD as priors on the fit, but reporting the observed velocity and dispersion as those returned by the fit Gauss-Hermite along with h3 and h4.
2. Added measure of the residual between the best fit Gauss-Hermite and the true LOSVD at the velocity scale of the observing telescope. This is now returned to the user as an image in observed_images$residual.
3. Increased the number of velocity channels per velocity cube to extend well beyond (5 times the maximum range - previously just the maximum range) the range of LOS velocities in each simulation. This is done such that we fully sample the LOSVD for the fastest and slowest particles and fit returns a successful value. Velocity channel definition is now consistent with pPXF (i.e. min(diff(log(wavelength_sequence))) * .speed_of_light).
25/01/23 Bug fix. Addressing issues #76 and #77. When working with the BC03 templates, the first AgeBin was labeled 0 Gyr. This was causing a problematic log10() age bin when gridding up the templates to match to the stellar ages within the model such that any stars that fell into this bin were associated with spectra of NA's. This was not clear until testing with IllustrisTNG galaxies that have very young stars in the outputs. Now fixed by setting low age bins to non-zero values (i.e. 0 Gyr -> 1e-9 Gyr). Tests and documentation updated for these changes. 2.4.4 956405f2c9528809bbaee759e125bc8526b0060f Alice Serene & Kate Harborne
17/01/23 Bug fix. Addressing issue #12. When a hydrodynamical simulation HDF5 is input without a RunLabel in the header, the file is processed like an N-body model (often meaning that no stellar particles are read in.) Catches added to stop the code with meaningful error if this is the case. Further interpretation added for named datasets in Hydro default names rather than expected. 2.4.3 44b703304efde31d08fd8e857f986fc93879b3ee Kate Harborne
16/01/23 New feature! Update to add support for IllustrisTNG. Updates to make_simspin_file, utilities, and tests were implemented. 2.4.2 5fb9ad5803f26bc1dad81f9818dff24225f4e1d0 Alice Serene
28/10/22 Bug fix. Addressing issue #72. Output fluxes are much higher than they should be due to an improper scaling of SSP templates wrt stellar particle mass. 2.4.1 ef171e40626edacc350c1e119cc6f807c6335529 Kate Harborne
30/09/22 Tagging a release for the SimSpin web app. This update has no code developments from the previous version. Stable version. 2.4.0 9307ffb7b1775540426966eb2903da119c6d7495 Kate Harborne
15/09/22 Minor bugfix. Addressing issue #69 (nee #59 which was not actually fixed in previous attempts!). Removing final long entry ("aperture_region") from OBS_TABLE so that entries are never too long to be written to a FITS table. 2.3.17 95c1687a4f7af47ef458d1faf191281e0f9f6121 Kate Harborne
24/08/22 Minor bugfix. Addressing issue #66. Prior to v2.3.16, gas particle SFRs have been stored in units of g/s rather than Msol/yr. This has been fixed within the make_simspin_file function from v2.3.16 and any SimSpin files < v2.3.16 will now issue a warning when building a gas observation with build_datacube and method = 'gas' and adjust the SFR units. Other updates include: 2.3.16 8e0f382a825791cd2026c72c8eefea9006d75f11 Kate Harborne
(1) Warnings issued when method requested is not possible with the input SimSpin file (i.e. method = "gas" when the file contains no stellar particles.
(2) Warnings issued if you request a half-mass radius alignment with an n-body input simulation (as these are now not aligned by default).
(3) Addition of filter_name to telescope for clarity in the output observation table.
12/08/22 Minor bugfix. Addressing issue #64. Galaxy simulations will not be aligned if the input is from an 'nbody' simulation. This avoids the flip/flop effect in between snapshot time steps. Other changes include the default for signal-to-noise to be set to NA for ease in the SimSpin app. If no value is specified, no noise will be added to the observation. This is now updated also in the documentation. 2.3.15 74b569992f3db0b1d0b5a46c06e64d510479e94b Kate Harborne
03/08/22 Minor bugfix. Addressing issue #60. Ensuring that raw images produced for any stellar mode observations (i.e. method="spectral" or method="velocity") are consistent. New images added to spectral mode outputs (age and metallicity summaries) and all updated to mass weighted quantities. 2.3.14 6ab467718664be1db0fa653b0fb219d073472d43 Kate Harborne
01/08/22 Minor bugfix. Addressing Issue #59 (which was not actually fixed in previous attempt!). Making sure long entries (i.e. wave_seq, vbin_seq or sbin_seq) are never too long to be written to a FITS table. Change to range (i.e. min and max) to remove this as an issue. 2.3.13 eee7c31c8686a5056ff3419136cb384d40693e50 Kate Harborne
29/07/22 Minor bugfix. Addressing Issue #59. Making sure any NA values within the observation list are re-written as "None" in characters before writing to FITS. 2.3.12 91e8e890e3154169b7bb078e80efe979c006667b Kate Harborne
28/07/22 Minor bugfix. 2.3.11 c7114e4727e7eb2396d9af075c85df17b6c950e2 Kate Harborne
(1) Update to write_simspin_FITS. The observation summary output by build_datacube was previously never saved to the FITS file output. However, this makes it difficult to reproduce if the only saved output is a FITS file. With this update, the list observation is now written to a table in EXTNUM = 3 for all FITS files produced.
(2) Update to method = "gas". Particle images will now be output when method is gas, along with both the raw and observed mass, velocity and dispersion maps. This mode was not updated with the spectral and velocity modes in v2.3.8 upgrade. This has now been remedied.
(3) Addition of plotting functions for the gas mode specific images: plot_SFR and plot_OH.
27/07/22 Minor bugfix. Update to make_simspin_file to increase the level of compression for output files. This will have no change on functions down the line. Also, fixed the units for plot_h4 which was writing "km/s" when there are no units for h4. 2.3.10 be0c281cb69f7352d3a88f59f7777bbffdc149d6 Kate Harborne
22/07/22 New feature! Update to add plotting functions. A suite of functions with standard colour maps for each image type: plot_flux, plot_mass, plot_velocity, plot_dispersion, plot_h3, plot_h4, plot_age, plot_metallicity and plot_particles. Axis names and colour bars can be modified by the user. All new functions are tested and documented. 2.3.9 2aceb04d6e40196168de13c4bbd450280de46c4d Kate Harborne
21/07/22 Minor bugfix. With update to v2.3.5, flux conservation was implemented in mode="velocity". During this upgrade, filters were properly implemented meaning that re-run observations will now produce flux maps = 0 where previously they had flux. This occurs when the filter wavelength range does not overlap with the observed telescope wavelength range. 2.3.8 e043f8302ea8f5d0ac189a44edf33b6ceb866f50 Kate Harborne
(1) Errors now issued by telescope if you request a filter that will not allow any flux through the telescope wavelength range.
(2) Default filter has been changed in telescope to filter = "g" so that there is overlap between the default parameters.
(3) Errors issued if the requested half_mass in make_simspin_file is greater than the total mass contained in the input simulation file OR if smaller than the mass of a single particle.
(4) All images are now written to FITS (not just a selection dependent on the method selected). Default names for files now include a prefix "raw_" or "obs_" to denote which list the image comes from within the build_datacube output.
19/07/22 New feature! Update to build_datacube. Observed images produced with method = 'velocity' now include measured h3 and h4 higher order kinematics. This is done by fitting the LOSVD within the output velocity cube with a Gauss-Hermite polynomial. These images are now included and written to single or split FITS. 2.3.7 2dbca740c29637f8802f1c92ce48ca0b215f5458 Kate Harborne
18/07/22 Minor bugfix. Update to make_simspin_file. Modifying how gas particles are smoothed for HorizonAGN simulations - rather than a uniform smoothing across the cell cube, we now assign a smoothing length dependent on the mass/density and smooth with a cubic spline. 2.3.6 fcd915985e6ad477538c7f4be3c08428d0fd7fe1 Kate Harborne
18/07/22 Minor bugfix. Update to build_datacube. Implementing enforced flux conservation across the telescope wavelength range between input template and output observed spectrum. Fix for both spectral and velocity cubes. Tests added to ensure that outputs in parallel and series are identical. 2.3.5 bf4556234127c7352604863b24b4649c9fda5341 Kate Harborne
12/07/22 Minor bugfix. Update to build_datacube. Returning a meaningful error if the requested centre position is outside the range of the provided input file. Tests added to ensure behaviour now works as expected. 2.3.4 30a30eb4758a87edbeb7345f1d62d3b256ad5ff2 Kate Harborne
01/07/22 Minor bugfix. Adding support for ingestion of HorizonAGN data (i.e. AMR code data support). Updates to make_simspin_file, utilities and tests were implemented. Addresses Issue #42. Also, made observational images consistent with raw images (removing NAs and replacing with 0's). 2.3.3 e4ca02bf3ab482a0fd9a1abd6e2442c0e4a41da4 Kate Harborne
27/06/22 Minor bugfix. Updating build_datacube to make sure backwards compatibility. If a SimSpin file from versions preceading v2.3.0 are used with the function, it now assumes a header based on the wavelength information. This will also issue a warning to explain and encourage the user to remake their SimSpin file. Errors if custom template is used with no details of LSF or wave_res. Addresses Issue #45. 2.3.2 cfdfdbf304df0243efd608539d5087e09a223525 Kate Harborne
20/06/22 Minor bugfix. Updating telescope class to allow two modes of spatial resolution of the MUSE telescope. This addresses Issue #43. Similarly, we've added the requirement for the MUSE field-of-view to be less than 60" and for MaNGA fov to be from the specific selection of options (12, 17, 22, 27, 32). 2.3.1 dbba3af4c926e9c8c9e2a650d22dee2bf0d0f837 Kate Harborne
13/06/22 Medium change Update to build_datacube() and make_simspin_file() - 2.3.0 62afd85ecd11bfdfb91832d8de49c9abe40eca9f Kate Harborne
(1) Output SimSpin files now include an additional header element describing the code version with which the file was made, the properties and name of the template used to derive particle spectra, and the type of input simulation.
(2) The LSF treatment in build_datacube has been modified to account for the fact that the underlying spectral templates have a LSF themselves, and it is only necessary to convolve these up by the mean-square difference between the teescope LSF and the input template.
24/05/22 Medium change Update to build_datacube() - 2.2.0 caf72303e8301e5c06f6c401bb250eb047da6c23 Kate Harborne
(1) method of observation is now specified directly in the build_datacube function - rather than within telescope(). This means that a given telescope can be specified once, while the type of cube being built can be modified. This is more logical as an inbuilt telescope type now only needs to be specified by "type".
(2) output_location has modified behaviour to allow a user to just specify an output PATH (rather than having to auto-save FITS to the same directory as the input SimSpin file). Documentation updated to reflect this change.
24/03/22 Minor bugfix. Modifying how particle and spectral data are treated in the back-end of the code to reduce memory load. Also, removed ProSpect depenedency and fixed bug in interp_quick() where interpolation above the expected range was returning a value rather than an index. 2.1.5 ba8e95f704fe4d0c0faf38fc198091c28f07cdd8 Kate Harborne
14/03/22 Minor bugfix. Specifying all initialised arrays with the correct type (rather than initiallised NAs) to imporve code memory handling and speed. 2.1.4 6a4c46fe9da4d2bafbecd1251ae7b97664cba970 Kate Harborne
03/03/22 Minor bugfix. Specifying branch of ProSpect in the remotes installation. 2.1.3 a8b45bafa139304ee5d66d559b9b1cb0f510e365 Kate Harborne
23/02/22 Update to write_simspin_FITS() and build_datacube() - 2.1.2
(1) Adding the ability to split_save to both functions i.e. when the input data includes both the cube and summary images, this mode give the user to option to save all components into seperate files automatically. If "FALSE" (as default), all components will be saved into subsequent HDU's of the output FITS file.
(2) Modifying the EXTNAME for the HDU associated with the "raw" particle data (now prefixed with "RAW_") and the "observed" collapsed velocity data cubes (now prefixed with "OBS_").
(3) Update to the depends version number of R. Now requires R >= 4.0. This is to enable the generation of a container for the web application of SimSpin.
03/02/22 Update to write_simspin_FITS() and observation() - 2.1.1 fe8729b86d9b670ed64ea68a3f3c25433cbcd803 Kate Harborne
(1) Adding in the SimSpin version number with which the observation has been run against the keyword origin.
(2) Modifying the output RA and DEC keywords to allow the user to specify the (x,y,z) position of the simulated galaxy within the simulation box and produce a unique RA/DEC value (assuming the observer sits at (0,0,0) in the box!)
26/11/21 Update to write_simspin_FITS() - renaming the keywords in the FITS cubes output (header of HDU = 2) for all output files (i.e.mode = spectral, velocity and gas). Adjusted so that post processing with pPXF is consistent. Thanks @margarita-luna! 2.0.6 8c8302af61058c6772cbda1d64b3cc578cbeac8f Kate Harborne
24/01/22 Updates to observing_strategy - 2.1.0 Kate Harborne
(1) Allow user to specify the 'pointing' of the telescope relative to the centre of the galaxy. Can be specified using (x,y) offsets in kpc (pointing_kpc) or deg (pointing_deg). Useful for observing galaxies that are closer to the observer than the aperture width allows for the full object to be seen in one observation.
(2) Modification to input names. Specifying projected distance can now be done in terms of redshift distance, physical distance (i.e. in Mpc) or angular scale (i.e. specifying kpc per arcsecond). These are now called dist_z, dist_Mpc and dist_kpc_per_arcsec. See ?observing_strategy for more details.
(3) Break changes avoided by still allowing users to specify z to indicate projected distance. A depreciation warning will also be issues when specifying z rather than dist_z however.
11/11/21 A few updates to build_datacube() - 2.0.5 07e9a099c3fdfb5ae4ddbf587a0bf8b191b86f12 Kate Harborne
(1) When blurring velocity cubes, objects were being returned with the name spectral_cube despite the v2.0.4 updates. This has now been raised in issue #16 and fixed in latest commit.
(2) No particles images were generated in spectral mode. This was raised in issue #15 and solved in later commit. Spectral mode will now return an image containing the number of particles per pixel within the raw_images header.
(3) Adding these raw images as HDU in the spectral FITS file produced. All raw images included so 4 extra HDU.
Tests added include:
(1) Check that in mode = velocity and blur = T, returned object includes an array named velocity_cube and not spectral_cube.
(2) Update the number of expected images in the raw_images header to be 4 rather than 3 (now with added particle number image for spectral mode).
20/09/21 Adding in optional Voronoi binning to increase particle counts per pixel. Unfinished at this stage, but introduces no breaking changes. New minor version number will be included once implemented. Moved to new branch 25/11/21 - dev-Voronoi. 2.0.5 2d1dd7f802d67fe9dd286888923f3ac1f9ea5889 Kate Harborne
26/08/21 Adjusting the images output from the build_datacube() function to have clearer labels - images until v2.0.3 have been produced as raw particle images before convolution with a PSF, though this was unclear. To improve, the following changes have been implemented: 2.0.4 b6b6089a6295d2a47794be100e04494261e79476 Kate Harborne
(1) raw_images output as a list of arrays. These images contain the raw binned particle data. Specific images included depends on the method chosen in the telescope() function.
(2) observed_images output as a list of arrays. These images are produced by collapsing the observed cube to produce kinematic maps. The observed maps from a method="spectral" cube will be NULL, as these would be produced using pPXF.
Required changes made to write_FITS_file() function to deal with the new list format.
Tests added include:
(1) Expecting all output data cubes to have length = 4.
(2) Expecting all mode="spectral" outputs to have raw_images as a list, length = 3, and observed_images = NULL.
(3) Expecting all mode="velocity" outputs to have raw_images as a list, length = 6, and observed_images as a list, length = 3.
(4) When mass_flag=T, there should be an array image in each of the lists that is called mass_image rather than flux_image.