370 integer,
intent(in) :: ng, lbi, ubi, lbj, ubj
384 size2d=real((ubi-lbi+1)*(ubj-lbj+1),
r8)
389 allocate (
average(ng) % avgzeta(lbi:ubi,lbj:ubj) )
394 allocate (
average(ng) % avgu2d(lbi:ubi,lbj:ubj) )
398 allocate (
average(ng) % avgv2d(lbi:ubi,lbj:ubj) )
403 allocate (
average(ng) % avgu2dE(lbi:ubi,lbj:ubj) )
407 allocate (
average(ng) % avgv2dN(lbi:ubi,lbj:ubj) )
413 allocate (
average(ng) % avgu3d(lbi:ubi,lbj:ubj,
n(ng)) )
417 allocate (
average(ng) % avgv3d(lbi:ubi,lbj:ubj,
n(ng)) )
422 allocate (
average(ng) % avgu3dE(lbi:ubi,lbj:ubj,
n(ng)) )
426 allocate (
average(ng) % avgv3dN(lbi:ubi,lbj:ubj,
n(ng)) )
431 allocate (
average(ng) % avgw3d(lbi:ubi,lbj:ubj,0:
n(ng)) )
435 allocate (
average(ng) % avgwvel(lbi:ubi,lbj:ubj,0:
n(ng)) )
440 allocate (
average(ng) % avgrho(lbi:ubi,lbj:ubj,
n(ng)) )
444 allocate (
average(ng) % avgt(lbi:ubi,lbj:ubj,
n(ng),
nt(ng)) )
448# if defined LMD_MIXING || defined MY25_MIXING || defined GLS_MIXING
450 allocate (
average(ng) % avgAKv(lbi:ubi,lbj:ubj,0:
n(ng)) )
454 allocate (
average(ng) % avgAKt(lbi:ubi,lbj:ubj,0:
n(ng)) )
459 allocate (
average(ng) % avgAKs(lbi:ubi,lbj:ubj,0:
n(ng)) )
466 allocate (
average(ng) % avghsbl(lbi:ubi,lbj:ubj) )
472 allocate (
average(ng) % avghbbl(lbi:ubi,lbj:ubj) )
478# if defined FORWARD_WRITE && defined SOLVE3D
483 allocate (
average(ng) % avgDU_avg1(lbi:ubi,lbj:ubj) )
487 allocate (
average(ng) % avgDU_avg2(lbi:ubi,lbj:ubj) )
492 allocate (
average(ng) % avgDV_avg1(lbi:ubi,lbj:ubj) )
496 allocate (
average(ng) % avgDV_avg2(lbi:ubi,lbj:ubj) )
504 allocate (
average(ng) % avgsus(lbi:ubi,lbj:ubj) )
508 allocate (
average(ng) % avgsvs(lbi:ubi,lbj:ubj) )
513 allocate (
average(ng) % avgbus(lbi:ubi,lbj:ubj) )
517 allocate (
average(ng) % avgbvs(lbi:ubi,lbj:ubj) )
523 allocate (
average(ng) % avgUbrs(lbi:ubi,lbj:ubj) )
527 allocate (
average(ng) % avgVbrs(lbi:ubi,lbj:ubj) )
531 allocate (
average(ng) % avgUbws(lbi:ubi,lbj:ubj) )
535 allocate (
average(ng) % avgVbws(lbi:ubi,lbj:ubj) )
539 allocate (
average(ng) % avgUbcs(lbi:ubi,lbj:ubj) )
543 allocate (
average(ng) % avgVbcs(lbi:ubi,lbj:ubj) )
547 allocate (
average(ng) % avgUVwc(lbi:ubi,lbj:ubj) )
552 allocate (
average(ng) % avgUbot(lbi:ubi,lbj:ubj) )
556 allocate (
average(ng) % avgVbot(lbi:ubi,lbj:ubj) )
560 allocate (
average(ng) % avgUbur(lbi:ubi,lbj:ubj) )
564 allocate (
average(ng) % avgVbvr(lbi:ubi,lbj:ubj) )
570# if defined BULK_FLUXES || defined ECOSIM || defined ATM_PRESS
572 allocate (
average(ng) % avgPair(lbi:ubi,lbj:ubj) )
578 allocate (
average(ng) % avgTair(lbi:ubi,lbj:ubj) )
582# if defined BULK_FLUXES || defined ECOSIM
584 allocate (
average(ng) % avgUwind(lbi:ubi,lbj:ubj) )
588 allocate (
average(ng) % avgVwind(lbi:ubi,lbj:ubj) )
593 allocate (
average(ng) % avgUwindE(lbi:ubi,lbj:ubj) )
597 allocate (
average(ng) % avgVwindN(lbi:ubi,lbj:ubj) )
602 allocate (
average(ng) % avgstf(lbi:ubi,lbj:ubj) )
607 allocate (
average(ng) % avgswf(lbi:ubi,lbj:ubj) )
613 allocate (
average(ng) % avgsrf(lbi:ubi,lbj:ubj) )
617# if defined BULK_FLUXES || defined FRC_COUPLING
619 allocate (
average(ng) % avglhf(lbi:ubi,lbj:ubj) )
623 allocate (
average(ng) % avglrf(lbi:ubi,lbj:ubj) )
627 allocate (
average(ng) % avgshf(lbi:ubi,lbj:ubj) )
631# if defined BULK_FLUXES && defined EMINUSP
633 allocate (
average(ng) % avgevap(lbi:ubi,lbj:ubj) )
637 allocate (
average(ng) % avgrain(lbi:ubi,lbj:ubj) )
648 allocate (
average(ng) % avgu2Sd(lbi:ubi,lbj:ubj) )
652 allocate (
average(ng) % avgv2Sd(lbi:ubi,lbj:ubj) )
657 allocate (
average(ng) % avgu2rs(lbi:ubi,lbj:ubj) )
661 allocate (
average(ng) % avgv2rs(lbi:ubi,lbj:ubj) )
666 allocate (
average(ng) % avgWztw(lbi:ubi,lbj:ubj) )
670 allocate (
average(ng) % avgWqsp(lbi:ubi,lbj:ubj) )
674 allocate (
average(ng) % avgWbeh(lbi:ubi,lbj:ubj) )
680 allocate (
average(ng) % avgu3Sd(lbi:ubi,lbj:ubj,
n(ng)) )
684 allocate (
average(ng) % avgv3Sd(lbi:ubi,lbj:ubj,
n(ng)) )
688 allocate (
average(ng) % avgW3Sd(lbi:ubi,lbj:ubj,0:
n(ng)) )
692 allocate (
average(ng) % avgW3St(lbi:ubi,lbj:ubj,0:
n(ng)) )
696 allocate (
average(ng) % avgu3rs(lbi:ubi,lbj:ubj,
n(ng)) )
700 allocate (
average(ng) % avgv3rs(lbi:ubi,lbj:ubj,
n(ng)) )
708 allocate (
average(ng) % avgWamp(lbi:ubi,lbj:ubj) )
712 allocate (
average(ng) % avgWam2(lbi:ubi,lbj:ubj) )
719 allocate (
average(ng) % avgWlen(lbi:ubi,lbj:ubj) )
726 allocate (
average(ng) % avgWlep(lbi:ubi,lbj:ubj) )
733 allocate (
average(ng) % avgWdir(lbi:ubi,lbj:ubj) )
740 allocate (
average(ng) % avgWdip(lbi:ubi,lbj:ubj) )
745# ifdef WAVES_TOP_PERIOD
747 allocate (
average(ng) % avgWptp(lbi:ubi,lbj:ubj) )
752# ifdef WAVES_BOT_PERIOD
754 allocate (
average(ng) % avgWpbt(lbi:ubi,lbj:ubj) )
759# if defined BBL_MODEL || defined BEDLOAD_VANDERA || \
762 allocate (
average(ng) % avgWorb(lbi:ubi,lbj:ubj) )
767# if (defined BOTTOM_STREAMING && defined WEC_VF) || \
770 allocate (
average(ng) % avgWdif(lbi:ubi,lbj:ubj) )
775# if defined TKE_WAVEDISS || defined WAV_COUPLING || \
776 defined wdiss_thorguza || defined wdiss_churthor || \
777 defined waves_diss || defined wdiss_inwave
779 allocate (
average(ng) % avgWdib(lbi:ubi,lbj:ubj) )
783 allocate (
average(ng) % avgWdiw(lbi:ubi,lbj:ubj) )
788# ifdef ROLLER_SVENDSEN
790 allocate (
average(ng) % avgWbrk(lbi:ubi,lbj:ubj) )
797 allocate (
average(ng) % avgWdis(lbi:ubi,lbj:ubj) )
801 allocate (
average(ng) % avgWrol(lbi:ubi,lbj:ubj) )
808 allocate (
average(ng) % avgUwav(lbi:ubi,lbj:ubj) )
812 allocate (
average(ng) % avgVwav(lbi:ubi,lbj:ubj) )
820 allocate (
average(ng) % avgU2(lbi:ubi,lbj:ubj) )
824 allocate (
average(ng) % avgV2(lbi:ubi,lbj:ubj) )
828 allocate (
average(ng) % avgZZ(lbi:ubi,lbj:ubj) )
834 allocate (
average(ng) % avgUU(lbi:ubi,lbj:ubj,
n(ng)) )
838 allocate (
average(ng) % avgVV(lbi:ubi,lbj:ubj,
n(ng)) )
842 allocate (
average(ng) % avgUV(lbi:ubi,lbj:ubj,
n(ng)) )
847 allocate (
average(ng) % avgHuon(lbi:ubi,lbj:ubj,
n(ng)) )
851 allocate (
average(ng) % avgHvom(lbi:ubi,lbj:ubj,
n(ng)) )
856 allocate (
average(ng) % avgTT(lbi:ubi,lbj:ubj,
n(ng),
nt(ng)) )
860 allocate (
average(ng) % avgUT(lbi:ubi,lbj:ubj,
n(ng),
nt(ng)) )
864 allocate (
average(ng) % avgVT(lbi:ubi,lbj:ubj,
n(ng),
nt(ng)) )
869 allocate (
average(ng)% avgHuonT(lbi:ubi,lbj:ubj,
n(ng),
nt(ng)) )
873 allocate (
average(ng)% avgHvomT(lbi:ubi,lbj:ubj,
n(ng),
nt(ng)) )
881 allocate (
average(ng) % avgpvor2d(lbi:ubi,lbj:ubj) )
885 allocate (
average(ng) % avgrvor2d(lbi:ubi,lbj:ubj) )
891 allocate (
average(ng) % avgpvor3d(lbi:ubi,lbj:ubj,
n(ng)) )
895 allocate (
average(ng) % avgrvor3d(lbi:ubi,lbj:ubj,
n(ng)) )
1533 integer,
intent(in) :: ng, tile
1537 integer :: imin, imax, jmin, jmax
1543 real(
r8),
parameter :: inival = 0.0_r8
1545# include "set_bounds.h"
1550 imin=
bounds(ng)%LBi(tile)
1551 imax=
bounds(ng)%UBi(tile)
1552 jmin=
bounds(ng)%LBj(tile)
1553 jmax=
bounds(ng)%UBj(tile)
1555 IF (
domain(ng)%Western_Edge(tile))
THEN
1556 imin=
bounds(ng)%LBi(tile)
1560 IF (
domain(ng)%Eastern_Edge(tile))
THEN
1561 imax=
bounds(ng)%UBi(tile)
1565 IF (
domain(ng)%Southern_Edge(tile))
THEN
1566 jmin=
bounds(ng)%LBj(tile)
1570 IF (
domain(ng)%Northern_Edge(tile))
THEN
1571 jmax=
bounds(ng)%UBj(tile)
1586 average(ng) % avgzeta(i,j) = inival
1594 average(ng) % avgu2d(i,j) = inival
1601 average(ng) % avgv2d(i,j) = inival
1609 average(ng) % avgu2dE(i,j) = inival
1616 average(ng) % avgv2dN(i,j) = inival
1626 average(ng) % avgu3d(i,j,k) = inival
1636 average(ng) % avgv3d(i,j,k) = inival
1646 average(ng) % avgu3dE(i,j,k) = inival
1655 average(ng) % avgv3dN(i,j,k) = inival
1665 average(ng) % avgw3d(i,j,k) = inival
1674 average(ng) % avgwvel(i,j,k) = inival
1684 average(ng) % avgrho(i,j,k) = inival
1694 average(ng) % avgt(i,j,k,itrc) = inival
1701# if defined LMD_MIXING || defined MY25_MIXING || defined GLS_MIXING
1706 average(ng) % avgAKv(i,j,k) = inival
1716 average(ng) % avgAKt(i,j,k) = inival
1727 average(ng) % avgAKs(i,j,k) = inival
1739 average(ng) % avghsbl(i,j) = inival
1749 average(ng) % avghbbl(i,j) = inival
1756# if defined FORWARD_WRITE && defined SOLVE3D
1763 average(ng) % avgDU_avg1(i,j) = inival
1770 average(ng) % avgDU_avg2(i,j) = inival
1778 average(ng) % avgDV_avg1(i,j) = inival
1785 average(ng) % avgDV_avg2(i,j) = inival
1796 average(ng) % avgsus(i,j) = inival
1803 average(ng) % avgsvs(i,j) = inival
1811 average(ng) % avgbus(i,j) = inival
1818 average(ng) % avgbvs(i,j) = inival
1827 average(ng) % avgUbrs(i,j) = inival
1834 average(ng) % avgVbrs(i,j) = inival
1842 average(ng) % avgUbws(i,j) = inival
1849 average(ng) % avgVbws(i,j) = inival
1857 average(ng) % avgUbcs(i,j) = inival
1864 average(ng) % avgVbcs(i,j) = inival
1872 average(ng) % avgUVwc(i,j) = inival
1880 average(ng) % avgUbot(i,j) = inival
1887 average(ng) % avgVbot(i,j) = inival
1895 average(ng) % avgUbur(i,j) = inival
1902 average(ng) % avgVbvr(i,j) = inival
1909# if defined BULK_FLUXES || defined ECOSIM || defined ATM_PRESS
1913 average(ng) % avgPair(i,j) = inival
1923 average(ng) % avgTair(i,j) = inival
1929# if defined BULK_FLUXES || defined ECOSIM
1933 average(ng) % avgUwind(i,j) = inival
1940 average(ng) % avgVwind(i,j) = inival
1948 average(ng) % avgUwindE(i,j) = inival
1955 average(ng) % avgVwindN(i,j) = inival
1964 average(ng) % avgstf(i,j) = inival
1973 average(ng) % avgswf(i,j) = inival
1983 average(ng) % avgsrf(i,j) = inival
1989# if defined BULK_FLUXES || defined FRC_COUPLING
1993 average(ng) % avglhf(i,j) = inival
2001 average(ng) % avglrf(i,j) = inival
2009 average(ng) % avgshf(i,j) = inival
2015# if defined BULK_FLUXES && defined EMINUSP
2019 average(ng) % avgevap(i,j) = inival
2027 average(ng) % avgrain(i,j) = inival
2041 average(ng) % avgu2Sd(i,j) = inival
2048 average(ng) % avgv2Sd(i,j) = inival
2056 average(ng) % avgu2rs(i,j) = inival
2063 average(ng) % avgv2rs(i,j) = inival
2071 average(ng) % avgWztw(i,j) = inival
2079 average(ng) % avgWqsp(i,j) = inival
2087 average(ng) % avgWbeh(i,j) = inival
2097 average(ng) % avgu3Sd(i,j,k) = inival
2106 average(ng) % avgv3Sd(i,j,k) = inival
2116 average(ng) % avgW3Sd(i,j,k) = inival
2125 average(ng) % avgW3St(i,j,k) = inival
2135 average(ng) % avgu3rs(i,j,k) = inival
2144 average(ng) % avgv3rs(i,j,k) = inival
2156 average(ng) % avgWamp(i,j) = inival
2164 average(ng) % avgWam2(i,j) = inival
2174 average(ng) % avgWlen(i,j) = inival
2180# ifdef WAVES_LENGTHP
2184 average(ng) % avgWlep(i,j) = inival
2194 average(ng) % avgWdir(i,j) = inival
2204 average(ng) % avgWdip(i,j) = inival
2210# ifdef WAVES_TOP_PERIOD
2214 average(ng) % avgWptp(i,j) = inival
2220# ifdef WAVES_BOT_PERIOD
2224 average(ng) % avgWpbt(i,j) = inival
2230# if defined BBL_MODEL || defined BEDLOAD_VANDERA || \
2231 defined wav_coupling
2235 average(ng) % avgWorb(i,j) = inival
2241# if (defined BOTTOM_STREAMING && defined WEC_VF) || \
2242 defined wav_coupling
2246 average(ng) % avgWdif(i,j) = inival
2252# if defined TKE_WAVEDISS || defined WAV_COUPLING || \
2253 defined wdiss_thorguza || defined wdiss_churthor || \
2254 defined waves_diss || defined wdiss_inwave
2258 average(ng) % avgWdib(i,j) = inival
2266 average(ng) % avgWdiw(i,j) = inival
2272# ifdef ROLLER_SVENDSEN
2276 average(ng) % avgWbrk(i,j) = inival
2286 average(ng) % avgWdis(i,j) = inival
2294 average(ng) % avgWrol(i,j) = inival
2304 average(ng) % avgUwav(i,j) = inival
2311 average(ng) % avgVwav(i,j) = inival
2322 average(ng) % avgU2(i,j) = inival
2330 average(ng) % avgV2(i,j) = inival
2337 average(ng) % avgZZ(i,j) = inival
2347 average(ng) % avgUU(i,j,k) = inival
2356 average(ng) % avgVV(i,j,k) = inival
2366 average(ng) % avgUV(i,j,k) = inival
2376 average(ng) % avgHuon(i,j,k) = inival
2385 average(ng) % avgHvom(i,j,k) = inival
2396 average(ng) % avgTT(i,j,k,itrc) = inival
2407 average(ng) % avgUT(i,j,k,itrc) = inival
2418 average(ng) % avgVT(i,j,k,itrc) = inival
2430 average(ng) % avgHuonT(i,j,k,itrc) = inival
2441 average(ng) % avgHvomT(i,j,k,itrc) = inival
2454 average(ng) % avgpvor2d(i,j) = inival
2461 average(ng) % avgrvor2d(i,j) = inival
2471 average(ng) % avgpvor3d(i,j,k) = inival
2480 average(ng) % avgrvor3d(i,j,k) = inival