Console src term for the sea-ice frazil clamp (PR 1): the heat
the clamp ADDS to the ocean warming the supercooled surface layer
up to T_f (the matching deficit is banked on ice%frazil_heat).
src = +frazil_sum · RHO_WATER (FULL weight — no RK2 half)
Unlike the per-stage accumulators behind ocean_budget_src, the
frazil accumulator is filled ONCE per outer step on the
post-RK2-average state, so its integral already equals the state
change 1:1 and must NOT be halved by RK2_STAGE_WEIGHT. Sole
home of that full-weight scaling — the reporter and the frazil
unit test both call it.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | frazil_sum |
pure function ocean_frazil_heat_src(frazil_sum) result(src) !! Console `src` term for the sea-ice frazil clamp (PR 1): the heat !! the clamp ADDS to the ocean warming the supercooled surface layer !! up to T_f (the matching deficit is banked on `ice%frazil_heat`). !! !! src = +frazil_sum · RHO_WATER (FULL weight — no RK2 half) !! !! Unlike the per-stage accumulators behind `ocean_budget_src`, the !! frazil accumulator is filled ONCE per outer step on the !! post-RK2-average state, so its integral already equals the state !! change 1:1 and must NOT be halved by `RK2_STAGE_WEIGHT`. Sole !! home of that full-weight scaling — the reporter and the frazil !! unit test both call it. real(wp), intent(in) :: frazil_sum real(wp) :: src src = frazil_sum*RHO_WATER end function ocean_frazil_heat_src