- Geophysicist by trade who fell into Data Science & Machine Learning.
- My real passion is Scientific Programming & Software Engineering applied to areas in Applied Mathematics, such as Geophysical Fluid Dynamics and Numerical Analysis.
- I'm also interested in Computational Science; it takes the best parts of Computer Science and combines them with Science.
-
Languages I love working with:
- C,
- Modern C++,
- Fortran,
- Python,
- MATLAB.
-
Machine Learning (Fluid Dynamics). E.g. Application of Deep Learning Algorithms/Methods for replacing or augmenting Conventional Numerical Solvers in Fluid Dynamics.
-
Machine Learning (Natural Language Processing). I've used this in a couple of jobs and it proved to be very informative. E.g. I used Sentiment Analysis while working at Tesco to understand customer opinions of Tesco products.
-
Computational Science.
-
Scientific Programming: E.g. Modelling and Simulation of problems in Fluid Dynamics & the Physical Sciences.
-
Systems-Level Programming.
- Tsunami-Solver: A
C++17
Non-Linear Solver which models Tsunamis by solving the 2D Shallow Water Equations.
-
The following projects are ideas; I might not do them.
-
Ocean-Kit: A
C++17
Library which helps users solve Partial Differential Equations (PDEs) that model different 2D Ocean Models. -
Developing a Modern (Pure) Modular Fortran version of NavierStokes-2D-Open-Channel-Flow using OOD. Unlike the original solver, this one uses Coarrays and Domain Decomposition for
Parallelism
. -
Barotropic-Circulation: A
C++17
solver which models Large-Scale Ocean Gyres and Wind-Driven Circulation by solving the Linearized Shallow Water Equations on a Beta Plane using FEM. -
GeoCoreFlow: This project looks at producing Core-Surface Flow Maps/Models at the Earths Core Mantle Boundary (CMB). These maps are created by solving an Ill-Posed Inverse Problem. The Magnetic Induction Equation is inverted to find the Flow Velocity of the Earth's Liquid Outer Core at the top of the CMB. Magentic Field Data from, e.g. CHAMP will be used to for modelling the Geomagnetic Field near Earth's surface. I.e. mapping the Geomagnetic Field onto a Spherical Shell, and Secular Variation Data from, e.g., CHAOS or IGRF will be used to invert the Magnetic Induction Equation with Physical Constraints/Assumptions. Key Technologies/Techniques/Theory to be used:
C++17
,Eigen Template Library
,Python
, Inverse Theory, Fluid Dynamics, Spectral Methods and other Numerical Methods for the solver.
- Some projects I'm quite chuffed of can be found below:
- Application of the Shallow Water Equations to Problems in Oceanography & Planetary Atmospheres. This software has been used by a chap in China for his Ph.D in Hydrogeology. Please ask for information on the details of his Ph.D and its use.
- Navier-Stokes Equation Solver for 2D Open Channel Flow.
- Application of the U-Net Convolutional Neural Network to Classify Salt and Sediment Structures in Oil & Gas Reservoirs.
- StokesianFlow; A Modern C++ Solver which uses the Finite Element Method and the Eigen Template Library to Model a Viscous Liquid Flowing through an Open Channel/River.
- 2D Poisson Equation Solver with OpenMP.
- 2D Heat Equation Solver using OpenMP.
- 2D Heat Equation Solver using MPI.
- 1D Wave Equation Solver using MPI.