Skip to content

Fix sfcc allocations, refactor heat methods, etc

Brian Groenke requested to merge bgroenke/cryogridjulia:refactor/heat-bc into master

This commit accidentally ended up accumulating way too many changes, some of which are from implementing snow on the other branch. This is bad practice... do not do this.

Summary of changes:

  • Fixes some weird performance/allocation issues with the SFCC newton solver
  • Re-adds the process type parameter to BoundaryProcess; this is to prevent ambiguous method dispatches between different layer interactions
  • Adds 'thickness' and 'midpoints' methods to model interface to generalize distance calculations for fluxes; this allows some layers/processes (e.g. snow) to override the default cell width calculations
  • Adds a top-level 'grid' field to layer state to support variable-independent grid operations
  • Re-adds layer-only diagnosticstep
  • Adds utility methods to support other changes

Merge request reports