diff --git a/components/mpas-albany-landice/src/mode_forward/mpas_li_time_integration_fe.F b/components/mpas-albany-landice/src/mode_forward/mpas_li_time_integration_fe.F index 9d73e62d462f..aa267f406930 100644 --- a/components/mpas-albany-landice/src/mode_forward/mpas_li_time_integration_fe.F +++ b/components/mpas-albany-landice/src/mode_forward/mpas_li_time_integration_fe.F @@ -128,13 +128,6 @@ subroutine li_time_integrator_forwardeuler(domain, err) err = ior(err, err_tmp) call mpas_timer_stop("advancing clock") -!TODO: Determine whether grounded melting should in fact be called first -! === Face melting for grounded ice =========== - call mpas_timer_start("face melting for grounded ice") - call li_face_melt_grounded_ice(domain, err_tmp) - err = ior(err, err_tmp) - call mpas_timer_stop("face melting for grounded ice") - ! === Basal melting for floating ice =========== call mpas_timer_start("basal melting for floating ice") call li_basal_melt_floating_ice(domain, err_tmp) @@ -179,6 +172,18 @@ subroutine li_time_integrator_forwardeuler(domain, err) err = ior(err, err_tmp) call mpas_timer_stop("subglacial hydro") +! === Update bed topo ===================== +! It's not clear when the best time to do this is. +! Seems cleaner to do it either before or after all of the time evolution of the ice +! is complete. Putting it after. + call li_bedtopo_solve(domain, err=err_tmp) + err = ior(err, err_tmp) + +! === Solve Velocity ===================== + ! During time-stepping, we always solveVelo + call li_velocity_solve(domain, solveVelo=.true., err=err_tmp) + err = ior(err, err_tmp) + ! === Calve ice ======================== call mpas_timer_start("calve_ice") @@ -200,17 +205,12 @@ subroutine li_time_integrator_forwardeuler(domain, err) call mpas_dmpar_field_halo_exch(domain, 'vertexMask') call mpas_timer_stop("halo updates") -! === Update bed topo ===================== -! It's not clear when the best time to do this is. -! Seems cleaner to do it either before or after all of the time evolution of the ice -! is complete. Putting it after. - call li_bedtopo_solve(domain, err=err_tmp) - err = ior(err, err_tmp) - -! === Solve Velocity ===================== - ! During time-stepping, we always solveVelo - call li_velocity_solve(domain, solveVelo=.true., err=err_tmp) +!TODO: Determine whether grounded melting should in fact be called first +! === Face melting for grounded ice =========== + call mpas_timer_start("face melting for grounded ice") + call li_face_melt_grounded_ice(domain, err_tmp) err = ior(err, err_tmp) + call mpas_timer_stop("face melting for grounded ice") ! === Calculate diagnostic variables for new state =====================