Software
I make software almost daily for my research, business, and writing. Some of it eventually becomes open source. Enjoy! :)
Simulation
- University of Miami Wave Model: A parallel spectral ocean wave model. It’s been used in research and production for a variety of applications. It’s particularly good for coupling with weather and ocean circulation models. Read the paper here.
- wavy: A library to build a hierarchy of ocean wave models. Useful for research and toy models, less so for production.
- tsunami: A parallel shallow water solver used to teach modern and parallel Fortran. Developed as the running example for the Modern Fortran book.
Machine learning
- neural-fortran: A parallel neural net microframework. Proof-of-concept with promising performance and ease of use. It supports deep feed-forward networks of arbitrary size, several activations functions, and data-based parallelism. Read the paper here.
General purpose
- datetime-fortran: Date and time library for Fortran.
- functional-fortran: Functional programming in Fortran, with support for all built-in types.
- tcp-client-server: A minimal Fortran TCP client and server, used to teach interoperability with C. Uses libdill as the sockets library.
Devices / embedded
- scanivalve-mps-python: A high-level interface to a 64-port miniature pressure sensor, built on top of the TCP protocol.
- arduino-wavemaker: Programming Arduino Uno to power a linear actuator for making waves in a tank.