Skip to content
Snippets Groups Projects

Rename Land -> Strat and promote soil comps to state variables

Merged Brian Groenke requested to merge bgroenke/cryogridjulia:refactor/land-module-name into master

This commit reverses two previous design changes:

  1. Declaring variables on a Layer or Process only is again supported.
  2. Soil contents are once again state variables.

These changes are intended to improve flexibility for future process implementations.

Additional changes:

  • Renames Land module to Strat
  • Removes defunct "partitioned enthalpy" scheme
  • Renames z field in LayerState to bounds to allow for user-defined state variables named z.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • assigned to @bgroenke

  • @mlanger This should (mostly) resolve the redundancy in declaring variables in new layers/processes.

    One can now simply define:

    variables(::Heat) = (...)
    variables(::Soil) = (...)

    which are by default combined in:

    variables(layer::Layer, proc::Process) = (variables(layer)..., variables(proc)...)

    So for snow, one could, in principle, add the additional variables in variables(::Snow) without having to redefine the variables defined by variables(::Heat). In the event that a specific Layer/Process pair needs special treatment, one can still explicitly define:

    variables(::Snow, ::Heat) = (...)

    which can then call variables for either (or both) of the layer or process individually to re-use variable definitions, or just redefine everything if changes are necessary.

  • Tests pass locally.

  • Brian Groenke approved this merge request

    approved this merge request

  • merged

  • Brian Groenke mentioned in commit 9ea13637

    mentioned in commit 9ea13637

Please register or sign in to reply
Loading