I was running UFS S2SWA and model crashed with negative dvice error. It is not during the initialization period, the model crashed after the integration into 15-20 days. I was trying to find the discussion page for CICE to post the issue there, but couldn't find it. So I opened this issue here, hopefully get some help.
The CICE hash is from NOAA-EMC/CICE
commit 5840cd1 (HEAD, origin/emc/develop, origin/HEAD, emc/develop)
Merge: 6671e32 7df80ba
Author: Denise Worthen <denise.worthen@noaa.gov>
Date: Wed Mar 22 07:43:35 2023 -0400
The following is the error information.
(shift_ice)shift_ice: negative dvice
(shift_ice)boundary, donor cat: 2 3
(shift_ice)daice = 0.000000000000000E+000
(shift_ice)dvice = -5.200365076407644E-068
(shift_ice)puny = 9.999999999999999E-012
(shift_ice)vicen(nd) = -5.200365076407644E-068
(icepack_warnings_setabort) T :file icepack_itd.F90 :line 549
(shift_ice) shift_ice: negative dvice
(icepack_warnings_aborted) ... (shift_ice)
(icepack_warnings_aborted) ... (linear_itd)
The printout of "puny" and "vicen(nd)" was added by me.
Any of these values make sense?
I attached the code below
if (donor(n) > 0 .and. &
dvice(n) <= -puny*vicen(nd)) then
write(warnstr,*) ' '
call icepack_warnings_add(warnstr)
write(warnstr,*) subname, 'shift_ice: negative dvice'
call icepack_warnings_add(warnstr)
write(warnstr,*) subname, 'boundary, donor cat:', n, nd
call icepack_warnings_add(warnstr)
write(warnstr,*) subname, 'daice =', daice(n)
call icepack_warnings_add(warnstr)
write(warnstr,*) subname, 'dvice =', dvice(n)
call icepack_warnings_add(warnstr)
write(warnstr,*) subname, 'puny =', puny
call icepack_warnings_add(warnstr)
write(warnstr,*) subname, 'vicen(nd) =', vicen(nd)
call icepack_warnings_add(warnstr)
call icepack_warnings_setabort(.true.,__FILE__,__LINE__)
call icepack_warnings_add(subname//' shift_ice: negative dvice')
endif
Thanks,
Bing
The CICE hash is from NOAA-EMC/CICE
commit 5840cd1 (HEAD, origin/emc/develop, origin/HEAD, emc/develop)
Merge: 6671e32 7df80ba
Author: Denise Worthen <denise.worthen@noaa.gov>
Date: Wed Mar 22 07:43:35 2023 -0400
The following is the error information.
(shift_ice)shift_ice: negative dvice
(shift_ice)boundary, donor cat: 2 3
(shift_ice)daice = 0.000000000000000E+000
(shift_ice)dvice = -5.200365076407644E-068
(shift_ice)puny = 9.999999999999999E-012
(shift_ice)vicen(nd) = -5.200365076407644E-068
(icepack_warnings_setabort) T :file icepack_itd.F90 :line 549
(shift_ice) shift_ice: negative dvice
(icepack_warnings_aborted) ... (shift_ice)
(icepack_warnings_aborted) ... (linear_itd)
The printout of "puny" and "vicen(nd)" was added by me.
Any of these values make sense?
I attached the code below
if (donor(n) > 0 .and. &
dvice(n) <= -puny*vicen(nd)) then
write(warnstr,*) ' '
call icepack_warnings_add(warnstr)
write(warnstr,*) subname, 'shift_ice: negative dvice'
call icepack_warnings_add(warnstr)
write(warnstr,*) subname, 'boundary, donor cat:', n, nd
call icepack_warnings_add(warnstr)
write(warnstr,*) subname, 'daice =', daice(n)
call icepack_warnings_add(warnstr)
write(warnstr,*) subname, 'dvice =', dvice(n)
call icepack_warnings_add(warnstr)
write(warnstr,*) subname, 'puny =', puny
call icepack_warnings_add(warnstr)
write(warnstr,*) subname, 'vicen(nd) =', vicen(nd)
call icepack_warnings_add(warnstr)
call icepack_warnings_setabort(.true.,__FILE__,__LINE__)
call icepack_warnings_add(subname//' shift_ice: negative dvice')
endif
Thanks,
Bing