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
103 real(RP),
intent(out) :: valw (
ka)
104 real(RP),
intent(in) :: mflx (
ka)
105 real(RP),
intent(in) :: val (
ka)
106 real(RP),
intent(in) :: gsqrt(
ka)
107 real(RP),
intent(in) :: cdz (
ka)
114 call check( __line__, mflx(k) )
116 call check( __line__, val(k) )
117 call check( __line__, val(k+1) )
120 valw(k) = f2 * ( val(k+1)+val(k) )
132 valw(
ks) = f2 * ( val(
ks+1)+val(
ks) )
133 valw(
ke-1) = f2 * ( val(
ke)+val(
ke-1) )
149 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
150 real(RP),
intent(in) :: mflx (
ka,
ia,
ja)
151 real(RP),
intent(in) :: val (
ka,
ia,
ja)
152 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
153 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
154 real(RP),
intent(in) :: cdz (
ka)
155 integer,
intent(in) :: iis, iie, jjs, jje
168 call check( __line__, mflx(k,i,j) )
170 call check( __line__, val(k,i,j) )
171 call check( __line__, val(k+1,i,j) )
176 * ( f2 * ( val(k+1,i,j)+val(k,i,j) ) ) &
177 + gsqrt(k,i,j) * num_diff(k,i,j)
182 k = iundef; i = iundef; j = iundef
193 flux(
ks-1,i,j) = 0.0_rp
195 flux(
ke ,i,j) = 0.0_rp
199 k = iundef; i = iundef; j = iundef
215 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
216 real(RP),
intent(in) :: mflx (
ka,
ia,
ja)
217 real(RP),
intent(in) :: val (
ka,
ia,
ja)
218 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
219 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
220 real(RP),
intent(in) :: cdz(
ka)
221 integer,
intent(in) :: iis, iie, jjs, jje
234 call check( __line__, mflx(k,i,j) )
236 call check( __line__, val(k,i,j) )
237 call check( __line__, val(k,i+1,j) )
242 * ( f2 * ( val(k,i+1,j)+val(k,i,j) ) ) &
243 + gsqrt(k,i,j) * num_diff(k,i,j)
248 k = iundef; i = iundef; j = iundef
264 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
265 real(RP),
intent(in) :: mflx (
ka,
ia,
ja)
266 real(RP),
intent(in) :: val (
ka,
ia,
ja)
267 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
268 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
269 real(RP),
intent(in) :: cdz(
ka)
270 integer,
intent(in) :: iis, iie, jjs, jje
283 call check( __line__, mflx(k,i,j) )
285 call check( __line__, val(k,i,j) )
286 call check( __line__, val(k,i,j+1) )
291 * ( f2 * ( val(k,i,j+1)+val(k,i,j) ) ) &
292 + gsqrt(k,i,j) * num_diff(k,i,j)
297 k = iundef; i = iundef; j = iundef
316 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
317 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
318 real(RP),
intent(in) :: val (
ka,
ia,
ja)
319 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
320 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
321 real(RP),
intent(in) :: j33g
322 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
323 real(RP),
intent(in) :: cdz (
ka)
324 real(RP),
intent(in) :: fdz (
ka-1)
325 real(RP),
intent(in) :: dtrk
326 integer,
intent(in) :: iis, iie, jjs, jje
341 call check( __line__, mom(k-1,i,j) )
342 call check( __line__, mom(k ,i,j) )
344 call check( __line__, val(k-1,i,j) )
345 call check( __line__, val(k,i,j) )
348 vel = ( 0.5_rp * ( mom(k-1,i,j) &
351 flux(k-1,i,j) = j33g * vel &
352 * ( f2 * ( val(k,i,j)+val(k-1,i,j) ) ) &
353 + gsqrt(k,i,j) * num_diff(k,i,j)
358 k = iundef; i = iundef; j = iundef
373 flux(
ks-1,i,j) = 0.0_rp
377 flux(
ke-1,i,j) = 0.0_rp
378 flux(
ke ,i,j) = 0.0_rp
396 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
397 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
398 real(RP),
intent(in) :: val (
ka,
ia,
ja)
399 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
400 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
401 real(RP),
intent(in) :: j13g (
ka,
ia,
ja)
402 real(RP),
intent(in) :: mapf (
ia,
ja,2)
403 real(RP),
intent(in) :: cdz (
ka)
404 integer,
intent(in) :: iis, iie, jjs, jje
416 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i-1,j) ) ) &
418 flux(k-1,i,j) = j13g(k,i,j) / mapf(i,j,+2) * vel &
419 * ( f2 * ( val(k,i,j)+val(k-1,i,j) ) )
432 flux(
ks-1,i,j) = 0.0_rp
435 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i-1,j) ) ) / dens(
ks+1,i,j) &
436 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i-1,j) ) ) / dens(
ks ,i,j) ) * 0.5_rp
439 flux(
ks,i,j) = j13g(
ks+1,i,j) / mapf(i,j,+2) * vel &
440 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) )
443 flux(
ke-1,i,j) = 0.0_rp
460 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
461 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
462 real(RP),
intent(in) :: val (
ka,
ia,
ja)
463 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
464 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
465 real(RP),
intent(in) :: j23g (
ka,
ia,
ja)
466 real(RP),
intent(in) :: mapf (
ia,
ja,2)
467 real(RP),
intent(in) :: cdz (
ka)
468 integer,
intent(in) :: iis, iie, jjs, jje
480 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j-1) ) ) &
482 flux(k-1,i,j) = j23g(k,i,j) / mapf(i,j,+1) * vel &
483 * ( f2 * ( val(k,i,j)+val(k-1,i,j) ) )
496 flux(
ks-1,i,j) = 0.0_rp
499 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i,j-1) ) ) / dens(
ks+1,i,j) &
500 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i,j-1) ) ) / dens(
ks ,i,j) ) * 0.5_rp
503 flux(
ks,i,j) = j23g(
ks+1,i,j) / mapf(i,j,+1) * vel &
504 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) )
507 flux(
ke-1,i,j) = 0.0_rp
526 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
527 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
528 real(RP),
intent(in) :: val (
ka,
ia,
ja)
529 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
530 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
531 real(RP),
intent(in) :: mapf (
ia,
ja,2)
532 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
533 real(RP),
intent(in) :: cdz (
ka)
534 integer,
intent(in) :: iis, iie, jjs, jje
548 call check( __line__, mom(k ,i,j) )
549 call check( __line__, mom(k+1,i,j) )
551 call check( __line__, val(k,i,j) )
552 call check( __line__, val(k,i+1,j) )
555 vel = ( f2h(k,1,i_uyz) &
560 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
562 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
563 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+2) * vel &
564 * ( f2 * ( val(k,i+1,j)+val(k,i,j) ) ) &
565 + gsqrt(k,i,j) * num_diff(k,i,j)
570 k = iundef; i = iundef; j = iundef
578 flux(
ke,i,j) = 0.0_rp
582 k = iundef; i = iundef; j = iundef
599 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
600 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
601 real(RP),
intent(in) :: val (
ka,
ia,
ja)
602 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
603 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
604 real(RP),
intent(in) :: mapf (
ia,
ja,2)
605 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
606 real(RP),
intent(in) :: cdz (
ka)
607 integer,
intent(in) :: iis, iie, jjs, jje
621 call check( __line__, mom(k ,i,j) )
622 call check( __line__, mom(k+1,i,j) )
624 call check( __line__, val(k,i,j) )
625 call check( __line__, val(k,i,j+1) )
628 vel = ( f2h(k,1,i_xvz) &
633 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
635 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
636 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+1) * vel &
637 * ( f2 * ( val(k,i,j+1)+val(k,i,j) ) ) &
638 + gsqrt(k,i,j) * num_diff(k,i,j)
643 k = iundef; i = iundef; j = iundef
651 flux(
ke,i,j) = 0.0_rp
655 k = iundef; i = iundef; j = iundef
673 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
674 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
675 real(RP),
intent(in) :: val (
ka,
ia,
ja)
676 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
677 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
678 real(RP),
intent(in) :: j33g
679 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
680 real(RP),
intent(in) :: cdz (
ka)
681 integer,
intent(in) :: iis, iie, jjs, jje
695 call check( __line__, mom(k,i,j) )
696 call check( __line__, mom(k,i+1,j) )
698 call check( __line__, val(k,i,j) )
699 call check( __line__, val(k+1,i,j) )
702 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i+1,j) ) ) &
704 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
706 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
707 flux(k,i,j) = j33g * vel &
708 * ( f2 * ( val(k+1,i,j)+val(k,i,j) ) ) &
709 + gsqrt(k,i,j) * num_diff(k,i,j)
714 k = iundef; i = iundef; j = iundef
728 flux(
ks-1,i,j) = 0.0_rp
730 flux(
ke,i,j) = 0.0_rp
734 k = iundef; i = iundef; j = iundef
750 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
751 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
752 real(RP),
intent(in) :: val (
ka,
ia,
ja)
753 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
754 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
755 real(RP),
intent(in) :: j13g (
ka,
ia,
ja)
756 real(RP),
intent(in) :: mapf (
ia,
ja,2)
757 real(RP),
intent(in) :: cdz (
ka)
758 integer,
intent(in) :: iis, iie, jjs, jje
771 vel = ( f2h(k,1,i_uyz) &
776 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
778 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
779 flux(k,i,j) = j13g(k,i,j) / mapf(i,j,+2) * vel &
780 * ( f2 * ( val(k+1,i,j)+val(k,i,j) ) )
794 flux(
ks-1,i,j) = 0.0_rp
796 flux(
ke ,i,j) = 0.0_rp
813 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
814 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
815 real(RP),
intent(in) :: val (
ka,
ia,
ja)
816 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
817 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
818 real(RP),
intent(in) :: j23g (
ka,
ia,
ja)
819 real(RP),
intent(in) :: mapf (
ia,
ja,2)
820 real(RP),
intent(in) :: cdz (
ka)
821 integer,
intent(in) :: iis, iie, jjs, jje
834 vel = ( f2h(k,1,i_uyz) &
835 * 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) ) &
837 * 0.25_rp * ( mom(k,i,j)+mom(k,i+1,j)+mom(k,i,j-1)+mom(k,i+1,j-1) ) ) &
839 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
841 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
842 flux(k,i,j) = j23g(k,i,j) / mapf(i,j,+1) * vel &
843 * ( f2 * ( val(k+1,i,j)+val(k,i,j) ) )
857 flux(
ks-1,i,j) = 0.0_rp
859 flux(
ke ,i,j) = 0.0_rp
877 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
878 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
879 real(RP),
intent(in) :: val (
ka,
ia,
ja)
880 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
881 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
882 real(RP),
intent(in) :: mapf (
ia,
ja,2)
883 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
884 real(RP),
intent(in) :: cdz (
ka)
885 integer,
intent(in) :: iis, iie, jjs, jje
900 call check( __line__, mom(k,i ,j) )
901 call check( __line__, mom(k,i-1,j) )
903 call check( __line__, val(k,i-1,j) )
904 call check( __line__, val(k,i,j) )
907 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i-1,j) ) ) &
909 flux(k,i-1,j) = gsqrt(k,i,j) / mapf(i,j,+2) * vel &
910 * ( f2 * ( val(k,i,j)+val(k,i-1,j) ) ) &
911 + gsqrt(k,i,j) * num_diff(k,i,j)
916 k = iundef; i = iundef; j = iundef
933 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
934 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
935 real(RP),
intent(in) :: val (
ka,
ia,
ja)
936 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
937 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
938 real(RP),
intent(in) :: mapf (
ia,
ja,2)
939 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
940 real(RP),
intent(in) :: cdz (
ka)
941 integer,
intent(in) :: iis, iie, jjs, jje
954 call check( __line__, mom(k,i ,j) )
955 call check( __line__, mom(k,i-1,j) )
957 call check( __line__, val(k,i,j) )
958 call check( __line__, val(k,i,j+1) )
961 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i+1,j) ) ) &
962 / ( 0.25_rp * ( dens(k,i,j)+dens(k,i+1,j)+dens(k,i,j+1)+dens(k,i+1,j+1) ) )
963 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+1) * vel &
964 * ( f2 * ( val(k,i,j+1)+val(k,i,j) ) ) &
965 + gsqrt(k,i,j) * num_diff(k,i,j)
970 k = iundef; i = iundef; j = iundef
989 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
990 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
991 real(RP),
intent(in) :: val (
ka,
ia,
ja)
992 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
993 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
994 real(RP),
intent(in) :: j33g
995 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
996 real(RP),
intent(in) :: cdz (
ka)
997 integer,
intent(in) :: iis, iie, jjs, jje
1011 call check( __line__, mom(k,i,j) )
1012 call check( __line__, mom(k,i,j+1) )
1014 call check( __line__, val(k,i,j) )
1015 call check( __line__, val(k+1,i,j) )
1018 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j+1) ) ) &
1019 / ( f2h(k,1,i_xvz) &
1020 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
1022 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
1023 flux(k,i,j) = j33g * vel &
1024 * ( f2 * ( val(k+1,i,j)+val(k,i,j) ) ) &
1025 + gsqrt(k,i,j) * num_diff(k,i,j)
1030 k = iundef; i = iundef; j = iundef
1044 flux(
ks-1,i,j) = 0.0_rp
1046 flux(
ke,i,j) = 0.0_rp
1050 k = iundef; i = iundef; j = iundef
1061 GSQRT, J13G, MAPF, &
1063 IIS, IIE, JJS, JJE )
1066 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1067 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1068 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1069 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
1070 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
1071 real(RP),
intent(in) :: j13g (
ka,
ia,
ja)
1072 real(RP),
intent(in) :: mapf (
ia,
ja,2)
1073 real(RP),
intent(in) :: cdz (
ka)
1074 integer,
intent(in) :: iis, iie, jjs, jje
1087 vel = ( f2h(k,1,i_xvz) &
1088 * 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) ) &
1090 * 0.25_rp * ( mom(k,i,j)+mom(k,i-1,j)+mom(k,i,j+1)+mom(k,i-1,j+1) ) ) &
1091 / ( f2h(k,1,i_xvz) &
1092 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
1094 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
1095 flux(k,i,j) = j13g(k,i,j) / mapf(i,j,+2) * vel &
1096 * ( f2 * ( val(k+1,i,j)+val(k,i,j) ) )
1110 flux(
ks-1,i,j) = 0.0_rp
1112 flux(
ke ,i,j) = 0.0_rp
1124 GSQRT, J23G, MAPF, &
1126 IIS, IIE, JJS, JJE )
1129 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1130 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1131 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1132 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
1133 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
1134 real(RP),
intent(in) :: j23g (
ka,
ia,
ja)
1135 real(RP),
intent(in) :: mapf (
ia,
ja,2)
1136 real(RP),
intent(in) :: cdz (
ka)
1137 integer,
intent(in) :: iis, iie, jjs, jje
1150 vel = ( f2h(k,1,i_xvz) &
1154 / ( f2h(k,1,i_xvz) &
1155 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
1157 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
1158 flux(k,i,j) = j23g(k,i,j) / mapf(i,j,+1) * vel &
1159 * ( f2 * ( val(k+1,i,j)+val(k,i,j) ) )
1173 flux(
ks-1,i,j) = 0.0_rp
1175 flux(
ke ,i,j) = 0.0_rp
1190 IIS, IIE, JJS, JJE )
1193 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1194 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1195 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1196 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
1197 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
1198 real(RP),
intent(in) :: mapf (
ia,
ja,2)
1199 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
1200 real(RP),
intent(in) :: cdz (
ka)
1201 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,i+1,j) )
1221 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j+1) ) ) &
1222 / ( 0.25_rp * ( dens(k,i,j)+dens(k,i+1,j)+dens(k,i,j+1)+dens(k,i+1,j+1) ) )
1223 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+2) * vel &
1224 * ( f2 * ( val(k,i+1,j)+val(k,i,j) ) ) &
1225 + gsqrt(k,i,j) * num_diff(k,i,j)
1230 k = iundef; i = iundef; j = iundef
1244 IIS, IIE, JJS, JJE )
1247 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1248 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1249 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1250 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
1251 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
1252 real(RP),
intent(in) :: mapf (
ia,
ja,2)
1253 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
1254 real(RP),
intent(in) :: cdz (
ka)
1255 integer,
intent(in) :: iis, iie, jjs, jje
1270 call check( __line__, mom(k,i ,j) )
1271 call check( __line__, mom(k,i,j-1) )
1273 call check( __line__, val(k,i,j-1) )
1274 call check( __line__, val(k,i,j) )
1277 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j-1) ) ) &
1279 flux(k,i,j-1) = gsqrt(k,i,j) / mapf(i,j,+1) * vel &
1280 * ( f2 * ( val(k,i,j)+val(k,i,j-1) ) ) &
1281 + gsqrt(k,i,j) * num_diff(k,i,j)
1286 k = iundef; i = iundef; j = iundef
subroutine, public atmos_dyn_fvm_fluxz_xyz_cd2(flux, mflx, val, GSQRT, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation z-flux at XYZ
subroutine, public atmos_dyn_fvm_fluxz_xyw_cd2(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_cd2
subroutine, public atmos_dyn_fvm_fluxy_xyz_cd2(flux, mflx, val, GSQRT, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation Y-flux at XYZ
subroutine, public atmos_dyn_fvm_fluxj23_xyw_cd2(flux, mom, val, DENS, GSQRT, J23G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J23-flux at XYW
integer, public ke
end point of inner domain: z, local
subroutine, public atmos_dyn_fvm_fluxx_uyz_cd2(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at UY
subroutine, public atmos_dyn_fvm_fluxy_uyz_cd2(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation Y-flux at UY
subroutine, public check(current_line, v)
Undefined value checker.
subroutine, public atmos_dyn_fvm_fluxj13_xvz_cd2(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J13-flux at XVZ
subroutine, public atmos_dyn_fvm_fluxz_xvz_cd2(flux, mom, val, DENS, GSQRT, J33G, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation z-flux at XV
subroutine, public atmos_dyn_fvm_fluxz_uyz_cd2(flux, mom, val, DENS, GSQRT, J33G, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation z-flux at UY
subroutine, public atmos_dyn_fvm_fluxy_xyw_cd2(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation Y-flux at XYW
real(rp), public const_undef
subroutine, public atmos_dyn_fvm_fluxx_xvz_cd2(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at XV
integer, public ia
of whole cells: x, local, with HALO
integer, public ka
of whole cells: z, local, with HALO
subroutine, public atmos_dyn_fvm_fluxj13_uyz_cd2(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J13-flux at UYZ
integer, parameter, public const_undef2
undefined value (INT2)
subroutine, public atmos_dyn_fvm_fluxj23_xvz_cd2(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_xyw_cd2(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J13-flux at XYW
subroutine, public atmos_dyn_fvm_fluxy_xvz_cd2(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation Y-flux at XV
subroutine, public atmos_dyn_fvm_fluxx_xyw_cd2(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at XYW
subroutine, public atmos_dyn_fvm_fluxx_xyz_cd2(flux, mflx, val, GSQRT, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at XYZ
subroutine, public atmos_dyn_fvm_flux_valuew_z_cd2(valW, mflx, val, GSQRT, CDZ)
value at XYW
subroutine, public atmos_dyn_fvm_fluxj23_uyz_cd2(flux, mom, val, DENS, GSQRT, J23G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J23-flux at UYZ
integer, public ja
of whole cells: y, local, with HALO