diff --git a/code/code_gen/code_gen.py b/code/code_gen/code_gen.py index 44a0e9d..7df21c7 100644 --- a/code/code_gen/code_gen.py +++ b/code/code_gen/code_gen.py @@ -292,7 +292,7 @@ class CalculateTree(Transformer): var = str(v) - if self.fluctuation[str(v)]: + if self.has_fluc()[str(v)]: if w == str(None): var = var + "_" self.dependency[avg_var] = [str(v)+"_"] @@ -319,7 +319,7 @@ class CalculateTree(Transformer): self.codes[var]["calc"] = self.codes[var]["calc"].format(w+"_") else: - self.dependency[avg_var] = [str(v)] + ( [] if w == str(None) else [w] ) + self.dependency[avg_var] = [var] + ( [] if w == str(None) else [w] ) wfmt = "* {}(i,j,k)" pWeight = (wfmt.format(w) if w != str(None) else "") diff --git a/code/code_gen/terms.input b/code/code_gen/terms.input index 410f77b..b4a3cb3 100644 --- a/code/code_gen/terms.input +++ b/code/code_gen/terms.input @@ -12,13 +12,19 @@ nz = - ddz(c) / fsd vn = u * nx + v * ny + w * nz -absk = abs(ddx(nx) + ddy(ny) + ddz(nz)) +divn = ddx(nx) + ddy(ny) + ddz(nz) + +absk = abs(divn) fu = (vn + sd) * nx +lapc = d2dx(c) + d2dy(c) + d2dz(c) + + t1 = sqr(fu') t2 = sqr(absk') +t3 = sqr(divn') -avg { c, fsd } +avg { c, u, v, w, fsd, lapc, ddx_c, ddy_c, ddz_c, d2dx_c, d2dy_c, d2dz_c } -avg fsd { t1, t2, fu, absk} +avg fsd { u, v, w, nx, ny, nz, t1, t2, fu, absk, divn, sd } diff --git a/code/m_terms.f90 b/code/m_terms.f90 index fdf728e..d36c39f 100644 --- a/code/m_terms.f90 +++ b/code/m_terms.f90 @@ -7,17 +7,23 @@ use m_calculate implicit none -character (len = *), parameter :: output_header="x avg_c avg_fsd fsd_avg_t1 fsd_avg_t2 fsd_avg_fu fsd_avg_absk" +character (len = *), parameter :: output_header="x avg_c avg_u avg_v avg_w avg_fsd avg_lapc avg_ddx_c avg_ddy_c avg_ddz_c avg_d2dx_c avg_d2dy_c avg_d2dz_c fsd_avg_u fsd_avg_v fsd_avg_w fsd_avg_nx fsd_avg_ny fsd_avg_nz fsd_avg_t1 fsd_avg_t2 fsd_avg_fu fsd_avg_absk fsd_avg_divn fsd_avg_sd" +real*8, allocatable, dimension(:) :: fsd_avg_divn real*8, allocatable, dimension(:,:,:) :: ddx_nx -real*8, allocatable, dimension(:,:,:) :: t1_fsd +real*8, allocatable, dimension(:) :: fsd_avg_ny +real*8, allocatable, dimension(:) :: fsd_avg_nx real*8, allocatable, dimension(:,:,:) :: t2_fsd +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(:,:,:) :: ddx_c real*8, allocatable, dimension(:) :: fsd_avg_fu real*8, allocatable, dimension(:) :: fsd_avg_t2 -real*8, allocatable, dimension(:) :: fsd_avg_t1 +real*8, allocatable, dimension(:) :: avg_ddx_c +real*8, allocatable, dimension(:) :: fsd_avg_v real*8, allocatable, dimension(:,:,:) :: ddy_ny real*8, allocatable, dimension(:,:,:) :: wrate real*8, allocatable, dimension(:) :: avg_fsd @@ -26,15 +32,29 @@ 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 real*8, allocatable, dimension(:,:,:) :: fu +real*8, allocatable, dimension(:) :: fsd_avg_t1 +real*8, allocatable, dimension(:) :: avg_lapc +real*8, allocatable, dimension(:,:,:) :: t1_fsd +real*8, allocatable, dimension(:,:,:) :: absk +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(:,:,:) :: d2dx_c +real*8, allocatable, dimension(:) :: avg_u +real*8, allocatable, dimension(:) :: avg_v +real*8, allocatable, dimension(:) :: avg_w real*8, allocatable, dimension(:,:,:) :: d2dz_c +real*8, allocatable, dimension(:) :: fsd_avg_w +real*8, allocatable, dimension(:) :: fsd_avg_u real*8, allocatable, dimension(:,:,:) :: sd -real*8, allocatable, dimension(:,:,:) :: absk contains @@ -43,16 +63,22 @@ subroutine m_terms_init integer :: ierr +allocate(fsd_avg_divn(nxp), stat=ierr) ; fsd_avg_divn = 0. allocate(ddx_nx(nxp,nyp,nzp), stat=ierr) ; ddx_nx = 0. -allocate(t1_fsd(nxp,nyp,nzp), stat=ierr) ; t1_fsd = 0. +allocate(fsd_avg_ny(nxp), stat=ierr) ; fsd_avg_ny = 0. +allocate(fsd_avg_nx(nxp), stat=ierr) ; fsd_avg_nx = 0. allocate(t2_fsd(nxp,nyp,nzp), stat=ierr) ; t2_fsd = 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(ddx_c(nxp,nyp,nzp), stat=ierr) ; ddx_c = 0. allocate(fsd_avg_fu(nxp), stat=ierr) ; fsd_avg_fu = 0. allocate(fsd_avg_t2(nxp), stat=ierr) ; fsd_avg_t2 = 0. -allocate(fsd_avg_t1(nxp), stat=ierr) ; fsd_avg_t1 = 0. +allocate(avg_ddx_c(nxp), stat=ierr) ; avg_ddx_c = 0. +allocate(fsd_avg_v(nxp), stat=ierr) ; fsd_avg_v = 0. allocate(ddy_ny(nxp,nyp,nzp), stat=ierr) ; ddy_ny = 0. allocate(wrate(nxp,nyp,nzp), stat=ierr) ; wrate = 0. allocate(avg_fsd(nxp), stat=ierr) ; avg_fsd = 0. @@ -61,15 +87,29 @@ 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. allocate(fu(nxp,nyp,nzp), stat=ierr) ; fu = 0. +allocate(fsd_avg_t1(nxp), stat=ierr) ; fsd_avg_t1 = 0. +allocate(avg_lapc(nxp), stat=ierr) ; avg_lapc = 0. +allocate(t1_fsd(nxp,nyp,nzp), stat=ierr) ; t1_fsd = 0. +allocate(absk(nxp,nyp,nzp), stat=ierr) ; absk = 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(d2dx_c(nxp,nyp,nzp), stat=ierr) ; d2dx_c = 0. +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. allocate(d2dz_c(nxp,nyp,nzp), stat=ierr) ; d2dz_c = 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(absk(nxp,nyp,nzp), stat=ierr) ; absk = 0. end subroutine m_terms_init @@ -77,16 +117,22 @@ end subroutine m_terms_init subroutine m_terms_finalize +deallocate(fsd_avg_divn) deallocate(ddx_nx) -deallocate(t1_fsd) +deallocate(fsd_avg_ny) +deallocate(fsd_avg_nx) deallocate(t2_fsd) +deallocate(fsd_avg_nz) deallocate(ddz_c) deallocate(vn) +deallocate(avg_d2dz_c) +deallocate(avg_d2dx_c) deallocate(ddy_c) deallocate(ddx_c) deallocate(fsd_avg_fu) deallocate(fsd_avg_t2) -deallocate(fsd_avg_t1) +deallocate(avg_ddx_c) +deallocate(fsd_avg_v) deallocate(ddy_ny) deallocate(wrate) deallocate(avg_fsd) @@ -95,15 +141,29 @@ deallocate(nx) deallocate(ny) deallocate(nz) deallocate(ddz_nz) +deallocate(fsd_avg_sd) +deallocate(lapc) +deallocate(avg_ddy_c) +deallocate(divn) deallocate(fu) +deallocate(fsd_avg_t1) +deallocate(avg_lapc) +deallocate(t1_fsd) +deallocate(absk) +deallocate(avg_ddz_c) deallocate(c) deallocate(avg_c) deallocate(fsd) deallocate(d2dy_c) +deallocate(avg_d2dy_c) deallocate(d2dx_c) +deallocate(avg_u) +deallocate(avg_v) +deallocate(avg_w) deallocate(d2dz_c) +deallocate(fsd_avg_w) +deallocate(fsd_avg_u) deallocate(sd) -deallocate(absk) end subroutine m_terms_finalize @@ -124,9 +184,44 @@ end do call ddz ( ddz_c, c ) call ddy ( ddy_c, c ) -call d2dx ( d2dx_c, c ) call ddx ( ddx_c, c ) +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) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +wrate(i,j,k) = ( rxn_rate ( c(i,j,k) ) ) +end do +end do +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) +end do +end do +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) +end do +end do +end do + + do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -148,22 +243,12 @@ 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) ) +fsd_avg_v(i) = fsd_avg_v(i) + v(i,j,k) * fsd(i,j,k) end do end do end do -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -wrate(i,j,k) = ( rxn_rate ( c(i,j,k) ) ) -end do -end do -end do - -call d2dy ( d2dy_c, c ) - do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -182,6 +267,33 @@ end do end do call ddx ( ddx_nx, nx ) + +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) +end do +end do +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) ) +end do +end do +end do + + +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) +end do +end do +end do + call ddy ( ddy_ny, ny ) do k = 1, nzp @@ -193,6 +305,15 @@ end do 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) +end do +end do +end do + + do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -202,12 +323,29 @@ end do end do call ddz ( ddz_nz, nz ) -call d2dz ( d2dz_c, c ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -absk(i,j,k) = ( dabs ( ( ( ddx_nx(i,j,k) + ddy_ny(i,j,k) ) + ddz_nz(i,j,k) ) ) ) +divn(i,j,k) = ( ( ddx_nx(i,j,k) + ddy_ny(i,j,k) ) + ddz_nz(i,j,k) ) +end do +end do +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) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +absk(i,j,k) = ( dabs ( divn(i,j,k) ) ) end do end do end do @@ -221,6 +359,99 @@ end do end do end do +call d2dy ( d2dy_c, c ) + +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) +end do +end do +end do + +call d2dx ( d2dx_c, c ) + +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) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_u(i) = avg_u(i) + u(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_v(i) = avg_v(i) + v(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_w(i) = avg_w(i) + w(i,j,k) +end do +end do +end do + +call d2dz ( d2dz_c, c ) + +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) +end do +end do +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) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_lapc(i) = avg_lapc(i) + lapc(i,j,k) +end do +end do +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) +end do +end do +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) +end do +end do +end do + do k = 1, nzp do j = 1, nyp @@ -231,6 +462,15 @@ end do 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) +end do +end do +end do + + do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -266,11 +506,91 @@ call MPI_ALLREDUCE(MPI_IN_PLACE, avg_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, avg_c = avg_c / denum +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_u, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_u = avg_u / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_v, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_v = avg_v / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_w, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_w = avg_w / denum + + call MPI_ALLREDUCE(MPI_IN_PLACE, avg_fsd, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) avg_fsd = avg_fsd / denum +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_lapc, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_lapc = avg_lapc / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_ddx_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_ddx_c = avg_ddx_c / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_ddy_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_ddy_c = avg_ddy_c / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_ddz_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_ddz_c = avg_ddz_c / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_d2dx_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_d2dx_c = avg_d2dx_c / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_d2dy_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_d2dy_c = avg_d2dy_c / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_d2dz_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_d2dz_c = avg_d2dz_c / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_u, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd_avg_u = fsd_avg_u / denum / avg_fsd + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_v, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd_avg_v = fsd_avg_v / denum / avg_fsd + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_w, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd_avg_w = fsd_avg_w / denum / avg_fsd + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_nx, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd_avg_nx = fsd_avg_nx / denum / avg_fsd + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_ny, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd_avg_ny = fsd_avg_ny / denum / avg_fsd + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_nz, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd_avg_nz = fsd_avg_nz / denum / avg_fsd + + call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_fu, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) fsd_avg_fu = fsd_avg_fu / denum / avg_fsd @@ -281,6 +601,16 @@ call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_absk, nxp, MPI_REAL8, MPI_SUM, MPI_COMM fsd_avg_absk = fsd_avg_absk / denum / avg_fsd +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_divn, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd_avg_divn = fsd_avg_divn / denum / avg_fsd + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_sd, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd_avg_sd = fsd_avg_sd / denum / avg_fsd + + end subroutine m_terms_average_pass1 @@ -311,15 +641,6 @@ end do 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) ) -end do -end do -end do - - do k = 1, nzp do j = 1, nyp do i = 1, nxp @@ -340,6 +661,15 @@ end do end do call ddx ( ddx_nx, nx ) + +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) ) +end do +end do +end do + call ddy ( ddy_ny, ny ) do k = 1, nzp @@ -360,12 +690,21 @@ end do end do call ddz ( ddz_nz, nz ) + +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) ) +end do +end do +end do + call d2dz ( d2dz_c, c ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -absk(i,j,k) = ( dabs ( ( ( ddx_nx(i,j,k) + ddy_ny(i,j,k) ) + ddz_nz(i,j,k) ) ) ) +absk(i,j,k) = ( dabs ( divn(i,j,k) ) ) end do end do end do @@ -461,7 +800,7 @@ open (200, file="qEdge_X.dat") write (200,*) output_header do i=1,nxp - write (200,'(7e20.10)') real(i)*hxp, avg_c(i), avg_fsd(i), fsd_avg_t1(i), fsd_avg_t2(i), fsd_avg_fu(i), fsd_avg_absk(i) + write (200,'(25e20.10)') real(i)*hxp, avg_c(i), avg_u(i), avg_v(i), avg_w(i), avg_fsd(i), avg_lapc(i), avg_ddx_c(i), avg_ddy_c(i), avg_ddz_c(i), avg_d2dx_c(i), avg_d2dy_c(i), avg_d2dz_c(i), fsd_avg_u(i), fsd_avg_v(i), fsd_avg_w(i), fsd_avg_nx(i), fsd_avg_ny(i), fsd_avg_nz(i), fsd_avg_t1(i), fsd_avg_t2(i), fsd_avg_fu(i), fsd_avg_absk(i), fsd_avg_divn(i), fsd_avg_sd(i) end do close (200)