18 #include "inc_openmp.h" 78 #define F2H(k,p,q) (CDZ(k+p-1)*GSQRT(k+p-1,i,j)/(CDZ(k)*GSQRT(k,i,j)+CDZ(k+1)*GSQRT(k+1,i,j))) 80 #define F2H(k,p,q) 0.5_RP 87 real(RP),
parameter :: F2 = 0.5_rp
90 real(RP),
parameter :: F31 = -1.0_rp/12.0_rp
91 real(RP),
parameter :: F32 = 7.0_rp/12.0_rp
92 real(RP),
parameter :: F33 = 3.0_rp/12.0_rp
107 real(RP),
intent(out) :: valw (
ka)
108 real(RP),
intent(in) :: mflx (
ka)
109 real(RP),
intent(in) :: val (
ka)
110 real(RP),
intent(in) :: gsqrt(
ka)
111 real(RP),
intent(in) :: cdz (
ka)
118 call check( __line__, mflx(k) )
120 call check( __line__, val(k) )
121 call check( __line__, val(k+1) )
123 call check( __line__, val(k-1) )
124 call check( __line__, val(k+2) )
128 + 0.5_rp * phi(val(k+1),val(k),val(k-1)) * ( val(k)-val(k-1) ) ) &
129 * ( 0.5_rp + sign(0.5_rp,mflx(k)) ) &
131 + 0.5_rp * phi(val(k),val(k+1),val(k+2)) * ( val(k+1)-val(k+2) ) ) &
132 * ( 0.5_rp - sign(0.5_rp,mflx(k)) )
140 call check( __line__, mflx(
ks) )
141 call check( __line__, val(
ks ) )
142 call check( __line__, val(
ks+1) )
143 call check( __line__, mflx(
ke-1) )
144 call check( __line__, val(
ke ) )
145 call check( __line__, val(
ke-1) )
151 valw(
ks) = f2 * ( val(
ks+1)+val(
ks) )
152 valw(
ke-1) = f2 * ( val(
ke)+val(
ke-1) )
168 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
169 real(RP),
intent(in) :: mflx (
ka,
ia,
ja)
170 real(RP),
intent(in) :: val (
ka,
ia,
ja)
171 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
172 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
173 real(RP),
intent(in) :: cdz (
ka)
174 integer,
intent(in) :: iis, iie, jjs, jje
187 call check( __line__, mflx(k,i,j) )
189 call check( __line__, val(k,i,j) )
190 call check( __line__, val(k+1,i,j) )
192 call check( __line__, val(k-1,i,j) )
193 call check( __line__, val(k+2,i,j) )
199 + 0.5_rp * phi(val(k+1,i,j),val(k,i,j),val(k-1,i,j)) * ( val(k,i,j)-val(k-1,i,j) ) ) &
200 * ( 0.5_rp + sign(0.5_rp,vel) ) &
202 + 0.5_rp * phi(val(k,i,j),val(k+1,i,j),val(k+2,i,j)) * ( val(k+1,i,j)-val(k+2,i,j) ) ) &
203 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
204 + gsqrt(k,i,j) * num_diff(k,i,j)
209 k = iundef; i = iundef; j = iundef
219 call check( __line__, mflx(
ks,i,j) )
220 call check( __line__, val(
ks ,i,j) )
221 call check( __line__, val(
ks+1,i,j) )
222 call check( __line__, mflx(
ke-1,i,j) )
223 call check( __line__, val(
ke ,i,j) )
224 call check( __line__, val(
ke-1,i,j) )
227 flux(
ks-1,i,j) = 0.0_rp
231 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) ) &
232 + gsqrt(
ks,i,j) * num_diff(
ks,i,j)
234 flux(
ke-1,i,j) = vel &
235 * ( f2 * ( val(
ke,i,j)+val(
ke-1,i,j) ) ) &
236 + gsqrt(
ke-1,i,j) * num_diff(
ke-1,i,j)
238 flux(
ke ,i,j) = 0.0_rp
242 k = iundef; i = iundef; j = iundef
258 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
259 real(RP),
intent(in) :: mflx (
ka,
ia,
ja)
260 real(RP),
intent(in) :: val (
ka,
ia,
ja)
261 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
262 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
263 real(RP),
intent(in) :: cdz(
ka)
264 integer,
intent(in) :: iis, iie, jjs, jje
277 call check( __line__, mflx(k,i,j) )
279 call check( __line__, val(k,i,j) )
280 call check( __line__, val(k,i+1,j) )
282 call check( __line__, val(k,i-1,j) )
283 call check( __line__, val(k,i+2,j) )
289 + 0.5_rp * phi(val(k,i+1,j),val(k,i,j),val(k,i-1,j)) * ( val(k,i,j)-val(k,i-1,j) ) ) &
290 * ( 0.5_rp + sign(0.5_rp,vel) ) &
292 + 0.5_rp * phi(val(k,i,j),val(k,i+1,j),val(k,i+2,j)) * ( val(k,i+1,j)-val(k,i+2,j) ) ) &
293 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
294 + gsqrt(k,i,j) * num_diff(k,i,j)
299 k = iundef; i = iundef; j = iundef
315 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
316 real(RP),
intent(in) :: mflx (
ka,
ia,
ja)
317 real(RP),
intent(in) :: val (
ka,
ia,
ja)
318 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
319 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
320 real(RP),
intent(in) :: cdz(
ka)
321 integer,
intent(in) :: iis, iie, jjs, jje
334 call check( __line__, mflx(k,i,j) )
336 call check( __line__, val(k,i,j) )
337 call check( __line__, val(k,i,j+1) )
339 call check( __line__, val(k,i,j-1) )
340 call check( __line__, val(k,i,j+2) )
346 + 0.5_rp * phi(val(k,i,j+1),val(k,i,j),val(k,i,j-1)) * ( val(k,i,j)-val(k,i,j-1) ) ) &
347 * ( 0.5_rp + sign(0.5_rp,vel) ) &
349 + 0.5_rp * phi(val(k,i,j),val(k,i,j+1),val(k,i,j+2)) * ( val(k,i,j+1)-val(k,i,j+2) ) ) &
350 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
351 + gsqrt(k,i,j) * num_diff(k,i,j)
356 k = iundef; i = iundef; j = iundef
375 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
376 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
377 real(RP),
intent(in) :: val (
ka,
ia,
ja)
378 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
379 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
380 real(RP),
intent(in) :: j33g
381 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
382 real(RP),
intent(in) :: cdz (
ka)
383 real(RP),
intent(in) :: fdz (
ka-1)
384 real(RP),
intent(in) :: dtrk
385 integer,
intent(in) :: iis, iie, jjs, jje
400 call check( __line__, mom(k-1,i,j) )
401 call check( __line__, mom(k ,i,j) )
403 call check( __line__, val(k-1,i,j) )
404 call check( __line__, val(k,i,j) )
406 call check( __line__, val(k-2,i,j) )
407 call check( __line__, val(k+1,i,j) )
410 vel = ( 0.5_rp * ( mom(k-1,i,j) &
413 flux(k-1,i,j) = j33g * vel &
415 + 0.5_rp * phi(val(k,i,j),val(k-1,i,j),val(k-2,i,j)) * ( val(k-1,i,j)-val(k-2,i,j) ) ) &
416 * ( 0.5_rp + sign(0.5_rp,vel) ) &
418 + 0.5_rp * phi(val(k-1,i,j),val(k,i,j),val(k+1,i,j)) * ( val(k,i,j)-val(k+1,i,j) ) ) &
419 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
420 + gsqrt(k,i,j) * num_diff(k,i,j)
425 k = iundef; i = iundef; j = iundef
435 call check( __line__, val(
ks ,i,j) )
436 call check( __line__, val(
ks+1,i,j) )
443 flux(
ks-1,i,j) = 0.0_rp
445 vel = ( 0.5_rp * ( mom(
ks,i,j) &
446 + mom(
ks+1,i,j) ) ) &
448 flux(
ks,i,j) = j33g * vel &
449 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) ) &
450 + gsqrt(
ks+1,i,j) * num_diff(
ks+1,i,j)
454 flux(
ke-1,i,j) = 0.0_rp
455 flux(
ke ,i,j) = 0.0_rp
473 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
474 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
475 real(RP),
intent(in) :: val (
ka,
ia,
ja)
476 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
477 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
478 real(RP),
intent(in) :: j13g (
ka,
ia,
ja)
479 real(RP),
intent(in) :: mapf (
ia,
ja,2)
480 real(RP),
intent(in) :: cdz (
ka)
481 integer,
intent(in) :: iis, iie, jjs, jje
493 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i-1,j) ) ) &
495 flux(k-1,i,j) = j13g(k,i,j) / mapf(i,j,+2) * vel &
497 + 0.5_rp * phi(val(k,i,j),val(k-1,i,j),val(k-2,i,j)) * ( val(k-1,i,j)-val(k-2,i,j) ) ) &
498 * ( 0.5_rp + sign(0.5_rp,vel) ) &
500 + 0.5_rp * phi(val(k-1,i,j),val(k,i,j),val(k+1,i,j)) * ( val(k,i,j)-val(k+1,i,j) ) ) &
501 * ( 0.5_rp - sign(0.5_rp,vel) ) )
514 flux(
ks-1,i,j) = 0.0_rp
517 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i-1,j) ) ) / dens(
ks+1,i,j) &
518 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i-1,j) ) ) / dens(
ks ,i,j) ) * 0.5_rp
521 flux(
ks,i,j) = j13g(
ks+1,i,j) / mapf(i,j,+2) * vel &
522 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) )
525 flux(
ke-1,i,j) = 0.0_rp
542 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
543 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
544 real(RP),
intent(in) :: val (
ka,
ia,
ja)
545 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
546 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
547 real(RP),
intent(in) :: j23g (
ka,
ia,
ja)
548 real(RP),
intent(in) :: mapf (
ia,
ja,2)
549 real(RP),
intent(in) :: cdz (
ka)
550 integer,
intent(in) :: iis, iie, jjs, jje
562 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j-1) ) ) &
564 flux(k-1,i,j) = j23g(k,i,j) / mapf(i,j,+1) * vel &
566 + 0.5_rp * phi(val(k,i,j),val(k-1,i,j),val(k-2,i,j)) * ( val(k-1,i,j)-val(k-2,i,j) ) ) &
567 * ( 0.5_rp + sign(0.5_rp,vel) ) &
569 + 0.5_rp * phi(val(k-1,i,j),val(k,i,j),val(k+1,i,j)) * ( val(k,i,j)-val(k+1,i,j) ) ) &
570 * ( 0.5_rp - sign(0.5_rp,vel) ) )
583 flux(
ks-1,i,j) = 0.0_rp
586 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i,j-1) ) ) / dens(
ks+1,i,j) &
587 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i,j-1) ) ) / dens(
ks ,i,j) ) * 0.5_rp
590 flux(
ks,i,j) = j23g(
ks+1,i,j) / mapf(i,j,+1) * vel &
591 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) )
594 flux(
ke-1,i,j) = 0.0_rp
613 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
614 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
615 real(RP),
intent(in) :: val (
ka,
ia,
ja)
616 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
617 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
618 real(RP),
intent(in) :: mapf (
ia,
ja,2)
619 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
620 real(RP),
intent(in) :: cdz (
ka)
621 integer,
intent(in) :: iis, iie, jjs, jje
635 call check( __line__, mom(k ,i,j) )
636 call check( __line__, mom(k+1,i,j) )
638 call check( __line__, val(k,i,j) )
639 call check( __line__, val(k,i+1,j) )
641 call check( __line__, val(k,i-1,j) )
642 call check( __line__, val(k,i+2,j) )
645 vel = ( f2h(k,1,i_uyz) &
650 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
652 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
653 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+2) * vel &
655 + 0.5_rp * phi(val(k,i+1,j),val(k,i,j),val(k,i-1,j)) * ( val(k,i,j)-val(k,i-1,j) ) ) &
656 * ( 0.5_rp + sign(0.5_rp,vel) ) &
658 + 0.5_rp * phi(val(k,i,j),val(k,i+1,j),val(k,i+2,j)) * ( val(k,i+1,j)-val(k,i+2,j) ) ) &
659 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
660 + gsqrt(k,i,j) * num_diff(k,i,j)
665 k = iundef; i = iundef; j = iundef
673 flux(
ke,i,j) = 0.0_rp
677 k = iundef; i = iundef; j = iundef
694 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
695 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
696 real(RP),
intent(in) :: val (
ka,
ia,
ja)
697 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
698 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
699 real(RP),
intent(in) :: mapf (
ia,
ja,2)
700 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
701 real(RP),
intent(in) :: cdz (
ka)
702 integer,
intent(in) :: iis, iie, jjs, jje
716 call check( __line__, mom(k ,i,j) )
717 call check( __line__, mom(k+1,i,j) )
719 call check( __line__, val(k,i,j) )
720 call check( __line__, val(k,i,j+1) )
722 call check( __line__, val(k,i,j-1) )
723 call check( __line__, val(k,i,j+2) )
726 vel = ( f2h(k,1,i_xvz) &
731 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
733 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
734 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+1) * vel &
736 + 0.5_rp * phi(val(k,i,j+1),val(k,i,j),val(k,i,j-1)) * ( val(k,i,j)-val(k,i,j-1) ) ) &
737 * ( 0.5_rp + sign(0.5_rp,vel) ) &
739 + 0.5_rp * phi(val(k,i,j),val(k,i,j+1),val(k,i,j+2)) * ( val(k,i,j+1)-val(k,i,j+2) ) ) &
740 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
741 + gsqrt(k,i,j) * num_diff(k,i,j)
746 k = iundef; i = iundef; j = iundef
754 flux(
ke,i,j) = 0.0_rp
758 k = iundef; i = iundef; j = iundef
776 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
777 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
778 real(RP),
intent(in) :: val (
ka,
ia,
ja)
779 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
780 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
781 real(RP),
intent(in) :: j33g
782 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
783 real(RP),
intent(in) :: cdz (
ka)
784 integer,
intent(in) :: iis, iie, jjs, jje
798 call check( __line__, mom(k,i,j) )
799 call check( __line__, mom(k,i+1,j) )
801 call check( __line__, val(k,i,j) )
802 call check( __line__, val(k+1,i,j) )
804 call check( __line__, val(k-1,i,j) )
805 call check( __line__, val(k+2,i,j) )
808 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i+1,j) ) ) &
810 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
812 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
813 flux(k,i,j) = j33g * vel &
815 + 0.5_rp * phi(val(k+1,i,j),val(k,i,j),val(k-1,i,j)) * ( val(k,i,j)-val(k-1,i,j) ) ) &
816 * ( 0.5_rp + sign(0.5_rp,vel) ) &
818 + 0.5_rp * phi(val(k,i,j),val(k+1,i,j),val(k+2,i,j)) * ( val(k+1,i,j)-val(k+2,i,j) ) ) &
819 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
820 + gsqrt(k,i,j) * num_diff(k,i,j)
825 k = iundef; i = iundef; j = iundef
835 call check( __line__, mom(
ks,i ,j) )
836 call check( __line__, mom(
ks,i+1,j) )
837 call check( __line__, val(
ks+1,i,j) )
838 call check( __line__, val(
ks,i,j) )
844 flux(
ks-1,i,j) = 0.0_rp
846 vel = ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i+1,j) ) ) &
847 / ( f2h(
ks,1,i_uyz) &
848 * 0.5_rp * ( dens(
ks+1,i,j)+dens(
ks+1,i+1,j) ) &
850 * 0.5_rp * ( dens(
ks,i,j)+dens(
ks,i+1,j) ) )
851 flux(
ks,i,j) = j33g * vel &
852 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) ) &
853 + gsqrt(
ks,i,j) * num_diff(
ks,i,j)
854 vel = ( 0.5_rp * ( mom(
ke-1,i,j)+mom(
ke-1,i+1,j) ) ) &
855 / ( f2h(
ke-1,1,i_uyz) &
856 * 0.5_rp * ( dens(
ke,i,j)+dens(
ke,i+1,j) ) &
857 + f2h(
ke-1,2,i_uyz) &
858 * 0.5_rp * ( dens(
ke-1,i,j)+dens(
ke-1,i+1,j) ) )
859 flux(
ke-1,i,j) = j33g * vel &
860 * ( f2 * ( val(
ke,i,j)+val(
ke-1,i,j) ) ) &
861 + gsqrt(
ke-1,i,j) * num_diff(
ke-1,i,j)
863 flux(
ke,i,j) = 0.0_rp
867 k = iundef; i = iundef; j = iundef
883 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
884 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
885 real(RP),
intent(in) :: val (
ka,
ia,
ja)
886 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
887 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
888 real(RP),
intent(in) :: j13g (
ka,
ia,
ja)
889 real(RP),
intent(in) :: mapf (
ia,
ja,2)
890 real(RP),
intent(in) :: cdz (
ka)
891 integer,
intent(in) :: iis, iie, jjs, jje
904 vel = ( f2h(k,1,i_uyz) &
909 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
911 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
912 flux(k,i,j) = j13g(k,i,j) / mapf(i,j,+2) * vel &
914 + 0.5_rp * phi(val(k+1,i,j),val(k,i,j),val(k-1,i,j)) * ( val(k,i,j)-val(k-1,i,j) ) ) &
915 * ( 0.5_rp + sign(0.5_rp,vel) ) &
917 + 0.5_rp * phi(val(k,i,j),val(k+1,i,j),val(k+2,i,j)) * ( val(k+1,i,j)-val(k+2,i,j) ) ) &
918 * ( 0.5_rp - sign(0.5_rp,vel) ) )
932 flux(
ks-1,i,j) = 0.0_rp
934 vel = ( f2h(
ks,1,i_uyz) &
938 / ( f2h(
ks,1,i_uyz) &
939 * 0.5_rp * ( dens(
ks+1,i,j)+dens(
ks+1,i+1,j) ) &
941 * 0.5_rp * ( dens(
ks,i,j)+dens(
ks,i+1,j) ) )
942 flux(
ks,i,j) = j13g(
ks,i,j) / mapf(i,j,+2) * vel &
943 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) )
945 vel = ( f2h(
ke-1,1,i_uyz) &
947 + f2h(
ke-1,2,i_uyz) &
949 / ( f2h(
ke-1,1,i_uyz) &
950 * 0.5_rp * ( dens(
ke,i,j)+dens(
ke,i+1,j) ) &
951 + f2h(
ke-1,2,i_uyz) &
952 * 0.5_rp * ( dens(
ke-1,i,j)+dens(
ke-1,i+1,j) ) )
953 flux(
ke-1,i,j) = j13g(
ke-1,i,j) / mapf(i,j,+2) * vel &
954 * ( f2 * ( val(
ke,i,j)+val(
ke-1,i,j) ) )
956 flux(
ke ,i,j) = 0.0_rp
973 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
974 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
975 real(RP),
intent(in) :: val (
ka,
ia,
ja)
976 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
977 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
978 real(RP),
intent(in) :: j23g (
ka,
ia,
ja)
979 real(RP),
intent(in) :: mapf (
ia,
ja,2)
980 real(RP),
intent(in) :: cdz (
ka)
981 integer,
intent(in) :: iis, iie, jjs, jje
994 vel = ( f2h(k,1,i_uyz) &
995 * 0.25_rp * ( mom(k+1,i,j)+mom(k+1,i+1,j)+mom(k+1,i,j-1)+mom(k+1,i+1,j-1) ) &
997 * 0.25_rp * ( mom(k,i,j)+mom(k,i+1,j)+mom(k,i,j-1)+mom(k,i+1,j-1) ) ) &
999 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
1001 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
1002 flux(k,i,j) = j23g(k,i,j) / mapf(i,j,+1) * vel &
1004 + 0.5_rp * phi(val(k+1,i,j),val(k,i,j),val(k-1,i,j)) * ( val(k,i,j)-val(k-1,i,j) ) ) &
1005 * ( 0.5_rp + sign(0.5_rp,vel) ) &
1007 + 0.5_rp * phi(val(k,i,j),val(k+1,i,j),val(k+2,i,j)) * ( val(k+1,i,j)-val(k+2,i,j) ) ) &
1008 * ( 0.5_rp - sign(0.5_rp,vel) ) )
1022 flux(
ks-1,i,j) = 0.0_rp
1024 vel = ( f2h(
ks,1,i_uyz) &
1025 * 0.25_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i+1,j)+mom(
ks+1,i,j-1)+mom(
ks+1,i+1,j-1) ) &
1027 * 0.25_rp * ( mom(
ks,i,j)+mom(
ks,i+1,j)+mom(
ks,i,j-1)+mom(
ks,i+1,j-1) ) ) &
1028 / ( f2h(
ks,1,i_uyz) &
1029 * 0.5_rp * ( dens(
ks+1,i,j)+dens(
ks+1,i+1,j) ) &
1031 * 0.5_rp * ( dens(
ks,i,j)+dens(
ks,i+1,j) ) )
1032 flux(
ks,i,j) = j23g(
ks,i,j) / mapf(i,j,+1) * vel &
1033 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) )
1035 vel = ( f2h(
ke-1,1,i_uyz) &
1036 * 0.25_rp * ( mom(
ke,i,j)+mom(
ke,i+1,j)+mom(
ke,i,j-1)+mom(
ke,i+1,j-1) ) &
1037 + f2h(
ke-1,2,i_uyz) &
1038 * 0.25_rp * ( mom(
ke-1,i,j)+mom(
ke-1,i+1,j)+mom(
ke-1,i,j-1)+mom(
ke-1,i+1,j-1) ) ) &
1039 / ( f2h(
ke-1,1,i_uyz) &
1040 * 0.5_rp * ( dens(
ke,i,j)+dens(
ke,i+1,j) ) &
1041 + f2h(
ke-1,2,i_uyz) &
1042 * 0.5_rp * ( dens(
ke-1,i,j)+dens(
ke-1,i+1,j) ) )
1043 flux(
ke-1,i,j) = j23g(
ke-1,i,j) / mapf(i,j,+1) * vel &
1044 * ( f2 * ( val(
ke,i,j)+val(
ke-1,i,j) ) )
1046 flux(
ke ,i,j) = 0.0_rp
1061 IIS, IIE, JJS, JJE )
1064 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1065 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1066 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1067 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
1068 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
1069 real(RP),
intent(in) :: mapf (
ia,
ja,2)
1070 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
1071 real(RP),
intent(in) :: cdz (
ka)
1072 integer,
intent(in) :: iis, iie, jjs, jje
1087 call check( __line__, mom(k,i ,j) )
1088 call check( __line__, mom(k,i-1,j) )
1090 call check( __line__, val(k,i-1,j) )
1091 call check( __line__, val(k,i,j) )
1093 call check( __line__, val(k,i-2,j) )
1094 call check( __line__, val(k,i+1,j) )
1097 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i-1,j) ) ) &
1099 flux(k,i-1,j) = gsqrt(k,i,j) / mapf(i,j,+2) * vel &
1100 * ( ( val(k,i-1,j) &
1101 + 0.5_rp * phi(val(k,i,j),val(k,i-1,j),val(k,i-2,j)) * ( val(k,i-1,j)-val(k,i-2,j) ) ) &
1102 * ( 0.5_rp + sign(0.5_rp,vel) ) &
1104 + 0.5_rp * phi(val(k,i-1,j),val(k,i,j),val(k,i+1,j)) * ( val(k,i,j)-val(k,i+1,j) ) ) &
1105 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
1106 + gsqrt(k,i,j) * num_diff(k,i,j)
1111 k = iundef; i = iundef; j = iundef
1125 IIS, IIE, JJS, JJE )
1128 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1129 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1130 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1131 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
1132 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
1133 real(RP),
intent(in) :: mapf (
ia,
ja,2)
1134 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
1135 real(RP),
intent(in) :: cdz (
ka)
1136 integer,
intent(in) :: iis, iie, jjs, jje
1149 call check( __line__, mom(k,i ,j) )
1150 call check( __line__, mom(k,i-1,j) )
1152 call check( __line__, val(k,i,j) )
1153 call check( __line__, val(k,i,j+1) )
1155 call check( __line__, val(k,i,j-1) )
1156 call check( __line__, val(k,i,j+2) )
1159 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i+1,j) ) ) &
1160 / ( 0.25_rp * ( dens(k,i,j)+dens(k,i+1,j)+dens(k,i,j+1)+dens(k,i+1,j+1) ) )
1161 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+1) * vel &
1163 + 0.5_rp * phi(val(k,i,j+1),val(k,i,j),val(k,i,j-1)) * ( val(k,i,j)-val(k,i,j-1) ) ) &
1164 * ( 0.5_rp + sign(0.5_rp,vel) ) &
1166 + 0.5_rp * phi(val(k,i,j),val(k,i,j+1),val(k,i,j+2)) * ( val(k,i,j+1)-val(k,i,j+2) ) ) &
1167 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
1168 + gsqrt(k,i,j) * num_diff(k,i,j)
1173 k = iundef; i = iundef; j = iundef
1189 IIS, IIE, JJS, JJE )
1192 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1193 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1194 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1195 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
1196 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
1197 real(RP),
intent(in) :: j33g
1198 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
1199 real(RP),
intent(in) :: cdz (
ka)
1200 integer,
intent(in) :: iis, iie, jjs, jje
1214 call check( __line__, mom(k,i,j) )
1215 call check( __line__, mom(k,i,j+1) )
1217 call check( __line__, val(k,i,j) )
1218 call check( __line__, val(k+1,i,j) )
1220 call check( __line__, val(k-1,i,j) )
1221 call check( __line__, val(k+2,i,j) )
1224 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j+1) ) ) &
1225 / ( f2h(k,1,i_xvz) &
1226 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
1228 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
1229 flux(k,i,j) = j33g * vel &
1231 + 0.5_rp * phi(val(k+1,i,j),val(k,i,j),val(k-1,i,j)) * ( val(k,i,j)-val(k-1,i,j) ) ) &
1232 * ( 0.5_rp + sign(0.5_rp,vel) ) &
1234 + 0.5_rp * phi(val(k,i,j),val(k+1,i,j),val(k+2,i,j)) * ( val(k+1,i,j)-val(k+2,i,j) ) ) &
1235 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
1236 + gsqrt(k,i,j) * num_diff(k,i,j)
1241 k = iundef; i = iundef; j = iundef
1251 call check( __line__, mom(
ks,i ,j) )
1252 call check( __line__, mom(
ks,i,j+1) )
1253 call check( __line__, val(
ks+1,i,j) )
1254 call check( __line__, val(
ks,i,j) )
1260 flux(
ks-1,i,j) = 0.0_rp
1262 vel = ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i,j+1) ) ) &
1263 / ( f2h(
ks,1,i_xvz) &
1264 * 0.5_rp * ( dens(
ks+1,i,j)+dens(
ks+1,i,j+1) ) &
1266 * 0.5_rp * ( dens(
ks,i,j)+dens(
ks,i,j+1) ) )
1267 flux(
ks,i,j) = j33g * vel &
1268 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) ) &
1269 + gsqrt(
ks,i,j) * num_diff(
ks,i,j)
1270 vel = ( 0.5_rp * ( mom(
ke-1,i,j)+mom(
ke-1,i,j+1) ) ) &
1271 / ( f2h(
ke-1,1,i_xvz) &
1272 * 0.5_rp * ( dens(
ke,i,j)+dens(
ke,i,j+1) ) &
1273 + f2h(
ke-1,2,i_xvz) &
1274 * 0.5_rp * ( dens(
ke-1,i,j)+dens(
ke-1,i,j+1) ) )
1275 flux(
ke-1,i,j) = j33g * vel &
1276 * ( f2 * ( val(
ke,i,j)+val(
ke-1,i,j) ) ) &
1277 + gsqrt(
ke-1,i,j) * num_diff(
ke-1,i,j)
1279 flux(
ke,i,j) = 0.0_rp
1283 k = iundef; i = iundef; j = iundef
1294 GSQRT, J13G, MAPF, &
1296 IIS, IIE, JJS, JJE )
1299 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1300 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1301 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1302 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
1303 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
1304 real(RP),
intent(in) :: j13g (
ka,
ia,
ja)
1305 real(RP),
intent(in) :: mapf (
ia,
ja,2)
1306 real(RP),
intent(in) :: cdz (
ka)
1307 integer,
intent(in) :: iis, iie, jjs, jje
1320 vel = ( f2h(k,1,i_xvz) &
1321 * 0.25_rp * ( mom(k+1,i,j)+mom(k+1,i-1,j)+mom(k+1,i,j+1)+mom(k+1,i-1,j+1) ) &
1323 * 0.25_rp * ( mom(k,i,j)+mom(k,i-1,j)+mom(k,i,j+1)+mom(k,i-1,j+1) ) ) &
1324 / ( f2h(k,1,i_xvz) &
1325 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
1327 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
1328 flux(k,i,j) = j13g(k,i,j) / mapf(i,j,+2) * vel &
1330 + 0.5_rp * phi(val(k+1,i,j),val(k,i,j),val(k-1,i,j)) * ( val(k,i,j)-val(k-1,i,j) ) ) &
1331 * ( 0.5_rp + sign(0.5_rp,vel) ) &
1333 + 0.5_rp * phi(val(k,i,j),val(k+1,i,j),val(k+2,i,j)) * ( val(k+1,i,j)-val(k+2,i,j) ) ) &
1334 * ( 0.5_rp - sign(0.5_rp,vel) ) )
1348 flux(
ks-1,i,j) = 0.0_rp
1350 vel = ( f2h(
ks,1,i_xvz) &
1351 * 0.25_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i-1,j)+mom(
ks+1,i,j+1)+mom(
ks+1,i-1,j+1) ) &
1353 * 0.25_rp * ( mom(
ks,i,j)+mom(
ks,i-1,j)+mom(
ks,i,j+1)+mom(
ks,i-1,j+1) ) ) &
1354 / ( f2h(
ks,1,i_xvz) &
1355 * 0.5_rp * ( dens(
ks+1,i,j)+dens(
ks+1,i,j+1) ) &
1357 * 0.5_rp * ( dens(
ks,i,j)+dens(
ks,i,j+1) ) )
1358 flux(
ks,i,j) = j13g(
ks,i,j) / mapf(i,j,+2) * vel &
1359 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) )
1361 vel = ( f2h(
ke-1,1,i_xvz) &
1362 * 0.25_rp * ( mom(
ke,i,j)+mom(
ke,i-1,j)+mom(
ke,i,j+1)+mom(
ke,i-1,j+1) ) &
1363 + f2h(
ke-1,2,i_xvz) &
1364 * 0.25_rp * ( mom(
ke-1,i,j)+mom(
ke-1,i-1,j)+mom(
ke-1,i,j+1)+mom(
ke-1,i-1,j+1) ) ) &
1365 / ( f2h(
ke-1,1,i_xvz) &
1366 * 0.5_rp * ( dens(
ke,i,j)+dens(
ke,i,j+1) ) &
1367 + f2h(
ke-1,2,i_xvz) &
1368 * 0.5_rp * ( dens(
ke-1,i,j)+dens(
ke-1,i,j+1) ) )
1369 flux(
ke-1,i,j) = j13g(
ke-1,i,j) / mapf(i,j,+2) * vel &
1370 * ( f2 * ( val(
ke,i,j)+val(
ke-1,i,j) ) )
1372 flux(
ke ,i,j) = 0.0_rp
1384 GSQRT, J23G, MAPF, &
1386 IIS, IIE, JJS, JJE )
1389 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1390 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1391 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1392 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
1393 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
1394 real(RP),
intent(in) :: j23g (
ka,
ia,
ja)
1395 real(RP),
intent(in) :: mapf (
ia,
ja,2)
1396 real(RP),
intent(in) :: cdz (
ka)
1397 integer,
intent(in) :: iis, iie, jjs, jje
1410 vel = ( f2h(k,1,i_xvz) &
1414 / ( f2h(k,1,i_xvz) &
1415 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
1417 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
1418 flux(k,i,j) = j23g(k,i,j) / mapf(i,j,+1) * vel &
1420 + 0.5_rp * phi(val(k+1,i,j),val(k,i,j),val(k-1,i,j)) * ( val(k,i,j)-val(k-1,i,j) ) ) &
1421 * ( 0.5_rp + sign(0.5_rp,vel) ) &
1423 + 0.5_rp * phi(val(k,i,j),val(k+1,i,j),val(k+2,i,j)) * ( val(k+1,i,j)-val(k+2,i,j) ) ) &
1424 * ( 0.5_rp - sign(0.5_rp,vel) ) )
1438 flux(
ks-1,i,j) = 0.0_rp
1440 vel = ( f2h(
ks,1,i_xvz) &
1444 / ( f2h(
ks,1,i_xvz) &
1445 * 0.5_rp * ( dens(
ks+1,i,j)+dens(
ks+1,i,j+1) ) &
1447 * 0.5_rp * ( dens(
ks,i,j)+dens(
ks,i,j+1) ) )
1448 flux(
ks,i,j) = j23g(
ks,i,j) / mapf(i,j,+1) * vel &
1449 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) )
1451 vel = ( f2h(
ke-1,1,i_xvz) &
1453 + f2h(
ke-1,2,i_xvz) &
1455 / ( f2h(
ke-1,1,i_xvz) &
1456 * 0.5_rp * ( dens(
ke,i,j)+dens(
ke,i,j+1) ) &
1457 + f2h(
ke-1,2,i_xvz) &
1458 * 0.5_rp * ( dens(
ke-1,i,j)+dens(
ke-1,i,j+1) ) )
1459 flux(
ke-1,i,j) = j23g(
ke-1,i,j) / mapf(i,j,+1) * vel &
1460 * ( f2 * ( val(
ke,i,j)+val(
ke-1,i,j) ) )
1462 flux(
ke ,i,j) = 0.0_rp
1477 IIS, IIE, JJS, JJE )
1480 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1481 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1482 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1483 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
1484 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
1485 real(RP),
intent(in) :: mapf (
ia,
ja,2)
1486 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
1487 real(RP),
intent(in) :: cdz (
ka)
1488 integer,
intent(in) :: iis, iie, jjs, jje
1501 call check( __line__, mom(k,i ,j) )
1502 call check( __line__, mom(k,i,j-1) )
1504 call check( __line__, val(k,i,j) )
1505 call check( __line__, val(k,i+1,j) )
1507 call check( __line__, val(k,i-1,j) )
1508 call check( __line__, val(k,i+2,j) )
1511 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j+1) ) ) &
1512 / ( 0.25_rp * ( dens(k,i,j)+dens(k,i+1,j)+dens(k,i,j+1)+dens(k,i+1,j+1) ) )
1513 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+2) * vel &
1515 + 0.5_rp * phi(val(k,i+1,j),val(k,i,j),val(k,i-1,j)) * ( val(k,i,j)-val(k,i-1,j) ) ) &
1516 * ( 0.5_rp + sign(0.5_rp,vel) ) &
1518 + 0.5_rp * phi(val(k,i,j),val(k,i+1,j),val(k,i+2,j)) * ( val(k,i+1,j)-val(k,i+2,j) ) ) &
1519 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
1520 + gsqrt(k,i,j) * num_diff(k,i,j)
1525 k = iundef; i = iundef; j = iundef
1539 IIS, IIE, JJS, JJE )
1542 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1543 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1544 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1545 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
1546 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
1547 real(RP),
intent(in) :: mapf (
ia,
ja,2)
1548 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
1549 real(RP),
intent(in) :: cdz (
ka)
1550 integer,
intent(in) :: iis, iie, jjs, jje
1565 call check( __line__, mom(k,i ,j) )
1566 call check( __line__, mom(k,i,j-1) )
1568 call check( __line__, val(k,i,j-1) )
1569 call check( __line__, val(k,i,j) )
1571 call check( __line__, val(k,i,j-2) )
1572 call check( __line__, val(k,i,j+1) )
1575 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j-1) ) ) &
1577 flux(k,i,j-1) = gsqrt(k,i,j) / mapf(i,j,+1) * vel &
1578 * ( ( val(k,i,j-1) &
1579 + 0.5_rp * phi(val(k,i,j),val(k,i,j-1),val(k,i,j-2)) * ( val(k,i,j-1)-val(k,i,j-2) ) ) &
1580 * ( 0.5_rp + sign(0.5_rp,vel) ) &
1582 + 0.5_rp * phi(val(k,i,j-1),val(k,i,j),val(k,i,j+1)) * ( val(k,i,j)-val(k,i,j+1) ) ) &
1583 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
1584 + gsqrt(k,i,j) * num_diff(k,i,j)
1589 k = iundef; i = iundef; j = iundef
1601 function phi(v1, v2, v3)
1607 real(RP),
intent(in) :: v1
1608 real(RP),
intent(in) :: v2
1609 real(RP),
intent(in) :: v3
1612 real(RP) :: zerosw1, zerosw2
1615 zerosw1 = eps - sign(eps, abs(v1-v2)-eps)
1616 zerosw2 = eps - sign(eps, abs(v2-v3)-eps)
1617 r2 = 2.0_rp * (v1-v2+zerosw1*zerosw2) / (v2-v3+zerosw2)
1619 phi = max(0.0_rp, min(r2, min((1.0_rp+r2)/3.0_rp, 2.0_rp) ) )
subroutine, public atmos_dyn_fvm_fluxx_xvz_ud3koren1993(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at XV
subroutine, public atmos_dyn_fvm_flux_valuew_z_ud3koren1993(valW, mflx, val, GSQRT, CDZ)
value at XYW
subroutine, public atmos_dyn_fvm_fluxy_xyz_ud3koren1993(flux, mflx, val, GSQRT, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation Y-flux at XYZ
subroutine, public atmos_dyn_fvm_fluxz_uyz_ud3koren1993(flux, mom, val, DENS, GSQRT, J33G, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation z-flux at UY
subroutine, public atmos_dyn_fvm_fluxy_xvz_ud3koren1993(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation Y-flux at XV
integer, public ke
end point of inner domain: z, local
subroutine, public atmos_dyn_fvm_fluxx_xyz_ud3koren1993(flux, mflx, val, GSQRT, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at XYZ
subroutine, public check(current_line, v)
Undefined value checker.
real(rp), public const_undef
integer, public ia
of whole cells: x, local, with HALO
subroutine, public atmos_dyn_fvm_fluxj13_uyz_ud3koren1993(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J13-flux at UYZ
integer, public ka
of whole cells: z, local, with HALO
subroutine, public atmos_dyn_fvm_fluxz_xyz_ud3koren1993(flux, mflx, val, GSQRT, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation z-flux at XYZ
subroutine, public atmos_dyn_fvm_fluxj13_xyw_ud3koren1993(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J13-flux at XYW
integer, parameter, public const_undef2
undefined value (INT2)
subroutine, public atmos_dyn_fvm_fluxj23_uyz_ud3koren1993(flux, mom, val, DENS, GSQRT, J23G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J23-flux at UYZ
subroutine, public atmos_dyn_fvm_fluxj23_xyw_ud3koren1993(flux, mom, val, DENS, GSQRT, J23G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J23-flux at XYW
subroutine, public atmos_dyn_fvm_fluxx_uyz_ud3koren1993(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at UY
subroutine, public atmos_dyn_fvm_fluxj23_xvz_ud3koren1993(flux, mom, val, DENS, GSQRT, J23G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J23-flux at XVZ
integer, public ks
start point of inner domain: z, local
subroutine, public atmos_dyn_fvm_fluxj13_xvz_ud3koren1993(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J13-flux at XVZ
subroutine, public atmos_dyn_fvm_fluxy_uyz_ud3koren1993(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation Y-flux at UY
real(rp), public const_eps
small number
module scale_atmos_dyn_fvm_flux_ud3Koren1993
subroutine, public atmos_dyn_fvm_fluxz_xyw_ud3koren1993(flux, mom, val, DENS, GSQRT, J33G, num_diff, CDZ, FDZ, dtrk, IIS, IIE, JJS, JJE)
calculation z-flux at XYW
subroutine, public atmos_dyn_fvm_fluxx_xyw_ud3koren1993(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at XYW
subroutine, public atmos_dyn_fvm_fluxz_xvz_ud3koren1993(flux, mom, val, DENS, GSQRT, J33G, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation z-flux at XV
subroutine, public atmos_dyn_fvm_fluxy_xyw_ud3koren1993(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation Y-flux at XYW
integer, public ja
of whole cells: y, local, with HALO