astropy / astropy/halotools

Subhalo values not being populated in mock when using SubhaloPhaseSpace

Open
#1,030 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
120
Forks
70
PR merge metrics
No merged PRs in 30d

Description

When making and populating a model_instance, then looking at model_instance.mock.galaxy_table, all of the halo values for the satellite galaxies are that of their host halos. I'm using SubhaloPhaseSpace, so the satellite galaxies themselves are getting their positions and velocities from their subhalo, but the values in the table (halo_x, halo_y, etc.) refer to their host halos (other than halo_id, which properly references the subhalo; This is how I've been able to get the proper information so far).

This also means when I try to align with the halo, it aligns to the host halo. To get around this, I've made a new alignment model called SubhaloAlignment that overwrites the halo columns with the correct subhalo information, but I thought this might be something we want to fix farther upstream.

As such, I do have some code to replace these host halo values with the subhalo values from the halocat, if that would help resolve this issue.

Thanks!

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the model_instance workflow with SubhaloPhaseSpace and inspect model_instance.mock.galaxy_table, comparing halo_id with halo_x, halo_y and related values. Trace how the halocat values reach the table and how alignment selects halo data, using the reported SubhaloAlignment workaround as a reference. Done means satellite rows contain their subhalo values and alignment no longer targets the host halo.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.