257 integer (kind=int_kind) :: &
262 real (kind=dbl_kind),
dimension(ilo:ihi,jlo:jhi) :: &
268 real (kind=dbl_kind),
dimension (imt_local,jmt_local) :: &
269 & vice_init, vice_final
271 real (kind=dbl_kind) :: &
285 real (kind=dbl_kind),
parameter :: &
286 & hfrazilmin = 0.05_dbl_kind
288 integer (kind=int_kind) :: &
289 & icells, jcells, kcells &
292 integer (kind=int_kind), &
293 & dimension (1:(ihi-ilo+1)*(jhi-jlo+1)) :: &
298 character (len=char_len) :: &
302 hi0max = hin_max(1)*0.9_dbl_kind
304 hi0max = 1.e8_dbl_kind
319 rnilyr = real(
nilyr,kind=dbl_kind)
323 qi0av = qi0av + qi0(k)
353 vi0new(i,j) = -fnew*
dtice / qi0av
357 vice_init(i,j) = vice_init(i,j) + vi0new(i,j)
403 if (vi0new(i,j) >
c0i)
then 408 hi0new = max(vi0new(i,j)/
aice0(i,j), hfrazilmin)
412 ai0new(i,j) =
aice0(i,j)
413 vsurp = vi0new(i,j) - ai0new(i,j)*hi0new
414 hsurp(i,j) = vsurp /
aice(i,j)
415 vi0new(i,j) = ai0new(i,j)*hi0new
418 ai0new(i,j) = vi0new(i,j)/hi0new
421 hsurp(i,j) = vi0new(i,j)/
aice(i,j)
438 if (vi0new(i,j) >
c0i)
then 444 if (hsurp(i,j) >
c0i)
then 467 vlyr(i,j) = hsurp(i,j)/rnilyr *
aicen(i,j,ni)
478 eicen(i,j,ilyr1(ni)+k-1) = &
479 &
eicen(i,j,ilyr1(ni)+k-1) + qi0(k)*vlyr(i,j)
500 tsfcn(i,j,1) = (
tf(i,j)*ai0new(i,j) +
tsfcn(i,j,1)*area1) &
503 vlyr(i,j) = vi0new(i,j)/rnilyr
513 eicen(i,j,k) =
eicen(i,j,k) + qi0(k)*vlyr(i,j)
517 call column_sum (
ncat,
vicen, vice_final)
518 fieldid =
'vice, add_new_ice' 519 call column_conservation_check(vice_init, vice_final, &
real(kind=dbl_kind), dimension(:,:), allocatable, save tf
real(kind=dbl_kind), dimension(:,:), allocatable, save fsalt_hist
integer(kind=int_kind), parameter nilyr
integer(kind=int_kind) ihi
real(kind=dbl_kind), parameter c0i
real(kind=dbl_kind), parameter lfresh
real(kind=dbl_kind), parameter ice_ref_salinity
real(kind=dbl_kind), dimension(:,:), allocatable, save fresh
integer(kind=int_kind) jlo
integer(kind=int_kind) ilo
real(kind=dbl_kind), parameter puny
real(kind=dbl_kind) dtice
integer(kind=int_kind) jhi
real(kind=dbl_kind), dimension(:,:,:), allocatable, target, save tsfcn
real(kind=dbl_kind), parameter p001
real(kind=dbl_kind), dimension(:,:), allocatable, save frazil
real(kind=dbl_kind), dimension(:,:,:), allocatable, target, save vicen
real(kind=dbl_kind), dimension(:,:), allocatable, target, save aice
real(kind=dbl_kind), dimension(:,:), allocatable, save fresh_hist
real(kind=dbl_kind), dimension(:,:), allocatable, save fsalt
real(kind=dbl_kind), dimension(:,:,:), allocatable, target, save eicen
real(kind=dbl_kind), dimension(:,:), allocatable, target, save aice0
integer(kind=int_kind), parameter ncat
real(kind=dbl_kind), dimension(:,:,:), allocatable, target, save aicen
real(kind=dbl_kind), dimension(:,:), allocatable, save frzmlt
real(kind=dbl_kind), parameter c1i
real(kind=dbl_kind), dimension(:,:), allocatable, save frz_onset
real(kind=dbl_kind), parameter rhoi
logical(kind=log_kind), dimension(:,:), allocatable tmask