I received Ph.D degree in seismology at Nanjing University. My research focuses on advancing seismic tomographic techniques for investigating earth’s internal structure. I specializes in full-waveform inversion using receiver function, surface wave and local earthquakes to image earth discontinuities, velocity structures and anisotropies.

From Dec 2021 to Jun 2024, I worked for Mathematical Imaging and Geophysics Group at Nanyang Technological University as a research fellow, supervised by Ping Tong.

Since Jul 2024, I have joined Department of Physics, University of Toronto as a postdoctoral fellow, working with Qinya Liu.

I am an advocate of open source as core developer of the Seispy in receiver functions processing and FWAT in full-waveform inversion.

  • Seismic Imaging and Tomography
  • Adjoint-state Full-waveform Inversion
  • Wavefield Simulation in Complex Media
  • Continental Geodynamics
  • Ph.D in Geology, 2021

    Nanjing University

  • MSc in Geophysics, 2016

    Nanjing University


Postdoctoral Fellow
Jul 2024 – Present Toronto, Canada
Research Fellow
Dec 2021 – Jun 2024 Singapore, Singapore
Software Engineer
Jun 2017 – Jun 2018 Nanjing, China

Responsibilities include:

  • CRV test for digital unit in Base Station.
  • Automation developing for CRV test.
  • Continuous integration for iterations of operating system in digital unit.
Research Assistant
Jul 2016 – May 2017 Nanjing, China
Taught experimental part of “Introduction to Seismology”.


Full-waveform inversion joint with multiple data types
Different data types have different sensitivities to different anomalies. For example, ambient noise surface wave data has good lateral resolution in shallow depth, while teleseismic waveform and receiver function data have good vertical resolution. By combining multiple data types within the framework of full-waveform inversion (adjoint tomography) and jointly optimizing the velocity model, we can obtain a more reliable and accurate velocity structure.
Receiver Function Adjoint Tomography
Receiver function (RF) is widely used for imaging crustal and uppermost mantle velocity structure based on horizontal layered assumption. However this traditional technique has limitations on resolving non-layered anomalies, such as the dipping Moho, the subduction zone, and plumes. Thus, we develop a innovative technique to invert RFs based on adjoint waveform tomography method for high-resolution seismic array imaging.
Seispy: Python Module for Batch Calculation and Postprocessing of Receiver Functions
Seispy is a graphical interface Python module for receiver function (RF) calculation and post-processing in seismological research. Automated workflows of RF calculations facilitate processing large volumes of different types of seismic data.


Source Codes


Seispy: Python module of seismology and receiver functions
CCCN: Cross-Correlation for Coda and Noise
BQMail: Python scripts to request seismic data from IRIS DMC


SurfATT: Surface wave Adjoint Travel-time Tomography


SplitRFLab: A Matlab toolbox of processing receiver functions and shear wave spliting


STALTA: Detecting microearthquakes using STA/LTA method
RefATT: Adjoint Travel-time Tomography of Direct, Reflection, and Refraction phases