Skip to content

Commit b973671

Browse files
committed
Bug fix for mushy thermodynamics in brackish seas:
To get the initial ice salinity when new ice forms, a fixed amount of 3 ppt was subtracted from the sea surface salinity (SSS), causing negative ice salinities when SSS < 3 ppt. This fix keeps the same 3 ppt reduction in salinity for all SSS > 6 ppt, but it makes the initial sea ice salinity go to 0 continuously (and differentiably) as SSS approaches 0. We also added an arbitrary -0.1 C upper limit to the new ice temperature.
1 parent 6271f8f commit b973671

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

source/ice_therm_itd.F90

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1460,11 +1460,15 @@ subroutine add_new_ice (nx_block, ny_block, &
14601460
do ij = 1, icells
14611461
i = indxi(ij)
14621462
j = indxj(ij)
1463-
Si0new(ij) = sss(i,j) - dSin0_frazil
1463+
if (sss(i,j) > c2 * dSin0_frazil) then
1464+
Si0new(ij) = sss(i,j) - dSin0_frazil
1465+
else
1466+
Si0new(ij) = sss(i,j)**2 / (c4*dSin0_frazil)
1467+
endif
14641468
do k = 1, nilyr
14651469
Sprofile(ij,k) = Si0new(ij)
14661470
enddo
1467-
Ti = liquidus_temperature_mush(Si0new(ij) / phi_init)
1471+
Ti = min(liquidus_temperature_mush(Si0new(ij)/phi_init), -p1)
14681472
qi0new(ij) = enthalpy_mush(Ti, Si0new(ij))
14691473
enddo ! ij
14701474

0 commit comments

Comments
 (0)