From 1dc622e51635fc7f6bdc94ba93401f6bccedde3e Mon Sep 17 00:00:00 2001 From: CGH0S7 <776459475@qq.com> Date: Sun, 1 Mar 2026 00:33:01 +0800 Subject: [PATCH] Optimize average2: replace array expression with explicit loops --- AMSS_NCKU_source/fmisc.f90 | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/AMSS_NCKU_source/fmisc.f90 b/AMSS_NCKU_source/fmisc.f90 index 4baf147..de7347a 100644 --- a/AMSS_NCKU_source/fmisc.f90 +++ b/AMSS_NCKU_source/fmisc.f90 @@ -1608,11 +1608,18 @@ deallocate(f_flat) ! ^ ! f=3/8*f_1 + 3/4*f_2 - 1/8*f_3 - real*8,parameter::C1=3.d0/8.d0,C2=3.d0/4.d0,C3=-1.d0/8.d0 - - fout = C1*f1+C2*f2+C3*f3 - - return + real*8,parameter::C1=3.d0/8.d0,C2=3.d0/4.d0,C3=-1.d0/8.d0 + integer :: i,j,k + + do k=1,ext(3) + do j=1,ext(2) + do i=1,ext(1) + fout(i,j,k) = C1*f1(i,j,k)+C2*f2(i,j,k)+C3*f3(i,j,k) + enddo + enddo + enddo + + return end subroutine average2 !-----------------------------------------------------------------------------