diff --git a/components/mpas-albany-landice/src/mode_forward/mpas_li_time_integration_fe_rk.F b/components/mpas-albany-landice/src/mode_forward/mpas_li_time_integration_fe_rk.F index 6510164eb317..77cf14c5ec8d 100644 --- a/components/mpas-albany-landice/src/mode_forward/mpas_li_time_integration_fe_rk.F +++ b/components/mpas-albany-landice/src/mode_forward/mpas_li_time_integration_fe_rk.F @@ -301,9 +301,13 @@ subroutine li_time_integrator_forwardeuler_rungekutta(domain, err) call mpas_pool_get_array(geometryPool, 'edgeMask', edgeMask) call mpas_pool_get_array(geometryPool, 'vertexMask', vertexMask, timeLevel=1) - call mpas_pool_get_array(thermalPool, 'temperature', temperature) call mpas_pool_get_array(thermalPool, 'waterFrac', waterFrac) + + ! Calculate masks prior to RK loop, but do not update masks within the loop + ! to preserve the accuracy of time integration. + call li_calculate_mask(meshPool, velocityPool, geometryPool, err_tmp) + err = ior(err, err_tmp) ! Save relevant fields before RK loop, to be used in update at the end temperaturePrev(:,:) = temperature(:,:) waterFracPrev(:,:) = waterFrac(:,:) @@ -399,11 +403,6 @@ subroutine li_time_integrator_forwardeuler_rungekutta(domain, err) return endif - ! Calculate masks prior to RK loop, but do not update masks within the loop - ! to preserve the accuracy of time integration. - call li_calculate_mask(meshPool, velocityPool, geometryPool, err_tmp) - err = ior(err, err_tmp) - ! *** Start RK loop *** do rkStage = 1, nRKstages call mpas_log_write('beginning rk stage $i of $i', &