Skip to content

Commit

Permalink
Fix outgoing lw for history and coupling. (CICE-Consortium#999)
Browse files Browse the repository at this point in the history
This is a two-line change in ice_flux.F90 (scale_fluxes) to check for the condition where aice > 0, but flwout > -puny (effectively zero). This means the cell was ice free at the beginning of the step, but non-zero at the end. It sets the outgoing longwave to the open ocean value based on the freezing temperature. This is bfb, but will change the history output of flwup and flwup_ai. Test results are coming.
  • Loading branch information
dabail10 authored Dec 16, 2024
1 parent 749e074 commit 9c777ac
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions cicecore/cicedyn/general/ice_flux.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1209,15 +1209,15 @@ subroutine scale_fluxes (nx_block, ny_block, &
real (kind=dbl_kind) :: &
ar, & ! 1/aice
stefan_boltzmann, &
Tffresh
Tffresh, puny

integer (kind=int_kind) :: &
i, j ! horizontal indices

character(len=*), parameter :: subname = '(scale_fluxes)'

call icepack_query_parameters(stefan_boltzmann_out=stefan_boltzmann, &
Tffresh_out=Tffresh)
Tffresh_out=Tffresh, puny_out=puny)
call icepack_warnings_flush(nu_diag)
if (icepack_warnings_aborted()) call abort_ice(error_message=subname, &
file=__FILE__, line=__LINE__)
Expand All @@ -1231,6 +1231,9 @@ subroutine scale_fluxes (nx_block, ny_block, &
fsens (i,j) = fsens (i,j) * ar
flat (i,j) = flat (i,j) * ar
fswabs (i,j) = fswabs (i,j) * ar
! Special case where aice_init was zero and aice > 0.
if (flwout(i,j) > -puny) &
flwout (i,j) = -stefan_boltzmann *(Tf(i,j) + Tffresh)**4
flwout (i,j) = flwout (i,j) * ar
evap (i,j) = evap (i,j) * ar
Tref (i,j) = Tref (i,j) * ar
Expand Down

0 comments on commit 9c777ac

Please sign in to comment.