👋 I’m Dunyu Liu, the computational geoscientist at Institute for Geophysics at the University of Texas at Austin. Welcome to my GitHub space, dedicated to user-friendly, reproducible, reliable, and parallel open-source scientific software in geoscience and beyond.
A major line of my research is physics-based earthquake source, cycle, and ground motion modeling with parallel finite-element method, and their integration with various observations such as paleoseismic and ground motion data.
Applications and associated software include:
- Scenario earthquakes with ground shaking with EQdyna (Duan et al., 2017, GRL; Liu and Duan, 2018, BSSA).
- Multicycle earthquake dynamics integrated with paleoseismic data with EQdyna.2Dcycle for San Andreas Fault (Liu et al., 2022, JGR), and for Altyn Tagh Fault (Liu et al., 2021, Tectonophysics).
- Rate- and state-friction-based earthquake cycles. Refs for 3-D fault with a kink using EQquasi (Liu et al., 2020, GJI), and for geometrically complex faults with EQdyna and dynamic relaxation (Luo et al., 2020, BSSA).
- Ground shaking over cycles with EQsimu, a computing infrastructure for coupling of sophisticated physics-based modeling modules in earthquake research. Latest SCEC report is HERE.
- Community benchmarks for EQdyna (Harris et al., 2018, BSSA), and for EQquasi (Jiang et al., 2022, JGR).
Other research lines involve:
- Geodynamics:
- An analytical and numerical toolset to constrain viscous anisotropy (Liu et al., 2024, GJI) with [FEniCS].
- Forward/Inverse framework for faulting and joint inversion for material properties (Puel et al., 2022, GJI), (Puel et al., 2024, Sci Adv).
- Interferometic Synthetic Aperture Radar (InSAR):
- Development of GMTSAR. Latest NSF CSSI poster is HERE.
- InSAR + finite-element model integration for compliant fault structure (Xu et al., 2023, GRL).
- Planetary modeling:
- Climate modeling with CESM: Thirumalai et al. (2024, Nature), White et al. (2024, JC)
Philosophy of software development:
- Software development should be driven by scientific questions.
- A clean code passes all the tests, removes duplications, and requires constant refactoring.
- The primary user of your code is very likely yourself. Therefore, write a clean code to free yourself from debugging.
Book recommendations:
Clean Code: A Handbook of Agile Software Craftsmanship
by Robert C. Martin (Amazon Link);Refactoring: Improving the Design of Existing Code (2nd Ed.)
by Martin Fowlor (Amazon Link);Poor Charlie's Almanack: The Essential Wit and Wisdom of Charles T. Munger
by Charles T. Munger et al. (Amazon Link) for worldly wisdoms and why I pursue this multidisciplinary approach to research.
📫 Please reach out to me via dliu@ig.utexas.edu or LinkedIn or X.