75 #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))) 77 #define F2H(k,p,q) 0.5_RP 84 real(RP),
parameter :: f2 = 0.5_rp
87 real(RP),
parameter :: f31 = -1.0_rp/12.0_rp
88 real(RP),
parameter :: f32 = 7.0_rp/12.0_rp
89 real(RP),
parameter :: f33 = 3.0_rp/12.0_rp
104 real(RP),
intent(out) :: valW (
ka)
105 real(RP),
intent(in) :: mflx (
ka)
106 real(RP),
intent(in) :: val (
ka)
107 real(RP),
intent(in) :: GSQRT(
ka)
108 real(RP),
intent(in) :: CDZ (
ka)
115 call check( __line__, mflx(k) )
117 call check( __line__, val(k) )
118 call check( __line__, val(k+1) )
120 call check( __line__, val(k-1) )
121 call check( __line__, val(k+2) )
124 valw(k) = ( f31 * ( val(k+2)+val(k-1) ) + f32 * ( val(k+1)+val(k) ) ) &
125 - ( f31 * ( val(k+2)-val(k-1) ) + f33 * ( val(k+1)-val(k) ) ) * sign(1.0_rp,mflx(k))
133 call check( __line__, mflx(
ks) )
134 call check( __line__, val(
ks ) )
135 call check( __line__, val(
ks+1) )
136 call check( __line__, mflx(
ke-1) )
137 call check( __line__, val(
ke ) )
138 call check( __line__, val(
ke-1) )
142 valw(
ks) = f2 * ( val(
ks+1)+val(
ks) ) &
143 * ( 0.5_rp + sign(0.5_rp,mflx(
ks)) ) &
144 + ( 2.0_rp * val(
ks) + 5.0_rp * val(
ks+1) - val(
ks+2) ) / 6.0_rp &
145 * ( 0.5_rp - sign(0.5_rp,mflx(
ks)) )
146 valw(
ke-1) = ( 2.0_rp * val(
ke) + 5.0_rp * val(
ke-1) - val(
ke-2) ) / 6.0_rp &
147 * ( 0.5_rp + sign(0.5_rp,mflx(
ke-1)) ) &
148 + f2 * ( val(
ke)+val(
ke-1) ) &
149 * ( 0.5_rp - sign(0.5_rp,mflx(
ke-1)) )
167 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
168 real(RP),
intent(in) :: mflx (
ka,
ia,
ja)
169 real(RP),
intent(in) :: val (
ka,
ia,
ja)
170 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
171 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
172 real(RP),
intent(in) :: CDZ (
ka)
173 integer,
intent(in) :: IIS, IIE, JJS, JJE
186 call check( __line__, mflx(k,i,j) )
188 call check( __line__, val(k,i,j) )
189 call check( __line__, val(k+1,i,j) )
191 call check( __line__, val(k-1,i,j) )
192 call check( __line__, val(k+2,i,j) )
197 * ( ( f31 * ( val(k+2,i,j)+val(k-1,i,j) ) + f32 * ( val(k+1,i,j)+val(k,i,j) ) ) &
198 - ( f31 * ( val(k+2,i,j)-val(k-1,i,j) ) + f33 * ( val(k+1,i,j)-val(k,i,j) ) ) * sign(1.0_rp,vel) ) &
199 + gsqrt(k,i,j) * num_diff(k,i,j)
204 k = iundef; i = iundef; j = iundef
214 call check( __line__, mflx(
ks,i,j) )
215 call check( __line__, val(
ks ,i,j) )
216 call check( __line__, val(
ks+1,i,j) )
217 call check( __line__, mflx(
ke-1,i,j) )
218 call check( __line__, val(
ke ,i,j) )
219 call check( __line__, val(
ke-1,i,j) )
222 flux(
ks-1,i,j) = 0.0_rp
226 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) &
227 * ( 0.5_rp + sign(0.5_rp,vel) ) &
228 + ( 2.0_rp * val(
ks,i,j) + 5.0_rp * val(
ks+1,i,j) - val(
ks+2,i,j) ) / 6.0_rp &
229 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
230 + gsqrt(
ks,i,j) * num_diff(
ks,i,j)
232 flux(
ke-1,i,j) = vel &
233 * ( ( 2.0_rp * val(
ke,i,j) + 5.0_rp * val(
ke-1,i,j) - val(
ke-2,i,j) ) / 6.0_rp &
234 * ( 0.5_rp + sign(0.5_rp,vel) ) &
235 + f2 * ( val(
ke,i,j)+val(
ke-1,i,j) ) &
236 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
237 + gsqrt(
ke-1,i,j) * num_diff(
ke-1,i,j)
239 flux(
ke ,i,j) = 0.0_rp
243 k = iundef; i = iundef; j = iundef
259 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
260 real(RP),
intent(in) :: mflx (
ka,
ia,
ja)
261 real(RP),
intent(in) :: val (
ka,
ia,
ja)
262 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
263 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
264 real(RP),
intent(in) :: CDZ(
ka)
265 integer,
intent(in) :: IIS, IIE, JJS, JJE
278 call check( __line__, mflx(k,i,j) )
280 call check( __line__, val(k,i,j) )
281 call check( __line__, val(k,i+1,j) )
283 call check( __line__, val(k,i-1,j) )
284 call check( __line__, val(k,i+2,j) )
289 * ( ( f31 * ( val(k,i+2,j)+val(k,i-1,j) ) + f32 * ( val(k,i+1,j)+val(k,i,j) ) ) &
290 - ( f31 * ( val(k,i+2,j)-val(k,i-1,j) ) + f33 * ( val(k,i+1,j)-val(k,i,j) ) ) * sign(1.0_rp,vel) ) &
291 + gsqrt(k,i,j) * num_diff(k,i,j)
296 k = iundef; i = iundef; j = iundef
312 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
313 real(RP),
intent(in) :: mflx (
ka,
ia,
ja)
314 real(RP),
intent(in) :: val (
ka,
ia,
ja)
315 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
316 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
317 real(RP),
intent(in) :: CDZ(
ka)
318 integer,
intent(in) :: IIS, IIE, JJS, JJE
331 call check( __line__, mflx(k,i,j) )
333 call check( __line__, val(k,i,j) )
334 call check( __line__, val(k,i,j+1) )
336 call check( __line__, val(k,i,j-1) )
337 call check( __line__, val(k,i,j+2) )
342 * ( ( f31 * ( val(k,i,j+2)+val(k,i,j-1) ) + f32 * ( val(k,i,j+1)+val(k,i,j) ) ) &
343 - ( f31 * ( val(k,i,j+2)-val(k,i,j-1) ) + f33 * ( val(k,i,j+1)-val(k,i,j) ) ) * sign(1.0_rp,vel) ) &
344 + gsqrt(k,i,j) * num_diff(k,i,j)
349 k = iundef; i = iundef; j = iundef
368 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
369 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
370 real(RP),
intent(in) :: val (
ka,
ia,
ja)
371 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
372 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
373 real(RP),
intent(in) :: J33G
374 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
375 real(RP),
intent(in) :: CDZ (
ka)
376 real(RP),
intent(in) :: FDZ (
ka-1)
377 real(RP),
intent(in) :: dtrk
378 integer,
intent(in) :: IIS, IIE, JJS, JJE
393 call check( __line__, mom(k-1,i,j) )
394 call check( __line__, mom(k ,i,j) )
396 call check( __line__, val(k-1,i,j) )
397 call check( __line__, val(k,i,j) )
399 call check( __line__, val(k-2,i,j) )
400 call check( __line__, val(k+1,i,j) )
403 vel = ( 0.5_rp * ( mom(k-1,i,j) &
406 flux(k-1,i,j) = j33g * vel &
407 * ( ( f31 * ( val(k+1,i,j)+val(k-2,i,j) ) + f32 * ( val(k,i,j)+val(k-1,i,j) ) ) &
408 - ( f31 * ( val(k+1,i,j)-val(k-2,i,j) ) + f33 * ( val(k,i,j)-val(k-1,i,j) ) ) * sign(1.0_rp,vel) ) &
409 + gsqrt(k,i,j) * num_diff(k,i,j)
414 k = iundef; i = iundef; j = iundef
424 call check( __line__, val(
ks ,i,j) )
425 call check( __line__, val(
ks+1,i,j) )
432 flux(
ks-1,i,j) = 0.0_rp
434 vel = ( 0.5_rp * ( mom(
ks,i,j) &
435 + mom(
ks+1,i,j) ) ) &
437 flux(
ks,i,j) = j33g * vel &
438 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) &
439 * ( 0.5_rp + sign(0.5_rp,vel) ) &
440 + ( 2.0_rp * val(
ks,i,j) + 5.0_rp * val(
ks+1,i,j) - val(
ks+2,i,j) ) / 6.0_rp &
441 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
442 + gsqrt(
ks+1,i,j) * num_diff(
ks+1,i,j)
446 flux(
ke-1,i,j) = 0.0_rp
447 flux(
ke ,i,j) = 0.0_rp
465 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
466 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
467 real(RP),
intent(in) :: val (
ka,
ia,
ja)
468 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
469 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
470 real(RP),
intent(in) :: J13G (
ka,
ia,
ja)
471 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
472 real(RP),
intent(in) :: CDZ (
ka)
473 integer,
intent(in) :: IIS, IIE, JJS, JJE
485 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i-1,j) ) ) &
487 vel = vel * j13g(k,i,j)
488 flux(k-1,i,j) = vel / mapf(i,j,+2) &
489 * ( ( f31 * ( val(k+1,i,j)+val(k-2,i,j) ) + f32 * ( val(k,i,j)+val(k-1,i,j) ) ) &
490 - ( f31 * ( val(k+1,i,j)-val(k-2,i,j) ) + f33 * ( val(k,i,j)-val(k-1,i,j) ) ) * sign(1.0_rp,vel) )
503 flux(
ks-1,i,j) = 0.0_rp
506 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i-1,j) ) ) / dens(
ks+1,i,j) &
507 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i-1,j) ) ) / dens(
ks ,i,j) ) * 0.5_rp
510 vel = vel * j13g(
ks+1,i,j)
511 flux(
ks,i,j) = vel / mapf(i,j,+2) &
512 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) &
513 * ( 0.5_rp + sign(0.5_rp,vel) ) &
514 + ( 2.0_rp * val(
ks,i,j) + 5.0_rp * val(
ks+1,i,j) - val(
ks+2,i,j) ) / 6.0_rp &
515 * ( 0.5_rp - sign(0.5_rp,vel) ) )
518 flux(
ke-1,i,j) = 0.0_rp
535 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
536 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
537 real(RP),
intent(in) :: val (
ka,
ia,
ja)
538 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
539 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
540 real(RP),
intent(in) :: J23G (
ka,
ia,
ja)
541 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
542 real(RP),
intent(in) :: CDZ (
ka)
543 integer,
intent(in) :: IIS, IIE, JJS, JJE
555 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j-1) ) ) &
557 vel = vel * j23g(k,i,j)
558 flux(k-1,i,j) = vel / mapf(i,j,+1) &
559 * ( ( f31 * ( val(k+1,i,j)+val(k-2,i,j) ) + f32 * ( val(k,i,j)+val(k-1,i,j) ) ) &
560 - ( f31 * ( val(k+1,i,j)-val(k-2,i,j) ) + f33 * ( val(k,i,j)-val(k-1,i,j) ) ) * sign(1.0_rp,vel) )
573 flux(
ks-1,i,j) = 0.0_rp
576 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i,j-1) ) ) / dens(
ks+1,i,j) &
577 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i,j-1) ) ) / dens(
ks ,i,j) ) * 0.5_rp
580 vel = vel * j23g(
ks+1,i,j)
581 flux(
ks,i,j) = vel / mapf(i,j,+1) &
582 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) &
583 * ( 0.5_rp + sign(0.5_rp,vel) ) &
584 + ( 2.0_rp * val(
ks,i,j) + 5.0_rp * val(
ks+1,i,j) - val(
ks+2,i,j) ) / 6.0_rp &
585 * ( 0.5_rp - sign(0.5_rp,vel) ) )
588 flux(
ke-1,i,j) = 0.0_rp
607 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
608 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
609 real(RP),
intent(in) :: val (
ka,
ia,
ja)
610 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
611 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
612 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
613 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
614 real(RP),
intent(in) :: CDZ (
ka)
615 integer,
intent(in) :: IIS, IIE, JJS, JJE
629 call check( __line__, mom(k ,i,j) )
630 call check( __line__, mom(k+1,i,j) )
632 call check( __line__, val(k,i,j) )
633 call check( __line__, val(k,i+1,j) )
635 call check( __line__, val(k,i-1,j) )
636 call check( __line__, val(k,i+2,j) )
639 vel = ( f2h(k,1,
i_uyz) &
644 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
646 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
647 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+2) * vel &
648 * ( ( f31 * ( val(k,i+2,j)+val(k,i-1,j) ) + f32 * ( val(k,i+1,j)+val(k,i,j) ) ) &
649 - ( f31 * ( val(k,i+2,j)-val(k,i-1,j) ) + f33 * ( val(k,i+1,j)-val(k,i,j) ) ) * sign(1.0_rp,vel) ) &
650 + gsqrt(k,i,j) * num_diff(k,i,j)
655 k = iundef; i = iundef; j = iundef
663 flux(
ke,i,j) = 0.0_rp
667 k = iundef; i = iundef; j = iundef
684 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
685 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
686 real(RP),
intent(in) :: val (
ka,
ia,
ja)
687 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
688 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
689 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
690 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
691 real(RP),
intent(in) :: CDZ (
ka)
692 integer,
intent(in) :: IIS, IIE, JJS, JJE
706 call check( __line__, mom(k ,i,j) )
707 call check( __line__, mom(k+1,i,j) )
709 call check( __line__, val(k,i,j) )
710 call check( __line__, val(k,i,j+1) )
712 call check( __line__, val(k,i,j-1) )
713 call check( __line__, val(k,i,j+2) )
716 vel = ( f2h(k,1,
i_xvz) &
721 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
723 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
724 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+1) * vel &
725 * ( ( f31 * ( val(k,i,j+2)+val(k,i,j-1) ) + f32 * ( val(k,i,j+1)+val(k,i,j) ) ) &
726 - ( f31 * ( val(k,i,j+2)-val(k,i,j-1) ) + f33 * ( val(k,i,j+1)-val(k,i,j) ) ) * sign(1.0_rp,vel) ) &
727 + gsqrt(k,i,j) * num_diff(k,i,j)
732 k = iundef; i = iundef; j = iundef
740 flux(
ke,i,j) = 0.0_rp
744 k = iundef; i = iundef; j = iundef
762 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
763 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
764 real(RP),
intent(in) :: val (
ka,
ia,
ja)
765 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
766 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
767 real(RP),
intent(in) :: J33G
768 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
769 real(RP),
intent(in) :: CDZ (
ka)
770 integer,
intent(in) :: IIS, IIE, JJS, JJE
784 call check( __line__, mom(k,i,j) )
785 call check( __line__, mom(k,i+1,j) )
787 call check( __line__, val(k,i,j) )
788 call check( __line__, val(k+1,i,j) )
790 call check( __line__, val(k-1,i,j) )
791 call check( __line__, val(k+2,i,j) )
794 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i+1,j) ) ) &
796 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
798 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
799 flux(k,i,j) = j33g * vel &
800 * ( ( f31 * ( val(k+2,i,j)+val(k-1,i,j) ) + f32 * ( val(k+1,i,j)+val(k,i,j) ) ) &
801 - ( f31 * ( val(k+2,i,j)-val(k-1,i,j) ) + f33 * ( val(k+1,i,j)-val(k,i,j) ) ) * sign(1.0_rp,vel) ) &
802 + gsqrt(k,i,j) * num_diff(k,i,j)
807 k = iundef; i = iundef; j = iundef
817 call check( __line__, mom(
ks,i ,j) )
818 call check( __line__, mom(
ks,i+1,j) )
819 call check( __line__, val(
ks+1,i,j) )
820 call check( __line__, val(
ks,i,j) )
826 flux(
ks-1,i,j) = 0.0_rp
828 vel = ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i+1,j) ) ) &
830 * 0.5_rp * ( dens(
ks+1,i,j)+dens(
ks+1,i+1,j) ) &
832 * 0.5_rp * ( dens(
ks,i,j)+dens(
ks,i+1,j) ) )
833 flux(
ks,i,j) = j33g * vel &
834 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) &
835 * ( 0.5_rp + sign(0.5_rp,vel) ) &
836 + ( 2.0_rp * val(
ks,i,j) + 5.0_rp * val(
ks+1,i,j) - val(
ks+2,i,j) ) / 6.0_rp &
837 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
838 + gsqrt(
ks,i,j) * num_diff(
ks,i,j)
839 vel = ( 0.5_rp * ( mom(
ke-1,i,j)+mom(
ke-1,i+1,j) ) ) &
841 * 0.5_rp * ( dens(
ke,i,j)+dens(
ke,i+1,j) ) &
843 * 0.5_rp * ( dens(
ke-1,i,j)+dens(
ke-1,i+1,j) ) )
844 flux(
ke-1,i,j) = j33g * vel &
845 * ( ( 2.0_rp * val(
ke,i,j) + 5.0_rp * val(
ke-1,i,j) - val(
ke-2,i,j) ) / 6.0_rp &
846 * ( 0.5_rp + sign(0.5_rp,vel) ) &
847 + f2 * ( val(
ke,i,j)+val(
ke-1,i,j) ) &
848 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
849 + gsqrt(
ke-1,i,j) * num_diff(
ke-1,i,j)
851 flux(
ke,i,j) = 0.0_rp
855 k = iundef; i = iundef; j = iundef
871 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
872 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
873 real(RP),
intent(in) :: val (
ka,
ia,
ja)
874 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
875 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
876 real(RP),
intent(in) :: J13G (
ka,
ia,
ja)
877 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
878 real(RP),
intent(in) :: CDZ (
ka)
879 integer,
intent(in) :: IIS, IIE, JJS, JJE
892 vel = ( f2h(k,1,
i_uyz) &
897 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
899 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
900 vel = vel * j13g(k,i,j)
901 flux(k,i,j) = vel / mapf(i,j,+2) &
902 * ( ( f31 * ( val(k+2,i,j)+val(k-1,i,j) ) + f32 * ( val(k+1,i,j)+val(k,i,j) ) ) &
903 - ( f31 * ( val(k+2,i,j)-val(k-1,i,j) ) + f33 * ( val(k+1,i,j)-val(k,i,j) ) ) * sign(1.0_rp,vel) )
917 flux(
ks-1,i,j) = 0.0_rp
924 * 0.5_rp * ( dens(
ks+1,i,j)+dens(
ks+1,i+1,j) ) &
926 * 0.5_rp * ( dens(
ks,i,j)+dens(
ks,i+1,j) ) )
927 vel = vel * j13g(
ks,i,j)
928 flux(
ks,i,j) = vel / mapf(i,j,+2) &
929 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) &
930 * ( 0.5_rp + sign(0.5_rp,vel) ) &
931 + ( 2.0_rp * val(
ks,i,j) + 5.0_rp * val(
ks+1,i,j) - val(
ks+2,i,j) ) / 6.0_rp &
932 * ( 0.5_rp - sign(0.5_rp,vel) ) )
939 * 0.5_rp * ( dens(
ke,i,j)+dens(
ke,i+1,j) ) &
941 * 0.5_rp * ( dens(
ke-1,i,j)+dens(
ke-1,i+1,j) ) )
942 vel = vel * j13g(
ke-1,i,j)
943 flux(
ke-1,i,j) = vel / mapf(i,j,+2) &
944 * ( ( 2.0_rp * val(
ke,i,j) + 5.0_rp * val(
ke-1,i,j) - val(
ke-2,i,j) ) / 6.0_rp &
945 * ( 0.5_rp + sign(0.5_rp,vel) ) &
946 + f2 * ( val(
ke,i,j)+val(
ke-1,i,j) ) &
947 * ( 0.5_rp - sign(0.5_rp,vel) ) )
949 flux(
ke ,i,j) = 0.0_rp
966 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
967 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
968 real(RP),
intent(in) :: val (
ka,
ia,
ja)
969 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
970 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
971 real(RP),
intent(in) :: J23G (
ka,
ia,
ja)
972 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
973 real(RP),
intent(in) :: CDZ (
ka)
974 integer,
intent(in) :: IIS, IIE, JJS, JJE
987 vel = ( f2h(k,1,
i_uyz) &
988 * 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) ) &
990 * 0.25_rp * ( mom(k,i,j)+mom(k,i+1,j)+mom(k,i,j-1)+mom(k,i+1,j-1) ) ) &
992 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
994 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
995 vel = vel * j23g(k,i,j)
996 flux(k,i,j) = vel / mapf(i,j,+1) &
997 * ( ( f31 * ( val(k+2,i,j)+val(k-1,i,j) ) + f32 * ( val(k+1,i,j)+val(k,i,j) ) ) &
998 - ( f31 * ( val(k+2,i,j)-val(k-1,i,j) ) + f33 * ( val(k+1,i,j)-val(k,i,j) ) ) * sign(1.0_rp,vel) )
1012 flux(
ks-1,i,j) = 0.0_rp
1015 * 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) ) &
1017 * 0.25_rp * ( mom(
ks,i,j)+mom(
ks,i+1,j)+mom(
ks,i,j-1)+mom(
ks,i+1,j-1) ) ) &
1019 * 0.5_rp * ( dens(
ks+1,i,j)+dens(
ks+1,i+1,j) ) &
1021 * 0.5_rp * ( dens(
ks,i,j)+dens(
ks,i+1,j) ) )
1022 vel = vel * j23g(
ks,i,j)
1023 flux(
ks,i,j) = vel / mapf(i,j,+1) &
1024 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) &
1025 * ( 0.5_rp + sign(0.5_rp,vel) ) &
1026 + ( 2.0_rp * val(
ks,i,j) + 5.0_rp * val(
ks+1,i,j) - val(
ks+2,i,j) ) / 6.0_rp &
1027 * ( 0.5_rp - sign(0.5_rp,vel) ) )
1030 * 0.25_rp * ( mom(
ke,i,j)+mom(
ke,i+1,j)+mom(
ke,i,j-1)+mom(
ke,i+1,j-1) ) &
1032 * 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) ) ) &
1034 * 0.5_rp * ( dens(
ke,i,j)+dens(
ke,i+1,j) ) &
1036 * 0.5_rp * ( dens(
ke-1,i,j)+dens(
ke-1,i+1,j) ) )
1037 vel = vel * j23g(
ke-1,i,j)
1038 flux(
ke-1,i,j) = vel / mapf(i,j,+1) &
1039 * ( ( 2.0_rp * val(
ke,i,j) + 5.0_rp * val(
ke-1,i,j) - val(
ke-2,i,j) ) / 6.0_rp &
1040 * ( 0.5_rp + sign(0.5_rp,vel) ) &
1041 + f2 * ( val(
ke,i,j)+val(
ke-1,i,j) ) &
1042 * ( 0.5_rp - sign(0.5_rp,vel) ) )
1044 flux(
ke ,i,j) = 0.0_rp
1059 IIS, IIE, JJS, JJE )
1062 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1063 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1064 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1065 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
1066 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
1067 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
1068 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
1069 real(RP),
intent(in) :: CDZ (
ka)
1070 integer,
intent(in) :: IIS, IIE, JJS, JJE
1085 call check( __line__, mom(k,i ,j) )
1086 call check( __line__, mom(k,i-1,j) )
1088 call check( __line__, val(k,i-1,j) )
1089 call check( __line__, val(k,i,j) )
1091 call check( __line__, val(k,i-2,j) )
1092 call check( __line__, val(k,i+1,j) )
1095 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i-1,j) ) ) &
1097 flux(k,i-1,j) = gsqrt(k,i,j) / mapf(i,j,+2) * vel &
1098 * ( ( f31 * ( val(k,i+1,j)+val(k,i-2,j) ) + f32 * ( val(k,i,j)+val(k,i-1,j) ) ) &
1099 - ( f31 * ( val(k,i+1,j)-val(k,i-2,j) ) + f33 * ( val(k,i,j)-val(k,i-1,j) ) ) * sign(1.0_rp,vel) ) &
1100 + gsqrt(k,i,j) * num_diff(k,i,j)
1105 k = iundef; i = iundef; j = iundef
1119 IIS, IIE, JJS, JJE )
1122 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1123 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1124 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1125 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
1126 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
1127 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
1128 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
1129 real(RP),
intent(in) :: CDZ (
ka)
1130 integer,
intent(in) :: IIS, IIE, JJS, JJE
1143 call check( __line__, mom(k,i ,j) )
1144 call check( __line__, mom(k,i-1,j) )
1146 call check( __line__, val(k,i,j) )
1147 call check( __line__, val(k,i,j+1) )
1149 call check( __line__, val(k,i,j-1) )
1150 call check( __line__, val(k,i,j+2) )
1153 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i+1,j) ) ) &
1154 / ( 0.25_rp * ( dens(k,i,j)+dens(k,i+1,j)+dens(k,i,j+1)+dens(k,i+1,j+1) ) )
1155 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+1) * vel &
1156 * ( ( f31 * ( val(k,i,j+2)+val(k,i,j-1) ) + f32 * ( val(k,i,j+1)+val(k,i,j) ) ) &
1157 - ( f31 * ( val(k,i,j+2)-val(k,i,j-1) ) + f33 * ( val(k,i,j+1)-val(k,i,j) ) ) * sign(1.0_rp,vel) ) &
1158 + gsqrt(k,i,j) * num_diff(k,i,j)
1163 k = iundef; i = iundef; j = iundef
1179 IIS, IIE, JJS, JJE )
1182 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1183 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1184 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1185 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
1186 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
1187 real(RP),
intent(in) :: J33G
1188 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
1189 real(RP),
intent(in) :: CDZ (
ka)
1190 integer,
intent(in) :: IIS, IIE, JJS, JJE
1204 call check( __line__, mom(k,i,j) )
1205 call check( __line__, mom(k,i,j+1) )
1207 call check( __line__, val(k,i,j) )
1208 call check( __line__, val(k+1,i,j) )
1210 call check( __line__, val(k-1,i,j) )
1211 call check( __line__, val(k+2,i,j) )
1214 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j+1) ) ) &
1215 / ( f2h(k,1,
i_xvz) &
1216 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
1218 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
1219 flux(k,i,j) = j33g * vel &
1220 * ( ( f31 * ( val(k+2,i,j)+val(k-1,i,j) ) + f32 * ( val(k+1,i,j)+val(k,i,j) ) ) &
1221 - ( f31 * ( val(k+2,i,j)-val(k-1,i,j) ) + f33 * ( val(k+1,i,j)-val(k,i,j) ) ) * sign(1.0_rp,vel) ) &
1222 + gsqrt(k,i,j) * num_diff(k,i,j)
1227 k = iundef; i = iundef; j = iundef
1237 call check( __line__, mom(
ks,i ,j) )
1238 call check( __line__, mom(
ks,i,j+1) )
1239 call check( __line__, val(
ks+1,i,j) )
1240 call check( __line__, val(
ks,i,j) )
1246 flux(
ks-1,i,j) = 0.0_rp
1248 vel = ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i,j+1) ) ) &
1250 * 0.5_rp * ( dens(
ks+1,i,j)+dens(
ks+1,i,j+1) ) &
1252 * 0.5_rp * ( dens(
ks,i,j)+dens(
ks,i,j+1) ) )
1253 flux(
ks,i,j) = j33g * vel &
1254 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) &
1255 * ( 0.5_rp + sign(0.5_rp,vel) ) &
1256 + ( 2.0_rp * val(
ks,i,j) + 5.0_rp * val(
ks+1,i,j) - val(
ks+2,i,j) ) / 6.0_rp &
1257 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
1258 + gsqrt(
ks,i,j) * num_diff(
ks,i,j)
1259 vel = ( 0.5_rp * ( mom(
ke-1,i,j)+mom(
ke-1,i,j+1) ) ) &
1261 * 0.5_rp * ( dens(
ke,i,j)+dens(
ke,i,j+1) ) &
1263 * 0.5_rp * ( dens(
ke-1,i,j)+dens(
ke-1,i,j+1) ) )
1264 flux(
ke-1,i,j) = j33g * vel &
1265 * ( ( 2.0_rp * val(
ke,i,j) + 5.0_rp * val(
ke-1,i,j) - val(
ke-2,i,j) ) / 6.0_rp &
1266 * ( 0.5_rp + sign(0.5_rp,vel) ) &
1267 + f2 * ( val(
ke,i,j)+val(
ke-1,i,j) ) &
1268 * ( 0.5_rp - sign(0.5_rp,vel) ) ) &
1269 + gsqrt(
ke-1,i,j) * num_diff(
ke-1,i,j)
1271 flux(
ke,i,j) = 0.0_rp
1275 k = iundef; i = iundef; j = iundef
1286 GSQRT, J13G, MAPF, &
1288 IIS, IIE, JJS, JJE )
1291 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1292 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1293 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1294 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
1295 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
1296 real(RP),
intent(in) :: J13G (
ka,
ia,
ja)
1297 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
1298 real(RP),
intent(in) :: CDZ (
ka)
1299 integer,
intent(in) :: IIS, IIE, JJS, JJE
1312 vel = ( f2h(k,1,
i_xvz) &
1313 * 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) ) &
1315 * 0.25_rp * ( mom(k,i,j)+mom(k,i-1,j)+mom(k,i,j+1)+mom(k,i-1,j+1) ) ) &
1316 / ( f2h(k,1,
i_xvz) &
1317 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
1319 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
1320 vel = vel * j13g(k,i,j)
1321 flux(k,i,j) = vel / mapf(i,j,+2) &
1322 * ( ( f31 * ( val(k+2,i,j)+val(k-1,i,j) ) + f32 * ( val(k+1,i,j)+val(k,i,j) ) ) &
1323 - ( f31 * ( val(k+2,i,j)-val(k-1,i,j) ) + f33 * ( val(k+1,i,j)-val(k,i,j) ) ) * sign(1.0_rp,vel) )
1337 flux(
ks-1,i,j) = 0.0_rp
1340 * 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) ) &
1342 * 0.25_rp * ( mom(
ks,i,j)+mom(
ks,i-1,j)+mom(
ks,i,j+1)+mom(
ks,i-1,j+1) ) ) &
1344 * 0.5_rp * ( dens(
ks+1,i,j)+dens(
ks+1,i,j+1) ) &
1346 * 0.5_rp * ( dens(
ks,i,j)+dens(
ks,i,j+1) ) )
1347 vel = vel * j13g(
ks,i,j)
1348 flux(
ks,i,j) = vel / mapf(i,j,+2) &
1349 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) &
1350 * ( 0.5_rp + sign(0.5_rp,vel) ) &
1351 + ( 2.0_rp * val(
ks,i,j) + 5.0_rp * val(
ks+1,i,j) - val(
ks+2,i,j) ) / 6.0_rp &
1352 * ( 0.5_rp - sign(0.5_rp,vel) ) )
1355 * 0.25_rp * ( mom(
ke,i,j)+mom(
ke,i-1,j)+mom(
ke,i,j+1)+mom(
ke,i-1,j+1) ) &
1357 * 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) ) ) &
1359 * 0.5_rp * ( dens(
ke,i,j)+dens(
ke,i,j+1) ) &
1361 * 0.5_rp * ( dens(
ke-1,i,j)+dens(
ke-1,i,j+1) ) )
1362 vel = vel * j13g(
ke-1,i,j)
1363 flux(
ke-1,i,j) = vel / mapf(i,j,+2) &
1364 * ( ( 2.0_rp * val(
ke,i,j) + 5.0_rp * val(
ke-1,i,j) - val(
ke-2,i,j) ) / 6.0_rp &
1365 * ( 0.5_rp + sign(0.5_rp,vel) ) &
1366 + f2 * ( val(
ke,i,j)+val(
ke-1,i,j) ) &
1367 * ( 0.5_rp - sign(0.5_rp,vel) ) )
1369 flux(
ke ,i,j) = 0.0_rp
1381 GSQRT, J23G, MAPF, &
1383 IIS, IIE, JJS, JJE )
1386 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1387 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1388 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1389 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
1390 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
1391 real(RP),
intent(in) :: J23G (
ka,
ia,
ja)
1392 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
1393 real(RP),
intent(in) :: CDZ (
ka)
1394 integer,
intent(in) :: IIS, IIE, JJS, JJE
1407 vel = ( f2h(k,1,
i_xvz) &
1411 / ( f2h(k,1,
i_xvz) &
1412 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
1414 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
1415 vel = vel * j23g(k,i,j)
1416 flux(k,i,j) = vel / mapf(i,j,+1) &
1417 * ( ( f31 * ( val(k+2,i,j)+val(k-1,i,j) ) + f32 * ( val(k+1,i,j)+val(k,i,j) ) ) &
1418 - ( f31 * ( val(k+2,i,j)-val(k-1,i,j) ) + f33 * ( val(k+1,i,j)-val(k,i,j) ) ) * sign(1.0_rp,vel) )
1432 flux(
ks-1,i,j) = 0.0_rp
1439 * 0.5_rp * ( dens(
ks+1,i,j)+dens(
ks+1,i,j+1) ) &
1441 * 0.5_rp * ( dens(
ks,i,j)+dens(
ks,i,j+1) ) )
1442 vel = vel * j23g(
ks,i,j)
1443 flux(
ks,i,j) = vel / mapf(i,j,+1) &
1444 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) &
1445 * ( 0.5_rp + sign(0.5_rp,vel) ) &
1446 + ( 2.0_rp * val(
ks,i,j) + 5.0_rp * val(
ks+1,i,j) - val(
ks+2,i,j) ) / 6.0_rp &
1447 * ( 0.5_rp - sign(0.5_rp,vel) ) )
1454 * 0.5_rp * ( dens(
ke,i,j)+dens(
ke,i,j+1) ) &
1456 * 0.5_rp * ( dens(
ke-1,i,j)+dens(
ke-1,i,j+1) ) )
1457 vel = vel * j23g(
ke-1,i,j)
1458 flux(
ke-1,i,j) = vel / mapf(i,j,+1) &
1459 * ( ( 2.0_rp * val(
ke,i,j) + 5.0_rp * val(
ke-1,i,j) - val(
ke-2,i,j) ) / 6.0_rp &
1460 * ( 0.5_rp + sign(0.5_rp,vel) ) &
1461 + f2 * ( val(
ke,i,j)+val(
ke-1,i,j) ) &
1462 * ( 0.5_rp - sign(0.5_rp,vel) ) )
1464 flux(
ke ,i,j) = 0.0_rp
1479 IIS, IIE, JJS, JJE )
1482 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1483 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1484 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1485 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
1486 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
1487 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
1488 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
1489 real(RP),
intent(in) :: CDZ (
ka)
1490 integer,
intent(in) :: IIS, IIE, JJS, JJE
1503 call check( __line__, mom(k,i ,j) )
1504 call check( __line__, mom(k,i,j-1) )
1506 call check( __line__, val(k,i,j) )
1507 call check( __line__, val(k,i+1,j) )
1509 call check( __line__, val(k,i-1,j) )
1510 call check( __line__, val(k,i+2,j) )
1513 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j+1) ) ) &
1514 / ( 0.25_rp * ( dens(k,i,j)+dens(k,i+1,j)+dens(k,i,j+1)+dens(k,i+1,j+1) ) )
1515 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+2) * vel &
1516 * ( ( f31 * ( val(k,i+2,j)+val(k,i-1,j) ) + f32 * ( val(k,i+1,j)+val(k,i,j) ) ) &
1517 - ( f31 * ( val(k,i+2,j)-val(k,i-1,j) ) + f33 * ( val(k,i+1,j)-val(k,i,j) ) ) * sign(1.0_rp,vel) ) &
1518 + gsqrt(k,i,j) * num_diff(k,i,j)
1523 k = iundef; i = iundef; j = iundef
1537 IIS, IIE, JJS, JJE )
1540 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1541 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1542 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1543 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
1544 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
1545 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
1546 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
1547 real(RP),
intent(in) :: CDZ (
ka)
1548 integer,
intent(in) :: IIS, IIE, JJS, JJE
1563 call check( __line__, mom(k,i ,j) )
1564 call check( __line__, mom(k,i,j-1) )
1566 call check( __line__, val(k,i,j-1) )
1567 call check( __line__, val(k,i,j) )
1569 call check( __line__, val(k,i,j-2) )
1570 call check( __line__, val(k,i,j+1) )
1573 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j-1) ) ) &
1575 flux(k,i,j-1) = gsqrt(k,i,j) / mapf(i,j,+1) * vel &
1576 * ( ( f31 * ( val(k,i,j+1)+val(k,i,j-2) ) + f32 * ( val(k,i,j)+val(k,i,j-1) ) ) &
1577 - ( f31 * ( val(k,i,j+1)-val(k,i,j-2) ) + f33 * ( val(k,i,j)-val(k,i,j-1) ) ) * sign(1.0_rp,vel) ) &
1578 + gsqrt(k,i,j) * num_diff(k,i,j)
1583 k = iundef; i = iundef; j = iundef
subroutine, public atmos_dyn_fvm_fluxj13_xvz_ud3(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J13-flux at XVZ
integer, public ia
of whole cells: x, local, with HALO
subroutine, public atmos_dyn_fvm_fluxj23_uyz_ud3(flux, mom, val, DENS, GSQRT, J23G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J23-flux at UYZ
subroutine, public atmos_dyn_fvm_fluxz_xyz_ud3(flux, mflx, val, GSQRT, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation z-flux at XYZ
subroutine, public atmos_dyn_fvm_flux_valuew_z_ud3(valW, mflx, val, GSQRT, CDZ)
value at XYW
integer, public ja
of whole cells: y, local, with HALO
subroutine, public check(current_line, v)
Undefined value checker.
subroutine, public atmos_dyn_fvm_fluxx_xyw_ud3(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at XYW
real(rp), public const_undef
subroutine, public atmos_dyn_fvm_fluxj23_xvz_ud3(flux, mom, val, DENS, GSQRT, J23G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J23-flux at XVZ
subroutine, public atmos_dyn_fvm_fluxx_xvz_ud3(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at XV
module atmosphere / grid / cartesC index
integer, public ke
end point of inner domain: z, local
subroutine, public atmos_dyn_fvm_fluxz_xvz_ud3(flux, mom, val, DENS, GSQRT, J33G, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation z-flux at XV
subroutine, public atmos_dyn_fvm_fluxx_xyz_ud3(flux, mflx, val, GSQRT, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at XYZ
subroutine, public atmos_dyn_fvm_fluxy_xyw_ud3(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation Y-flux at XYW
integer, parameter, public const_undef2
undefined value (INT2)
integer, public ks
start point of inner domain: z, local
subroutine, public atmos_dyn_fvm_fluxy_xyz_ud3(flux, mflx, val, GSQRT, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation Y-flux at XYZ
subroutine, public atmos_dyn_fvm_fluxj23_xyw_ud3(flux, mom, val, DENS, GSQRT, J23G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J23-flux at XYW
subroutine, public atmos_dyn_fvm_fluxy_xvz_ud3(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation Y-flux at XV
subroutine, public atmos_dyn_fvm_fluxy_uyz_ud3(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation Y-flux at UY
subroutine, public atmos_dyn_fvm_fluxz_uyz_ud3(flux, mom, val, DENS, GSQRT, J33G, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation z-flux at UY
real(rp), public const_eps
small number
subroutine, public atmos_dyn_fvm_fluxj13_xyw_ud3(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J13-flux at XYW
subroutine, public atmos_dyn_fvm_fluxx_uyz_ud3(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at UY
integer, public ka
of whole cells: z, local, with HALO
subroutine, public atmos_dyn_fvm_fluxj13_uyz_ud3(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J13-flux at UYZ
subroutine, public atmos_dyn_fvm_fluxz_xyw_ud3(flux, mom, val, DENS, GSQRT, J33G, num_diff, CDZ, FDZ, dtrk, IIS, IIE, JJS, JJE)
calculation z-flux at XYW
module scale_atmos_dyn_fvm_flux_ud3