From b5dd9c5084f9f09fd1a7e0359a9e47c84dd0879b Mon Sep 17 00:00:00 2001 From: Darin Scott Comeau Date: Thu, 27 Jun 2019 07:54:15 -0600 Subject: [PATCH] Adding halo exchange for iceberg velocities before decay calculation. --- .../shared/mpas_seaice_berg_decay.F | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/core_seaice/shared/mpas_seaice_berg_decay.F b/src/core_seaice/shared/mpas_seaice_berg_decay.F index 32ed9265ae..28d610c19a 100644 --- a/src/core_seaice/shared/mpas_seaice_berg_decay.F +++ b/src/core_seaice/shared/mpas_seaice_berg_decay.F @@ -65,8 +65,26 @@ subroutine seaice_run_berg_decay(domain, clock)!{{{ logical, pointer :: & config_berg_allow_rollover ! flag to turn on / off berg rollover due to instability + type(MPAS_pool_type), pointer :: & + bergVelocitySolverPool + + real(kind=RKIND), dimension(:,:), pointer :: & + uBergVelocity, & ! berg velocity + vBergVelocity + + call MPAS_pool_get_subpool(domain % blocklist % structs, "berg_velocity_solver", bergVelocitySolverPool) + + call MPAS_pool_get_array(bergVelocitySolverPool, "uBergVelocity", uBergVelocity) + call MPAS_pool_get_array(bergVelocitySolverPool, "vBergVelocity", vBergVelocity) + call MPAS_pool_get_config(domain % configs, "config_berg_allow_rollover", config_berg_allow_rollover) + ! halo exchange + call mpas_timer_start("Berg velocity solver halo") + call MPAS_dmpar_field_halo_exch(domain, 'uBergVelocity') + call MPAS_dmpar_field_halo_exch(domain, 'vBergVelocity') + call mpas_timer_stop("Berg velocity solver halo") + block => domain % blocklist do while (associated(block))