From 2da4a93960ef2b0b501fb4b7fa76e2bc7b7ee7ce Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 12 Jun 2023 09:21:25 -0400 Subject: [PATCH] Fixed some synchronization issues with coarrays --- src/swiftest/swiftest_coarray.f90 | 5 ++++- src/swiftest/swiftest_io.f90 | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/swiftest/swiftest_coarray.f90 b/src/swiftest/swiftest_coarray.f90 index 7dbd1a816..62e44f5ac 100644 --- a/src/swiftest/swiftest_coarray.f90 +++ b/src/swiftest/swiftest_coarray.f90 @@ -42,15 +42,18 @@ module subroutine swiftest_coarray_balance_system(nbody_system, param) write(param%display_unit,*) "ntp_min : " // trim(adjustl(min_str)) write(param%display_unit,*) "ntp_max : " // trim(adjustl(max_str)) write(param%display_unit,*) "difference: " // trim(adjustl(diff_str)) + flush(param%display_unit) + sync all if (ntp_max - ntp_min >= num_images()) then write(param%display_unit,*) trim(adjustl(diff_str)) // ">=" // trim(adjustl(ni_str)) // ": Rebalancing" + flush(param%display_unit) call nbody_system%coarray_collect(param) call nbody_system%coarray_distribute(param) write(param%display_unit,*) "Rebalancing complete" else write(param%display_unit,*) trim(adjustl(diff_str)) // "<" // trim(adjustl(ni_str)) // ": No rebalancing needed" end if - call flush(param%display_unit) + flush(param%display_unit) return end subroutine swiftest_coarray_balance_system diff --git a/src/swiftest/swiftest_io.f90 b/src/swiftest/swiftest_io.f90 index eea186c48..70ddac5f7 100644 --- a/src/swiftest/swiftest_io.f90 +++ b/src/swiftest/swiftest_io.f90 @@ -437,6 +437,7 @@ module subroutine swiftest_io_dump_storage(self, param) call iotimer%stop() sync all call iotimer%report(message="File output :", unit=param%display_unit) + flush(param%display_unit) #endif end associate