Adds unit tests for several core components as well as heat conduction
Adds unit tests for several core components as well as heat conduction.
Heat conduction tests include a test with the Fourier solution to the heat equation (with constant boundary conditions and conductivity/heat capacity).
Additional changes:
To better enable unit testing (and enable more code-reuse in the future), heat diffusion and boundary condition implementations were moved to more generic functions in heat_conduction.jl
that will work with any subsurface layer and any Dirichlet/Neumann boundary process by default. Soil-specific implementation details for phase change remain in hc_soil_H.jl
.