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
100 real(RP),
intent(out) :: valW (
ka)
101 real(RP),
intent(in) :: mflx (
ka)
102 real(RP),
intent(in) :: val (
ka)
103 real(RP),
intent(in) :: GSQRT(
ka)
104 real(RP),
intent(in) :: CDZ (
ka)
111 call check( __line__, mflx(k) )
113 call check( __line__, val(k) )
114 call check( __line__, val(k+1) )
117 valw(k) = f2 * ( val(k+1)+val(k) )
143 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
144 real(RP),
intent(in) :: mflx (
ka,
ia,
ja)
145 real(RP),
intent(in) :: val (
ka,
ia,
ja)
146 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
147 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
148 real(RP),
intent(in) :: CDZ (
ka)
149 integer,
intent(in) :: IIS, IIE, JJS, JJE
162 call check( __line__, mflx(k,i,j) )
164 call check( __line__, val(k,i,j) )
165 call check( __line__, val(k+1,i,j) )
170 * ( f2 * ( val(k+1,i,j)+val(k,i,j) ) ) &
171 + gsqrt(k,i,j) * num_diff(k,i,j)
176 k = iundef; i = iundef; j = iundef
187 flux(
ks-1,i,j) = 0.0_rp
189 flux(
ke ,i,j) = 0.0_rp
193 k = iundef; i = iundef; j = iundef
209 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
210 real(RP),
intent(in) :: mflx (
ka,
ia,
ja)
211 real(RP),
intent(in) :: val (
ka,
ia,
ja)
212 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
213 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
214 real(RP),
intent(in) :: CDZ(
ka)
215 integer,
intent(in) :: IIS, IIE, JJS, JJE
228 call check( __line__, mflx(k,i,j) )
230 call check( __line__, val(k,i,j) )
231 call check( __line__, val(k,i+1,j) )
236 * ( f2 * ( val(k,i+1,j)+val(k,i,j) ) ) &
237 + gsqrt(k,i,j) * num_diff(k,i,j)
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,j+1) )
285 * ( f2 * ( val(k,i,j+1)+val(k,i,j) ) ) &
286 + gsqrt(k,i,j) * num_diff(k,i,j)
291 k = iundef; i = iundef; j = iundef
310 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
311 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
312 real(RP),
intent(in) :: val (
ka,
ia,
ja)
313 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
314 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
315 real(RP),
intent(in) :: J33G
316 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
317 real(RP),
intent(in) :: CDZ (
ka)
318 real(RP),
intent(in) :: FDZ (
ka-1)
319 real(RP),
intent(in) :: dtrk
320 integer,
intent(in) :: IIS, IIE, JJS, JJE
335 call check( __line__, mom(k-1,i,j) )
336 call check( __line__, mom(k ,i,j) )
338 call check( __line__, val(k-1,i,j) )
339 call check( __line__, val(k,i,j) )
342 vel = ( 0.5_rp * ( mom(k-1,i,j) &
345 flux(k-1,i,j) = j33g * vel &
346 * ( f2 * ( val(k,i,j)+val(k-1,i,j) ) ) &
347 + gsqrt(k,i,j) * num_diff(k,i,j)
352 k = iundef; i = iundef; j = iundef
367 flux(
ks-1,i,j) = 0.0_rp
371 flux(
ke-1,i,j) = 0.0_rp
372 flux(
ke ,i,j) = 0.0_rp
390 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
391 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
392 real(RP),
intent(in) :: val (
ka,
ia,
ja)
393 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
394 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
395 real(RP),
intent(in) :: J13G (
ka,
ia,
ja)
396 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
397 real(RP),
intent(in) :: CDZ (
ka)
398 integer,
intent(in) :: IIS, IIE, JJS, JJE
410 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i-1,j) ) ) &
412 vel = vel * j13g(k,i,j)
413 flux(k-1,i,j) = vel / mapf(i,j,+2) &
414 * ( f2 * ( val(k,i,j)+val(k-1,i,j) ) )
427 flux(
ks-1,i,j) = 0.0_rp
430 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i-1,j) ) ) / dens(
ks+1,i,j) &
431 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i-1,j) ) ) / dens(
ks ,i,j) ) * 0.5_rp
434 vel = vel * j13g(
ks+1,i,j)
435 flux(
ks,i,j) = vel / mapf(i,j,+2) &
436 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) )
439 flux(
ke-1,i,j) = 0.0_rp
456 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
457 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
458 real(RP),
intent(in) :: val (
ka,
ia,
ja)
459 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
460 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
461 real(RP),
intent(in) :: J23G (
ka,
ia,
ja)
462 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
463 real(RP),
intent(in) :: CDZ (
ka)
464 integer,
intent(in) :: IIS, IIE, JJS, JJE
476 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j-1) ) ) &
478 vel = vel * j23g(k,i,j)
479 flux(k-1,i,j) = vel / mapf(i,j,+1) &
480 * ( f2 * ( val(k,i,j)+val(k-1,i,j) ) )
493 flux(
ks-1,i,j) = 0.0_rp
496 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i,j-1) ) ) / dens(
ks+1,i,j) &
497 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i,j-1) ) ) / dens(
ks ,i,j) ) * 0.5_rp
500 vel = vel * j23g(
ks+1,i,j)
501 flux(
ks,i,j) = vel / mapf(i,j,+1) &
502 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) )
505 flux(
ke-1,i,j) = 0.0_rp
524 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
525 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
526 real(RP),
intent(in) :: val (
ka,
ia,
ja)
527 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
528 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
529 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
530 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
531 real(RP),
intent(in) :: CDZ (
ka)
532 integer,
intent(in) :: IIS, IIE, JJS, JJE
546 call check( __line__, mom(k ,i,j) )
547 call check( __line__, mom(k+1,i,j) )
549 call check( __line__, val(k,i,j) )
550 call check( __line__, val(k,i+1,j) )
553 vel = ( f2h(k,1,
i_uyz) &
558 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
560 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
561 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+2) * vel &
562 * ( f2 * ( val(k,i+1,j)+val(k,i,j) ) ) &
563 + gsqrt(k,i,j) * num_diff(k,i,j)
568 k = iundef; i = iundef; j = iundef
576 flux(
ke,i,j) = 0.0_rp
580 k = iundef; i = iundef; j = iundef
597 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
598 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
599 real(RP),
intent(in) :: val (
ka,
ia,
ja)
600 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
601 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
602 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
603 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
604 real(RP),
intent(in) :: CDZ (
ka)
605 integer,
intent(in) :: IIS, IIE, JJS, JJE
619 call check( __line__, mom(k ,i,j) )
620 call check( __line__, mom(k+1,i,j) )
622 call check( __line__, val(k,i,j) )
623 call check( __line__, val(k,i,j+1) )
626 vel = ( f2h(k,1,
i_xvz) &
631 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
633 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
634 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+1) * vel &
635 * ( f2 * ( val(k,i,j+1)+val(k,i,j) ) ) &
636 + gsqrt(k,i,j) * num_diff(k,i,j)
641 k = iundef; i = iundef; j = iundef
649 flux(
ke,i,j) = 0.0_rp
653 k = iundef; i = iundef; j = iundef
671 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
672 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
673 real(RP),
intent(in) :: val (
ka,
ia,
ja)
674 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
675 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
676 real(RP),
intent(in) :: J33G
677 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
678 real(RP),
intent(in) :: CDZ (
ka)
679 integer,
intent(in) :: IIS, IIE, JJS, JJE
693 call check( __line__, mom(k,i,j) )
694 call check( __line__, mom(k,i+1,j) )
696 call check( __line__, val(k,i,j) )
697 call check( __line__, val(k+1,i,j) )
700 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i+1,j) ) ) &
702 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
704 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
705 flux(k,i,j) = j33g * vel &
706 * ( f2 * ( val(k+1,i,j)+val(k,i,j) ) ) &
707 + gsqrt(k,i,j) * num_diff(k,i,j)
712 k = iundef; i = iundef; j = iundef
726 flux(
ks-1,i,j) = 0.0_rp
728 flux(
ke,i,j) = 0.0_rp
732 k = iundef; i = iundef; j = iundef
748 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
749 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
750 real(RP),
intent(in) :: val (
ka,
ia,
ja)
751 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
752 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
753 real(RP),
intent(in) :: J13G (
ka,
ia,
ja)
754 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
755 real(RP),
intent(in) :: CDZ (
ka)
756 integer,
intent(in) :: IIS, IIE, JJS, JJE
769 vel = ( f2h(k,1,
i_uyz) &
774 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
776 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
777 vel = vel * j13g(k,i,j)
778 flux(k,i,j) = vel / mapf(i,j,+2) &
779 * ( f2 * ( val(k+1,i,j)+val(k,i,j) ) )
793 flux(
ks-1,i,j) = 0.0_rp
795 flux(
ke ,i,j) = 0.0_rp
812 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
813 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
814 real(RP),
intent(in) :: val (
ka,
ia,
ja)
815 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
816 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
817 real(RP),
intent(in) :: J23G (
ka,
ia,
ja)
818 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
819 real(RP),
intent(in) :: CDZ (
ka)
820 integer,
intent(in) :: IIS, IIE, JJS, JJE
833 vel = ( f2h(k,1,
i_uyz) &
834 * 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) ) &
836 * 0.25_rp * ( mom(k,i,j)+mom(k,i+1,j)+mom(k,i,j-1)+mom(k,i+1,j-1) ) ) &
838 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
840 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
841 vel = vel * j23g(k,i,j)
842 flux(k,i,j) = vel / mapf(i,j,+1) &
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 vel = vel * j13g(k,i,j)
1096 flux(k,i,j) = vel / mapf(i,j,+2) &
1097 * ( f2 * ( val(k+1,i,j)+val(k,i,j) ) )
1111 flux(
ks-1,i,j) = 0.0_rp
1113 flux(
ke ,i,j) = 0.0_rp
1125 GSQRT, J23G, MAPF, &
1127 IIS, IIE, JJS, JJE )
1130 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1131 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1132 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1133 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
1134 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
1135 real(RP),
intent(in) :: J23G (
ka,
ia,
ja)
1136 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
1137 real(RP),
intent(in) :: CDZ (
ka)
1138 integer,
intent(in) :: IIS, IIE, JJS, JJE
1151 vel = ( f2h(k,1,
i_xvz) &
1155 / ( f2h(k,1,
i_xvz) &
1156 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
1158 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
1159 vel = vel * j23g(k,i,j)
1160 flux(k,i,j) = vel / mapf(i,j,+1) &
1161 * ( f2 * ( val(k+1,i,j)+val(k,i,j) ) )
1175 flux(
ks-1,i,j) = 0.0_rp
1177 flux(
ke ,i,j) = 0.0_rp
1192 IIS, IIE, JJS, JJE )
1195 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1196 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1197 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1198 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
1199 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
1200 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
1201 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
1202 real(RP),
intent(in) :: CDZ (
ka)
1203 integer,
intent(in) :: IIS, IIE, JJS, JJE
1216 call check( __line__, mom(k,i ,j) )
1217 call check( __line__, mom(k,i,j-1) )
1219 call check( __line__, val(k,i,j) )
1220 call check( __line__, val(k,i+1,j) )
1223 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j+1) ) ) &
1224 / ( 0.25_rp * ( dens(k,i,j)+dens(k,i+1,j)+dens(k,i,j+1)+dens(k,i+1,j+1) ) )
1225 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+2) * vel &
1226 * ( f2 * ( val(k,i+1,j)+val(k,i,j) ) ) &
1227 + gsqrt(k,i,j) * num_diff(k,i,j)
1232 k = iundef; i = iundef; j = iundef
1246 IIS, IIE, JJS, JJE )
1249 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1250 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1251 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1252 real(RP),
intent(in) :: DENS (
ka,
ia,
ja)
1253 real(RP),
intent(in) :: GSQRT (
ka,
ia,
ja)
1254 real(RP),
intent(in) :: MAPF (
ia,
ja,2)
1255 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
1256 real(RP),
intent(in) :: CDZ (
ka)
1257 integer,
intent(in) :: IIS, IIE, JJS, JJE
1272 call check( __line__, mom(k,i ,j) )
1273 call check( __line__, mom(k,i,j-1) )
1275 call check( __line__, val(k,i,j-1) )
1276 call check( __line__, val(k,i,j) )
1279 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j-1) ) ) &
1281 flux(k,i,j-1) = gsqrt(k,i,j) / mapf(i,j,+1) * vel &
1282 * ( f2 * ( val(k,i,j)+val(k,i,j-1) ) ) &
1283 + gsqrt(k,i,j) * num_diff(k,i,j)
1288 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
integer, public ia
of whole cells: x, local, with HALO
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
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
integer, public ja
of whole cells: y, local, with HALO
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
module atmosphere / grid / cartesC index
integer, public ke
end point of inner domain: z, local
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)
integer, public ks
start point of inner domain: z, local
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
real(rp), public const_eps
small number
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
integer, public ka
of whole cells: z, local, with HALO
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