{"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/broadband-ground-motion-synthesis-via","title":"Broadband Ground Motion Synthesis via Generative Adversarial Neural Operators: Development and Validation","arxiv_id":"2309.03447","date":"2023-09-07","proceeding":null,"authors":["Yaozhong Shi","Grigorios Lavrentiadis","Domniki Asimaki","Zachary E. Ross","Kamyar Azizzadenesheli"],"abstract":"We present a data-driven framework for ground-motion synthesis that generates three-component acceleration time histories conditioned on moment magnitude, rupture distance , time-average shear-wave velocity at the top $30m$ ($V_{S30}$), and style of faulting. We use a Generative Adversarial Neural Operator (GANO), a resolution invariant architecture that guarantees model training independent of the data sampling frequency. We first present the conditional ground-motion synthesis algorithm (cGM-GANO) and discuss its advantages compared to previous work. We next train cGM-GANO on simulated ground motions generated by the Southern California Earthquake Center Broadband Platform (BBP) and on recorded KiK-net data and show that the model can learn the overall magnitude, distance, and $V_{S30}$ scaling of effective amplitude spectra (EAS) ordinates and pseudo-spectral accelerations (PSA). Results specifically show that cGM-GANO produces consistent median scaling with the training data for the corresponding tectonic environments over a wide range of frequencies for scenarios with sufficient data coverage. For the BBP dataset, cGM-GANO cannot learn the ground motion scaling of the stochastic frequency components; for the KiK-net dataset, the largest misfit is observed at short distances and for soft soil conditions due to the scarcity of such data. Except for these conditions, the aleatory variability of EAS and PSA are captured reasonably well. Lastly, cGM-GANO produces similar median scaling to traditional GMMs for frequencies greater than 1Hz for both PSA and EAS but underestimates the aleatory variability of EAS. Discrepancies in the comparisons between the synthetic ground motions and GMMs are attributed to inconsistencies between the training dataset and the datasets used in GMM development. Our pilot study demonstrates GANO's potential for efficient synthesis of broad-band ground motions","url_abs":"https://arxiv.org/abs/2309.03447v3","url_pdf":"https://arxiv.org/pdf/2309.03447v3.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":"broadband-ground-motion-synthesis-via","repo_url":"https://github.com/yzshi5/gm-gano","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"motion-synthesis","task_name":"Motion Synthesis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2309.03447","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2309.03447"}},"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/yzshi5/gm-gano","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":11},"by_repo_kind":{"official":{"samples":11,"ran":11,"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":"5ebf13f3e5174764","entry":"FDDifferentiate","repo":"yzshi5/gm-gano","repo_kind":"official","path":"Python_libs/pylib_gm_proc.py","file_url":"https://github.com/yzshi5/gm-gano/blob/HEAD/Python_libs/pylib_gm_proc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5ebf13f3e5174764"}},{"code_sha256_prefix":"ebd496bb1baa3844","entry":"NewmarkIntegation","repo":"yzshi5/gm-gano","repo_kind":"official","path":"Python_libs/pylib_gm_proc.py","file_url":"https://github.com/yzshi5/gm-gano/blob/HEAD/Python_libs/pylib_gm_proc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ebd496bb1baa3844"}},{"code_sha256_prefix":"c06eb46da74fa9df","entry":"TaperingTH","repo":"yzshi5/gm-gano","repo_kind":"official","path":"Python_libs/pylib_gm_proc.py","file_url":"https://github.com/yzshi5/gm-gano/blob/HEAD/Python_libs/pylib_gm_proc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c06eb46da74fa9df"}},{"code_sha256_prefix":"652fa178358b460f","entry":"convert_attributes","repo":"yzshi5/gm-gano","repo_kind":"official","path":"Python_libs/tutorial_utils.py","file_url":"https://github.com/yzshi5/gm-gano/blob/HEAD/Python_libs/tutorial_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"652fa178358b460f"}},{"code_sha256_prefix":"262210c696d17f6b","entry":"grf_idct_2d","repo":"yzshi5/gm-gano","repo_kind":"official","path":"Python_libs/random_fields.py","file_url":"https://github.com/yzshi5/gm-gano/blob/HEAD/Python_libs/random_fields.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"262210c696d17f6b"}},{"code_sha256_prefix":"e4bfd8fde569ec23","entry":"kernel_loc","repo":"yzshi5/gm-gano","repo_kind":"official","path":"Python_libs/GANO_model.py","file_url":"https://github.com/yzshi5/gm-gano/blob/HEAD/Python_libs/GANO_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e4bfd8fde569ec23"}},{"code_sha256_prefix":"f12203ba5628de04","entry":"lse","repo":"yzshi5/gm-gano","repo_kind":"official","path":"Python_libs/pylib_stats.py","file_url":"https://github.com/yzshi5/gm-gano/blob/HEAD/Python_libs/pylib_stats.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f12203ba5628de04"}},{"code_sha256_prefix":"aca86ff2d40e7edc","entry":"make_maps_scale","repo":"yzshi5/gm-gano","repo_kind":"official","path":"Python_libs/dataUtils_3C.py","file_url":"https://github.com/yzshi5/gm-gano/blob/HEAD/Python_libs/dataUtils_3C.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"aca86ff2d40e7edc"}},{"code_sha256_prefix":"20aff471965c430e","entry":"make_maps_scale","repo":"yzshi5/gm-gano","repo_kind":"official","path":"Python_libs/tutorial_utils.py","file_url":"https://github.com/yzshi5/gm-gano/blob/HEAD/Python_libs/tutorial_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"20aff471965c430e"}},{"code_sha256_prefix":"3cd436ef26964e42","entry":"rescale","repo":"yzshi5/gm-gano","repo_kind":"official","path":"Python_libs/dataUtils_3C.py","file_url":"https://github.com/yzshi5/gm-gano/blob/HEAD/Python_libs/dataUtils_3C.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3cd436ef26964e42"}},{"code_sha256_prefix":"2675d83391561b39","entry":"to_syn","repo":"yzshi5/gm-gano","repo_kind":"official","path":"Python_libs/tutorial_utils.py","file_url":"https://github.com/yzshi5/gm-gano/blob/HEAD/Python_libs/tutorial_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2675d83391561b39"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}