Skip to content

Commit 714ea95

Browse files
Restructure sea ice ocean fluxes (#627)
* restructure sea ice ocean fluxes * Update sea_ice_ocean_fluxes.jl * melting speed * bugfix
1 parent 21509b5 commit 714ea95

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

src/OceanSeaIceModels/InterfaceComputations/sea_ice_ocean_fluxes.jl

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,19 @@ using ClimaSeaIce.SeaIceThermodynamics: melting_temperature
33
using ClimaSeaIce.SeaIceDynamics: x_momentum_stress, y_momentum_stress
44

55
function compute_sea_ice_ocean_fluxes!(coupled_model)
6-
ocean = coupled_model.ocean
6+
ocean = coupled_model.ocean
77
sea_ice = coupled_model.sea_ice
88

9-
sea_ice_ocean_fluxes = coupled_model.interfaces.sea_ice_ocean_interface.fluxes
10-
interface_properties = coupled_model.interfaces.sea_ice_ocean_interface.properties
9+
sea_ice_ocean_fluxes = coupled_model.interfaces.sea_ice_ocean_interface.fluxes
10+
melting_speed = coupled_model.interfaces.sea_ice_ocean_interface.properties.characteristic_melting_speed
11+
ocean_properties = coupled_model.interfaces.ocean_properties
1112

13+
compute_sea_ice_ocean_fluxes!(sea_ice_ocean_fluxes, ocean, sea_ice, melting_speed, ocean_properties)
14+
15+
return nothing
16+
end
17+
18+
function compute_sea_ice_ocean_fluxes!(sea_ice_ocean_fluxes, ocean, sea_ice, melting_speed, ocean_properties)
1219
Δt = ocean.Δt
1320
Tₒ = ocean.model.tracers.T
1421
Sₒ = ocean.model.tracers.S
@@ -17,7 +24,6 @@ function compute_sea_ice_ocean_fluxes!(coupled_model)
1724
hᵢ = sea_ice.model.ice_thickness
1825
Gh = sea_ice.model.ice_thermodynamics.thermodynamic_tendency
1926

20-
ocean_properties = coupled_model.interfaces.ocean_properties
2127
liquidus = sea_ice.model.ice_thermodynamics.phase_transitions.liquidus
2228
grid = ocean.model.grid
2329
clock = ocean.model.clock
@@ -36,7 +42,7 @@ function compute_sea_ice_ocean_fluxes!(coupled_model)
3642
# Is it immediately removed from the ocean? Or is it stored in the ice?
3743
launch!(arch, grid, :xy, _compute_sea_ice_ocean_fluxes!,
3844
sea_ice_ocean_fluxes, grid, clock, hᵢ, ℵᵢ, Sᵢ, Gh, Tₒ, Sₒ, uᵢ, vᵢ,
39-
τs, liquidus, ocean_properties, interface_properties, Δt)
45+
τs, liquidus, ocean_properties, melting_speed, Δt)
4046

4147
return nothing
4248
end
@@ -55,7 +61,7 @@ end
5561
sea_ice_ocean_stresses,
5662
liquidus,
5763
ocean_properties,
58-
interface_properties,
64+
characteristic_melting_speed,
5965
Δt)
6066

6167
i, j = @index(Global, NTuple)
@@ -75,7 +81,7 @@ end
7581
ℵᵢ = ice_concentration
7682
ρₒ = ocean_properties.reference_density
7783
cₒ = ocean_properties.heat_capacity
78-
uₘ★ = interface_properties.characteristic_melting_speed
84+
uₘ★ = characteristic_melting_speed
7985

8086
δQ_frazil = zero(grid)
8187

0 commit comments

Comments
 (0)