Here is my implementation of the numerical methods for Homework
10. Note that not all subroutines are wrapped in modules, but it
builds correctly.

Files are:

advect.f90 - the main program driving the
calculation

DataM.f90 - Module containing most
variables,
and setting initial conditions for the problem

IntrTypeM.f90 - Sets precision level and number of digits in integers

LinAlgM.f90 -Module containing Linear
Algebra subroutines (Direct equation solvers)

output.f90 - The subroutine
for output of results