Skip to content

Commit

Permalink
Merge pull request #67 from kateharborne/dev-align_fix
Browse files Browse the repository at this point in the history
Only aligning cosmological models. If nbody, leave within the referen…
  • Loading branch information
kateharborne committed Aug 23, 2022
2 parents f32577d + 625e872 commit 74b5699
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 14 deletions.
4 changes: 3 additions & 1 deletion R/make_simspin_file.R
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,9 @@ make_simspin_file = function(filename, cores=1, disk_age=5, bulge_age=10,

galaxy_data = .centre_galaxy(galaxy_data, centre) # centering the galaxy based on stellar particles

galaxy_data = .align_galaxy(galaxy_data, half_mass) # align 3D shape of galaxy
if (header$Type != "nbody"){
galaxy_data = .align_galaxy(galaxy_data, half_mass) # align 3D shape of galaxy
}

if(!"ssp" %in% names(galaxy_data)){ # if the SSP field does not come from the snapshot file, must be working with N-body

Expand Down
4 changes: 2 additions & 2 deletions tests/testthat/test_build_datacube.R
Original file line number Diff line number Diff line change
Expand Up @@ -836,9 +836,9 @@ test_that("Repeated spectra are included in intrinsic spectra", {
galaxy_sample = galaxy_data[particle_IDs,]

intrinsic_spectra = simspin_data$spectra[ , galaxy_sample$sed_id, with=FALSE]
spectra = intrinsic_spectra * (galaxy_sample$Initial_Mass * 1e10) # reading relavent spectra
spectra = intrinsic_spectra * (galaxy_sample$Initial_Mass * 1e10) # reading relevant spectra

expect_true(all(intrinsic_spectra[,c(3),] == simspin_data$spectra[["V2"]]))
expect_true(all(intrinsic_spectra[,c(3),] == simspin_data$spectra[[paste0("V", galaxy_sample$sed_id[3])]]))
expect_equal((intrinsic_spectra[,c(1),] * galaxy_sample$Initial_Mass[1] * 1e10), spectra[,c(1),], tolerance = 0.001)
expect_equal((intrinsic_spectra[,c(2),] * galaxy_sample$Initial_Mass[2] * 1e10), spectra[,c(2),], tolerance = 0.001)
})
Expand Down
24 changes: 13 additions & 11 deletions tests/testthat/test_make_simspin_file.R
Original file line number Diff line number Diff line change
Expand Up @@ -313,23 +313,25 @@ test_that("Objects are centered correctly based on the specified central coordin
# Testing that the half_mass parameter works as expected ------------
test_that("Half-mass parameter can be specified", {

gadget_default = make_simspin_file(filename = ss_gadget, half_mass = NA, write_to_file = F)
total_mass = sum(gadget_default$star_part$Mass)
eagle_default = make_simspin_file(filename = ss_eagle, half_mass = NA, write_to_file = F)

eagle_hdf5 = .read_hdf5(ss_eagle, cores =1)
total_mass = sum(eagle_hdf5$star_part$Mass)
half_mass = (total_mass/2)

gadget_mass_specified = make_simspin_file(filename = ss_gadget, half_mass = half_mass, write_to_file = F)
expect_true(all(gadget_default$star_part$x == gadget_mass_specified$star_part$x))
expect_true(all(gadget_default$star_part$y == gadget_mass_specified$star_part$y))
expect_true(all(gadget_default$star_part$z == gadget_mass_specified$star_part$z))
eagle_mass_specified = make_simspin_file(filename = ss_eagle, half_mass = half_mass, write_to_file = F)
expect_true(all(eagle_default$star_part$x == eagle_mass_specified$star_part$x))
expect_true(all(eagle_default$star_part$y == eagle_mass_specified$star_part$y))
expect_true(all(eagle_default$star_part$z == eagle_mass_specified$star_part$z))

})

test_that("Half-mass parameter errors when specified outside of reasonable ranges", {

gadget_default = make_simspin_file(filename = ss_gadget, half_mass = NA, write_to_file = F)
total_mass = sum(gadget_default$star_part$Mass)
half_mass = (total_mass/2)
eagle_default = make_simspin_file(filename = ss_eagle, half_mass = NA, write_to_file = F)
eagle_default = .read_hdf5(ss_eagle, cores =1)
total_mass = sum(eagle_default$star_part$Mass)

expect_error(make_simspin_file(filename = ss_gadget, half_mass = (total_mass+1), write_to_file = F))
expect_error(make_simspin_file(filename = ss_gadget, half_mass = min(gadget_default$star_part$Mass), write_to_file = F))
expect_error(make_simspin_file(filename = ss_eagle, half_mass = (total_mass+1), write_to_file = F))
expect_error(make_simspin_file(filename = ss_eagle, half_mass = min(eagle_default$star_part$Mass), write_to_file = F))
})

0 comments on commit 74b5699

Please sign in to comment.