Assemble the total SALT source integral (pre-weight, pre-ρ) that
feeds ocean_budget_src: surface flux + (PR-23) the map-driven
sponge’s tracer-relaxation source. Mirror of ocean_heat_src_sum
without the geothermal term (salt has no geothermal analogue).
sponge_sum is ms%salt_budget_sponge’s area-weighted reduction —
zero unless &ocean_sponge_nml enable=.true., relax_tracers=.true..
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | surface_sum | |||
| real(kind=wp), | intent(in) | :: | sponge_sum |
pure function ocean_salt_src_sum(surface_sum, sponge_sum) result(s) !! Assemble the total SALT source integral (pre-weight, pre-ρ) that !! feeds `ocean_budget_src`: surface flux + (PR-23) the map-driven !! sponge's tracer-relaxation source. Mirror of `ocean_heat_src_sum` !! without the geothermal term (salt has no geothermal analogue). !! `sponge_sum` is `ms%salt_budget_sponge`'s area-weighted reduction — !! zero unless `&ocean_sponge_nml enable=.true., relax_tracers=.true.`. real(wp), intent(in) :: surface_sum, sponge_sum real(wp) :: s s = surface_sum + sponge_sum end function ocean_salt_src_sum