From 7090047e149d8a928a20987ebed146ee5174a401 Mon Sep 17 00:00:00 2001 From: ignis Date: Thu, 9 May 2019 15:14:45 +0900 Subject: [PATCH] fix bug in derivation code --- code/code_gen/post.py | 3 +- code/m_terms.f90 | 315 ++++++++++++++++-------------------------- 2 files changed, 124 insertions(+), 194 deletions(-) diff --git a/code/code_gen/post.py b/code/code_gen/post.py index b183629..487d3bc 100644 --- a/code/code_gen/post.py +++ b/code/code_gen/post.py @@ -313,7 +313,8 @@ class DerivedField (FieldBase): def code (self, alloc=None): self.array = alloc[self.name] if alloc else self.name - return "call {0} ( {2}, {1} )".format(self.op, self.v, self.array) + varray = alloc[self.v] if alloc else self.v + return "call {0} ( {2}, {1} )".format(self.op, varray, self.array) class AveragedField (FieldBase): diff --git a/code/m_terms.f90 b/code/m_terms.f90 index 730a69e..07c7cfa 100644 --- a/code/m_terms.f90 +++ b/code/m_terms.f90 @@ -9,66 +9,45 @@ implicit none character (len = *), parameter :: output_header="x avg_c avg_d2dx_c avg_d2dy_c avg_d2dz_c avg_ddx_c avg_ddy_c avg_ddz_c avg_fsd avg_lapc avg_u avg_v avg_w fsd_avg_absk fsd_avg_divn fsd_avg_nx fsd_avg_ny fsd_avg_nz fsd_avg_sd fsd_avg_t1 fsd_avg_u fsd_avg_v fsd_avg_w fsd_avg_t2 fsd_avg_t3 fsd_avg_t4 fsd_avg_t5 fsd_avg_t6 fsd_avg_t7 fsd_avg_t8" real*8, allocatable, dimension(:) :: fsd_avg_divn -real*8, allocatable, dimension(:,:,:) :: t5____fsd_avg -real*8, allocatable, dimension(:,:,:) :: ddx_nx real*8, allocatable, dimension(:) :: fsd_avg_ny real*8, allocatable, dimension(:) :: fsd_avg_nx real*8, allocatable, dimension(:) :: fsd_avg_nz -real*8, allocatable, dimension(:,:,:) :: ddz_c -real*8, allocatable, dimension(:,:,:) :: vn real*8, allocatable, dimension(:) :: avg_d2dz_c real*8, allocatable, dimension(:) :: avg_d2dx_c -real*8, allocatable, dimension(:,:,:) :: ddy_c -real*8, allocatable, dimension(:,:,:) :: t7____fsd_avg -real*8, allocatable, dimension(:,:,:) :: ddx_c -real*8, allocatable, dimension(:,:,:) :: t2____fsd_avg -real*8, allocatable, dimension(:) :: avg_lapc real*8, allocatable, dimension(:) :: fsd_avg_t3 real*8, allocatable, dimension(:) :: fsd_avg_t2 -real*8, allocatable, dimension(:) :: avg_ddx_c +real*8, allocatable, dimension(:) :: fsd_avg_t1 real*8, allocatable, dimension(:) :: fsd_avg_t7 real*8, allocatable, dimension(:) :: fsd_avg_t6 real*8, allocatable, dimension(:) :: fsd_avg_t5 -real*8, allocatable, dimension(:,:,:) :: ddy_ny -real*8, allocatable, dimension(:,:,:) :: wrate +real*8, allocatable, dimension(:) :: fsd_avg_t4 real*8, allocatable, dimension(:) :: fsd_avg_t8 real*8, allocatable, dimension(:) :: avg_fsd real*8, allocatable, dimension(:) :: fsd_avg_absk -real*8, allocatable, dimension(:,:,:) :: nx -real*8, allocatable, dimension(:,:,:) :: ny -real*8, allocatable, dimension(:,:,:) :: nz -real*8, allocatable, dimension(:,:,:) :: ddz_nz real*8, allocatable, dimension(:) :: fsd_avg_sd -real*8, allocatable, dimension(:,:,:) :: lapc real*8, allocatable, dimension(:) :: avg_ddy_c -real*8, allocatable, dimension(:,:,:) :: divn -! w is read from file -real*8, allocatable, dimension(:,:,:) :: d2dz_c -! v is read from file -real*8, allocatable, dimension(:) :: fsd_avg_t1 -real*8, allocatable, dimension(:,:,:) :: t3____fsd_avg -real*8, allocatable, dimension(:) :: fsd_avg_v -real*8, allocatable, dimension(:,:,:) :: t4____fsd_avg -real*8, allocatable, dimension(:,:,:) :: absk +real*8, allocatable, dimension(:) :: avg_ddx_c +real*8, allocatable, dimension(:) :: avg_lapc real*8, allocatable, dimension(:) :: avg_ddz_c -real*8, allocatable, dimension(:,:,:) :: c real*8, allocatable, dimension(:) :: avg_c -real*8, allocatable, dimension(:,:,:) :: fsd -real*8, allocatable, dimension(:,:,:) :: d2dy_c real*8, allocatable, dimension(:) :: avg_d2dy_c -real*8, allocatable, dimension(:) :: fsd_avg_t4 -real*8, allocatable, dimension(:,:,:) :: d2dx_c -real*8, allocatable, dimension(:,:,:) :: t1 -real*8, allocatable, dimension(:,:,:) :: t6____fsd_avg -real*8, allocatable, dimension(:,:,:) :: t8____fsd_avg -! u is read from file real*8, allocatable, dimension(:) :: avg_u real*8, allocatable, dimension(:) :: avg_v real*8, allocatable, dimension(:) :: avg_w -! y is read from file +real*8, allocatable, dimension(:) :: fsd_avg_v real*8, allocatable, dimension(:) :: fsd_avg_w real*8, allocatable, dimension(:) :: fsd_avg_u -real*8, allocatable, dimension(:,:,:) :: sd +real*8, allocatable, dimension(:,:,:) :: xyzbuffer0 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer1 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer2 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer3 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer4 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer5 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer6 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer7 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer8 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer9 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer10 contains @@ -77,66 +56,45 @@ subroutine m_terms_init integer :: ierr allocate(fsd_avg_divn(nxp), stat=ierr) ; fsd_avg_divn = 0. -allocate(t5____fsd_avg(nxp,nyp,nzp), stat=ierr) ; t5____fsd_avg = 0. -allocate(ddx_nx(nxp,nyp,nzp), stat=ierr) ; ddx_nx = 0. allocate(fsd_avg_ny(nxp), stat=ierr) ; fsd_avg_ny = 0. allocate(fsd_avg_nx(nxp), stat=ierr) ; fsd_avg_nx = 0. allocate(fsd_avg_nz(nxp), stat=ierr) ; fsd_avg_nz = 0. -allocate(ddz_c(nxp,nyp,nzp), stat=ierr) ; ddz_c = 0. -allocate(vn(nxp,nyp,nzp), stat=ierr) ; vn = 0. allocate(avg_d2dz_c(nxp), stat=ierr) ; avg_d2dz_c = 0. allocate(avg_d2dx_c(nxp), stat=ierr) ; avg_d2dx_c = 0. -allocate(ddy_c(nxp,nyp,nzp), stat=ierr) ; ddy_c = 0. -allocate(t7____fsd_avg(nxp,nyp,nzp), stat=ierr) ; t7____fsd_avg = 0. -allocate(ddx_c(nxp,nyp,nzp), stat=ierr) ; ddx_c = 0. -allocate(t2____fsd_avg(nxp,nyp,nzp), stat=ierr) ; t2____fsd_avg = 0. -allocate(avg_lapc(nxp), stat=ierr) ; avg_lapc = 0. allocate(fsd_avg_t3(nxp), stat=ierr) ; fsd_avg_t3 = 0. allocate(fsd_avg_t2(nxp), stat=ierr) ; fsd_avg_t2 = 0. -allocate(avg_ddx_c(nxp), stat=ierr) ; avg_ddx_c = 0. +allocate(fsd_avg_t1(nxp), stat=ierr) ; fsd_avg_t1 = 0. allocate(fsd_avg_t7(nxp), stat=ierr) ; fsd_avg_t7 = 0. allocate(fsd_avg_t6(nxp), stat=ierr) ; fsd_avg_t6 = 0. allocate(fsd_avg_t5(nxp), stat=ierr) ; fsd_avg_t5 = 0. -allocate(ddy_ny(nxp,nyp,nzp), stat=ierr) ; ddy_ny = 0. -allocate(wrate(nxp,nyp,nzp), stat=ierr) ; wrate = 0. +allocate(fsd_avg_t4(nxp), stat=ierr) ; fsd_avg_t4 = 0. allocate(fsd_avg_t8(nxp), stat=ierr) ; fsd_avg_t8 = 0. allocate(avg_fsd(nxp), stat=ierr) ; avg_fsd = 0. allocate(fsd_avg_absk(nxp), stat=ierr) ; fsd_avg_absk = 0. -allocate(nx(nxp,nyp,nzp), stat=ierr) ; nx = 0. -allocate(ny(nxp,nyp,nzp), stat=ierr) ; ny = 0. -allocate(nz(nxp,nyp,nzp), stat=ierr) ; nz = 0. -allocate(ddz_nz(nxp,nyp,nzp), stat=ierr) ; ddz_nz = 0. allocate(fsd_avg_sd(nxp), stat=ierr) ; fsd_avg_sd = 0. -allocate(lapc(nxp,nyp,nzp), stat=ierr) ; lapc = 0. allocate(avg_ddy_c(nxp), stat=ierr) ; avg_ddy_c = 0. -allocate(divn(nxp,nyp,nzp), stat=ierr) ; divn = 0. -! w is read from file -allocate(d2dz_c(nxp,nyp,nzp), stat=ierr) ; d2dz_c = 0. -! v is read from file -allocate(fsd_avg_t1(nxp), stat=ierr) ; fsd_avg_t1 = 0. -allocate(t3____fsd_avg(nxp,nyp,nzp), stat=ierr) ; t3____fsd_avg = 0. -allocate(fsd_avg_v(nxp), stat=ierr) ; fsd_avg_v = 0. -allocate(t4____fsd_avg(nxp,nyp,nzp), stat=ierr) ; t4____fsd_avg = 0. -allocate(absk(nxp,nyp,nzp), stat=ierr) ; absk = 0. +allocate(avg_ddx_c(nxp), stat=ierr) ; avg_ddx_c = 0. +allocate(avg_lapc(nxp), stat=ierr) ; avg_lapc = 0. allocate(avg_ddz_c(nxp), stat=ierr) ; avg_ddz_c = 0. -allocate(c(nxp,nyp,nzp), stat=ierr) ; c = 0. allocate(avg_c(nxp), stat=ierr) ; avg_c = 0. -allocate(fsd(nxp,nyp,nzp), stat=ierr) ; fsd = 0. -allocate(d2dy_c(nxp,nyp,nzp), stat=ierr) ; d2dy_c = 0. allocate(avg_d2dy_c(nxp), stat=ierr) ; avg_d2dy_c = 0. -allocate(fsd_avg_t4(nxp), stat=ierr) ; fsd_avg_t4 = 0. -allocate(d2dx_c(nxp,nyp,nzp), stat=ierr) ; d2dx_c = 0. -allocate(t1(nxp,nyp,nzp), stat=ierr) ; t1 = 0. -allocate(t6____fsd_avg(nxp,nyp,nzp), stat=ierr) ; t6____fsd_avg = 0. -allocate(t8____fsd_avg(nxp,nyp,nzp), stat=ierr) ; t8____fsd_avg = 0. -! u is read from file allocate(avg_u(nxp), stat=ierr) ; avg_u = 0. allocate(avg_v(nxp), stat=ierr) ; avg_v = 0. allocate(avg_w(nxp), stat=ierr) ; avg_w = 0. -! y is read from file +allocate(fsd_avg_v(nxp), stat=ierr) ; fsd_avg_v = 0. allocate(fsd_avg_w(nxp), stat=ierr) ; fsd_avg_w = 0. allocate(fsd_avg_u(nxp), stat=ierr) ; fsd_avg_u = 0. -allocate(sd(nxp,nyp,nzp), stat=ierr) ; sd = 0. +allocate(xyzbuffer0(nxp,nyp,nzp), stat=ierr) ; xyzbuffer0 = 0. +allocate(xyzbuffer1(nxp,nyp,nzp), stat=ierr) ; xyzbuffer1 = 0. +allocate(xyzbuffer2(nxp,nyp,nzp), stat=ierr) ; xyzbuffer2 = 0. +allocate(xyzbuffer3(nxp,nyp,nzp), stat=ierr) ; xyzbuffer3 = 0. +allocate(xyzbuffer4(nxp,nyp,nzp), stat=ierr) ; xyzbuffer4 = 0. +allocate(xyzbuffer5(nxp,nyp,nzp), stat=ierr) ; xyzbuffer5 = 0. +allocate(xyzbuffer6(nxp,nyp,nzp), stat=ierr) ; xyzbuffer6 = 0. +allocate(xyzbuffer7(nxp,nyp,nzp), stat=ierr) ; xyzbuffer7 = 0. +allocate(xyzbuffer8(nxp,nyp,nzp), stat=ierr) ; xyzbuffer8 = 0. +allocate(xyzbuffer9(nxp,nyp,nzp), stat=ierr) ; xyzbuffer9 = 0. +allocate(xyzbuffer10(nxp,nyp,nzp), stat=ierr) ; xyzbuffer10 = 0. end subroutine m_terms_init @@ -144,66 +102,45 @@ end subroutine m_terms_init subroutine m_terms_finalize deallocate(fsd_avg_divn) -deallocate(t5____fsd_avg) -deallocate(ddx_nx) deallocate(fsd_avg_ny) deallocate(fsd_avg_nx) deallocate(fsd_avg_nz) -deallocate(ddz_c) -deallocate(vn) deallocate(avg_d2dz_c) deallocate(avg_d2dx_c) -deallocate(ddy_c) -deallocate(t7____fsd_avg) -deallocate(ddx_c) -deallocate(t2____fsd_avg) -deallocate(avg_lapc) deallocate(fsd_avg_t3) deallocate(fsd_avg_t2) -deallocate(avg_ddx_c) +deallocate(fsd_avg_t1) deallocate(fsd_avg_t7) deallocate(fsd_avg_t6) deallocate(fsd_avg_t5) -deallocate(ddy_ny) -deallocate(wrate) +deallocate(fsd_avg_t4) deallocate(fsd_avg_t8) deallocate(avg_fsd) deallocate(fsd_avg_absk) -deallocate(nx) -deallocate(ny) -deallocate(nz) -deallocate(ddz_nz) deallocate(fsd_avg_sd) -deallocate(lapc) deallocate(avg_ddy_c) -deallocate(divn) -! w is read from file -deallocate(d2dz_c) -! v is read from file -deallocate(fsd_avg_t1) -deallocate(t3____fsd_avg) -deallocate(fsd_avg_v) -deallocate(t4____fsd_avg) -deallocate(absk) +deallocate(avg_ddx_c) +deallocate(avg_lapc) deallocate(avg_ddz_c) -deallocate(c) deallocate(avg_c) -deallocate(fsd) -deallocate(d2dy_c) deallocate(avg_d2dy_c) -deallocate(fsd_avg_t4) -deallocate(d2dx_c) -deallocate(t1) -deallocate(t6____fsd_avg) -deallocate(t8____fsd_avg) -! u is read from file deallocate(avg_u) deallocate(avg_v) deallocate(avg_w) -! y is read from file +deallocate(fsd_avg_v) deallocate(fsd_avg_w) deallocate(fsd_avg_u) -deallocate(sd) +deallocate(xyzbuffer0) +deallocate(xyzbuffer1) +deallocate(xyzbuffer2) +deallocate(xyzbuffer3) +deallocate(xyzbuffer4) +deallocate(xyzbuffer5) +deallocate(xyzbuffer6) +deallocate(xyzbuffer7) +deallocate(xyzbuffer8) +deallocate(xyzbuffer9) +deallocate(xyzbuffer10) end subroutine m_terms_finalize @@ -212,9 +149,6 @@ subroutine m_terms_calculate_pass1 integer :: i, j, k -! u is read from file -! w is read from file -! y is read from file do k = 1, nzp do j = 1, nyp @@ -233,7 +167,6 @@ end do end do end do -! v is read from file do k = 1, nzp do j = 1, nyp @@ -248,21 +181,21 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -c(i,j,k) = ( 1.0 - y(i,j,k) ) +xyzbuffer10(i,j,k) = ( 1.0 - y(i,j,k) ) end do end do end do -call d2dy ( d2dy_c, c ) -call ddx ( ddx_c, c ) -call ddy ( ddy_c, c ) -call ddz ( ddz_c, c ) +call d2dy ( xyzbuffer9, xyzbuffer10 ) +call ddx ( xyzbuffer8, xyzbuffer10 ) +call ddy ( xyzbuffer3, xyzbuffer10 ) +call ddz ( xyzbuffer2, xyzbuffer10 ) ! ( sqrt ( ( ( ((ddx_c(i,j,k))*(ddx_c(i,j,k))) + ((ddy_c(i,j,k))*(ddy_c(i,j,k))) ) + ((ddz_c(i,j,k))*(ddz_c(i,j,k))) ) ) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd(i,j,k) = ( sqrt ( ( ( ((ddx_c(i,j,k))*(ddx_c(i,j,k))) + ((ddy_c(i,j,k))*(ddy_c(i,j,k))) ) + ((ddz_c(i,j,k))*(ddz_c(i,j,k))) ) ) ) +xyzbuffer1(i,j,k) = ( sqrt ( ( ( ((xyzbuffer8(i,j,k))*(xyzbuffer8(i,j,k))) + ((xyzbuffer3(i,j,k))*(xyzbuffer3(i,j,k))) ) + ((xyzbuffer2(i,j,k))*(xyzbuffer2(i,j,k))) ) ) ) end do end do end do @@ -271,7 +204,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_u(i) = fsd_avg_u(i) + u(i,j,k) * fsd(i,j,k) +fsd_avg_u(i) = fsd_avg_u(i) + u(i,j,k) * xyzbuffer1(i,j,k) end do end do end do @@ -280,7 +213,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_w(i) = fsd_avg_w(i) + w(i,j,k) * fsd(i,j,k) +fsd_avg_w(i) = fsd_avg_w(i) + w(i,j,k) * xyzbuffer1(i,j,k) end do end do end do @@ -290,7 +223,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -nx(i,j,k) = ( ( - ddx_c(i,j,k) ) / fsd(i,j,k) ) +xyzbuffer0(i,j,k) = ( ( - xyzbuffer8(i,j,k) ) / xyzbuffer1(i,j,k) ) end do end do end do @@ -300,7 +233,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -nz(i,j,k) = ( ( - ddz_c(i,j,k) ) / fsd(i,j,k) ) +xyzbuffer7(i,j,k) = ( ( - xyzbuffer2(i,j,k) ) / xyzbuffer1(i,j,k) ) end do end do end do @@ -310,7 +243,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -wrate(i,j,k) = ( rxn_rate ( c(i,j,k) ) ) +xyzbuffer6(i,j,k) = ( rxn_rate ( xyzbuffer10(i,j,k) ) ) end do end do end do @@ -319,7 +252,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_c(i) = avg_c(i) + c(i,j,k) +avg_c(i) = avg_c(i) + xyzbuffer10(i,j,k) end do end do end do @@ -328,7 +261,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_d2dy_c(i) = avg_d2dy_c(i) + d2dy_c(i,j,k) +avg_d2dy_c(i) = avg_d2dy_c(i) + xyzbuffer9(i,j,k) end do end do end do @@ -337,7 +270,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_ddx_c(i) = avg_ddx_c(i) + ddx_c(i,j,k) +avg_ddx_c(i) = avg_ddx_c(i) + xyzbuffer8(i,j,k) end do end do end do @@ -346,19 +279,19 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_ddz_c(i) = avg_ddz_c(i) + ddz_c(i,j,k) +avg_ddz_c(i) = avg_ddz_c(i) + xyzbuffer2(i,j,k) end do end do end do -call d2dx ( d2dx_c, c ) -call ddx ( ddx_nx, nx ) -call ddz ( ddz_nz, nz ) +call d2dx ( xyzbuffer5, xyzbuffer10 ) +call ddx ( xyzbuffer4, xyzbuffer0 ) +call ddz ( xyzbuffer8, xyzbuffer7 ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_nx(i) = fsd_avg_nx(i) + nx(i,j,k) * fsd(i,j,k) +fsd_avg_nx(i) = fsd_avg_nx(i) + xyzbuffer0(i,j,k) * xyzbuffer1(i,j,k) end do end do end do @@ -367,7 +300,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_nz(i) = fsd_avg_nz(i) + nz(i,j,k) * fsd(i,j,k) +fsd_avg_nz(i) = fsd_avg_nz(i) + xyzbuffer7(i,j,k) * xyzbuffer1(i,j,k) end do end do end do @@ -376,7 +309,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_v(i) = fsd_avg_v(i) + v(i,j,k) * fsd(i,j,k) +fsd_avg_v(i) = fsd_avg_v(i) + v(i,j,k) * xyzbuffer1(i,j,k) end do end do end do @@ -386,7 +319,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -ny(i,j,k) = ( ( - ddy_c(i,j,k) ) / fsd(i,j,k) ) +xyzbuffer2(i,j,k) = ( ( - xyzbuffer3(i,j,k) ) / xyzbuffer1(i,j,k) ) end do end do end do @@ -396,7 +329,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -vn(i,j,k) = ( ( ( u(i,j,k) * nx(i,j,k) ) + ( v(i,j,k) * ny(i,j,k) ) ) + ( w(i,j,k) * nz(i,j,k) ) ) +xyzbuffer7(i,j,k) = ( ( ( u(i,j,k) * xyzbuffer0(i,j,k) ) + ( v(i,j,k) * xyzbuffer2(i,j,k) ) ) + ( w(i,j,k) * xyzbuffer7(i,j,k) ) ) end do end do end do @@ -405,7 +338,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_d2dx_c(i) = avg_d2dx_c(i) + d2dx_c(i,j,k) +avg_d2dx_c(i) = avg_d2dx_c(i) + xyzbuffer5(i,j,k) end do end do end do @@ -414,17 +347,17 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_ddy_c(i) = avg_ddy_c(i) + ddy_c(i,j,k) +avg_ddy_c(i) = avg_ddy_c(i) + xyzbuffer3(i,j,k) end do end do end do -call d2dz ( d2dz_c, c ) +call d2dz ( xyzbuffer10, xyzbuffer10 ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_ny(i) = fsd_avg_ny(i) + ny(i,j,k) * fsd(i,j,k) +fsd_avg_ny(i) = fsd_avg_ny(i) + xyzbuffer2(i,j,k) * xyzbuffer1(i,j,k) end do end do end do @@ -434,7 +367,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -lapc(i,j,k) = ( ( d2dx_c(i,j,k) + d2dy_c(i,j,k) ) + d2dz_c(i,j,k) ) +xyzbuffer3(i,j,k) = ( ( xyzbuffer5(i,j,k) + xyzbuffer9(i,j,k) ) + xyzbuffer10(i,j,k) ) end do end do end do @@ -443,7 +376,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_d2dz_c(i) = avg_d2dz_c(i) + d2dz_c(i,j,k) +avg_d2dz_c(i) = avg_d2dz_c(i) + xyzbuffer10(i,j,k) end do end do end do @@ -452,7 +385,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_lapc(i) = avg_lapc(i) + lapc(i,j,k) +avg_lapc(i) = avg_lapc(i) + xyzbuffer3(i,j,k) end do end do end do @@ -462,7 +395,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -sd(i,j,k) = ( ( ( ( ( d2dx_c(i,j,k) + d2dy_c(i,j,k) ) + d2dz_c(i,j,k) ) * rod ) + wrate(i,j,k) ) / fsd(i,j,k) ) +xyzbuffer6(i,j,k) = ( ( ( ( ( xyzbuffer5(i,j,k) + xyzbuffer9(i,j,k) ) + xyzbuffer10(i,j,k) ) * rod ) + xyzbuffer6(i,j,k) ) / xyzbuffer1(i,j,k) ) end do end do end do @@ -471,7 +404,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_fsd(i) = avg_fsd(i) + fsd(i,j,k) +avg_fsd(i) = avg_fsd(i) + xyzbuffer1(i,j,k) end do end do end do @@ -480,7 +413,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_sd(i) = fsd_avg_sd(i) + sd(i,j,k) * fsd(i,j,k) +fsd_avg_sd(i) = fsd_avg_sd(i) + xyzbuffer6(i,j,k) * xyzbuffer1(i,j,k) end do end do end do @@ -490,17 +423,17 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -t1(i,j,k) = ( ( vn(i,j,k) + sd(i,j,k) ) * nx(i,j,k) ) +xyzbuffer5(i,j,k) = ( ( xyzbuffer7(i,j,k) + xyzbuffer6(i,j,k) ) * xyzbuffer0(i,j,k) ) end do end do end do -call ddy ( ddy_ny, ny ) +call ddy ( xyzbuffer10, xyzbuffer2 ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t1(i) = fsd_avg_t1(i) + t1(i,j,k) * fsd(i,j,k) +fsd_avg_t1(i) = fsd_avg_t1(i) + xyzbuffer5(i,j,k) * xyzbuffer1(i,j,k) end do end do end do @@ -510,7 +443,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -divn(i,j,k) = ( ( ddx_nx(i,j,k) + ddy_ny(i,j,k) ) + ddz_nz(i,j,k) ) +xyzbuffer9(i,j,k) = ( ( xyzbuffer4(i,j,k) + xyzbuffer10(i,j,k) ) + xyzbuffer8(i,j,k) ) end do end do end do @@ -519,7 +452,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_divn(i) = fsd_avg_divn(i) + divn(i,j,k) * fsd(i,j,k) +fsd_avg_divn(i) = fsd_avg_divn(i) + xyzbuffer9(i,j,k) * xyzbuffer1(i,j,k) end do end do end do @@ -529,7 +462,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -absk(i,j,k) = ( dabs ( divn(i,j,k) ) ) +xyzbuffer8(i,j,k) = ( dabs ( xyzbuffer9(i,j,k) ) ) end do end do end do @@ -538,7 +471,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_absk(i) = fsd_avg_absk(i) + absk(i,j,k) * fsd(i,j,k) +fsd_avg_absk(i) = fsd_avg_absk(i) + xyzbuffer8(i,j,k) * xyzbuffer1(i,j,k) end do end do end do @@ -672,29 +605,26 @@ subroutine m_terms_calculate_pass2 integer :: i, j, k -! u is read from file -! w is read from file -! y is read from file ! ( 1.0 - y(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -c(i,j,k) = ( 1.0 - y(i,j,k) ) +xyzbuffer10(i,j,k) = ( 1.0 - y(i,j,k) ) end do end do end do -call d2dy ( d2dy_c, c ) -call ddx ( ddx_c, c ) -call ddy ( ddy_c, c ) -call ddz ( ddz_c, c ) +call d2dy ( xyzbuffer9, xyzbuffer10 ) +call ddx ( xyzbuffer8, xyzbuffer10 ) +call ddy ( xyzbuffer3, xyzbuffer10 ) +call ddz ( xyzbuffer2, xyzbuffer10 ) ! ( sqrt ( ( ( ((ddx_c(i,j,k))*(ddx_c(i,j,k))) + ((ddy_c(i,j,k))*(ddy_c(i,j,k))) ) + ((ddz_c(i,j,k))*(ddz_c(i,j,k))) ) ) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd(i,j,k) = ( sqrt ( ( ( ((ddx_c(i,j,k))*(ddx_c(i,j,k))) + ((ddy_c(i,j,k))*(ddy_c(i,j,k))) ) + ((ddz_c(i,j,k))*(ddz_c(i,j,k))) ) ) ) +xyzbuffer1(i,j,k) = ( sqrt ( ( ( ((xyzbuffer8(i,j,k))*(xyzbuffer8(i,j,k))) + ((xyzbuffer3(i,j,k))*(xyzbuffer3(i,j,k))) ) + ((xyzbuffer2(i,j,k))*(xyzbuffer2(i,j,k))) ) ) ) end do end do end do @@ -704,7 +634,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -nx(i,j,k) = ( ( - ddx_c(i,j,k) ) / fsd(i,j,k) ) +xyzbuffer0(i,j,k) = ( ( - xyzbuffer8(i,j,k) ) / xyzbuffer1(i,j,k) ) end do end do end do @@ -714,7 +644,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -nz(i,j,k) = ( ( - ddz_c(i,j,k) ) / fsd(i,j,k) ) +xyzbuffer7(i,j,k) = ( ( - xyzbuffer2(i,j,k) ) / xyzbuffer1(i,j,k) ) end do end do end do @@ -724,30 +654,29 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -t6____fsd_avg(i,j,k) = (((nx(i,j,k) - fsd_avg_nx(i)))*((nx(i,j,k) - fsd_avg_nx(i)))) +xyzbuffer6(i,j,k) = (((xyzbuffer0(i,j,k) - fsd_avg_nx(i)))*((xyzbuffer0(i,j,k) - fsd_avg_nx(i)))) end do end do end do -! v is read from file ! ( rxn_rate ( c(i,j,k) ) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -wrate(i,j,k) = ( rxn_rate ( c(i,j,k) ) ) +xyzbuffer5(i,j,k) = ( rxn_rate ( xyzbuffer10(i,j,k) ) ) end do end do end do -call d2dx ( d2dx_c, c ) -call ddx ( ddx_nx, nx ) -call ddz ( ddz_nz, nz ) +call d2dx ( xyzbuffer4, xyzbuffer10 ) +call ddx ( xyzbuffer8, xyzbuffer0 ) +call ddz ( xyzbuffer2, xyzbuffer7 ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t6(i) = fsd_avg_t6(i) + t6____fsd_avg(i,j,k) * fsd(i,j,k) +fsd_avg_t6(i) = fsd_avg_t6(i) + xyzbuffer6(i,j,k) * xyzbuffer1(i,j,k) end do end do end do @@ -757,7 +686,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -ny(i,j,k) = ( ( - ddy_c(i,j,k) ) / fsd(i,j,k) ) +xyzbuffer6(i,j,k) = ( ( - xyzbuffer3(i,j,k) ) / xyzbuffer1(i,j,k) ) end do end do end do @@ -767,29 +696,29 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -vn(i,j,k) = ( ( ( u(i,j,k) * nx(i,j,k) ) + ( v(i,j,k) * ny(i,j,k) ) ) + ( w(i,j,k) * nz(i,j,k) ) ) +xyzbuffer3(i,j,k) = ( ( ( u(i,j,k) * xyzbuffer0(i,j,k) ) + ( v(i,j,k) * xyzbuffer6(i,j,k) ) ) + ( w(i,j,k) * xyzbuffer7(i,j,k) ) ) end do end do end do -call d2dz ( d2dz_c, c ) +call d2dz ( xyzbuffer7, xyzbuffer10 ) ! ( ( ( ( ( d2dx_c(i,j,k) + d2dy_c(i,j,k) ) + d2dz_c(i,j,k) ) * rod ) + wrate(i,j,k) ) / fsd(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -sd(i,j,k) = ( ( ( ( ( d2dx_c(i,j,k) + d2dy_c(i,j,k) ) + d2dz_c(i,j,k) ) * rod ) + wrate(i,j,k) ) / fsd(i,j,k) ) +xyzbuffer5(i,j,k) = ( ( ( ( ( xyzbuffer4(i,j,k) + xyzbuffer9(i,j,k) ) + xyzbuffer7(i,j,k) ) * rod ) + xyzbuffer5(i,j,k) ) / xyzbuffer1(i,j,k) ) end do end do end do -call ddy ( ddy_ny, ny ) +call ddy ( xyzbuffer4, xyzbuffer6 ) ! ( ( vn(i,j,k) + sd(i,j,k) ) * nx(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -t1(i,j,k) = ( ( vn(i,j,k) + sd(i,j,k) ) * nx(i,j,k) ) +xyzbuffer10(i,j,k) = ( ( xyzbuffer3(i,j,k) + xyzbuffer5(i,j,k) ) * xyzbuffer0(i,j,k) ) end do end do end do @@ -799,7 +728,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -t5____fsd_avg(i,j,k) = (((t1(i,j,k) - fsd_avg_t1(i)))*((t1(i,j,k) - fsd_avg_t1(i)))) +xyzbuffer9(i,j,k) = (((xyzbuffer10(i,j,k) - fsd_avg_t1(i)))*((xyzbuffer10(i,j,k) - fsd_avg_t1(i)))) end do end do end do @@ -809,7 +738,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -divn(i,j,k) = ( ( ddx_nx(i,j,k) + ddy_ny(i,j,k) ) + ddz_nz(i,j,k) ) +xyzbuffer8(i,j,k) = ( ( xyzbuffer8(i,j,k) + xyzbuffer4(i,j,k) ) + xyzbuffer2(i,j,k) ) end do end do end do @@ -818,7 +747,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t5(i) = fsd_avg_t5(i) + t5____fsd_avg(i,j,k) * fsd(i,j,k) +fsd_avg_t5(i) = fsd_avg_t5(i) + xyzbuffer9(i,j,k) * xyzbuffer1(i,j,k) end do end do end do @@ -828,7 +757,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -t2____fsd_avg(i,j,k) = ( (t1(i,j,k) - fsd_avg_t1(i)) * (nx(i,j,k) - fsd_avg_nx(i)) ) +xyzbuffer3(i,j,k) = ( (xyzbuffer10(i,j,k) - fsd_avg_t1(i)) * (xyzbuffer0(i,j,k) - fsd_avg_nx(i)) ) end do end do end do @@ -838,7 +767,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -t7____fsd_avg(i,j,k) = (((divn(i,j,k) - fsd_avg_divn(i)))*((divn(i,j,k) - fsd_avg_divn(i)))) +xyzbuffer2(i,j,k) = (((xyzbuffer8(i,j,k) - fsd_avg_divn(i)))*((xyzbuffer8(i,j,k) - fsd_avg_divn(i)))) end do end do end do @@ -848,7 +777,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -absk(i,j,k) = ( dabs ( divn(i,j,k) ) ) +xyzbuffer0(i,j,k) = ( dabs ( xyzbuffer8(i,j,k) ) ) end do end do end do @@ -857,7 +786,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t7(i) = fsd_avg_t7(i) + t7____fsd_avg(i,j,k) * fsd(i,j,k) +fsd_avg_t7(i) = fsd_avg_t7(i) + xyzbuffer2(i,j,k) * xyzbuffer1(i,j,k) end do end do end do @@ -867,7 +796,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -t3____fsd_avg(i,j,k) = ( (t1(i,j,k) - fsd_avg_t1(i)) * (divn(i,j,k) - fsd_avg_divn(i)) ) +xyzbuffer7(i,j,k) = ( (xyzbuffer10(i,j,k) - fsd_avg_t1(i)) * (xyzbuffer8(i,j,k) - fsd_avg_divn(i)) ) end do end do end do @@ -877,7 +806,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -t8____fsd_avg(i,j,k) = (((absk(i,j,k) - fsd_avg_absk(i)))*((absk(i,j,k) - fsd_avg_absk(i)))) +xyzbuffer6(i,j,k) = (((xyzbuffer0(i,j,k) - fsd_avg_absk(i)))*((xyzbuffer0(i,j,k) - fsd_avg_absk(i)))) end do end do end do @@ -886,7 +815,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t2(i) = fsd_avg_t2(i) + t2____fsd_avg(i,j,k) * fsd(i,j,k) +fsd_avg_t2(i) = fsd_avg_t2(i) + xyzbuffer3(i,j,k) * xyzbuffer1(i,j,k) end do end do end do @@ -895,7 +824,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t8(i) = fsd_avg_t8(i) + t8____fsd_avg(i,j,k) * fsd(i,j,k) +fsd_avg_t8(i) = fsd_avg_t8(i) + xyzbuffer6(i,j,k) * xyzbuffer1(i,j,k) end do end do end do @@ -904,7 +833,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t3(i) = fsd_avg_t3(i) + t3____fsd_avg(i,j,k) * fsd(i,j,k) +fsd_avg_t3(i) = fsd_avg_t3(i) + xyzbuffer7(i,j,k) * xyzbuffer1(i,j,k) end do end do end do @@ -914,7 +843,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -t4____fsd_avg(i,j,k) = ( (t1(i,j,k) - fsd_avg_t1(i)) * (absk(i,j,k) - fsd_avg_absk(i)) ) +xyzbuffer5(i,j,k) = ( (xyzbuffer10(i,j,k) - fsd_avg_t1(i)) * (xyzbuffer0(i,j,k) - fsd_avg_absk(i)) ) end do end do end do @@ -923,7 +852,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t4(i) = fsd_avg_t4(i) + t4____fsd_avg(i,j,k) * fsd(i,j,k) +fsd_avg_t4(i) = fsd_avg_t4(i) + xyzbuffer5(i,j,k) * xyzbuffer1(i,j,k) end do end do end do