{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/texttt-mangrove-learning-galaxy-properties","title":"$\\texttt{Mangrove}$: Learning Galaxy Properties from Merger Trees","arxiv_id":"2210.13473","date":"2022-10-24","proceeding":null,"authors":["Christian Kragh Jespersen","Miles Cranmer","Peter Melchior","Shirley Ho","Rachel S. Somerville","Austen Gabrielpillai"],"abstract":"Efficiently mapping baryonic properties onto dark matter is a major challenge in astrophysics. Although semi-analytic models (SAMs) and hydrodynamical simulations have made impressive advances in reproducing galaxy observables across cosmologically significant volumes, these methods still require significant computation times, representing a barrier to many applications. Graph Neural Networks (GNNs) have recently proven to be the natural choice for learning physical relations. Among the most inherently graph-like structures found in astrophysics are the dark matter merger trees that encode the evolution of dark matter halos. In this paper we introduce a new, graph-based emulator framework, $\\texttt{Mangrove}$, and show that it emulates the galactic stellar mass, cold gas mass and metallicity, instantaneous and time-averaged star formation rate, and black hole mass -- as predicted by a SAM -- with root mean squared error up to two times lower than other methods across a $(75 Mpc/h)^3$ simulation box in 40 seconds, 4 orders of magnitude faster than the SAM. We show that $\\texttt{Mangrove}$ allows for quantification of the dependence of galaxy properties on merger history. We compare our results to the current state of the art in the field and show significant improvements for all target properties. $\\texttt{Mangrove}$ is publicly available.","url_abs":"https://arxiv.org/abs/2210.13473v1","url_pdf":"https://arxiv.org/pdf/2210.13473v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"texttt-mangrove-learning-galaxy-properties","repo_url":"https://github.com/astrockragh/Mangrove","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2210.13473","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2210.13473"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/astrockragh/Mangrove","reach":null}],"summary":{"ran_draft_wrong":5},"by_repo_kind":{"official":{"samples":5,"ran":5,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"398d6ffb7fd16e7f","entry":"load_data","repo":"astrockragh/Mangrove","repo_kind":"official","path":"dev/train_script_cpu.py","file_url":"https://github.com/astrockragh/Mangrove/blob/HEAD/dev/train_script_cpu.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"398d6ffb7fd16e7f"}},{"code_sha256_prefix":"038e2218af0b5204","entry":"make_id","repo":"astrockragh/Mangrove","repo_kind":"official","path":"dev/train_script_gpu.py","file_url":"https://github.com/astrockragh/Mangrove/blob/HEAD/dev/train_script_gpu.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"038e2218af0b5204"}},{"code_sha256_prefix":"b6d9b3cb17e76a0c","entry":"make_id","repo":"astrockragh/Mangrove","repo_kind":"official","path":"dev/train_script_cpu.py","file_url":"https://github.com/astrockragh/Mangrove/blob/HEAD/dev/train_script_cpu.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b6d9b3cb17e76a0c"}},{"code_sha256_prefix":"8c6c13b7a165b710","entry":"test","repo":"astrockragh/Mangrove","repo_kind":"official","path":"dev/train_script_gpu.py","file_url":"https://github.com/astrockragh/Mangrove/blob/HEAD/dev/train_script_gpu.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8c6c13b7a165b710"}},{"code_sha256_prefix":"d99a37c34a2114d4","entry":"test","repo":"astrockragh/Mangrove","repo_kind":"official","path":"dev/train_script_cpu.py","file_url":"https://github.com/astrockragh/Mangrove/blob/HEAD/dev/train_script_cpu.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d99a37c34a2114d4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}