Add snow/SEB interactions, surface water balance, and refactor boundary condition types
Additional changes:
- Add
caninteract
method inCryoGrid
module for indicating whether two layers/processes are able to interact based on the current state. Implementing this method is optional since the default implementation simply checksisactive
for both layers. - Add
interactmaybe!
for conditionally invokinginteract!
whencaninteract
is true. This method does not need to be overridden and is provided as a convenience. - Add type aliases for coupled water/heat and salt/heat boundary conditions.
- Add interactions for new
SurfaceWaterBalance
type. - The former
SEB
module is now calledSurface
and includes both the surface energy and water balance types as well as their corresponding method implementations. - Add plotting utilities in
Diagnostics
module. - General refactoring and cleanup.