Image from William Putman/NASA Goddard Space Flight Center


  • I mainly use Python with the scientific stack of libraries.

  • I created an online course on High Performance Python.

    • It includes profiling, vectorisation with NumPy, compiling with Numba, parallelisation with Dask and Ray, and using GPUs with JAX and CUDA/Numba.

Numerical atmospheric models#

  • I taught and provided support for a complex air quality model, WRFChem (Bash and Fortran).

Machine learning#

  • I used machine learning models to predict optimum emission reduction strategies to improve air quality and public health in China.

    • These were Gaussian process emulators trained from ~20 TB of simulated data from numerical atmospheric models.

    • I provided training for these emulators video (Colab, slides, and GitHub).

  • I created an online course on Introduction to Machine Learning.

    • It covers fundamentals, machine learning with scikit-learn, deep learning with TensorFlow / Keras and PyTorch / PyTorch Lightning, data pipelines, model tuning, transfer learning, and distributed training.

Useful learning resources#

  • Here are some great learning resources for topics in data science, software engineering, and machine learning that I’ve found helpful.