Skip to content

Support setting sea ice thermodynamics to nothing#258

Draft
taimoorsohail wants to merge 14 commits into
mainfrom
ts/support-nothing-for-SI-thermodynamics
Draft

Support setting sea ice thermodynamics to nothing#258
taimoorsohail wants to merge 14 commits into
mainfrom
ts/support-nothing-for-SI-thermodynamics

Conversation

@taimoorsohail
Copy link
Copy Markdown
Collaborator

This PR adds support to set sea ice thermodynamics to nothing.

Summary

  • Add sea_ice_ocean_salinity_flux as a ComponentInterfaces keyword.
  • Thread the salinity-flux toggle into sea ice-ocean interface construction.
  • Extend IceBathHeatFlux and ThreeEquationHeatFlux to carry sea_ice_heat_flux and salinity_flux switches.
  • Allow sea_ice_ocean_salinity_flux = nothing to zero sea ice-ocean salt flux, matching the existing heat-flux behaviour.

@taimoorsohail taimoorsohail requested review from glwagner, navidcy and simone-silvestri and removed request for glwagner and simone-silvestri May 18, 2026 12:06
@taimoorsohail taimoorsohail added enhancement ✨ ideas and requests for new features sea ice 🧊 the frozen part labels May 18, 2026
@taimoorsohail taimoorsohail requested a review from glwagner May 18, 2026 12:07
@codecov
Copy link
Copy Markdown

codecov Bot commented May 18, 2026

Codecov Report

❌ Patch coverage is 1.44928% with 68 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...dels/InterfaceComputations/sea_ice_ocean_fluxes.jl 0.00% 55 Missing ⚠️
...dels/InterfaceComputations/component_interfaces.jl 10.00% 9 Missing ⚠️
...mputations/sea_ice_ocean_heat_flux_formulations.jl 0.00% 4 Missing ⚠️

📢 Thoughts on this report? Let us know!

@navidcy navidcy marked this pull request as draft May 19, 2026 02:23
@navidcy
Copy link
Copy Markdown
Member

navidcy commented May 19, 2026

@taimoorsohail ping us when this is ready to review

@taimoorsohail taimoorsohail removed the request for review from glwagner May 19, 2026 02:23
@taimoorsohail
Copy link
Copy Markdown
Collaborator Author

@simone-silvestri I need some advice on this PR. Setting sea_ice_ocean_heat_flux=nothing bypasses the ocean/sea-ice thermodynamics altogether at the moment, because if there is no heat flux, there is no melting/freezing, and there is thus no implied salt flux either. This leads to a physically weird outcome where there is no freezing limiter and the water can supercool without freezing.

We could borrow the FreezingLimitedOceanTemperature work from OceanOnlyModel, this would ensure that there is basal melting/freezing due to air-sea heat fluxes, and salinity fluxes associated with that melting/freezing. But then that begs the question if the user will want that level of surgical precision to turn off heat and salt fluxes independently.

I propose we support a more simple sea_ice_ocean_thermodynamics=nothing kwarg, just like we set dynamics=nothing, NOT x_dynamics = nothing, y_dynamics=nothing etc. This means the user cannot set salinity and heat fluxes to nothing independently, but perhaps that is not necessary? Note we would still need the freezing limiter that is in OceanOnlyModel in this case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement ✨ ideas and requests for new features sea ice 🧊 the frozen part

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants