diff --git a/code/code_gen/code_gen.py b/code/code_gen/code_gen.py index f2abc32..86dc1be 100644 --- a/code/code_gen/code_gen.py +++ b/code/code_gen/code_gen.py @@ -6,6 +6,7 @@ import argparse parser = argparse.ArgumentParser() parser.add_argument("term_file", help="name of file containing postprocessing term spec") parser.add_argument("-b", "--build-info", action="store_true", help="print build_info instead of code") +parser.add_argument("-p", "--print_report", action="store_true", help="print code generation report instead of code") args = parser.parse_args() from lark import Lark, Visitor, Transformer, v_args, Token @@ -38,7 +39,7 @@ calc_grammar = """ | "$" NAME -> env | "(" sum ")" | inlinefunc "(" sum ")" -> icall - | mathfunc "(" sum ")" -> fcall + | mathfunc "(" sum ("," sum)* ")" -> fcall | derivative "(" NAME ")" -> dnx avg: "avg" [NAME] @@ -106,7 +107,7 @@ class VersionInfo(object): -def test(terms_raw): +def test(terms_raw, report=False): tree = Lark(calc_grammar, parser='lalr' ).parse(terms_raw) @@ -120,9 +121,10 @@ def test(terms_raw): cdict = ir4.print_program() - print mod_form.format( cdict ) - - # ir4.save_ir() + if not report: + print mod_form.format( cdict ) + else: + ir4.save_ir() @@ -142,4 +144,4 @@ if __name__ == '__main__': if args.build_info: build_info(terms_raw) else: - test(terms_raw) + test(terms_raw, args.print_report) diff --git a/code/code_gen/post.py b/code/code_gen/post.py index cc08100..6a0c4bf 100644 --- a/code/code_gen/post.py +++ b/code/code_gen/post.py @@ -106,7 +106,9 @@ class ExpToCode(Transformer): fcode = "({0})".format(b) return fcode - def fcall (self, a, b): + def fcall (self, *args): + a = args[0] + b = ", ".join(args[1:]) fcode = "( {} ( {} ) )".format(a, b) return fcode diff --git a/code/code_gen/terms.input b/code/code_gen/terms.input index 1f57d0f..ee4555b 100644 --- a/code/code_gen/terms.input +++ b/code/code_gen/terms.input @@ -3,10 +3,30 @@ c = 1.0 - y wrate = rxn_rate(c) -mask = $threshold_min_max(c) +mask1 = $threshold_min_max(c, 0.05, 0.15) +mask2 = $threshold_min_max(c, 0.15, 0.25) +mask3 = $threshold_min_max(c, 0.25, 0.35) +mask4 = $threshold_min_max(c, 0.35, 0.45) +mask5 = $threshold_min_max(c, 0.45, 0.55) +mask6 = $threshold_min_max(c, 0.55, 0.65) +mask7 = $threshold_min_max(c, 0.65, 0.75) +mask8 = $threshold_min_max(c, 0.75, 0.85) +mask9 = $threshold_min_max(c, 0.85, 0.95) + fsd_orig = sqrt (sqr(ddx(c)) + sqr(ddy(c)) + sqr(ddz(c))) + fsd = fsd_orig * mask +fsd1 = fsd_orig * mask1 +fsd2 = fsd_orig * mask2 +fsd3 = fsd_orig * mask3 +fsd4 = fsd_orig * mask4 +fsd5 = fsd_orig * mask5 +fsd6 = fsd_orig * mask6 +fsd7 = fsd_orig * mask7 +fsd8 = fsd_orig * mask8 +fsd9 = fsd_orig * mask9 + sd = ((d2dx(c) + d2dy(c) + d2dz(c)) * $rod + wrate) / fsd_orig nx = - ddx(c) / fsd_orig @@ -37,6 +57,16 @@ t7 = sqr(divn') t8 = sqr(absk') -avg { c, u, v, w, fsd, lapc, ddx_c, ddy_c, ddz_c, d2dx_c, d2dy_c, d2dz_c } +avg { c, u, v, w, fsd1, fsd2, fsd3, fsd4, fsd5, fsd6, fsd7, fsd8, fsd9, lapc, ddx_c, ddy_c, ddz_c, d2dx_c, d2dy_c, d2dz_c } + +avg fsd1 { nx, ny, nz, t1, t2, t3, t4, t5, t6, t7, t8, absk, divn, sd } +avg fsd2 { nx, ny, nz, t1, t2, t3, t4, t5, t6, t7, t8, absk, divn, sd } +avg fsd3 { nx, ny, nz, t1, t2, t3, t4, t5, t6, t7, t8, absk, divn, sd } +avg fsd4 { nx, ny, nz, t1, t2, t3, t4, t5, t6, t7, t8, absk, divn, sd } +avg fsd5 { nx, ny, nz, t1, t2, t3, t4, t5, t6, t7, t8, absk, divn, sd } +avg fsd6 { nx, ny, nz, t1, t2, t3, t4, t5, t6, t7, t8, absk, divn, sd } +avg fsd7 { nx, ny, nz, t1, t2, t3, t4, t5, t6, t7, t8, absk, divn, sd } +avg fsd8 { nx, ny, nz, t1, t2, t3, t4, t5, t6, t7, t8, absk, divn, sd } +avg fsd9 { nx, ny, nz, t1, t2, t3, t4, t5, t6, t7, t8, absk, divn, sd } + -avg fsd { u, v, w, nx, ny, nz, t1, t2, t3, t4, t5, t6, t7, t8, absk, divn, sd } diff --git a/code/m_calculate.f90 b/code/m_calculate.f90 index 7f8577a..e2e7519 100644 --- a/code/m_calculate.f90 +++ b/code/m_calculate.f90 @@ -239,14 +239,11 @@ contains end function rxn_rate - real function threshold_min_max (c) + real function threshold_min_max (c, minc, maxc) real :: c real :: minc, maxc - minc = 0.1 - maxc = 0.9 - if ((c.lt.minc) .or. (c.gt.maxc)) then threshold_min_max = 0. else diff --git a/code/m_terms.f90 b/code/m_terms.f90 index 52705d8..7d9b376 100644 --- a/code/m_terms.f90 +++ b/code/m_terms.f90 @@ -7,36 +7,153 @@ use m_calculate 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(:) :: fsd_avg_ny -real*8, allocatable, dimension(:) :: fsd_avg_nx -real*8, allocatable, dimension(:) :: fsd_avg_nz +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_fsd1 avg_fsd2 avg_fsd3 avg_fsd4 avg_fsd5 avg_fsd6 avg_fsd7 avg_fsd8 avg_fsd9 avg_lapc avg_u avg_v avg_w fsd1_avg_absk fsd1_avg_divn fsd1_avg_nx fsd1_avg_ny fsd1_avg_nz fsd1_avg_sd fsd1_avg_t1 fsd2_avg_absk fsd2_avg_divn fsd2_avg_nx fsd2_avg_ny fsd2_avg_nz fsd2_avg_sd fsd2_avg_t1 fsd3_avg_absk fsd3_avg_divn fsd3_avg_nx fsd3_avg_ny fsd3_avg_nz fsd3_avg_sd fsd3_avg_t1 fsd4_avg_absk fsd4_avg_divn fsd4_avg_nx fsd4_avg_ny fsd4_avg_nz fsd4_avg_sd fsd4_avg_t1 fsd5_avg_absk fsd5_avg_divn fsd5_avg_nx fsd5_avg_ny fsd5_avg_nz fsd5_avg_sd fsd5_avg_t1 fsd6_avg_absk fsd6_avg_divn fsd6_avg_nx fsd6_avg_ny fsd6_avg_nz fsd6_avg_sd fsd6_avg_t1 fsd7_avg_absk fsd7_avg_divn fsd7_avg_nx fsd7_avg_ny fsd7_avg_nz fsd7_avg_sd fsd7_avg_t1 fsd8_avg_absk fsd8_avg_divn fsd8_avg_nx fsd8_avg_ny fsd8_avg_nz fsd8_avg_sd fsd8_avg_t1 fsd9_avg_absk fsd9_avg_divn fsd9_avg_nx fsd9_avg_ny fsd9_avg_nz fsd9_avg_sd fsd9_avg_t1 fsd1_avg_t2 fsd1_avg_t3 fsd1_avg_t4 fsd1_avg_t5 fsd1_avg_t6 fsd1_avg_t7 fsd1_avg_t8 fsd2_avg_t2 fsd2_avg_t3 fsd2_avg_t4 fsd2_avg_t5 fsd2_avg_t6 fsd2_avg_t7 fsd2_avg_t8 fsd3_avg_t2 fsd3_avg_t3 fsd3_avg_t4 fsd3_avg_t5 fsd3_avg_t6 fsd3_avg_t7 fsd3_avg_t8 fsd4_avg_t2 fsd4_avg_t3 fsd4_avg_t4 fsd4_avg_t5 fsd4_avg_t6 fsd4_avg_t7 fsd4_avg_t8 fsd5_avg_t2 fsd5_avg_t3 fsd5_avg_t4 fsd5_avg_t5 fsd5_avg_t6 fsd5_avg_t7 fsd5_avg_t8 fsd6_avg_t2 fsd6_avg_t3 fsd6_avg_t4 fsd6_avg_t5 fsd6_avg_t6 fsd6_avg_t7 fsd6_avg_t8 fsd7_avg_t2 fsd7_avg_t3 fsd7_avg_t4 fsd7_avg_t5 fsd7_avg_t6 fsd7_avg_t7 fsd7_avg_t8 fsd8_avg_t2 fsd8_avg_t3 fsd8_avg_t4 fsd8_avg_t5 fsd8_avg_t6 fsd8_avg_t7 fsd8_avg_t8 fsd9_avg_t2 fsd9_avg_t3 fsd9_avg_t4 fsd9_avg_t5 fsd9_avg_t6 fsd9_avg_t7 fsd9_avg_t8" +real*8, allocatable, dimension(:) :: fsd6_avg_nx +real*8, allocatable, dimension(:) :: fsd6_avg_ny +real*8, allocatable, dimension(:) :: fsd6_avg_nz +real*8, allocatable, dimension(:) :: fsd3_avg_t1 +real*8, allocatable, dimension(:) :: fsd3_avg_t3 +real*8, allocatable, dimension(:) :: fsd3_avg_t2 +real*8, allocatable, dimension(:) :: fsd3_avg_t5 +real*8, allocatable, dimension(:) :: fsd3_avg_t4 +real*8, allocatable, dimension(:) :: fsd3_avg_t7 +real*8, allocatable, dimension(:) :: fsd3_avg_t6 +real*8, allocatable, dimension(:) :: fsd3_avg_t8 +real*8, allocatable, dimension(:) :: avg_ddy_c +real*8, allocatable, dimension(:) :: fsd8_avg_nx +real*8, allocatable, dimension(:) :: avg_fsd6 +real*8, allocatable, dimension(:) :: avg_fsd7 +real*8, allocatable, dimension(:) :: avg_fsd4 +real*8, allocatable, dimension(:) :: avg_fsd5 +real*8, allocatable, dimension(:) :: avg_fsd2 +real*8, allocatable, dimension(:) :: fsd8_avg_sd +real*8, allocatable, dimension(:) :: avg_fsd1 +real*8, allocatable, dimension(:) :: avg_fsd8 +real*8, allocatable, dimension(:) :: avg_fsd9 +real*8, allocatable, dimension(:) :: fsd6_avg_t5 +real*8, allocatable, dimension(:) :: fsd8_avg_t1 +real*8, allocatable, dimension(:) :: fsd7_avg_nz +real*8, allocatable, dimension(:) :: fsd7_avg_ny +real*8, allocatable, dimension(:) :: fsd7_avg_nx +real*8, allocatable, dimension(:) :: fsd1_avg_sd +real*8, allocatable, dimension(:) :: fsd8_avg_divn +real*8, allocatable, dimension(:) :: fsd1_avg_t8 +real*8, allocatable, dimension(:) :: fsd1_avg_t7 +real*8, allocatable, dimension(:) :: fsd1_avg_t6 +real*8, allocatable, dimension(:) :: fsd1_avg_t5 +real*8, allocatable, dimension(:) :: fsd1_avg_t4 +real*8, allocatable, dimension(:) :: fsd5_avg_ny +real*8, allocatable, dimension(:) :: fsd5_avg_nx +real*8, allocatable, dimension(:) :: fsd1_avg_t1 +real*8, allocatable, dimension(:) :: fsd5_avg_nz +real*8, allocatable, dimension(:) :: fsd7_avg_t8 +real*8, allocatable, dimension(:) :: fsd6_avg_t8 +real*8, allocatable, dimension(:) :: fsd7_avg_t5 +real*8, allocatable, dimension(:) :: fsd7_avg_t4 +real*8, allocatable, dimension(:) :: fsd7_avg_t7 +real*8, allocatable, dimension(:) :: fsd7_avg_t6 +real*8, allocatable, dimension(:) :: fsd7_avg_t1 +real*8, allocatable, dimension(:) :: fsd6_avg_t3 +real*8, allocatable, dimension(:) :: fsd7_avg_t3 +real*8, allocatable, dimension(:) :: fsd2_avg_absk +real*8, allocatable, dimension(:) :: fsd1_avg_ny +real*8, allocatable, dimension(:) :: fsd1_avg_nx +real*8, allocatable, dimension(:) :: fsd1_avg_nz +real*8, allocatable, dimension(:) :: fsd6_avg_divn +real*8, allocatable, dimension(:) :: avg_ddx_c +real*8, allocatable, dimension(:) :: fsd6_avg_sd +real*8, allocatable, dimension(:) :: fsd3_avg_sd +real*8, allocatable, dimension(:) :: fsd9_avg_divn +real*8, allocatable, dimension(:) :: fsd8_avg_absk +real*8, allocatable, dimension(:) :: fsd4_avg_absk +real*8, allocatable, dimension(:) :: avg_ddz_c +real*8, allocatable, dimension(:) :: fsd5_avg_t1 +real*8, allocatable, dimension(:) :: fsd2_avg_divn +real*8, allocatable, dimension(:) :: fsd8_avg_t2 +real*8, allocatable, dimension(:) :: fsd8_avg_t3 +real*8, allocatable, dimension(:) :: fsd8_avg_t4 +real*8, allocatable, dimension(:) :: fsd8_avg_t5 +real*8, allocatable, dimension(:) :: fsd8_avg_t6 +real*8, allocatable, dimension(:) :: fsd8_avg_t7 +real*8, allocatable, dimension(:) :: fsd2_avg_nx +real*8, allocatable, dimension(:) :: fsd2_avg_ny +real*8, allocatable, dimension(:) :: fsd2_avg_nz +real*8, allocatable, dimension(:) :: fsd4_avg_divn +real*8, allocatable, dimension(:) :: fsd9_avg_absk +real*8, allocatable, dimension(:) :: avg_fsd3 +real*8, allocatable, dimension(:) :: fsd2_avg_t2 +real*8, allocatable, dimension(:) :: fsd2_avg_t3 +real*8, allocatable, dimension(:) :: fsd2_avg_t1 +real*8, allocatable, dimension(:) :: fsd2_avg_t6 +real*8, allocatable, dimension(:) :: fsd2_avg_t7 +real*8, allocatable, dimension(:) :: fsd2_avg_t4 +real*8, allocatable, dimension(:) :: fsd2_avg_t5 +real*8, allocatable, dimension(:) :: fsd8_avg_nz +real*8, allocatable, dimension(:) :: fsd2_avg_t8 +real*8, allocatable, dimension(:) :: fsd8_avg_ny +real*8, allocatable, dimension(:) :: fsd7_avg_sd +real*8, allocatable, dimension(:) :: fsd1_avg_t3 +real*8, allocatable, dimension(:) :: fsd2_avg_sd +real*8, allocatable, dimension(:) :: fsd4_avg_sd +real*8, allocatable, dimension(:) :: fsd7_avg_absk +real*8, allocatable, dimension(:) :: fsd6_avg_t1 +real*8, allocatable, dimension(:) :: fsd3_avg_divn +real*8, allocatable, dimension(:) :: fsd1_avg_t2 +real*8, allocatable, dimension(:) :: fsd6_avg_t6 +real*8, allocatable, dimension(:) :: fsd6_avg_t7 +real*8, allocatable, dimension(:) :: fsd6_avg_t4 +real*8, allocatable, dimension(:) :: fsd4_avg_t4 +real*8, allocatable, dimension(:) :: fsd4_avg_t5 +real*8, allocatable, dimension(:) :: fsd4_avg_t6 +real*8, allocatable, dimension(:) :: fsd4_avg_t7 +real*8, allocatable, dimension(:) :: fsd4_avg_t1 +real*8, allocatable, dimension(:) :: fsd4_avg_t2 +real*8, allocatable, dimension(:) :: fsd4_avg_t3 +real*8, allocatable, dimension(:) :: fsd6_avg_t2 +real*8, allocatable, dimension(:) :: fsd4_avg_t8 +real*8, allocatable, dimension(:) :: avg_lapc +real*8, allocatable, dimension(:) :: fsd5_avg_divn +real*8, allocatable, dimension(:) :: fsd3_avg_absk +real*8, allocatable, dimension(:) :: fsd7_avg_t2 +real*8, allocatable, dimension(:) :: fsd9_avg_t7 +real*8, allocatable, dimension(:) :: fsd9_avg_t6 +real*8, allocatable, dimension(:) :: fsd9_avg_t5 +real*8, allocatable, dimension(:) :: fsd9_avg_t4 +real*8, allocatable, dimension(:) :: fsd9_avg_t3 +real*8, allocatable, dimension(:) :: fsd9_avg_t2 +real*8, allocatable, dimension(:) :: fsd9_avg_t1 +real*8, allocatable, dimension(:) :: fsd9_avg_t8 +real*8, allocatable, dimension(:) :: fsd8_avg_t8 +real*8, allocatable, dimension(:) :: fsd5_avg_t8 +real*8, allocatable, dimension(:) :: fsd9_avg_sd +real*8, allocatable, dimension(:) :: fsd5_avg_t3 +real*8, allocatable, dimension(:) :: fsd5_avg_t2 +real*8, allocatable, dimension(:) :: fsd5_avg_sd +real*8, allocatable, dimension(:) :: fsd5_avg_t7 +real*8, allocatable, dimension(:) :: fsd5_avg_t6 +real*8, allocatable, dimension(:) :: fsd5_avg_t5 +real*8, allocatable, dimension(:) :: fsd5_avg_t4 +real*8, allocatable, dimension(:) :: fsd1_avg_divn +real*8, allocatable, dimension(:) :: fsd5_avg_absk real*8, allocatable, dimension(:) :: avg_d2dz_c real*8, allocatable, dimension(:) :: avg_d2dx_c -real*8, allocatable, dimension(:) :: fsd_avg_t3 -real*8, allocatable, dimension(:) :: fsd_avg_t2 -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(:) :: 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(:) :: fsd_avg_sd -real*8, allocatable, dimension(:) :: avg_ddy_c -real*8, allocatable, dimension(:) :: avg_ddx_c -real*8, allocatable, dimension(:) :: avg_lapc -real*8, allocatable, dimension(:) :: avg_ddz_c +real*8, allocatable, dimension(:) :: fsd4_avg_nz +real*8, allocatable, dimension(:) :: fsd4_avg_nx +real*8, allocatable, dimension(:) :: fsd4_avg_ny +real*8, allocatable, dimension(:) :: fsd6_avg_absk +real*8, allocatable, dimension(:) :: fsd9_avg_ny +real*8, allocatable, dimension(:) :: fsd9_avg_nx +real*8, allocatable, dimension(:) :: fsd9_avg_nz +real*8, allocatable, dimension(:) :: fsd3_avg_nz +real*8, allocatable, dimension(:) :: fsd3_avg_ny +real*8, allocatable, dimension(:) :: fsd3_avg_nx +real*8, allocatable, dimension(:) :: fsd7_avg_divn +real*8, allocatable, dimension(:) :: fsd1_avg_absk real*8, allocatable, dimension(:) :: avg_c real*8, allocatable, dimension(:) :: avg_d2dy_c real*8, allocatable, dimension(:) :: avg_u real*8, allocatable, dimension(:) :: avg_v real*8, allocatable, dimension(:) :: avg_w -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(:,:,:) :: xyzbuffer0 real*8, allocatable, dimension(:,:,:) :: xyzbuffer1 real*8, allocatable, dimension(:,:,:) :: xyzbuffer2 @@ -50,6 +167,30 @@ real*8, allocatable, dimension(:,:,:) :: xyzbuffer9 real*8, allocatable, dimension(:,:,:) :: xyzbuffer10 real*8, allocatable, dimension(:,:,:) :: xyzbuffer11 real*8, allocatable, dimension(:,:,:) :: xyzbuffer12 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer13 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer14 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer15 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer16 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer17 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer18 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer19 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer20 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer21 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer22 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer23 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer24 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer25 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer26 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer27 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer28 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer29 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer30 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer31 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer32 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer33 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer34 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer35 +real*8, allocatable, dimension(:,:,:) :: xyzbuffer36 contains @@ -57,35 +198,152 @@ subroutine m_terms_init integer :: ierr -allocate(fsd_avg_divn(nxp), stat=ierr) ; fsd_avg_divn = 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(fsd6_avg_nx(nxp), stat=ierr) ; fsd6_avg_nx = 0. +allocate(fsd6_avg_ny(nxp), stat=ierr) ; fsd6_avg_ny = 0. +allocate(fsd6_avg_nz(nxp), stat=ierr) ; fsd6_avg_nz = 0. +allocate(fsd3_avg_t1(nxp), stat=ierr) ; fsd3_avg_t1 = 0. +allocate(fsd3_avg_t3(nxp), stat=ierr) ; fsd3_avg_t3 = 0. +allocate(fsd3_avg_t2(nxp), stat=ierr) ; fsd3_avg_t2 = 0. +allocate(fsd3_avg_t5(nxp), stat=ierr) ; fsd3_avg_t5 = 0. +allocate(fsd3_avg_t4(nxp), stat=ierr) ; fsd3_avg_t4 = 0. +allocate(fsd3_avg_t7(nxp), stat=ierr) ; fsd3_avg_t7 = 0. +allocate(fsd3_avg_t6(nxp), stat=ierr) ; fsd3_avg_t6 = 0. +allocate(fsd3_avg_t8(nxp), stat=ierr) ; fsd3_avg_t8 = 0. +allocate(avg_ddy_c(nxp), stat=ierr) ; avg_ddy_c = 0. +allocate(fsd8_avg_nx(nxp), stat=ierr) ; fsd8_avg_nx = 0. +allocate(avg_fsd6(nxp), stat=ierr) ; avg_fsd6 = 0. +allocate(avg_fsd7(nxp), stat=ierr) ; avg_fsd7 = 0. +allocate(avg_fsd4(nxp), stat=ierr) ; avg_fsd4 = 0. +allocate(avg_fsd5(nxp), stat=ierr) ; avg_fsd5 = 0. +allocate(avg_fsd2(nxp), stat=ierr) ; avg_fsd2 = 0. +allocate(fsd8_avg_sd(nxp), stat=ierr) ; fsd8_avg_sd = 0. +allocate(avg_fsd1(nxp), stat=ierr) ; avg_fsd1 = 0. +allocate(avg_fsd8(nxp), stat=ierr) ; avg_fsd8 = 0. +allocate(avg_fsd9(nxp), stat=ierr) ; avg_fsd9 = 0. +allocate(fsd6_avg_t5(nxp), stat=ierr) ; fsd6_avg_t5 = 0. +allocate(fsd8_avg_t1(nxp), stat=ierr) ; fsd8_avg_t1 = 0. +allocate(fsd7_avg_nz(nxp), stat=ierr) ; fsd7_avg_nz = 0. +allocate(fsd7_avg_ny(nxp), stat=ierr) ; fsd7_avg_ny = 0. +allocate(fsd7_avg_nx(nxp), stat=ierr) ; fsd7_avg_nx = 0. +allocate(fsd1_avg_sd(nxp), stat=ierr) ; fsd1_avg_sd = 0. +allocate(fsd8_avg_divn(nxp), stat=ierr) ; fsd8_avg_divn = 0. +allocate(fsd1_avg_t8(nxp), stat=ierr) ; fsd1_avg_t8 = 0. +allocate(fsd1_avg_t7(nxp), stat=ierr) ; fsd1_avg_t7 = 0. +allocate(fsd1_avg_t6(nxp), stat=ierr) ; fsd1_avg_t6 = 0. +allocate(fsd1_avg_t5(nxp), stat=ierr) ; fsd1_avg_t5 = 0. +allocate(fsd1_avg_t4(nxp), stat=ierr) ; fsd1_avg_t4 = 0. +allocate(fsd5_avg_ny(nxp), stat=ierr) ; fsd5_avg_ny = 0. +allocate(fsd5_avg_nx(nxp), stat=ierr) ; fsd5_avg_nx = 0. +allocate(fsd1_avg_t1(nxp), stat=ierr) ; fsd1_avg_t1 = 0. +allocate(fsd5_avg_nz(nxp), stat=ierr) ; fsd5_avg_nz = 0. +allocate(fsd7_avg_t8(nxp), stat=ierr) ; fsd7_avg_t8 = 0. +allocate(fsd6_avg_t8(nxp), stat=ierr) ; fsd6_avg_t8 = 0. +allocate(fsd7_avg_t5(nxp), stat=ierr) ; fsd7_avg_t5 = 0. +allocate(fsd7_avg_t4(nxp), stat=ierr) ; fsd7_avg_t4 = 0. +allocate(fsd7_avg_t7(nxp), stat=ierr) ; fsd7_avg_t7 = 0. +allocate(fsd7_avg_t6(nxp), stat=ierr) ; fsd7_avg_t6 = 0. +allocate(fsd7_avg_t1(nxp), stat=ierr) ; fsd7_avg_t1 = 0. +allocate(fsd6_avg_t3(nxp), stat=ierr) ; fsd6_avg_t3 = 0. +allocate(fsd7_avg_t3(nxp), stat=ierr) ; fsd7_avg_t3 = 0. +allocate(fsd2_avg_absk(nxp), stat=ierr) ; fsd2_avg_absk = 0. +allocate(fsd1_avg_ny(nxp), stat=ierr) ; fsd1_avg_ny = 0. +allocate(fsd1_avg_nx(nxp), stat=ierr) ; fsd1_avg_nx = 0. +allocate(fsd1_avg_nz(nxp), stat=ierr) ; fsd1_avg_nz = 0. +allocate(fsd6_avg_divn(nxp), stat=ierr) ; fsd6_avg_divn = 0. +allocate(avg_ddx_c(nxp), stat=ierr) ; avg_ddx_c = 0. +allocate(fsd6_avg_sd(nxp), stat=ierr) ; fsd6_avg_sd = 0. +allocate(fsd3_avg_sd(nxp), stat=ierr) ; fsd3_avg_sd = 0. +allocate(fsd9_avg_divn(nxp), stat=ierr) ; fsd9_avg_divn = 0. +allocate(fsd8_avg_absk(nxp), stat=ierr) ; fsd8_avg_absk = 0. +allocate(fsd4_avg_absk(nxp), stat=ierr) ; fsd4_avg_absk = 0. +allocate(avg_ddz_c(nxp), stat=ierr) ; avg_ddz_c = 0. +allocate(fsd5_avg_t1(nxp), stat=ierr) ; fsd5_avg_t1 = 0. +allocate(fsd2_avg_divn(nxp), stat=ierr) ; fsd2_avg_divn = 0. +allocate(fsd8_avg_t2(nxp), stat=ierr) ; fsd8_avg_t2 = 0. +allocate(fsd8_avg_t3(nxp), stat=ierr) ; fsd8_avg_t3 = 0. +allocate(fsd8_avg_t4(nxp), stat=ierr) ; fsd8_avg_t4 = 0. +allocate(fsd8_avg_t5(nxp), stat=ierr) ; fsd8_avg_t5 = 0. +allocate(fsd8_avg_t6(nxp), stat=ierr) ; fsd8_avg_t6 = 0. +allocate(fsd8_avg_t7(nxp), stat=ierr) ; fsd8_avg_t7 = 0. +allocate(fsd2_avg_nx(nxp), stat=ierr) ; fsd2_avg_nx = 0. +allocate(fsd2_avg_ny(nxp), stat=ierr) ; fsd2_avg_ny = 0. +allocate(fsd2_avg_nz(nxp), stat=ierr) ; fsd2_avg_nz = 0. +allocate(fsd4_avg_divn(nxp), stat=ierr) ; fsd4_avg_divn = 0. +allocate(fsd9_avg_absk(nxp), stat=ierr) ; fsd9_avg_absk = 0. +allocate(avg_fsd3(nxp), stat=ierr) ; avg_fsd3 = 0. +allocate(fsd2_avg_t2(nxp), stat=ierr) ; fsd2_avg_t2 = 0. +allocate(fsd2_avg_t3(nxp), stat=ierr) ; fsd2_avg_t3 = 0. +allocate(fsd2_avg_t1(nxp), stat=ierr) ; fsd2_avg_t1 = 0. +allocate(fsd2_avg_t6(nxp), stat=ierr) ; fsd2_avg_t6 = 0. +allocate(fsd2_avg_t7(nxp), stat=ierr) ; fsd2_avg_t7 = 0. +allocate(fsd2_avg_t4(nxp), stat=ierr) ; fsd2_avg_t4 = 0. +allocate(fsd2_avg_t5(nxp), stat=ierr) ; fsd2_avg_t5 = 0. +allocate(fsd8_avg_nz(nxp), stat=ierr) ; fsd8_avg_nz = 0. +allocate(fsd2_avg_t8(nxp), stat=ierr) ; fsd2_avg_t8 = 0. +allocate(fsd8_avg_ny(nxp), stat=ierr) ; fsd8_avg_ny = 0. +allocate(fsd7_avg_sd(nxp), stat=ierr) ; fsd7_avg_sd = 0. +allocate(fsd1_avg_t3(nxp), stat=ierr) ; fsd1_avg_t3 = 0. +allocate(fsd2_avg_sd(nxp), stat=ierr) ; fsd2_avg_sd = 0. +allocate(fsd4_avg_sd(nxp), stat=ierr) ; fsd4_avg_sd = 0. +allocate(fsd7_avg_absk(nxp), stat=ierr) ; fsd7_avg_absk = 0. +allocate(fsd6_avg_t1(nxp), stat=ierr) ; fsd6_avg_t1 = 0. +allocate(fsd3_avg_divn(nxp), stat=ierr) ; fsd3_avg_divn = 0. +allocate(fsd1_avg_t2(nxp), stat=ierr) ; fsd1_avg_t2 = 0. +allocate(fsd6_avg_t6(nxp), stat=ierr) ; fsd6_avg_t6 = 0. +allocate(fsd6_avg_t7(nxp), stat=ierr) ; fsd6_avg_t7 = 0. +allocate(fsd6_avg_t4(nxp), stat=ierr) ; fsd6_avg_t4 = 0. +allocate(fsd4_avg_t4(nxp), stat=ierr) ; fsd4_avg_t4 = 0. +allocate(fsd4_avg_t5(nxp), stat=ierr) ; fsd4_avg_t5 = 0. +allocate(fsd4_avg_t6(nxp), stat=ierr) ; fsd4_avg_t6 = 0. +allocate(fsd4_avg_t7(nxp), stat=ierr) ; fsd4_avg_t7 = 0. +allocate(fsd4_avg_t1(nxp), stat=ierr) ; fsd4_avg_t1 = 0. +allocate(fsd4_avg_t2(nxp), stat=ierr) ; fsd4_avg_t2 = 0. +allocate(fsd4_avg_t3(nxp), stat=ierr) ; fsd4_avg_t3 = 0. +allocate(fsd6_avg_t2(nxp), stat=ierr) ; fsd6_avg_t2 = 0. +allocate(fsd4_avg_t8(nxp), stat=ierr) ; fsd4_avg_t8 = 0. +allocate(avg_lapc(nxp), stat=ierr) ; avg_lapc = 0. +allocate(fsd5_avg_divn(nxp), stat=ierr) ; fsd5_avg_divn = 0. +allocate(fsd3_avg_absk(nxp), stat=ierr) ; fsd3_avg_absk = 0. +allocate(fsd7_avg_t2(nxp), stat=ierr) ; fsd7_avg_t2 = 0. +allocate(fsd9_avg_t7(nxp), stat=ierr) ; fsd9_avg_t7 = 0. +allocate(fsd9_avg_t6(nxp), stat=ierr) ; fsd9_avg_t6 = 0. +allocate(fsd9_avg_t5(nxp), stat=ierr) ; fsd9_avg_t5 = 0. +allocate(fsd9_avg_t4(nxp), stat=ierr) ; fsd9_avg_t4 = 0. +allocate(fsd9_avg_t3(nxp), stat=ierr) ; fsd9_avg_t3 = 0. +allocate(fsd9_avg_t2(nxp), stat=ierr) ; fsd9_avg_t2 = 0. +allocate(fsd9_avg_t1(nxp), stat=ierr) ; fsd9_avg_t1 = 0. +allocate(fsd9_avg_t8(nxp), stat=ierr) ; fsd9_avg_t8 = 0. +allocate(fsd8_avg_t8(nxp), stat=ierr) ; fsd8_avg_t8 = 0. +allocate(fsd5_avg_t8(nxp), stat=ierr) ; fsd5_avg_t8 = 0. +allocate(fsd9_avg_sd(nxp), stat=ierr) ; fsd9_avg_sd = 0. +allocate(fsd5_avg_t3(nxp), stat=ierr) ; fsd5_avg_t3 = 0. +allocate(fsd5_avg_t2(nxp), stat=ierr) ; fsd5_avg_t2 = 0. +allocate(fsd5_avg_sd(nxp), stat=ierr) ; fsd5_avg_sd = 0. +allocate(fsd5_avg_t7(nxp), stat=ierr) ; fsd5_avg_t7 = 0. +allocate(fsd5_avg_t6(nxp), stat=ierr) ; fsd5_avg_t6 = 0. +allocate(fsd5_avg_t5(nxp), stat=ierr) ; fsd5_avg_t5 = 0. +allocate(fsd5_avg_t4(nxp), stat=ierr) ; fsd5_avg_t4 = 0. +allocate(fsd1_avg_divn(nxp), stat=ierr) ; fsd1_avg_divn = 0. +allocate(fsd5_avg_absk(nxp), stat=ierr) ; fsd5_avg_absk = 0. allocate(avg_d2dz_c(nxp), stat=ierr) ; avg_d2dz_c = 0. allocate(avg_d2dx_c(nxp), stat=ierr) ; avg_d2dx_c = 0. -allocate(fsd_avg_t3(nxp), stat=ierr) ; fsd_avg_t3 = 0. -allocate(fsd_avg_t2(nxp), stat=ierr) ; fsd_avg_t2 = 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(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(fsd_avg_sd(nxp), stat=ierr) ; fsd_avg_sd = 0. -allocate(avg_ddy_c(nxp), stat=ierr) ; avg_ddy_c = 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(fsd4_avg_nz(nxp), stat=ierr) ; fsd4_avg_nz = 0. +allocate(fsd4_avg_nx(nxp), stat=ierr) ; fsd4_avg_nx = 0. +allocate(fsd4_avg_ny(nxp), stat=ierr) ; fsd4_avg_ny = 0. +allocate(fsd6_avg_absk(nxp), stat=ierr) ; fsd6_avg_absk = 0. +allocate(fsd9_avg_ny(nxp), stat=ierr) ; fsd9_avg_ny = 0. +allocate(fsd9_avg_nx(nxp), stat=ierr) ; fsd9_avg_nx = 0. +allocate(fsd9_avg_nz(nxp), stat=ierr) ; fsd9_avg_nz = 0. +allocate(fsd3_avg_nz(nxp), stat=ierr) ; fsd3_avg_nz = 0. +allocate(fsd3_avg_ny(nxp), stat=ierr) ; fsd3_avg_ny = 0. +allocate(fsd3_avg_nx(nxp), stat=ierr) ; fsd3_avg_nx = 0. +allocate(fsd7_avg_divn(nxp), stat=ierr) ; fsd7_avg_divn = 0. +allocate(fsd1_avg_absk(nxp), stat=ierr) ; fsd1_avg_absk = 0. allocate(avg_c(nxp), stat=ierr) ; avg_c = 0. allocate(avg_d2dy_c(nxp), stat=ierr) ; avg_d2dy_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(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(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. @@ -99,41 +357,182 @@ allocate(xyzbuffer9(nxp,nyp,nzp), stat=ierr) ; xyzbuffer9 = 0. allocate(xyzbuffer10(nxp,nyp,nzp), stat=ierr) ; xyzbuffer10 = 0. allocate(xyzbuffer11(nxp,nyp,nzp), stat=ierr) ; xyzbuffer11 = 0. allocate(xyzbuffer12(nxp,nyp,nzp), stat=ierr) ; xyzbuffer12 = 0. +allocate(xyzbuffer13(nxp,nyp,nzp), stat=ierr) ; xyzbuffer13 = 0. +allocate(xyzbuffer14(nxp,nyp,nzp), stat=ierr) ; xyzbuffer14 = 0. +allocate(xyzbuffer15(nxp,nyp,nzp), stat=ierr) ; xyzbuffer15 = 0. +allocate(xyzbuffer16(nxp,nyp,nzp), stat=ierr) ; xyzbuffer16 = 0. +allocate(xyzbuffer17(nxp,nyp,nzp), stat=ierr) ; xyzbuffer17 = 0. +allocate(xyzbuffer18(nxp,nyp,nzp), stat=ierr) ; xyzbuffer18 = 0. +allocate(xyzbuffer19(nxp,nyp,nzp), stat=ierr) ; xyzbuffer19 = 0. +allocate(xyzbuffer20(nxp,nyp,nzp), stat=ierr) ; xyzbuffer20 = 0. +allocate(xyzbuffer21(nxp,nyp,nzp), stat=ierr) ; xyzbuffer21 = 0. +allocate(xyzbuffer22(nxp,nyp,nzp), stat=ierr) ; xyzbuffer22 = 0. +allocate(xyzbuffer23(nxp,nyp,nzp), stat=ierr) ; xyzbuffer23 = 0. +allocate(xyzbuffer24(nxp,nyp,nzp), stat=ierr) ; xyzbuffer24 = 0. +allocate(xyzbuffer25(nxp,nyp,nzp), stat=ierr) ; xyzbuffer25 = 0. +allocate(xyzbuffer26(nxp,nyp,nzp), stat=ierr) ; xyzbuffer26 = 0. +allocate(xyzbuffer27(nxp,nyp,nzp), stat=ierr) ; xyzbuffer27 = 0. +allocate(xyzbuffer28(nxp,nyp,nzp), stat=ierr) ; xyzbuffer28 = 0. +allocate(xyzbuffer29(nxp,nyp,nzp), stat=ierr) ; xyzbuffer29 = 0. +allocate(xyzbuffer30(nxp,nyp,nzp), stat=ierr) ; xyzbuffer30 = 0. +allocate(xyzbuffer31(nxp,nyp,nzp), stat=ierr) ; xyzbuffer31 = 0. +allocate(xyzbuffer32(nxp,nyp,nzp), stat=ierr) ; xyzbuffer32 = 0. +allocate(xyzbuffer33(nxp,nyp,nzp), stat=ierr) ; xyzbuffer33 = 0. +allocate(xyzbuffer34(nxp,nyp,nzp), stat=ierr) ; xyzbuffer34 = 0. +allocate(xyzbuffer35(nxp,nyp,nzp), stat=ierr) ; xyzbuffer35 = 0. +allocate(xyzbuffer36(nxp,nyp,nzp), stat=ierr) ; xyzbuffer36 = 0. end subroutine m_terms_init subroutine m_terms_finalize -deallocate(fsd_avg_divn) -deallocate(fsd_avg_ny) -deallocate(fsd_avg_nx) -deallocate(fsd_avg_nz) +deallocate(fsd6_avg_nx) +deallocate(fsd6_avg_ny) +deallocate(fsd6_avg_nz) +deallocate(fsd3_avg_t1) +deallocate(fsd3_avg_t3) +deallocate(fsd3_avg_t2) +deallocate(fsd3_avg_t5) +deallocate(fsd3_avg_t4) +deallocate(fsd3_avg_t7) +deallocate(fsd3_avg_t6) +deallocate(fsd3_avg_t8) +deallocate(avg_ddy_c) +deallocate(fsd8_avg_nx) +deallocate(avg_fsd6) +deallocate(avg_fsd7) +deallocate(avg_fsd4) +deallocate(avg_fsd5) +deallocate(avg_fsd2) +deallocate(fsd8_avg_sd) +deallocate(avg_fsd1) +deallocate(avg_fsd8) +deallocate(avg_fsd9) +deallocate(fsd6_avg_t5) +deallocate(fsd8_avg_t1) +deallocate(fsd7_avg_nz) +deallocate(fsd7_avg_ny) +deallocate(fsd7_avg_nx) +deallocate(fsd1_avg_sd) +deallocate(fsd8_avg_divn) +deallocate(fsd1_avg_t8) +deallocate(fsd1_avg_t7) +deallocate(fsd1_avg_t6) +deallocate(fsd1_avg_t5) +deallocate(fsd1_avg_t4) +deallocate(fsd5_avg_ny) +deallocate(fsd5_avg_nx) +deallocate(fsd1_avg_t1) +deallocate(fsd5_avg_nz) +deallocate(fsd7_avg_t8) +deallocate(fsd6_avg_t8) +deallocate(fsd7_avg_t5) +deallocate(fsd7_avg_t4) +deallocate(fsd7_avg_t7) +deallocate(fsd7_avg_t6) +deallocate(fsd7_avg_t1) +deallocate(fsd6_avg_t3) +deallocate(fsd7_avg_t3) +deallocate(fsd2_avg_absk) +deallocate(fsd1_avg_ny) +deallocate(fsd1_avg_nx) +deallocate(fsd1_avg_nz) +deallocate(fsd6_avg_divn) +deallocate(avg_ddx_c) +deallocate(fsd6_avg_sd) +deallocate(fsd3_avg_sd) +deallocate(fsd9_avg_divn) +deallocate(fsd8_avg_absk) +deallocate(fsd4_avg_absk) +deallocate(avg_ddz_c) +deallocate(fsd5_avg_t1) +deallocate(fsd2_avg_divn) +deallocate(fsd8_avg_t2) +deallocate(fsd8_avg_t3) +deallocate(fsd8_avg_t4) +deallocate(fsd8_avg_t5) +deallocate(fsd8_avg_t6) +deallocate(fsd8_avg_t7) +deallocate(fsd2_avg_nx) +deallocate(fsd2_avg_ny) +deallocate(fsd2_avg_nz) +deallocate(fsd4_avg_divn) +deallocate(fsd9_avg_absk) +deallocate(avg_fsd3) +deallocate(fsd2_avg_t2) +deallocate(fsd2_avg_t3) +deallocate(fsd2_avg_t1) +deallocate(fsd2_avg_t6) +deallocate(fsd2_avg_t7) +deallocate(fsd2_avg_t4) +deallocate(fsd2_avg_t5) +deallocate(fsd8_avg_nz) +deallocate(fsd2_avg_t8) +deallocate(fsd8_avg_ny) +deallocate(fsd7_avg_sd) +deallocate(fsd1_avg_t3) +deallocate(fsd2_avg_sd) +deallocate(fsd4_avg_sd) +deallocate(fsd7_avg_absk) +deallocate(fsd6_avg_t1) +deallocate(fsd3_avg_divn) +deallocate(fsd1_avg_t2) +deallocate(fsd6_avg_t6) +deallocate(fsd6_avg_t7) +deallocate(fsd6_avg_t4) +deallocate(fsd4_avg_t4) +deallocate(fsd4_avg_t5) +deallocate(fsd4_avg_t6) +deallocate(fsd4_avg_t7) +deallocate(fsd4_avg_t1) +deallocate(fsd4_avg_t2) +deallocate(fsd4_avg_t3) +deallocate(fsd6_avg_t2) +deallocate(fsd4_avg_t8) +deallocate(avg_lapc) +deallocate(fsd5_avg_divn) +deallocate(fsd3_avg_absk) +deallocate(fsd7_avg_t2) +deallocate(fsd9_avg_t7) +deallocate(fsd9_avg_t6) +deallocate(fsd9_avg_t5) +deallocate(fsd9_avg_t4) +deallocate(fsd9_avg_t3) +deallocate(fsd9_avg_t2) +deallocate(fsd9_avg_t1) +deallocate(fsd9_avg_t8) +deallocate(fsd8_avg_t8) +deallocate(fsd5_avg_t8) +deallocate(fsd9_avg_sd) +deallocate(fsd5_avg_t3) +deallocate(fsd5_avg_t2) +deallocate(fsd5_avg_sd) +deallocate(fsd5_avg_t7) +deallocate(fsd5_avg_t6) +deallocate(fsd5_avg_t5) +deallocate(fsd5_avg_t4) +deallocate(fsd1_avg_divn) +deallocate(fsd5_avg_absk) deallocate(avg_d2dz_c) deallocate(avg_d2dx_c) -deallocate(fsd_avg_t3) -deallocate(fsd_avg_t2) -deallocate(fsd_avg_t1) -deallocate(fsd_avg_t7) -deallocate(fsd_avg_t6) -deallocate(fsd_avg_t5) -deallocate(fsd_avg_t4) -deallocate(fsd_avg_t8) -deallocate(avg_fsd) -deallocate(fsd_avg_absk) -deallocate(fsd_avg_sd) -deallocate(avg_ddy_c) -deallocate(avg_ddx_c) -deallocate(avg_lapc) -deallocate(avg_ddz_c) +deallocate(fsd4_avg_nz) +deallocate(fsd4_avg_nx) +deallocate(fsd4_avg_ny) +deallocate(fsd6_avg_absk) +deallocate(fsd9_avg_ny) +deallocate(fsd9_avg_nx) +deallocate(fsd9_avg_nz) +deallocate(fsd3_avg_nz) +deallocate(fsd3_avg_ny) +deallocate(fsd3_avg_nx) +deallocate(fsd7_avg_divn) +deallocate(fsd1_avg_absk) deallocate(avg_c) deallocate(avg_d2dy_c) deallocate(avg_u) deallocate(avg_v) deallocate(avg_w) -deallocate(fsd_avg_v) -deallocate(fsd_avg_w) -deallocate(fsd_avg_u) deallocate(xyzbuffer0) deallocate(xyzbuffer1) deallocate(xyzbuffer2) @@ -147,6 +546,30 @@ deallocate(xyzbuffer9) deallocate(xyzbuffer10) deallocate(xyzbuffer11) deallocate(xyzbuffer12) +deallocate(xyzbuffer13) +deallocate(xyzbuffer14) +deallocate(xyzbuffer15) +deallocate(xyzbuffer16) +deallocate(xyzbuffer17) +deallocate(xyzbuffer18) +deallocate(xyzbuffer19) +deallocate(xyzbuffer20) +deallocate(xyzbuffer21) +deallocate(xyzbuffer22) +deallocate(xyzbuffer23) +deallocate(xyzbuffer24) +deallocate(xyzbuffer25) +deallocate(xyzbuffer26) +deallocate(xyzbuffer27) +deallocate(xyzbuffer28) +deallocate(xyzbuffer29) +deallocate(xyzbuffer30) +deallocate(xyzbuffer31) +deallocate(xyzbuffer32) +deallocate(xyzbuffer33) +deallocate(xyzbuffer34) +deallocate(xyzbuffer35) +deallocate(xyzbuffer36) end subroutine m_terms_finalize @@ -187,31 +610,71 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer12(i,j,k) = ( 1.0 - y(i,j,k) ) +xyzbuffer19(i,j,k) = ( 1.0 - y(i,j,k) ) end do end do end do -call d2dy ( xyzbuffer11, xyzbuffer12 ) -call ddx ( xyzbuffer10, xyzbuffer12 ) -call ddy ( xyzbuffer9, xyzbuffer12 ) -call ddz ( xyzbuffer8, xyzbuffer12 ) +call d2dy ( xyzbuffer18, xyzbuffer19 ) +call ddx ( xyzbuffer13, xyzbuffer19 ) +call ddy ( xyzbuffer12, xyzbuffer19 ) +call ddz ( xyzbuffer11, xyzbuffer19 ) ! ( 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 -xyzbuffer3(i,j,k) = ( sqrt ( ( ( ((xyzbuffer10(i,j,k))*(xyzbuffer10(i,j,k))) + ((xyzbuffer9(i,j,k))*(xyzbuffer9(i,j,k))) ) + ((xyzbuffer8(i,j,k))*(xyzbuffer8(i,j,k))) ) ) ) +xyzbuffer10(i,j,k) = ( sqrt ( ( ( ((xyzbuffer13(i,j,k))*(xyzbuffer13(i,j,k))) + ((xyzbuffer12(i,j,k))*(xyzbuffer12(i,j,k))) ) + ((xyzbuffer11(i,j,k))*(xyzbuffer11(i,j,k))) ) ) ) end do end do end do -! ( threshold_min_max ( c(i,j,k) ) ) +! ( threshold_min_max ( c(i,j,k), 0.05, 0.15 ) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer2(i,j,k) = ( threshold_min_max ( xyzbuffer12(i,j,k) ) ) +xyzbuffer17(i,j,k) = ( threshold_min_max ( xyzbuffer19(i,j,k), 0.05, 0.15 ) ) +end do +end do +end do + + +! ( threshold_min_max ( c(i,j,k), 0.25, 0.35 ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer16(i,j,k) = ( threshold_min_max ( xyzbuffer19(i,j,k), 0.25, 0.35 ) ) +end do +end do +end do + + +! ( threshold_min_max ( c(i,j,k), 0.45, 0.55 ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer15(i,j,k) = ( threshold_min_max ( xyzbuffer19(i,j,k), 0.45, 0.55 ) ) +end do +end do +end do + + +! ( threshold_min_max ( c(i,j,k), 0.65, 0.75 ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer14(i,j,k) = ( threshold_min_max ( xyzbuffer19(i,j,k), 0.65, 0.75 ) ) +end do +end do +end do + + +! ( threshold_min_max ( c(i,j,k), 0.85, 0.95 ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer9(i,j,k) = ( threshold_min_max ( xyzbuffer19(i,j,k), 0.85, 0.95 ) ) end do end do end do @@ -221,7 +684,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer1(i,j,k) = ( ( - xyzbuffer9(i,j,k) ) / xyzbuffer3(i,j,k) ) +xyzbuffer8(i,j,k) = ( ( - xyzbuffer12(i,j,k) ) / xyzbuffer10(i,j,k) ) end do end do end do @@ -231,7 +694,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer0(i,j,k) = ( rxn_rate ( xyzbuffer12(i,j,k) ) ) +xyzbuffer3(i,j,k) = ( rxn_rate ( xyzbuffer19(i,j,k) ) ) end do end do end do @@ -240,7 +703,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_c(i) = avg_c(i) + xyzbuffer12(i,j,k) +avg_c(i) = avg_c(i) + xyzbuffer19(i,j,k) end do end do end do @@ -249,7 +712,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_d2dy_c(i) = avg_d2dy_c(i) + xyzbuffer11(i,j,k) +avg_d2dy_c(i) = avg_d2dy_c(i) + xyzbuffer18(i,j,k) end do end do end do @@ -258,7 +721,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_ddx_c(i) = avg_ddx_c(i) + xyzbuffer10(i,j,k) +avg_ddx_c(i) = avg_ddx_c(i) + xyzbuffer13(i,j,k) end do end do end do @@ -267,19 +730,19 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_ddz_c(i) = avg_ddz_c(i) + xyzbuffer8(i,j,k) +avg_ddz_c(i) = avg_ddz_c(i) + xyzbuffer11(i,j,k) end do end do end do -call d2dx ( xyzbuffer7, xyzbuffer12 ) -call ddy ( xyzbuffer6, xyzbuffer1 ) +call d2dx ( xyzbuffer2, xyzbuffer19 ) +call ddy ( xyzbuffer1, xyzbuffer8 ) -! ( fsd_orig(i,j,k) * mask(i,j,k) ) +! ( fsd_orig(i,j,k) * mask1(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer5(i,j,k) = ( xyzbuffer3(i,j,k) * xyzbuffer2(i,j,k) ) +xyzbuffer0(i,j,k) = ( xyzbuffer10(i,j,k) * xyzbuffer17(i,j,k) ) end do end do end do @@ -288,7 +751,17 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_ny(i) = fsd_avg_ny(i) + xyzbuffer1(i,j,k) * xyzbuffer5(i,j,k) +fsd1_avg_ny(i) = fsd1_avg_ny(i) + xyzbuffer8(i,j,k) * xyzbuffer0(i,j,k) +end do +end do +end do + + +! ( fsd_orig(i,j,k) * mask3(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer7(i,j,k) = ( xyzbuffer10(i,j,k) * xyzbuffer16(i,j,k) ) end do end do end do @@ -297,7 +770,17 @@ 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) * xyzbuffer5(i,j,k) +fsd3_avg_ny(i) = fsd3_avg_ny(i) + xyzbuffer8(i,j,k) * xyzbuffer7(i,j,k) +end do +end do +end do + + +! ( fsd_orig(i,j,k) * mask5(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer6(i,j,k) = ( xyzbuffer10(i,j,k) * xyzbuffer15(i,j,k) ) end do end do end do @@ -306,7 +789,65 @@ 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) * xyzbuffer5(i,j,k) +fsd5_avg_ny(i) = fsd5_avg_ny(i) + xyzbuffer8(i,j,k) * xyzbuffer6(i,j,k) +end do +end do +end do + + +! ( fsd_orig(i,j,k) * mask7(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer5(i,j,k) = ( xyzbuffer10(i,j,k) * xyzbuffer14(i,j,k) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd7_avg_ny(i) = fsd7_avg_ny(i) + xyzbuffer8(i,j,k) * xyzbuffer5(i,j,k) +end do +end do +end do + + +! ( fsd_orig(i,j,k) * mask9(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer4(i,j,k) = ( xyzbuffer10(i,j,k) * xyzbuffer9(i,j,k) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd9_avg_ny(i) = fsd9_avg_ny(i) + xyzbuffer8(i,j,k) * xyzbuffer4(i,j,k) +end do +end do +end do + + +! ( threshold_min_max ( c(i,j,k), 0.15, 0.25 ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer17(i,j,k) = ( threshold_min_max ( xyzbuffer19(i,j,k), 0.15, 0.25 ) ) +end do +end do +end do + + +! ( threshold_min_max ( c(i,j,k), 0.55, 0.65 ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer16(i,j,k) = ( threshold_min_max ( xyzbuffer19(i,j,k), 0.55, 0.65 ) ) end do end do end do @@ -316,7 +857,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer4(i,j,k) = ( ( - xyzbuffer10(i,j,k) ) / xyzbuffer3(i,j,k) ) +xyzbuffer15(i,j,k) = ( ( - xyzbuffer13(i,j,k) ) / xyzbuffer10(i,j,k) ) end do end do end do @@ -325,7 +866,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_d2dx_c(i) = avg_d2dx_c(i) + xyzbuffer7(i,j,k) +avg_d2dx_c(i) = avg_d2dx_c(i) + xyzbuffer2(i,j,k) end do end do end do @@ -334,17 +875,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_ddy_c(i) = avg_ddy_c(i) + xyzbuffer9(i,j,k) -end do -end do -end do - -call d2dz ( xyzbuffer10, xyzbuffer12 ) - -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -fsd_avg_nx(i) = fsd_avg_nx(i) + xyzbuffer4(i,j,k) * xyzbuffer5(i,j,k) +avg_ddy_c(i) = avg_ddy_c(i) + xyzbuffer12(i,j,k) end do end do end do @@ -353,27 +884,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) * xyzbuffer5(i,j,k) -end do -end do -end do - - -! ( ( - ddz_c(i,j,k) ) / fsd_orig(i,j,k) ) -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -xyzbuffer9(i,j,k) = ( ( - xyzbuffer8(i,j,k) ) / xyzbuffer3(i,j,k) ) -end do -end do -end do - - -! ( ( ( u(i,j,k) * nx(i,j,k) ) + ( v(i,j,k) * ny(i,j,k) ) ) + ( w(i,j,k) * nz(i,j,k) ) ) -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -xyzbuffer8(i,j,k) = ( ( ( u(i,j,k) * xyzbuffer4(i,j,k) ) + ( v(i,j,k) * xyzbuffer1(i,j,k) ) ) + ( w(i,j,k) * xyzbuffer9(i,j,k) ) ) +avg_fsd3(i) = avg_fsd3(i) + xyzbuffer7(i,j,k) end do end do end do @@ -382,17 +893,109 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_d2dz_c(i) = avg_d2dz_c(i) + xyzbuffer10(i,j,k) +avg_fsd5(i) = avg_fsd5(i) + xyzbuffer6(i,j,k) end do end do end do -call ddx ( xyzbuffer2, xyzbuffer4 ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_nz(i) = fsd_avg_nz(i) + xyzbuffer9(i,j,k) * xyzbuffer5(i,j,k) +avg_fsd7(i) = avg_fsd7(i) + xyzbuffer5(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_fsd9(i) = avg_fsd9(i) + xyzbuffer4(i,j,k) +end do +end do +end do + +call d2dz ( xyzbuffer14, xyzbuffer19 ) + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd1_avg_nx(i) = fsd1_avg_nx(i) + xyzbuffer15(i,j,k) * xyzbuffer0(i,j,k) +end do +end do +end do + + +! ( fsd_orig(i,j,k) * mask2(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer9(i,j,k) = ( xyzbuffer10(i,j,k) * xyzbuffer17(i,j,k) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd2_avg_nx(i) = fsd2_avg_nx(i) + xyzbuffer15(i,j,k) * xyzbuffer9(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd3_avg_nx(i) = fsd3_avg_nx(i) + xyzbuffer15(i,j,k) * xyzbuffer7(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd5_avg_nx(i) = fsd5_avg_nx(i) + xyzbuffer15(i,j,k) * xyzbuffer6(i,j,k) +end do +end do +end do + + +! ( fsd_orig(i,j,k) * mask6(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer13(i,j,k) = ( xyzbuffer10(i,j,k) * xyzbuffer16(i,j,k) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd6_avg_nx(i) = fsd6_avg_nx(i) + xyzbuffer15(i,j,k) * xyzbuffer13(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd7_avg_nx(i) = fsd7_avg_nx(i) + xyzbuffer15(i,j,k) * xyzbuffer5(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd9_avg_nx(i) = fsd9_avg_nx(i) + xyzbuffer15(i,j,k) * xyzbuffer4(i,j,k) end do end do end do @@ -402,27 +1005,27 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer1(i,j,k) = ( ( xyzbuffer7(i,j,k) + xyzbuffer11(i,j,k) ) + xyzbuffer10(i,j,k) ) +xyzbuffer12(i,j,k) = ( ( xyzbuffer2(i,j,k) + xyzbuffer18(i,j,k) ) + xyzbuffer14(i,j,k) ) end do end do end do +! ( threshold_min_max ( c(i,j,k), 0.75, 0.85 ) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_fsd(i) = avg_fsd(i) + xyzbuffer5(i,j,k) +xyzbuffer17(i,j,k) = ( threshold_min_max ( xyzbuffer19(i,j,k), 0.75, 0.85 ) ) end do end do end do -call ddz ( xyzbuffer12, xyzbuffer9 ) ! ( ( ( ( ( d2dx_c(i,j,k) + d2dy_c(i,j,k) ) + d2dz_c(i,j,k) ) * rod ) + wrate(i,j,k) ) / fsd_orig(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer9(i,j,k) = ( ( ( ( ( xyzbuffer7(i,j,k) + xyzbuffer11(i,j,k) ) + xyzbuffer10(i,j,k) ) * rod ) + xyzbuffer0(i,j,k) ) / xyzbuffer3(i,j,k) ) +xyzbuffer16(i,j,k) = ( ( ( ( ( xyzbuffer2(i,j,k) + xyzbuffer18(i,j,k) ) + xyzbuffer14(i,j,k) ) * rod ) + xyzbuffer3(i,j,k) ) / xyzbuffer10(i,j,k) ) end do end do end do @@ -431,7 +1034,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -avg_lapc(i) = avg_lapc(i) + xyzbuffer1(i,j,k) +avg_d2dz_c(i) = avg_d2dz_c(i) + xyzbuffer14(i,j,k) end do end do end do @@ -440,7 +1043,310 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_sd(i) = fsd_avg_sd(i) + xyzbuffer9(i,j,k) * xyzbuffer5(i,j,k) +avg_fsd2(i) = avg_fsd2(i) + xyzbuffer9(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_fsd6(i) = avg_fsd6(i) + xyzbuffer13(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) + xyzbuffer12(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd1_avg_sd(i) = fsd1_avg_sd(i) + xyzbuffer16(i,j,k) * xyzbuffer0(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd2_avg_ny(i) = fsd2_avg_ny(i) + xyzbuffer8(i,j,k) * xyzbuffer9(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd2_avg_sd(i) = fsd2_avg_sd(i) + xyzbuffer16(i,j,k) * xyzbuffer9(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd3_avg_sd(i) = fsd3_avg_sd(i) + xyzbuffer16(i,j,k) * xyzbuffer7(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd5_avg_sd(i) = fsd5_avg_sd(i) + xyzbuffer16(i,j,k) * xyzbuffer6(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd6_avg_ny(i) = fsd6_avg_ny(i) + xyzbuffer8(i,j,k) * xyzbuffer13(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd6_avg_sd(i) = fsd6_avg_sd(i) + xyzbuffer16(i,j,k) * xyzbuffer13(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd7_avg_sd(i) = fsd7_avg_sd(i) + xyzbuffer16(i,j,k) * xyzbuffer5(i,j,k) +end do +end do +end do + + +! ( fsd_orig(i,j,k) * mask8(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer14(i,j,k) = ( xyzbuffer10(i,j,k) * xyzbuffer17(i,j,k) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd8_avg_nx(i) = fsd8_avg_nx(i) + xyzbuffer15(i,j,k) * xyzbuffer14(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd8_avg_sd(i) = fsd8_avg_sd(i) + xyzbuffer16(i,j,k) * xyzbuffer14(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd9_avg_sd(i) = fsd9_avg_sd(i) + xyzbuffer16(i,j,k) * xyzbuffer4(i,j,k) +end do +end do +end do + + +! ( threshold_min_max ( c(i,j,k), 0.35, 0.45 ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer3(i,j,k) = ( threshold_min_max ( xyzbuffer19(i,j,k), 0.35, 0.45 ) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_fsd1(i) = avg_fsd1(i) + xyzbuffer0(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_fsd8(i) = avg_fsd8(i) + xyzbuffer14(i,j,k) +end do +end do +end do + + +! ( fsd_orig(i,j,k) * mask4(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer2(i,j,k) = ( xyzbuffer10(i,j,k) * xyzbuffer3(i,j,k) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd4_avg_nx(i) = fsd4_avg_nx(i) + xyzbuffer15(i,j,k) * xyzbuffer2(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd4_avg_sd(i) = fsd4_avg_sd(i) + xyzbuffer16(i,j,k) * xyzbuffer2(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd8_avg_ny(i) = fsd8_avg_ny(i) + xyzbuffer8(i,j,k) * xyzbuffer14(i,j,k) +end do +end do +end do + + +! ( ( - ddz_c(i,j,k) ) / fsd_orig(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer19(i,j,k) = ( ( - xyzbuffer11(i,j,k) ) / xyzbuffer10(i,j,k) ) +end do +end do +end do + + +! ( ( ( u(i,j,k) * nx(i,j,k) ) + ( v(i,j,k) * ny(i,j,k) ) ) + ( w(i,j,k) * nz(i,j,k) ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer18(i,j,k) = ( ( ( u(i,j,k) * xyzbuffer15(i,j,k) ) + ( v(i,j,k) * xyzbuffer8(i,j,k) ) ) + ( w(i,j,k) * xyzbuffer19(i,j,k) ) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +avg_fsd4(i) = avg_fsd4(i) + xyzbuffer2(i,j,k) +end do +end do +end do + +call ddz ( xyzbuffer12, xyzbuffer19 ) + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd1_avg_nz(i) = fsd1_avg_nz(i) + xyzbuffer19(i,j,k) * xyzbuffer0(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd2_avg_nz(i) = fsd2_avg_nz(i) + xyzbuffer19(i,j,k) * xyzbuffer9(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd3_avg_nz(i) = fsd3_avg_nz(i) + xyzbuffer19(i,j,k) * xyzbuffer7(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd4_avg_ny(i) = fsd4_avg_ny(i) + xyzbuffer8(i,j,k) * xyzbuffer2(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd5_avg_nz(i) = fsd5_avg_nz(i) + xyzbuffer19(i,j,k) * xyzbuffer6(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd6_avg_nz(i) = fsd6_avg_nz(i) + xyzbuffer19(i,j,k) * xyzbuffer13(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd7_avg_nz(i) = fsd7_avg_nz(i) + xyzbuffer19(i,j,k) * xyzbuffer5(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd8_avg_nz(i) = fsd8_avg_nz(i) + xyzbuffer19(i,j,k) * xyzbuffer14(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd9_avg_nz(i) = fsd9_avg_nz(i) + xyzbuffer19(i,j,k) * xyzbuffer4(i,j,k) end do end do end do @@ -450,7 +1356,89 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer3(i,j,k) = ( ( xyzbuffer8(i,j,k) + xyzbuffer9(i,j,k) ) * xyzbuffer4(i,j,k) ) +xyzbuffer11(i,j,k) = ( ( xyzbuffer18(i,j,k) + xyzbuffer16(i,j,k) ) * xyzbuffer15(i,j,k) ) +end do +end do +end do + +call ddx ( xyzbuffer10, xyzbuffer15 ) + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd1_avg_t1(i) = fsd1_avg_t1(i) + xyzbuffer11(i,j,k) * xyzbuffer0(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd2_avg_t1(i) = fsd2_avg_t1(i) + xyzbuffer11(i,j,k) * xyzbuffer9(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd3_avg_t1(i) = fsd3_avg_t1(i) + xyzbuffer11(i,j,k) * xyzbuffer7(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd4_avg_nz(i) = fsd4_avg_nz(i) + xyzbuffer19(i,j,k) * xyzbuffer2(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd5_avg_t1(i) = fsd5_avg_t1(i) + xyzbuffer11(i,j,k) * xyzbuffer6(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd6_avg_t1(i) = fsd6_avg_t1(i) + xyzbuffer11(i,j,k) * xyzbuffer13(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd7_avg_t1(i) = fsd7_avg_t1(i) + xyzbuffer11(i,j,k) * xyzbuffer5(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd8_avg_t1(i) = fsd8_avg_t1(i) + xyzbuffer11(i,j,k) * xyzbuffer14(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd9_avg_t1(i) = fsd9_avg_t1(i) + xyzbuffer11(i,j,k) * xyzbuffer4(i,j,k) end do end do end do @@ -460,7 +1448,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer1(i,j,k) = ( ( xyzbuffer2(i,j,k) + xyzbuffer6(i,j,k) ) + xyzbuffer12(i,j,k) ) +xyzbuffer17(i,j,k) = ( ( xyzbuffer10(i,j,k) + xyzbuffer1(i,j,k) ) + xyzbuffer12(i,j,k) ) end do end do end do @@ -469,7 +1457,79 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_divn(i) = fsd_avg_divn(i) + xyzbuffer1(i,j,k) * xyzbuffer5(i,j,k) +fsd1_avg_divn(i) = fsd1_avg_divn(i) + xyzbuffer17(i,j,k) * xyzbuffer0(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd2_avg_divn(i) = fsd2_avg_divn(i) + xyzbuffer17(i,j,k) * xyzbuffer9(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd3_avg_divn(i) = fsd3_avg_divn(i) + xyzbuffer17(i,j,k) * xyzbuffer7(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd4_avg_divn(i) = fsd4_avg_divn(i) + xyzbuffer17(i,j,k) * xyzbuffer2(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd5_avg_divn(i) = fsd5_avg_divn(i) + xyzbuffer17(i,j,k) * xyzbuffer6(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd6_avg_divn(i) = fsd6_avg_divn(i) + xyzbuffer17(i,j,k) * xyzbuffer13(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd7_avg_divn(i) = fsd7_avg_divn(i) + xyzbuffer17(i,j,k) * xyzbuffer5(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd8_avg_divn(i) = fsd8_avg_divn(i) + xyzbuffer17(i,j,k) * xyzbuffer14(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd9_avg_divn(i) = fsd9_avg_divn(i) + xyzbuffer17(i,j,k) * xyzbuffer4(i,j,k) end do end do end do @@ -479,7 +1539,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer0(i,j,k) = ( dabs ( xyzbuffer1(i,j,k) ) ) +xyzbuffer16(i,j,k) = ( dabs ( xyzbuffer17(i,j,k) ) ) end do end do end do @@ -488,7 +1548,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t1(i) = fsd_avg_t1(i) + xyzbuffer3(i,j,k) * xyzbuffer5(i,j,k) +fsd2_avg_absk(i) = fsd2_avg_absk(i) + xyzbuffer16(i,j,k) * xyzbuffer9(i,j,k) end do end do end do @@ -497,7 +1557,79 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_absk(i) = fsd_avg_absk(i) + xyzbuffer0(i,j,k) * xyzbuffer5(i,j,k) +fsd4_avg_absk(i) = fsd4_avg_absk(i) + xyzbuffer16(i,j,k) * xyzbuffer2(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd5_avg_absk(i) = fsd5_avg_absk(i) + xyzbuffer16(i,j,k) * xyzbuffer6(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd7_avg_absk(i) = fsd7_avg_absk(i) + xyzbuffer16(i,j,k) * xyzbuffer5(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd9_avg_absk(i) = fsd9_avg_absk(i) + xyzbuffer16(i,j,k) * xyzbuffer4(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd1_avg_absk(i) = fsd1_avg_absk(i) + xyzbuffer16(i,j,k) * xyzbuffer0(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd4_avg_t1(i) = fsd4_avg_t1(i) + xyzbuffer11(i,j,k) * xyzbuffer2(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd8_avg_absk(i) = fsd8_avg_absk(i) + xyzbuffer16(i,j,k) * xyzbuffer14(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd3_avg_absk(i) = fsd3_avg_absk(i) + xyzbuffer16(i,j,k) * xyzbuffer7(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd6_avg_absk(i) = fsd6_avg_absk(i) + xyzbuffer16(i,j,k) * xyzbuffer13(i,j,k) end do end do end do @@ -549,9 +1681,49 @@ call MPI_ALLREDUCE(MPI_IN_PLACE, avg_ddz_c, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TA avg_ddz_c = avg_ddz_c / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, avg_fsd, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_fsd1, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -avg_fsd = avg_fsd / denum +avg_fsd1 = avg_fsd1 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_fsd2, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_fsd2 = avg_fsd2 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_fsd3, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_fsd3 = avg_fsd3 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_fsd4, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_fsd4 = avg_fsd4 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_fsd5, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_fsd5 = avg_fsd5 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_fsd6, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_fsd6 = avg_fsd6 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_fsd7, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_fsd7 = avg_fsd7 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_fsd8, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_fsd8 = avg_fsd8 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, avg_fsd9, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +avg_fsd9 = avg_fsd9 / denum call MPI_ALLREDUCE(MPI_IN_PLACE, avg_lapc, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) @@ -574,54 +1746,319 @@ call MPI_ALLREDUCE(MPI_IN_PLACE, avg_w, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, avg_w = avg_w / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_absk, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd1_avg_absk, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_absk = fsd_avg_absk / avg_fsd / denum +fsd1_avg_absk = fsd1_avg_absk / avg_fsd1 / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_divn, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd1_avg_divn, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_divn = fsd_avg_divn / avg_fsd / denum +fsd1_avg_divn = fsd1_avg_divn / avg_fsd1 / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_nx, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd1_avg_nx, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_nx = fsd_avg_nx / avg_fsd / denum +fsd1_avg_nx = fsd1_avg_nx / avg_fsd1 / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_ny, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd1_avg_ny, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_ny = fsd_avg_ny / avg_fsd / denum +fsd1_avg_ny = fsd1_avg_ny / avg_fsd1 / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_nz, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd1_avg_nz, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_nz = fsd_avg_nz / avg_fsd / denum +fsd1_avg_nz = fsd1_avg_nz / avg_fsd1 / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_sd, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd1_avg_sd, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_sd = fsd_avg_sd / avg_fsd / denum +fsd1_avg_sd = fsd1_avg_sd / avg_fsd1 / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t1, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd1_avg_t1, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_t1 = fsd_avg_t1 / avg_fsd / denum +fsd1_avg_t1 = fsd1_avg_t1 / avg_fsd1 / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_u, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd2_avg_absk, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_u = fsd_avg_u / avg_fsd / denum +fsd2_avg_absk = fsd2_avg_absk / avg_fsd2 / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_v, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd2_avg_divn, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_v = fsd_avg_v / avg_fsd / denum +fsd2_avg_divn = fsd2_avg_divn / avg_fsd2 / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_w, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd2_avg_nx, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_w = fsd_avg_w / avg_fsd / denum +fsd2_avg_nx = fsd2_avg_nx / avg_fsd2 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd2_avg_ny, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd2_avg_ny = fsd2_avg_ny / avg_fsd2 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd2_avg_nz, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd2_avg_nz = fsd2_avg_nz / avg_fsd2 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd2_avg_sd, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd2_avg_sd = fsd2_avg_sd / avg_fsd2 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd2_avg_t1, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd2_avg_t1 = fsd2_avg_t1 / avg_fsd2 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd3_avg_absk, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd3_avg_absk = fsd3_avg_absk / avg_fsd3 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd3_avg_divn, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd3_avg_divn = fsd3_avg_divn / avg_fsd3 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd3_avg_nx, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd3_avg_nx = fsd3_avg_nx / avg_fsd3 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd3_avg_ny, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd3_avg_ny = fsd3_avg_ny / avg_fsd3 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd3_avg_nz, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd3_avg_nz = fsd3_avg_nz / avg_fsd3 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd3_avg_sd, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd3_avg_sd = fsd3_avg_sd / avg_fsd3 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd3_avg_t1, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd3_avg_t1 = fsd3_avg_t1 / avg_fsd3 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd4_avg_absk, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd4_avg_absk = fsd4_avg_absk / avg_fsd4 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd4_avg_divn, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd4_avg_divn = fsd4_avg_divn / avg_fsd4 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd4_avg_nx, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd4_avg_nx = fsd4_avg_nx / avg_fsd4 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd4_avg_ny, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd4_avg_ny = fsd4_avg_ny / avg_fsd4 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd4_avg_nz, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd4_avg_nz = fsd4_avg_nz / avg_fsd4 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd4_avg_sd, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd4_avg_sd = fsd4_avg_sd / avg_fsd4 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd4_avg_t1, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd4_avg_t1 = fsd4_avg_t1 / avg_fsd4 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd5_avg_absk, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd5_avg_absk = fsd5_avg_absk / avg_fsd5 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd5_avg_divn, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd5_avg_divn = fsd5_avg_divn / avg_fsd5 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd5_avg_nx, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd5_avg_nx = fsd5_avg_nx / avg_fsd5 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd5_avg_ny, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd5_avg_ny = fsd5_avg_ny / avg_fsd5 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd5_avg_nz, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd5_avg_nz = fsd5_avg_nz / avg_fsd5 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd5_avg_sd, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd5_avg_sd = fsd5_avg_sd / avg_fsd5 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd5_avg_t1, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd5_avg_t1 = fsd5_avg_t1 / avg_fsd5 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd6_avg_absk, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd6_avg_absk = fsd6_avg_absk / avg_fsd6 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd6_avg_divn, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd6_avg_divn = fsd6_avg_divn / avg_fsd6 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd6_avg_nx, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd6_avg_nx = fsd6_avg_nx / avg_fsd6 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd6_avg_ny, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd6_avg_ny = fsd6_avg_ny / avg_fsd6 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd6_avg_nz, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd6_avg_nz = fsd6_avg_nz / avg_fsd6 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd6_avg_sd, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd6_avg_sd = fsd6_avg_sd / avg_fsd6 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd6_avg_t1, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd6_avg_t1 = fsd6_avg_t1 / avg_fsd6 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd7_avg_absk, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd7_avg_absk = fsd7_avg_absk / avg_fsd7 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd7_avg_divn, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd7_avg_divn = fsd7_avg_divn / avg_fsd7 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd7_avg_nx, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd7_avg_nx = fsd7_avg_nx / avg_fsd7 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd7_avg_ny, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd7_avg_ny = fsd7_avg_ny / avg_fsd7 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd7_avg_nz, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd7_avg_nz = fsd7_avg_nz / avg_fsd7 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd7_avg_sd, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd7_avg_sd = fsd7_avg_sd / avg_fsd7 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd7_avg_t1, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd7_avg_t1 = fsd7_avg_t1 / avg_fsd7 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd8_avg_absk, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd8_avg_absk = fsd8_avg_absk / avg_fsd8 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd8_avg_divn, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd8_avg_divn = fsd8_avg_divn / avg_fsd8 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd8_avg_nx, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd8_avg_nx = fsd8_avg_nx / avg_fsd8 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd8_avg_ny, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd8_avg_ny = fsd8_avg_ny / avg_fsd8 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd8_avg_nz, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd8_avg_nz = fsd8_avg_nz / avg_fsd8 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd8_avg_sd, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd8_avg_sd = fsd8_avg_sd / avg_fsd8 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd8_avg_t1, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd8_avg_t1 = fsd8_avg_t1 / avg_fsd8 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd9_avg_absk, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd9_avg_absk = fsd9_avg_absk / avg_fsd9 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd9_avg_divn, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd9_avg_divn = fsd9_avg_divn / avg_fsd9 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd9_avg_nx, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd9_avg_nx = fsd9_avg_nx / avg_fsd9 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd9_avg_ny, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd9_avg_ny = fsd9_avg_ny / avg_fsd9 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd9_avg_nz, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd9_avg_nz = fsd9_avg_nz / avg_fsd9 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd9_avg_sd, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd9_avg_sd = fsd9_avg_sd / avg_fsd9 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd9_avg_t1, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd9_avg_t1 = fsd9_avg_t1 / avg_fsd9 / denum end subroutine m_terms_average_pass1 @@ -636,21 +2073,61 @@ integer :: i, j, k do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer12(i,j,k) = ( 1.0 - y(i,j,k) ) +xyzbuffer22(i,j,k) = ( 1.0 - y(i,j,k) ) end do end do end do -call d2dy ( xyzbuffer11, xyzbuffer12 ) -call ddx ( xyzbuffer10, xyzbuffer12 ) -call ddy ( xyzbuffer9, xyzbuffer12 ) -call ddz ( xyzbuffer8, xyzbuffer12 ) +call d2dy ( xyzbuffer23, xyzbuffer22 ) +call ddx ( xyzbuffer20, xyzbuffer22 ) +call ddy ( xyzbuffer21, xyzbuffer22 ) +call ddz ( xyzbuffer26, xyzbuffer22 ) ! ( 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 -xyzbuffer3(i,j,k) = ( sqrt ( ( ( ((xyzbuffer10(i,j,k))*(xyzbuffer10(i,j,k))) + ((xyzbuffer9(i,j,k))*(xyzbuffer9(i,j,k))) ) + ((xyzbuffer8(i,j,k))*(xyzbuffer8(i,j,k))) ) ) ) +xyzbuffer27(i,j,k) = ( sqrt ( ( ( ((xyzbuffer20(i,j,k))*(xyzbuffer20(i,j,k))) + ((xyzbuffer21(i,j,k))*(xyzbuffer21(i,j,k))) ) + ((xyzbuffer26(i,j,k))*(xyzbuffer26(i,j,k))) ) ) ) +end do +end do +end do + + +! ( threshold_min_max ( c(i,j,k), 0.15, 0.25 ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer24(i,j,k) = ( threshold_min_max ( xyzbuffer22(i,j,k), 0.15, 0.25 ) ) +end do +end do +end do + + +! ( threshold_min_max ( c(i,j,k), 0.35, 0.45 ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer25(i,j,k) = ( threshold_min_max ( xyzbuffer22(i,j,k), 0.35, 0.45 ) ) +end do +end do +end do + + +! ( threshold_min_max ( c(i,j,k), 0.55, 0.65 ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer28(i,j,k) = ( threshold_min_max ( xyzbuffer22(i,j,k), 0.55, 0.65 ) ) +end do +end do +end do + + +! ( threshold_min_max ( c(i,j,k), 0.75, 0.85 ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer29(i,j,k) = ( threshold_min_max ( xyzbuffer22(i,j,k), 0.75, 0.85 ) ) end do end do end do @@ -660,7 +2137,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer2(i,j,k) = ( ( - xyzbuffer10(i,j,k) ) / xyzbuffer3(i,j,k) ) +xyzbuffer31(i,j,k) = ( ( - xyzbuffer20(i,j,k) ) / xyzbuffer27(i,j,k) ) end do end do end do @@ -670,17 +2147,57 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer1(i,j,k) = ( ( - xyzbuffer8(i,j,k) ) / xyzbuffer3(i,j,k) ) +xyzbuffer35(i,j,k) = ( ( - xyzbuffer26(i,j,k) ) / xyzbuffer27(i,j,k) ) end do end do end do -! (((nx(i,j,k) - fsd_avg_nx(i)))*((nx(i,j,k) - fsd_avg_nx(i)))) +! (((nx(i,j,k) - fsd1_avg_nx(i)))*((nx(i,j,k) - fsd1_avg_nx(i)))) do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer0(i,j,k) = (((xyzbuffer2(i,j,k) - fsd_avg_nx(i)))*((xyzbuffer2(i,j,k) - fsd_avg_nx(i)))) +xyzbuffer34(i,j,k) = (((xyzbuffer31(i,j,k) - fsd1_avg_nx(i)))*((xyzbuffer31(i,j,k) - fsd1_avg_nx(i)))) +end do +end do +end do + + +! (((nx(i,j,k) - fsd3_avg_nx(i)))*((nx(i,j,k) - fsd3_avg_nx(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer30(i,j,k) = (((xyzbuffer31(i,j,k) - fsd3_avg_nx(i)))*((xyzbuffer31(i,j,k) - fsd3_avg_nx(i)))) +end do +end do +end do + + +! (((nx(i,j,k) - fsd5_avg_nx(i)))*((nx(i,j,k) - fsd5_avg_nx(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer19(i,j,k) = (((xyzbuffer31(i,j,k) - fsd5_avg_nx(i)))*((xyzbuffer31(i,j,k) - fsd5_avg_nx(i)))) +end do +end do +end do + + +! (((nx(i,j,k) - fsd7_avg_nx(i)))*((nx(i,j,k) - fsd7_avg_nx(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer18(i,j,k) = (((xyzbuffer31(i,j,k) - fsd7_avg_nx(i)))*((xyzbuffer31(i,j,k) - fsd7_avg_nx(i)))) +end do +end do +end do + + +! (((nx(i,j,k) - fsd9_avg_nx(i)))*((nx(i,j,k) - fsd9_avg_nx(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer13(i,j,k) = (((xyzbuffer31(i,j,k) - fsd9_avg_nx(i)))*((xyzbuffer31(i,j,k) - fsd9_avg_nx(i)))) end do end do end do @@ -690,31 +2207,111 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer7(i,j,k) = ( rxn_rate ( xyzbuffer12(i,j,k) ) ) +xyzbuffer12(i,j,k) = ( rxn_rate ( xyzbuffer22(i,j,k) ) ) end do end do end do -call d2dx ( xyzbuffer6, xyzbuffer12 ) -call ddx ( xyzbuffer5, xyzbuffer2 ) -call ddz ( xyzbuffer4, xyzbuffer1 ) +call d2dx ( xyzbuffer11, xyzbuffer22 ) +call ddx ( xyzbuffer10, xyzbuffer31 ) +call ddz ( xyzbuffer17, xyzbuffer35 ) -! ( threshold_min_max ( c(i,j,k) ) ) +! ( fsd_orig(i,j,k) * mask2(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer10(i,j,k) = ( threshold_min_max ( xyzbuffer12(i,j,k) ) ) +xyzbuffer16(i,j,k) = ( xyzbuffer27(i,j,k) * xyzbuffer24(i,j,k) ) end do end do end do -call d2dz ( xyzbuffer8, xyzbuffer12 ) -! ( fsd_orig(i,j,k) * mask(i,j,k) ) +! ( fsd_orig(i,j,k) * mask4(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer12(i,j,k) = ( xyzbuffer3(i,j,k) * xyzbuffer10(i,j,k) ) +xyzbuffer15(i,j,k) = ( xyzbuffer27(i,j,k) * xyzbuffer25(i,j,k) ) +end do +end do +end do + + +! ( fsd_orig(i,j,k) * mask6(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer14(i,j,k) = ( xyzbuffer27(i,j,k) * xyzbuffer28(i,j,k) ) +end do +end do +end do + + +! ( fsd_orig(i,j,k) * mask8(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer9(i,j,k) = ( xyzbuffer27(i,j,k) * xyzbuffer29(i,j,k) ) +end do +end do +end do + + +! ( threshold_min_max ( c(i,j,k), 0.05, 0.15 ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer8(i,j,k) = ( threshold_min_max ( xyzbuffer22(i,j,k), 0.05, 0.15 ) ) +end do +end do +end do + + +! ( threshold_min_max ( c(i,j,k), 0.45, 0.55 ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer33(i,j,k) = ( threshold_min_max ( xyzbuffer22(i,j,k), 0.45, 0.55 ) ) +end do +end do +end do + + +! ( threshold_min_max ( c(i,j,k), 0.85, 0.95 ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer3(i,j,k) = ( threshold_min_max ( xyzbuffer22(i,j,k), 0.85, 0.95 ) ) +end do +end do +end do + + +! (((nx(i,j,k) - fsd2_avg_nx(i)))*((nx(i,j,k) - fsd2_avg_nx(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer2(i,j,k) = (((xyzbuffer31(i,j,k) - fsd2_avg_nx(i)))*((xyzbuffer31(i,j,k) - fsd2_avg_nx(i)))) +end do +end do +end do + + +! (((nx(i,j,k) - fsd6_avg_nx(i)))*((nx(i,j,k) - fsd6_avg_nx(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer1(i,j,k) = (((xyzbuffer31(i,j,k) - fsd6_avg_nx(i)))*((xyzbuffer31(i,j,k) - fsd6_avg_nx(i)))) +end do +end do +end do + +call d2dz ( xyzbuffer0, xyzbuffer22 ) + +! ( fsd_orig(i,j,k) * mask1(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer7(i,j,k) = ( xyzbuffer27(i,j,k) * xyzbuffer8(i,j,k) ) end do end do end do @@ -723,7 +2320,73 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t6(i) = fsd_avg_t6(i) + xyzbuffer0(i,j,k) * xyzbuffer12(i,j,k) +fsd1_avg_t6(i) = fsd1_avg_t6(i) + xyzbuffer34(i,j,k) * xyzbuffer7(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd2_avg_t6(i) = fsd2_avg_t6(i) + xyzbuffer2(i,j,k) * xyzbuffer16(i,j,k) +end do +end do +end do + + +! ( fsd_orig(i,j,k) * mask5(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer6(i,j,k) = ( xyzbuffer27(i,j,k) * xyzbuffer33(i,j,k) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd5_avg_t6(i) = fsd5_avg_t6(i) + xyzbuffer19(i,j,k) * xyzbuffer6(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd6_avg_t6(i) = fsd6_avg_t6(i) + xyzbuffer1(i,j,k) * xyzbuffer14(i,j,k) +end do +end do +end do + + +! ( fsd_orig(i,j,k) * mask9(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer5(i,j,k) = ( xyzbuffer27(i,j,k) * xyzbuffer3(i,j,k) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd9_avg_t6(i) = fsd9_avg_t6(i) + xyzbuffer13(i,j,k) * xyzbuffer5(i,j,k) +end do +end do +end do + + +! ( threshold_min_max ( c(i,j,k), 0.25, 0.35 ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer4(i,j,k) = ( threshold_min_max ( xyzbuffer22(i,j,k), 0.25, 0.35 ) ) end do end do end do @@ -733,7 +2396,17 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer10(i,j,k) = ( ( - xyzbuffer9(i,j,k) ) / xyzbuffer3(i,j,k) ) +xyzbuffer32(i,j,k) = ( ( - xyzbuffer21(i,j,k) ) / xyzbuffer27(i,j,k) ) +end do +end do +end do + + +! (((nx(i,j,k) - fsd4_avg_nx(i)))*((nx(i,j,k) - fsd4_avg_nx(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer36(i,j,k) = (((xyzbuffer31(i,j,k) - fsd4_avg_nx(i)))*((xyzbuffer31(i,j,k) - fsd4_avg_nx(i)))) end do end do end do @@ -743,18 +2416,56 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer9(i,j,k) = ( ( ( u(i,j,k) * xyzbuffer2(i,j,k) ) + ( v(i,j,k) * xyzbuffer10(i,j,k) ) ) + ( w(i,j,k) * xyzbuffer1(i,j,k) ) ) +xyzbuffer20(i,j,k) = ( ( ( u(i,j,k) * xyzbuffer31(i,j,k) ) + ( v(i,j,k) * xyzbuffer32(i,j,k) ) ) + ( w(i,j,k) * xyzbuffer35(i,j,k) ) ) end do end do end do -call ddy ( xyzbuffer1, xyzbuffer10 ) +call ddy ( xyzbuffer21, xyzbuffer32 ) -! ( ( ( ( ( d2dx_c(i,j,k) + d2dy_c(i,j,k) ) + d2dz_c(i,j,k) ) * rod ) + wrate(i,j,k) ) / fsd_orig(i,j,k) ) +! ( fsd_orig(i,j,k) * mask3(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer0(i,j,k) = ( ( ( ( ( xyzbuffer6(i,j,k) + xyzbuffer11(i,j,k) ) + xyzbuffer8(i,j,k) ) * rod ) + xyzbuffer7(i,j,k) ) / xyzbuffer3(i,j,k) ) +xyzbuffer26(i,j,k) = ( xyzbuffer27(i,j,k) * xyzbuffer4(i,j,k) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd3_avg_t6(i) = fsd3_avg_t6(i) + xyzbuffer30(i,j,k) * xyzbuffer26(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd4_avg_t6(i) = fsd4_avg_t6(i) + xyzbuffer36(i,j,k) * xyzbuffer15(i,j,k) +end do +end do +end do + + +! ( threshold_min_max ( c(i,j,k), 0.65, 0.75 ) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer24(i,j,k) = ( threshold_min_max ( xyzbuffer22(i,j,k), 0.65, 0.75 ) ) +end do +end do +end do + + +! (((nx(i,j,k) - fsd8_avg_nx(i)))*((nx(i,j,k) - fsd8_avg_nx(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer22(i,j,k) = (((xyzbuffer31(i,j,k) - fsd8_avg_nx(i)))*((xyzbuffer31(i,j,k) - fsd8_avg_nx(i)))) end do end do end do @@ -764,37 +2475,95 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer7(i,j,k) = ( ( xyzbuffer5(i,j,k) + xyzbuffer1(i,j,k) ) + xyzbuffer4(i,j,k) ) +xyzbuffer25(i,j,k) = ( ( xyzbuffer10(i,j,k) + xyzbuffer21(i,j,k) ) + xyzbuffer17(i,j,k) ) end do end do end do -! ( ( vn(i,j,k) + sd(i,j,k) ) * nx(i,j,k) ) +! ( fsd_orig(i,j,k) * mask7(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer6(i,j,k) = ( ( xyzbuffer9(i,j,k) + xyzbuffer0(i,j,k) ) * xyzbuffer2(i,j,k) ) +xyzbuffer28(i,j,k) = ( xyzbuffer27(i,j,k) * xyzbuffer24(i,j,k) ) end do end do end do -! ( (t1(i,j,k) - fsd_avg_t1(i)) * (divn(i,j,k) - fsd_avg_divn(i)) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer5(i,j,k) = ( (xyzbuffer6(i,j,k) - fsd_avg_t1(i)) * (xyzbuffer7(i,j,k) - fsd_avg_divn(i)) ) +fsd7_avg_t6(i) = fsd7_avg_t6(i) + xyzbuffer18(i,j,k) * xyzbuffer28(i,j,k) end do end do end do -! (((t1(i,j,k) - fsd_avg_t1(i)))*((t1(i,j,k) - fsd_avg_t1(i)))) do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer4(i,j,k) = (((xyzbuffer6(i,j,k) - fsd_avg_t1(i)))*((xyzbuffer6(i,j,k) - fsd_avg_t1(i)))) +fsd8_avg_t6(i) = fsd8_avg_t6(i) + xyzbuffer22(i,j,k) * xyzbuffer9(i,j,k) +end do +end do +end do + + +! ( ( ( ( ( d2dx_c(i,j,k) + d2dy_c(i,j,k) ) + d2dz_c(i,j,k) ) * rod ) + wrate(i,j,k) ) / fsd_orig(i,j,k) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer22(i,j,k) = ( ( ( ( ( xyzbuffer11(i,j,k) + xyzbuffer23(i,j,k) ) + xyzbuffer0(i,j,k) ) * rod ) + xyzbuffer12(i,j,k) ) / xyzbuffer27(i,j,k) ) +end do +end do +end do + + +! (((divn(i,j,k) - fsd1_avg_divn(i)))*((divn(i,j,k) - fsd1_avg_divn(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer23(i,j,k) = (((xyzbuffer25(i,j,k) - fsd1_avg_divn(i)))*((xyzbuffer25(i,j,k) - fsd1_avg_divn(i)))) +end do +end do +end do + + +! (((divn(i,j,k) - fsd3_avg_divn(i)))*((divn(i,j,k) - fsd3_avg_divn(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer21(i,j,k) = (((xyzbuffer25(i,j,k) - fsd3_avg_divn(i)))*((xyzbuffer25(i,j,k) - fsd3_avg_divn(i)))) +end do +end do +end do + + +! (((divn(i,j,k) - fsd5_avg_divn(i)))*((divn(i,j,k) - fsd5_avg_divn(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer27(i,j,k) = (((xyzbuffer25(i,j,k) - fsd5_avg_divn(i)))*((xyzbuffer25(i,j,k) - fsd5_avg_divn(i)))) +end do +end do +end do + + +! (((divn(i,j,k) - fsd7_avg_divn(i)))*((divn(i,j,k) - fsd7_avg_divn(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer24(i,j,k) = (((xyzbuffer25(i,j,k) - fsd7_avg_divn(i)))*((xyzbuffer25(i,j,k) - fsd7_avg_divn(i)))) +end do +end do +end do + + +! (((divn(i,j,k) - fsd9_avg_divn(i)))*((divn(i,j,k) - fsd9_avg_divn(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer29(i,j,k) = (((xyzbuffer25(i,j,k) - fsd9_avg_divn(i)))*((xyzbuffer25(i,j,k) - fsd9_avg_divn(i)))) end do end do end do @@ -804,7 +2573,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer11(i,j,k) = ( dabs ( xyzbuffer7(i,j,k) ) ) +xyzbuffer18(i,j,k) = ( dabs ( xyzbuffer25(i,j,k) ) ) end do end do end do @@ -813,7 +2582,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t3(i) = fsd_avg_t3(i) + xyzbuffer5(i,j,k) * xyzbuffer12(i,j,k) +fsd1_avg_t7(i) = fsd1_avg_t7(i) + xyzbuffer23(i,j,k) * xyzbuffer7(i,j,k) end do end do end do @@ -822,27 +2591,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t5(i) = fsd_avg_t5(i) + xyzbuffer4(i,j,k) * xyzbuffer12(i,j,k) -end do -end do -end do - - -! ( (t1(i,j,k) - fsd_avg_t1(i)) * (nx(i,j,k) - fsd_avg_nx(i)) ) -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -xyzbuffer10(i,j,k) = ( (xyzbuffer6(i,j,k) - fsd_avg_t1(i)) * (xyzbuffer2(i,j,k) - fsd_avg_nx(i)) ) -end do -end do -end do - - -! (((divn(i,j,k) - fsd_avg_divn(i)))*((divn(i,j,k) - fsd_avg_divn(i)))) -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -xyzbuffer9(i,j,k) = (((xyzbuffer7(i,j,k) - fsd_avg_divn(i)))*((xyzbuffer7(i,j,k) - fsd_avg_divn(i)))) +fsd3_avg_t7(i) = fsd3_avg_t7(i) + xyzbuffer21(i,j,k) * xyzbuffer26(i,j,k) end do end do end do @@ -851,7 +2600,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t2(i) = fsd_avg_t2(i) + xyzbuffer10(i,j,k) * xyzbuffer12(i,j,k) +fsd5_avg_t7(i) = fsd5_avg_t7(i) + xyzbuffer27(i,j,k) * xyzbuffer6(i,j,k) end do end do end do @@ -860,17 +2609,7 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t7(i) = fsd_avg_t7(i) + xyzbuffer9(i,j,k) * xyzbuffer12(i,j,k) -end do -end do -end do - - -! ( (t1(i,j,k) - fsd_avg_t1(i)) * (absk(i,j,k) - fsd_avg_absk(i)) ) -do k = 1, nzp -do j = 1, nyp -do i = 1, nxp -xyzbuffer8(i,j,k) = ( (xyzbuffer6(i,j,k) - fsd_avg_t1(i)) * (xyzbuffer11(i,j,k) - fsd_avg_absk(i)) ) +fsd7_avg_t7(i) = fsd7_avg_t7(i) + xyzbuffer24(i,j,k) * xyzbuffer28(i,j,k) end do end do end do @@ -879,17 +2618,257 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t4(i) = fsd_avg_t4(i) + xyzbuffer8(i,j,k) * xyzbuffer12(i,j,k) +fsd9_avg_t7(i) = fsd9_avg_t7(i) + xyzbuffer29(i,j,k) * xyzbuffer5(i,j,k) end do end do end do -! (((absk(i,j,k) - fsd_avg_absk(i)))*((absk(i,j,k) - fsd_avg_absk(i)))) +! ( ( vn(i,j,k) + sd(i,j,k) ) * nx(i,j,k) ) do k = 1, nzp do j = 1, nyp do i = 1, nxp -xyzbuffer3(i,j,k) = (((xyzbuffer11(i,j,k) - fsd_avg_absk(i)))*((xyzbuffer11(i,j,k) - fsd_avg_absk(i)))) +xyzbuffer35(i,j,k) = ( ( xyzbuffer20(i,j,k) + xyzbuffer22(i,j,k) ) * xyzbuffer31(i,j,k) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd2_avg_t1(i)) * (nx(i,j,k) - fsd2_avg_nx(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer22(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd2_avg_t1(i)) * (xyzbuffer31(i,j,k) - fsd2_avg_nx(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd4_avg_t1(i)) * (nx(i,j,k) - fsd4_avg_nx(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer23(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd4_avg_t1(i)) * (xyzbuffer31(i,j,k) - fsd4_avg_nx(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd6_avg_t1(i)) * (nx(i,j,k) - fsd6_avg_nx(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer20(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd6_avg_t1(i)) * (xyzbuffer31(i,j,k) - fsd6_avg_nx(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd8_avg_t1(i)) * (nx(i,j,k) - fsd8_avg_nx(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer21(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd8_avg_t1(i)) * (xyzbuffer31(i,j,k) - fsd8_avg_nx(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd1_avg_t1(i)) * (divn(i,j,k) - fsd1_avg_divn(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer27(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd1_avg_t1(i)) * (xyzbuffer25(i,j,k) - fsd1_avg_divn(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd3_avg_t1(i)) * (divn(i,j,k) - fsd3_avg_divn(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer24(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd3_avg_t1(i)) * (xyzbuffer25(i,j,k) - fsd3_avg_divn(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd5_avg_t1(i)) * (divn(i,j,k) - fsd5_avg_divn(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer29(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd5_avg_t1(i)) * (xyzbuffer25(i,j,k) - fsd5_avg_divn(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd7_avg_t1(i)) * (divn(i,j,k) - fsd7_avg_divn(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer12(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd7_avg_t1(i)) * (xyzbuffer25(i,j,k) - fsd7_avg_divn(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd9_avg_t1(i)) * (divn(i,j,k) - fsd9_avg_divn(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer19(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd9_avg_t1(i)) * (xyzbuffer25(i,j,k) - fsd9_avg_divn(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd2_avg_t1(i)) * (absk(i,j,k) - fsd2_avg_absk(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer10(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd2_avg_t1(i)) * (xyzbuffer18(i,j,k) - fsd2_avg_absk(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd4_avg_t1(i)) * (absk(i,j,k) - fsd4_avg_absk(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer13(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd4_avg_t1(i)) * (xyzbuffer18(i,j,k) - fsd4_avg_absk(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd6_avg_t1(i)) * (absk(i,j,k) - fsd6_avg_absk(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer34(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd6_avg_t1(i)) * (xyzbuffer18(i,j,k) - fsd6_avg_absk(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd8_avg_t1(i)) * (absk(i,j,k) - fsd8_avg_absk(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer11(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd8_avg_t1(i)) * (xyzbuffer18(i,j,k) - fsd8_avg_absk(i)) ) +end do +end do +end do + + +! (((t1(i,j,k) - fsd1_avg_t1(i)))*((t1(i,j,k) - fsd1_avg_t1(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer36(i,j,k) = (((xyzbuffer35(i,j,k) - fsd1_avg_t1(i)))*((xyzbuffer35(i,j,k) - fsd1_avg_t1(i)))) +end do +end do +end do + + +! (((t1(i,j,k) - fsd3_avg_t1(i)))*((t1(i,j,k) - fsd3_avg_t1(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer17(i,j,k) = (((xyzbuffer35(i,j,k) - fsd3_avg_t1(i)))*((xyzbuffer35(i,j,k) - fsd3_avg_t1(i)))) +end do +end do +end do + + +! (((t1(i,j,k) - fsd5_avg_t1(i)))*((t1(i,j,k) - fsd5_avg_t1(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer30(i,j,k) = (((xyzbuffer35(i,j,k) - fsd5_avg_t1(i)))*((xyzbuffer35(i,j,k) - fsd5_avg_t1(i)))) +end do +end do +end do + + +! (((t1(i,j,k) - fsd7_avg_t1(i)))*((t1(i,j,k) - fsd7_avg_t1(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer33(i,j,k) = (((xyzbuffer35(i,j,k) - fsd7_avg_t1(i)))*((xyzbuffer35(i,j,k) - fsd7_avg_t1(i)))) +end do +end do +end do + + +! (((t1(i,j,k) - fsd9_avg_t1(i)))*((t1(i,j,k) - fsd9_avg_t1(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer32(i,j,k) = (((xyzbuffer35(i,j,k) - fsd9_avg_t1(i)))*((xyzbuffer35(i,j,k) - fsd9_avg_t1(i)))) +end do +end do +end do + + +! (((divn(i,j,k) - fsd4_avg_divn(i)))*((divn(i,j,k) - fsd4_avg_divn(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer8(i,j,k) = (((xyzbuffer25(i,j,k) - fsd4_avg_divn(i)))*((xyzbuffer25(i,j,k) - fsd4_avg_divn(i)))) +end do +end do +end do + + +! (((divn(i,j,k) - fsd8_avg_divn(i)))*((divn(i,j,k) - fsd8_avg_divn(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer3(i,j,k) = (((xyzbuffer25(i,j,k) - fsd8_avg_divn(i)))*((xyzbuffer25(i,j,k) - fsd8_avg_divn(i)))) +end do +end do +end do + + +! (((absk(i,j,k) - fsd2_avg_absk(i)))*((absk(i,j,k) - fsd2_avg_absk(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer2(i,j,k) = (((xyzbuffer18(i,j,k) - fsd2_avg_absk(i)))*((xyzbuffer18(i,j,k) - fsd2_avg_absk(i)))) +end do +end do +end do + + +! (((absk(i,j,k) - fsd4_avg_absk(i)))*((absk(i,j,k) - fsd4_avg_absk(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer1(i,j,k) = (((xyzbuffer18(i,j,k) - fsd4_avg_absk(i)))*((xyzbuffer18(i,j,k) - fsd4_avg_absk(i)))) +end do +end do +end do + + +! (((absk(i,j,k) - fsd6_avg_absk(i)))*((absk(i,j,k) - fsd6_avg_absk(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer0(i,j,k) = (((xyzbuffer18(i,j,k) - fsd6_avg_absk(i)))*((xyzbuffer18(i,j,k) - fsd6_avg_absk(i)))) +end do +end do +end do + + +! (((absk(i,j,k) - fsd8_avg_absk(i)))*((absk(i,j,k) - fsd8_avg_absk(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer4(i,j,k) = (((xyzbuffer18(i,j,k) - fsd8_avg_absk(i)))*((xyzbuffer18(i,j,k) - fsd8_avg_absk(i)))) end do end do end do @@ -898,7 +2877,689 @@ end do do k = 1, nzp do j = 1, nyp do i = 1, nxp -fsd_avg_t8(i) = fsd_avg_t8(i) + xyzbuffer3(i,j,k) * xyzbuffer12(i,j,k) +fsd1_avg_t3(i) = fsd1_avg_t3(i) + xyzbuffer27(i,j,k) * xyzbuffer7(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd1_avg_t5(i) = fsd1_avg_t5(i) + xyzbuffer36(i,j,k) * xyzbuffer7(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd2_avg_t2(i) = fsd2_avg_t2(i) + xyzbuffer22(i,j,k) * xyzbuffer16(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd2_avg_t4(i) = fsd2_avg_t4(i) + xyzbuffer10(i,j,k) * xyzbuffer16(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd2_avg_t8(i) = fsd2_avg_t8(i) + xyzbuffer2(i,j,k) * xyzbuffer16(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd3_avg_t3(i) = fsd3_avg_t3(i) + xyzbuffer24(i,j,k) * xyzbuffer26(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd3_avg_t5(i) = fsd3_avg_t5(i) + xyzbuffer17(i,j,k) * xyzbuffer26(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd4_avg_t2(i) = fsd4_avg_t2(i) + xyzbuffer23(i,j,k) * xyzbuffer15(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd4_avg_t4(i) = fsd4_avg_t4(i) + xyzbuffer13(i,j,k) * xyzbuffer15(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd4_avg_t7(i) = fsd4_avg_t7(i) + xyzbuffer8(i,j,k) * xyzbuffer15(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd5_avg_t3(i) = fsd5_avg_t3(i) + xyzbuffer29(i,j,k) * xyzbuffer6(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd5_avg_t5(i) = fsd5_avg_t5(i) + xyzbuffer30(i,j,k) * xyzbuffer6(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd6_avg_t2(i) = fsd6_avg_t2(i) + xyzbuffer20(i,j,k) * xyzbuffer14(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd6_avg_t4(i) = fsd6_avg_t4(i) + xyzbuffer34(i,j,k) * xyzbuffer14(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd6_avg_t8(i) = fsd6_avg_t8(i) + xyzbuffer0(i,j,k) * xyzbuffer14(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd7_avg_t3(i) = fsd7_avg_t3(i) + xyzbuffer12(i,j,k) * xyzbuffer28(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd7_avg_t5(i) = fsd7_avg_t5(i) + xyzbuffer33(i,j,k) * xyzbuffer28(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd8_avg_t2(i) = fsd8_avg_t2(i) + xyzbuffer21(i,j,k) * xyzbuffer9(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd8_avg_t4(i) = fsd8_avg_t4(i) + xyzbuffer11(i,j,k) * xyzbuffer9(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd8_avg_t7(i) = fsd8_avg_t7(i) + xyzbuffer3(i,j,k) * xyzbuffer9(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd9_avg_t3(i) = fsd9_avg_t3(i) + xyzbuffer19(i,j,k) * xyzbuffer5(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd9_avg_t5(i) = fsd9_avg_t5(i) + xyzbuffer32(i,j,k) * xyzbuffer5(i,j,k) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd1_avg_t1(i)) * (nx(i,j,k) - fsd1_avg_nx(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer22(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd1_avg_t1(i)) * (xyzbuffer31(i,j,k) - fsd1_avg_nx(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd5_avg_t1(i)) * (nx(i,j,k) - fsd5_avg_nx(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer23(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd5_avg_t1(i)) * (xyzbuffer31(i,j,k) - fsd5_avg_nx(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd9_avg_t1(i)) * (nx(i,j,k) - fsd9_avg_nx(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer20(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd9_avg_t1(i)) * (xyzbuffer31(i,j,k) - fsd9_avg_nx(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd4_avg_t1(i)) * (divn(i,j,k) - fsd4_avg_divn(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer21(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd4_avg_t1(i)) * (xyzbuffer25(i,j,k) - fsd4_avg_divn(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd8_avg_t1(i)) * (divn(i,j,k) - fsd8_avg_divn(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer27(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd8_avg_t1(i)) * (xyzbuffer25(i,j,k) - fsd8_avg_divn(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd3_avg_t1(i)) * (absk(i,j,k) - fsd3_avg_absk(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer24(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd3_avg_t1(i)) * (xyzbuffer18(i,j,k) - fsd3_avg_absk(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd7_avg_t1(i)) * (absk(i,j,k) - fsd7_avg_absk(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer29(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd7_avg_t1(i)) * (xyzbuffer18(i,j,k) - fsd7_avg_absk(i)) ) +end do +end do +end do + + +! (((t1(i,j,k) - fsd2_avg_t1(i)))*((t1(i,j,k) - fsd2_avg_t1(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer12(i,j,k) = (((xyzbuffer35(i,j,k) - fsd2_avg_t1(i)))*((xyzbuffer35(i,j,k) - fsd2_avg_t1(i)))) +end do +end do +end do + + +! (((t1(i,j,k) - fsd6_avg_t1(i)))*((t1(i,j,k) - fsd6_avg_t1(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer19(i,j,k) = (((xyzbuffer35(i,j,k) - fsd6_avg_t1(i)))*((xyzbuffer35(i,j,k) - fsd6_avg_t1(i)))) +end do +end do +end do + + +! (((divn(i,j,k) - fsd2_avg_divn(i)))*((divn(i,j,k) - fsd2_avg_divn(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer10(i,j,k) = (((xyzbuffer25(i,j,k) - fsd2_avg_divn(i)))*((xyzbuffer25(i,j,k) - fsd2_avg_divn(i)))) +end do +end do +end do + + +! (((absk(i,j,k) - fsd1_avg_absk(i)))*((absk(i,j,k) - fsd1_avg_absk(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer13(i,j,k) = (((xyzbuffer18(i,j,k) - fsd1_avg_absk(i)))*((xyzbuffer18(i,j,k) - fsd1_avg_absk(i)))) +end do +end do +end do + + +! (((absk(i,j,k) - fsd5_avg_absk(i)))*((absk(i,j,k) - fsd5_avg_absk(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer34(i,j,k) = (((xyzbuffer18(i,j,k) - fsd5_avg_absk(i)))*((xyzbuffer18(i,j,k) - fsd5_avg_absk(i)))) +end do +end do +end do + + +! (((absk(i,j,k) - fsd9_avg_absk(i)))*((absk(i,j,k) - fsd9_avg_absk(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer11(i,j,k) = (((xyzbuffer18(i,j,k) - fsd9_avg_absk(i)))*((xyzbuffer18(i,j,k) - fsd9_avg_absk(i)))) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd1_avg_t2(i) = fsd1_avg_t2(i) + xyzbuffer22(i,j,k) * xyzbuffer7(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd1_avg_t8(i) = fsd1_avg_t8(i) + xyzbuffer13(i,j,k) * xyzbuffer7(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd2_avg_t5(i) = fsd2_avg_t5(i) + xyzbuffer12(i,j,k) * xyzbuffer16(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd3_avg_t4(i) = fsd3_avg_t4(i) + xyzbuffer24(i,j,k) * xyzbuffer26(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd4_avg_t3(i) = fsd4_avg_t3(i) + xyzbuffer21(i,j,k) * xyzbuffer15(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd4_avg_t8(i) = fsd4_avg_t8(i) + xyzbuffer1(i,j,k) * xyzbuffer15(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd5_avg_t8(i) = fsd5_avg_t8(i) + xyzbuffer34(i,j,k) * xyzbuffer6(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd6_avg_t5(i) = fsd6_avg_t5(i) + xyzbuffer19(i,j,k) * xyzbuffer14(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd7_avg_t4(i) = fsd7_avg_t4(i) + xyzbuffer29(i,j,k) * xyzbuffer28(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd8_avg_t3(i) = fsd8_avg_t3(i) + xyzbuffer27(i,j,k) * xyzbuffer9(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd8_avg_t8(i) = fsd8_avg_t8(i) + xyzbuffer4(i,j,k) * xyzbuffer9(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd9_avg_t8(i) = fsd9_avg_t8(i) + xyzbuffer11(i,j,k) * xyzbuffer5(i,j,k) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd7_avg_t1(i)) * (nx(i,j,k) - fsd7_avg_nx(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer22(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd7_avg_t1(i)) * (xyzbuffer31(i,j,k) - fsd7_avg_nx(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd6_avg_t1(i)) * (divn(i,j,k) - fsd6_avg_divn(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer21(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd6_avg_t1(i)) * (xyzbuffer25(i,j,k) - fsd6_avg_divn(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd5_avg_t1(i)) * (absk(i,j,k) - fsd5_avg_absk(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer27(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd5_avg_t1(i)) * (xyzbuffer18(i,j,k) - fsd5_avg_absk(i)) ) +end do +end do +end do + + +! (((t1(i,j,k) - fsd4_avg_t1(i)))*((t1(i,j,k) - fsd4_avg_t1(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer24(i,j,k) = (((xyzbuffer35(i,j,k) - fsd4_avg_t1(i)))*((xyzbuffer35(i,j,k) - fsd4_avg_t1(i)))) +end do +end do +end do + + +! (((divn(i,j,k) - fsd6_avg_divn(i)))*((divn(i,j,k) - fsd6_avg_divn(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer29(i,j,k) = (((xyzbuffer25(i,j,k) - fsd6_avg_divn(i)))*((xyzbuffer25(i,j,k) - fsd6_avg_divn(i)))) +end do +end do +end do + + +! (((absk(i,j,k) - fsd7_avg_absk(i)))*((absk(i,j,k) - fsd7_avg_absk(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer34(i,j,k) = (((xyzbuffer18(i,j,k) - fsd7_avg_absk(i)))*((xyzbuffer18(i,j,k) - fsd7_avg_absk(i)))) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd2_avg_t7(i) = fsd2_avg_t7(i) + xyzbuffer10(i,j,k) * xyzbuffer16(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd4_avg_t5(i) = fsd4_avg_t5(i) + xyzbuffer24(i,j,k) * xyzbuffer15(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd5_avg_t4(i) = fsd5_avg_t4(i) + xyzbuffer27(i,j,k) * xyzbuffer6(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd6_avg_t7(i) = fsd6_avg_t7(i) + xyzbuffer29(i,j,k) * xyzbuffer14(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd7_avg_t8(i) = fsd7_avg_t8(i) + xyzbuffer34(i,j,k) * xyzbuffer28(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd9_avg_t2(i) = fsd9_avg_t2(i) + xyzbuffer20(i,j,k) * xyzbuffer5(i,j,k) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd3_avg_t1(i)) * (nx(i,j,k) - fsd3_avg_nx(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer19(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd3_avg_t1(i)) * (xyzbuffer31(i,j,k) - fsd3_avg_nx(i)) ) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd1_avg_t1(i)) * (absk(i,j,k) - fsd1_avg_absk(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer10(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd1_avg_t1(i)) * (xyzbuffer18(i,j,k) - fsd1_avg_absk(i)) ) +end do +end do +end do + + +! (((t1(i,j,k) - fsd8_avg_t1(i)))*((t1(i,j,k) - fsd8_avg_t1(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer13(i,j,k) = (((xyzbuffer35(i,j,k) - fsd8_avg_t1(i)))*((xyzbuffer35(i,j,k) - fsd8_avg_t1(i)))) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd1_avg_t4(i) = fsd1_avg_t4(i) + xyzbuffer10(i,j,k) * xyzbuffer7(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd3_avg_t2(i) = fsd3_avg_t2(i) + xyzbuffer19(i,j,k) * xyzbuffer26(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd5_avg_t2(i) = fsd5_avg_t2(i) + xyzbuffer23(i,j,k) * xyzbuffer6(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd7_avg_t2(i) = fsd7_avg_t2(i) + xyzbuffer22(i,j,k) * xyzbuffer28(i,j,k) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd2_avg_t1(i)) * (divn(i,j,k) - fsd2_avg_divn(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer22(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd2_avg_t1(i)) * (xyzbuffer25(i,j,k) - fsd2_avg_divn(i)) ) +end do +end do +end do + + +! (((absk(i,j,k) - fsd3_avg_absk(i)))*((absk(i,j,k) - fsd3_avg_absk(i)))) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer23(i,j,k) = (((xyzbuffer18(i,j,k) - fsd3_avg_absk(i)))*((xyzbuffer18(i,j,k) - fsd3_avg_absk(i)))) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd2_avg_t3(i) = fsd2_avg_t3(i) + xyzbuffer22(i,j,k) * xyzbuffer16(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd6_avg_t3(i) = fsd6_avg_t3(i) + xyzbuffer21(i,j,k) * xyzbuffer14(i,j,k) +end do +end do +end do + + +! ( (t1(i,j,k) - fsd9_avg_t1(i)) * (absk(i,j,k) - fsd9_avg_absk(i)) ) +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +xyzbuffer22(i,j,k) = ( (xyzbuffer35(i,j,k) - fsd9_avg_t1(i)) * (xyzbuffer18(i,j,k) - fsd9_avg_absk(i)) ) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd3_avg_t8(i) = fsd3_avg_t8(i) + xyzbuffer23(i,j,k) * xyzbuffer26(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd9_avg_t4(i) = fsd9_avg_t4(i) + xyzbuffer22(i,j,k) * xyzbuffer5(i,j,k) +end do +end do +end do + + +do k = 1, nzp +do j = 1, nyp +do i = 1, nxp +fsd8_avg_t5(i) = fsd8_avg_t5(i) + xyzbuffer13(i,j,k) * xyzbuffer9(i,j,k) end do end do end do @@ -915,39 +3576,319 @@ real*8 :: denum denum=real(nfiles*nyp*nzp) -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t2, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd1_avg_t2, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_t2 = fsd_avg_t2 / avg_fsd / denum +fsd1_avg_t2 = fsd1_avg_t2 / avg_fsd1 / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t3, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd1_avg_t3, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_t3 = fsd_avg_t3 / avg_fsd / denum +fsd1_avg_t3 = fsd1_avg_t3 / avg_fsd1 / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t4, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd1_avg_t4, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_t4 = fsd_avg_t4 / avg_fsd / denum +fsd1_avg_t4 = fsd1_avg_t4 / avg_fsd1 / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t5, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd1_avg_t5, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_t5 = fsd_avg_t5 / avg_fsd / denum +fsd1_avg_t5 = fsd1_avg_t5 / avg_fsd1 / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t6, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd1_avg_t6, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_t6 = fsd_avg_t6 / avg_fsd / denum +fsd1_avg_t6 = fsd1_avg_t6 / avg_fsd1 / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t7, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd1_avg_t7, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_t7 = fsd_avg_t7 / avg_fsd / denum +fsd1_avg_t7 = fsd1_avg_t7 / avg_fsd1 / denum -call MPI_ALLREDUCE(MPI_IN_PLACE, fsd_avg_t8, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd1_avg_t8, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) -fsd_avg_t8 = fsd_avg_t8 / avg_fsd / denum +fsd1_avg_t8 = fsd1_avg_t8 / avg_fsd1 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd2_avg_t2, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd2_avg_t2 = fsd2_avg_t2 / avg_fsd2 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd2_avg_t3, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd2_avg_t3 = fsd2_avg_t3 / avg_fsd2 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd2_avg_t4, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd2_avg_t4 = fsd2_avg_t4 / avg_fsd2 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd2_avg_t5, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd2_avg_t5 = fsd2_avg_t5 / avg_fsd2 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd2_avg_t6, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd2_avg_t6 = fsd2_avg_t6 / avg_fsd2 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd2_avg_t7, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd2_avg_t7 = fsd2_avg_t7 / avg_fsd2 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd2_avg_t8, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd2_avg_t8 = fsd2_avg_t8 / avg_fsd2 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd3_avg_t2, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd3_avg_t2 = fsd3_avg_t2 / avg_fsd3 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd3_avg_t3, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd3_avg_t3 = fsd3_avg_t3 / avg_fsd3 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd3_avg_t4, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd3_avg_t4 = fsd3_avg_t4 / avg_fsd3 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd3_avg_t5, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd3_avg_t5 = fsd3_avg_t5 / avg_fsd3 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd3_avg_t6, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd3_avg_t6 = fsd3_avg_t6 / avg_fsd3 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd3_avg_t7, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd3_avg_t7 = fsd3_avg_t7 / avg_fsd3 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd3_avg_t8, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd3_avg_t8 = fsd3_avg_t8 / avg_fsd3 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd4_avg_t2, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd4_avg_t2 = fsd4_avg_t2 / avg_fsd4 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd4_avg_t3, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd4_avg_t3 = fsd4_avg_t3 / avg_fsd4 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd4_avg_t4, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd4_avg_t4 = fsd4_avg_t4 / avg_fsd4 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd4_avg_t5, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd4_avg_t5 = fsd4_avg_t5 / avg_fsd4 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd4_avg_t6, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd4_avg_t6 = fsd4_avg_t6 / avg_fsd4 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd4_avg_t7, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd4_avg_t7 = fsd4_avg_t7 / avg_fsd4 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd4_avg_t8, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd4_avg_t8 = fsd4_avg_t8 / avg_fsd4 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd5_avg_t2, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd5_avg_t2 = fsd5_avg_t2 / avg_fsd5 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd5_avg_t3, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd5_avg_t3 = fsd5_avg_t3 / avg_fsd5 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd5_avg_t4, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd5_avg_t4 = fsd5_avg_t4 / avg_fsd5 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd5_avg_t5, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd5_avg_t5 = fsd5_avg_t5 / avg_fsd5 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd5_avg_t6, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd5_avg_t6 = fsd5_avg_t6 / avg_fsd5 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd5_avg_t7, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd5_avg_t7 = fsd5_avg_t7 / avg_fsd5 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd5_avg_t8, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd5_avg_t8 = fsd5_avg_t8 / avg_fsd5 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd6_avg_t2, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd6_avg_t2 = fsd6_avg_t2 / avg_fsd6 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd6_avg_t3, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd6_avg_t3 = fsd6_avg_t3 / avg_fsd6 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd6_avg_t4, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd6_avg_t4 = fsd6_avg_t4 / avg_fsd6 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd6_avg_t5, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd6_avg_t5 = fsd6_avg_t5 / avg_fsd6 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd6_avg_t6, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd6_avg_t6 = fsd6_avg_t6 / avg_fsd6 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd6_avg_t7, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd6_avg_t7 = fsd6_avg_t7 / avg_fsd6 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd6_avg_t8, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd6_avg_t8 = fsd6_avg_t8 / avg_fsd6 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd7_avg_t2, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd7_avg_t2 = fsd7_avg_t2 / avg_fsd7 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd7_avg_t3, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd7_avg_t3 = fsd7_avg_t3 / avg_fsd7 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd7_avg_t4, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd7_avg_t4 = fsd7_avg_t4 / avg_fsd7 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd7_avg_t5, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd7_avg_t5 = fsd7_avg_t5 / avg_fsd7 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd7_avg_t6, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd7_avg_t6 = fsd7_avg_t6 / avg_fsd7 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd7_avg_t7, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd7_avg_t7 = fsd7_avg_t7 / avg_fsd7 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd7_avg_t8, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd7_avg_t8 = fsd7_avg_t8 / avg_fsd7 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd8_avg_t2, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd8_avg_t2 = fsd8_avg_t2 / avg_fsd8 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd8_avg_t3, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd8_avg_t3 = fsd8_avg_t3 / avg_fsd8 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd8_avg_t4, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd8_avg_t4 = fsd8_avg_t4 / avg_fsd8 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd8_avg_t5, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd8_avg_t5 = fsd8_avg_t5 / avg_fsd8 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd8_avg_t6, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd8_avg_t6 = fsd8_avg_t6 / avg_fsd8 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd8_avg_t7, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd8_avg_t7 = fsd8_avg_t7 / avg_fsd8 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd8_avg_t8, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd8_avg_t8 = fsd8_avg_t8 / avg_fsd8 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd9_avg_t2, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd9_avg_t2 = fsd9_avg_t2 / avg_fsd9 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd9_avg_t3, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd9_avg_t3 = fsd9_avg_t3 / avg_fsd9 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd9_avg_t4, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd9_avg_t4 = fsd9_avg_t4 / avg_fsd9 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd9_avg_t5, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd9_avg_t5 = fsd9_avg_t5 / avg_fsd9 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd9_avg_t6, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd9_avg_t6 = fsd9_avg_t6 / avg_fsd9 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd9_avg_t7, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd9_avg_t7 = fsd9_avg_t7 / avg_fsd9 / denum + + +call MPI_ALLREDUCE(MPI_IN_PLACE, fsd9_avg_t8, nxp, MPI_REAL8, MPI_SUM, MPI_COMM_TASK, mpi_err) + +fsd9_avg_t8 = fsd9_avg_t8 / avg_fsd9 / denum end subroutine m_terms_average_pass2 @@ -963,7 +3904,7 @@ open (200, file="qEdge_X.dat") write (200,*) output_header do i=1,nxp - write (200,'(30e20.10)') real(i)*hxp, avg_c(i), avg_d2dx_c(i), avg_d2dy_c(i), avg_d2dz_c(i), avg_ddx_c(i), avg_ddy_c(i), avg_ddz_c(i), avg_fsd(i), avg_lapc(i), avg_u(i), avg_v(i), avg_w(i), fsd_avg_absk(i), fsd_avg_divn(i), fsd_avg_nx(i), fsd_avg_ny(i), fsd_avg_nz(i), fsd_avg_sd(i), fsd_avg_t1(i), fsd_avg_u(i), fsd_avg_v(i), fsd_avg_w(i), fsd_avg_t2(i), fsd_avg_t3(i), fsd_avg_t4(i), fsd_avg_t5(i), fsd_avg_t6(i), fsd_avg_t7(i), fsd_avg_t8(i) + write (200,'(147e20.10)') real(i)*hxp, avg_c(i), avg_d2dx_c(i), avg_d2dy_c(i), avg_d2dz_c(i), avg_ddx_c(i), avg_ddy_c(i), avg_ddz_c(i), avg_fsd1(i), avg_fsd2(i), avg_fsd3(i), avg_fsd4(i), avg_fsd5(i), avg_fsd6(i), avg_fsd7(i), avg_fsd8(i), avg_fsd9(i), avg_lapc(i), avg_u(i), avg_v(i), avg_w(i), fsd1_avg_absk(i), fsd1_avg_divn(i), fsd1_avg_nx(i), fsd1_avg_ny(i), fsd1_avg_nz(i), fsd1_avg_sd(i), fsd1_avg_t1(i), fsd2_avg_absk(i), fsd2_avg_divn(i), fsd2_avg_nx(i), fsd2_avg_ny(i), fsd2_avg_nz(i), fsd2_avg_sd(i), fsd2_avg_t1(i), fsd3_avg_absk(i), fsd3_avg_divn(i), fsd3_avg_nx(i), fsd3_avg_ny(i), fsd3_avg_nz(i), fsd3_avg_sd(i), fsd3_avg_t1(i), fsd4_avg_absk(i), fsd4_avg_divn(i), fsd4_avg_nx(i), fsd4_avg_ny(i), fsd4_avg_nz(i), fsd4_avg_sd(i), fsd4_avg_t1(i), fsd5_avg_absk(i), fsd5_avg_divn(i), fsd5_avg_nx(i), fsd5_avg_ny(i), fsd5_avg_nz(i), fsd5_avg_sd(i), fsd5_avg_t1(i), fsd6_avg_absk(i), fsd6_avg_divn(i), fsd6_avg_nx(i), fsd6_avg_ny(i), fsd6_avg_nz(i), fsd6_avg_sd(i), fsd6_avg_t1(i), fsd7_avg_absk(i), fsd7_avg_divn(i), fsd7_avg_nx(i), fsd7_avg_ny(i), fsd7_avg_nz(i), fsd7_avg_sd(i), fsd7_avg_t1(i), fsd8_avg_absk(i), fsd8_avg_divn(i), fsd8_avg_nx(i), fsd8_avg_ny(i), fsd8_avg_nz(i), fsd8_avg_sd(i), fsd8_avg_t1(i), fsd9_avg_absk(i), fsd9_avg_divn(i), fsd9_avg_nx(i), fsd9_avg_ny(i), fsd9_avg_nz(i), fsd9_avg_sd(i), fsd9_avg_t1(i), fsd1_avg_t2(i), fsd1_avg_t3(i), fsd1_avg_t4(i), fsd1_avg_t5(i), fsd1_avg_t6(i), fsd1_avg_t7(i), fsd1_avg_t8(i), fsd2_avg_t2(i), fsd2_avg_t3(i), fsd2_avg_t4(i), fsd2_avg_t5(i), fsd2_avg_t6(i), fsd2_avg_t7(i), fsd2_avg_t8(i), fsd3_avg_t2(i), fsd3_avg_t3(i), fsd3_avg_t4(i), fsd3_avg_t5(i), fsd3_avg_t6(i), fsd3_avg_t7(i), fsd3_avg_t8(i), fsd4_avg_t2(i), fsd4_avg_t3(i), fsd4_avg_t4(i), fsd4_avg_t5(i), fsd4_avg_t6(i), fsd4_avg_t7(i), fsd4_avg_t8(i), fsd5_avg_t2(i), fsd5_avg_t3(i), fsd5_avg_t4(i), fsd5_avg_t5(i), fsd5_avg_t6(i), fsd5_avg_t7(i), fsd5_avg_t8(i), fsd6_avg_t2(i), fsd6_avg_t3(i), fsd6_avg_t4(i), fsd6_avg_t5(i), fsd6_avg_t6(i), fsd6_avg_t7(i), fsd6_avg_t8(i), fsd7_avg_t2(i), fsd7_avg_t3(i), fsd7_avg_t4(i), fsd7_avg_t5(i), fsd7_avg_t6(i), fsd7_avg_t7(i), fsd7_avg_t8(i), fsd8_avg_t2(i), fsd8_avg_t3(i), fsd8_avg_t4(i), fsd8_avg_t5(i), fsd8_avg_t6(i), fsd8_avg_t7(i), fsd8_avg_t8(i), fsd9_avg_t2(i), fsd9_avg_t3(i), fsd9_avg_t4(i), fsd9_avg_t5(i), fsd9_avg_t6(i), fsd9_avg_t7(i), fsd9_avg_t8(i) end do close (200)