Skip to content

Correctly handle ice formation/ablation fluxes #1521

@juliasloan25

Description

@juliasloan25

In the cases of ice formation/ablation, we have a new surface model being evaluated in a location where it wasn't evaluated at the previous timestep (ice or ocean, respectively).

The model wasn't receiving fluxes from the coupler at this location, and we can't assume that it has a valid/reasonable state.

For now, we zero out the tendencies of the prescribed sea ice and slab ocean models where their area fraction is 0. The state will remain as it was at the previous timestep when this model existed in the grid cell it now expands to (or at the initial condition).

This approach is ok for those models, but won't work for more complex models defined outside of ClimaCoupler.jl (e.g. Oceananigans, ClimaSeaIce) where we can't zero out the tendency based on the area fraction. A more general solution could be to set any location with a new surface type to the initial conditions for that model. This will require 1. a way to check where an area fraction is non-zero where it was zero before, and 2. each surface model to implement a new function set_to_ic! which can be called generally by the coupler.

cc @szy21

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions