Go to the documentation of this file.
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 :: F1 = 0.5_rp
86 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) = f1 * ( val(
k+1)+val(
k) ) - sign(f1,mflx(
k)) * ( val(
k+1)-val(
k) )
146 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
147 real(rp),
intent(in) :: mflx (
ka,
ia,
ja)
148 real(rp),
intent(in) :: val (
ka,
ia,
ja)
149 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
150 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
151 real(rp),
intent(in) :: cdz (
ka)
152 integer,
intent(in) :: iis, iie, jjs, jje
166 call check( __line__, mflx(
k,i,j) )
168 call check( __line__, val(
k,i,j) )
169 call check( __line__, val(
k+1,i,j) )
174 * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
180 k = iundef; i = iundef; j = iundef
189 flux(
ks-1,i,j) = 0.0_rp
191 flux(
ke ,i,j) = 0.0_rp
198 k = iundef; i = iundef; j = iundef
214 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
215 real(rp),
intent(in) :: mflx (
ka,
ia,
ja)
216 real(rp),
intent(in) :: val (
ka,
ia,
ja)
217 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
218 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
219 real(rp),
intent(in) :: cdz(
ka)
220 integer,
intent(in) :: iis, iie, jjs, jje
233 call check( __line__, mflx(
k,i,j) )
235 call check( __line__, val(
k,i,j) )
236 call check( __line__, val(
k,i+1,j) )
241 * ( f1 * ( val(
k,i+1,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k,i+1,j)-val(
k,i,j) ) )
246 k = iundef; i = iundef; j = iundef
262 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
263 real(rp),
intent(in) :: mflx (
ka,
ia,
ja)
264 real(rp),
intent(in) :: val (
ka,
ia,
ja)
265 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
266 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
267 real(rp),
intent(in) :: cdz(
ka)
268 integer,
intent(in) :: iis, iie, jjs, jje
281 call check( __line__, mflx(
k,i,j) )
283 call check( __line__, val(
k,i,j) )
284 call check( __line__, val(
k,i,j+1) )
289 * ( f1 * ( val(
k,i,j+1)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k,i,j+1)-val(
k,i,j) ) )
294 k = iundef; i = iundef; j = iundef
313 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
314 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
315 real(rp),
intent(in) :: val (
ka,
ia,
ja)
316 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
317 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
318 real(rp),
intent(in) :: j33g
319 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
320 real(rp),
intent(in) :: cdz (
ka)
321 real(rp),
intent(in) :: fdz (
ka-1)
322 real(rp),
intent(in) :: dtrk
323 integer,
intent(in) :: iis, iie, jjs, jje
339 call check( __line__, mom(
k-1,i,j) )
340 call check( __line__, mom(
k ,i,j) )
342 call check( __line__, val(
k-1,i,j) )
343 call check( __line__, val(
k,i,j) )
346 vel = ( 0.5_rp * ( mom(
k-1,i,j) &
349 flux(
k-1,i,j) = j33g * vel &
350 * ( f1 * ( val(
k,i,j)+val(
k-1,i,j) ) - sign(f1,vel) * ( val(
k,i,j)-val(
k-1,i,j) ) )
356 k = iundef; i = iundef; j = iundef
369 flux(
ks-1,i,j) = 0.0_rp
373 flux(
ke-1,i,j) = 0.0_rp
374 flux(
ke ,i,j) = 0.0_rp
395 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
396 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
397 real(rp),
intent(in) :: val (
ka,
ia,
ja)
398 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
399 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
400 real(rp),
intent(in) :: j13g (
ka,
ia,
ja)
401 real(rp),
intent(in) :: mapf (
ia,
ja,2)
402 real(rp),
intent(in) :: cdz (
ka)
403 logical,
intent(in) :: twod
404 integer,
intent(in) :: iis, iie, jjs, jje
417 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i-1,j) ) ) &
419 vel = vel * j13g(
k,i,j)
420 flux(
k-1,i,j) = vel / mapf(i,j,+2) &
421 * ( f1 * ( val(
k,i,j)+val(
k-1,i,j) ) - sign(f1,vel) * ( val(
k,i,j)-val(
k-1,i,j) ) )
433 flux(
ks-1,i,j) = 0.0_rp
436 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i-1,j) ) ) / dens(
ks+1,i,j) &
437 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i-1,j) ) ) / dens(
ks ,i,j) ) * 0.5_rp
440 vel = vel * j13g(
ks+1,i,j)
441 flux(
ks,i,j) = vel / mapf(i,j,+2) &
443 * ( 0.5_rp + sign(0.5_rp,vel) ) &
444 + ( 2.0_rp * val(
ks,i,j) + 5.0_rp * val(
ks+1,i,j) - val(
ks+2,i,j) ) / 6.0_rp &
445 * ( 0.5_rp - sign(0.5_rp,vel) ) )
448 flux(
ke-1,i,j) = 0.0_rp
468 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
469 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
470 real(rp),
intent(in) :: val (
ka,
ia,
ja)
471 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
472 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
473 real(rp),
intent(in) :: j23g (
ka,
ia,
ja)
474 real(rp),
intent(in) :: mapf (
ia,
ja,2)
475 real(rp),
intent(in) :: cdz (
ka)
476 logical,
intent(in) :: twod
477 integer,
intent(in) :: iis, iie, jjs, jje
490 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j-1) ) ) &
492 vel = vel * j23g(
k,i,j)
493 flux(
k-1,i,j) = vel / mapf(i,j,+1) &
494 * ( f1 * ( val(
k,i,j)+val(
k-1,i,j) ) - sign(f1,vel) * ( val(
k,i,j)-val(
k-1,i,j) ) )
506 flux(
ks-1,i,j) = 0.0_rp
509 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i,j-1) ) ) / dens(
ks+1,i,j) &
510 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i,j-1) ) ) / dens(
ks ,i,j) ) * 0.5_rp
513 vel = vel * j23g(
ks+1,i,j)
514 flux(
ks,i,j) = vel / mapf(i,j,+1) &
516 * ( 0.5_rp + sign(0.5_rp,vel) ) &
517 + ( 2.0_rp * val(
ks,i,j) + 5.0_rp * val(
ks+1,i,j) - val(
ks+2,i,j) ) / 6.0_rp &
518 * ( 0.5_rp - sign(0.5_rp,vel) ) )
521 flux(
ke-1,i,j) = 0.0_rp
543 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
544 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
545 real(rp),
intent(in) :: val (
ka,
ia,
ja)
546 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
547 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
548 real(rp),
intent(in) :: mapf (
ia,
ja,2)
549 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
550 real(rp),
intent(in) :: cdz (
ka)
551 logical,
intent(in) :: twod
552 integer,
intent(in) :: iis, iie, jjs, jje
567 call check( __line__, mom(
k ,i,j) )
568 call check( __line__, mom(
k+1,i,j) )
570 call check( __line__, val(
k,i,j) )
571 call check( __line__, val(
k,i+1,j) )
579 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i+1,j) ) &
581 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i+1,j) ) )
582 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+2) * vel &
583 * ( f1 * ( val(
k,i+1,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k,i+1,j)-val(
k,i,j) ) )
589 k = iundef; i = iundef; j = iundef
595 flux(
ke,i,j) = 0.0_rp
602 k = iundef; i = iundef; j = iundef
619 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
620 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
621 real(rp),
intent(in) :: val (
ka,
ia,
ja)
622 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
623 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
624 real(rp),
intent(in) :: mapf (
ia,
ja,2)
625 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
626 real(rp),
intent(in) :: cdz (
ka)
627 logical,
intent(in) :: twod
628 integer,
intent(in) :: iis, iie, jjs, jje
643 call check( __line__, mom(
k ,i,j) )
644 call check( __line__, mom(
k+1,i,j) )
646 call check( __line__, val(
k,i,j) )
647 call check( __line__, val(
k,i,j+1) )
655 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i,j+1) ) &
657 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
658 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+1) * vel &
659 * ( f1 * ( val(
k,i,j+1)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k,i,j+1)-val(
k,i,j) ) )
665 k = iundef; i = iundef; j = iundef
671 flux(
ke,i,j) = 0.0_rp
678 k = iundef; i = iundef; j = iundef
696 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
697 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
698 real(rp),
intent(in) :: val (
ka,
ia,
ja)
699 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
700 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
701 real(rp),
intent(in) :: j33g
702 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
703 real(rp),
intent(in) :: cdz (
ka)
704 logical,
intent(in) :: twod
705 integer,
intent(in) :: iis, iie, jjs, jje
722 call check( __line__, mom(
k,i,j) )
724 call check( __line__, val(
k,i,j) )
725 call check( __line__, val(
k+1,i,j) )
729 vel = ( mom(
k,i,j) ) &
734 flux(
k,i,j) = j33g * vel &
735 * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
740 k = iundef; i = iundef; j = iundef
752 flux(
ks-1,i,j) = 0.0_rp
754 flux(
ke,i,j) = 0.0_rp
766 call check( __line__, mom(
k,i,j) )
767 call check( __line__, mom(
k,i+1,j) )
769 call check( __line__, val(
k,i,j) )
770 call check( __line__, val(
k+1,i,j) )
773 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i+1,j) ) ) &
775 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i+1,j) ) &
777 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i+1,j) ) )
778 flux(
k,i,j) = j33g * vel &
779 * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
785 k = iundef; i = iundef; j = iundef
797 flux(
ks-1,i,j) = 0.0_rp
799 flux(
ke,i,j) = 0.0_rp
809 k = iundef; i = iundef; j = iundef
825 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
826 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
827 real(rp),
intent(in) :: val (
ka,
ia,
ja)
828 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
829 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
830 real(rp),
intent(in) :: j13g (
ka,
ia,
ja)
831 real(rp),
intent(in) :: mapf (
ia,
ja,2)
832 real(rp),
intent(in) :: cdz (
ka)
833 logical,
intent(in) :: twod
834 integer,
intent(in) :: iis, iie, jjs, jje
855 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i+1,j) ) &
857 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i+1,j) ) )
858 vel = vel * j13g(
k,i,j)
859 flux(
k,i,j) = vel / mapf(i,j,+2) &
860 * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
872 flux(
ks-1,i,j) = 0.0_rp
874 flux(
ke ,i,j) = 0.0_rp
895 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
896 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
897 real(rp),
intent(in) :: val (
ka,
ia,
ja)
898 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
899 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
900 real(rp),
intent(in) :: j23g (
ka,
ia,
ja)
901 real(rp),
intent(in) :: mapf (
ia,
ja,2)
902 real(rp),
intent(in) :: cdz (
ka)
903 logical,
intent(in) :: twod
904 integer,
intent(in) :: iis, iie, jjs, jje
922 * 0.5_rp * ( mom(
k+1,i,j)+mom(
k+1,i,j-1) ) &
924 * 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j-1) ) ) &
929 vel = vel * j23g(
k,i,j)
930 flux(
k,i,j) = vel * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
941 flux(
ks-1,i,j) = 0.0_rp
943 flux(
ke ,i,j) = 0.0_rp
955 * 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) ) &
957 * 0.25_rp * ( mom(
k,i,j)+mom(
k,i+1,j)+mom(
k,i,j-1)+mom(
k,i+1,j-1) ) ) &
959 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i+1,j) ) &
961 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i+1,j) ) )
962 vel = vel * j23g(
k,i,j)
963 flux(
k,i,j) = vel / mapf(i,j,+1) &
964 * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
976 flux(
ks-1,i,j) = 0.0_rp
978 flux(
ke ,i,j) = 0.0_rp
1002 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1003 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1004 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1005 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1006 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1007 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1008 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1009 real(rp),
intent(in) :: cdz (
ka)
1010 logical,
intent(in) :: twod
1011 integer,
intent(in) :: iis, iie, jjs, jje
1028 call check( __line__, mom(
k,i ,j) )
1029 call check( __line__, mom(
k,i-1,j) )
1031 call check( __line__, val(
k,i-1,j) )
1032 call check( __line__, val(
k,i,j) )
1035 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i-1,j) ) ) &
1037 flux(
k,i-1,j) = gsqrt(
k,i,j) / mapf(i,j,+2) * vel &
1038 * ( f1 * ( val(
k,i,j)+val(
k,i-1,j) ) - sign(f1,vel) * ( val(
k,i,j)-val(
k,i-1,j) ) )
1043 k = iundef; i = iundef; j = iundef
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 logical,
intent(in) :: twod
1071 integer,
intent(in) :: iis, iie, jjs, jje
1088 call check( __line__, mom(
k,i ,j) )
1090 call check( __line__, val(
k,i,j) )
1091 call check( __line__, val(
k,i,j+1) )
1094 vel = ( mom(
k,i,j) ) &
1095 / ( 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
1096 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+1) * vel &
1097 * ( f1 * ( val(
k,i,j+1)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k,i,j+1)-val(
k,i,j) ) )
1101 k = iundef; i = iundef; j = iundef
1114 call check( __line__, mom(
k,i ,j) )
1115 call check( __line__, mom(
k,i-1,j) )
1117 call check( __line__, val(
k,i,j) )
1118 call check( __line__, val(
k,i,j+1) )
1121 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i+1,j) ) ) &
1122 / ( 0.25_rp * ( dens(
k,i,j)+dens(
k,i+1,j)+dens(
k,i,j+1)+dens(
k,i+1,j+1) ) )
1123 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+1) * vel &
1124 * ( f1 * ( val(
k,i,j+1)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k,i,j+1)-val(
k,i,j) ) )
1129 k = iundef; i = iundef; j = iundef
1149 IIS, IIE, JJS, JJE )
1152 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1153 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1154 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1155 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1156 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1157 real(rp),
intent(in) :: j33g
1158 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1159 real(rp),
intent(in) :: cdz (
ka)
1160 logical,
intent(in) :: twod
1161 integer,
intent(in) :: iis, iie, jjs, jje
1177 call check( __line__, mom(
k,i,j) )
1178 call check( __line__, mom(
k,i,j+1) )
1180 call check( __line__, val(
k,i,j) )
1181 call check( __line__, val(
k+1,i,j) )
1184 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j+1) ) ) &
1186 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i,j+1) ) &
1188 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
1189 flux(
k,i,j) = j33g * vel &
1190 * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
1196 k = iundef; i = iundef; j = iundef
1208 flux(
ks-1,i,j) = 0.0_rp
1210 flux(
ke,i,j) = 0.0_rp
1218 k = iundef; i = iundef; j = iundef
1229 GSQRT, J13G, MAPF, &
1231 IIS, IIE, JJS, JJE )
1234 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1235 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1236 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1237 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1238 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1239 real(rp),
intent(in) :: j13g (
ka,
ia,
ja)
1240 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1241 real(rp),
intent(in) :: cdz (
ka)
1242 logical,
intent(in) :: twod
1243 integer,
intent(in) :: iis, iie, jjs, jje
1260 * 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) ) &
1262 * 0.25_rp * ( mom(
k,i,j)+mom(
k,i-1,j)+mom(
k,i,j+1)+mom(
k,i-1,j+1) ) ) &
1264 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i,j+1) ) &
1266 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
1267 vel = vel * j13g(
k,i,j)
1268 flux(
k,i,j) = vel / mapf(i,j,+2) &
1269 * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
1281 flux(
ks-1,i,j) = 0.0_rp
1283 flux(
ke ,i,j) = 0.0_rp
1299 GSQRT, J23G, MAPF, &
1301 IIS, IIE, JJS, JJE )
1304 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1305 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1306 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1307 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1308 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1309 real(rp),
intent(in) :: j23g (
ka,
ia,
ja)
1310 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1311 real(rp),
intent(in) :: cdz (
ka)
1312 logical,
intent(in) :: twod
1313 integer,
intent(in) :: iis, iie, jjs, jje
1334 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i,j+1) ) &
1336 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
1337 vel = vel * j23g(
k,i,j)
1338 flux(
k,i,j) = vel / mapf(i,j,+1) &
1339 * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
1351 flux(
ks-1,i,j) = 0.0_rp
1353 flux(
ke ,i,j) = 0.0_rp
1372 IIS, IIE, JJS, JJE )
1375 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1376 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1377 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1378 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1379 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1380 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1381 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1382 real(rp),
intent(in) :: cdz (
ka)
1383 logical,
intent(in) :: twod
1384 integer,
intent(in) :: iis, iie, jjs, jje
1399 call check( __line__, mom(
k,i ,j) )
1400 call check( __line__, mom(
k,i,j-1) )
1402 call check( __line__, val(
k,i,j) )
1403 call check( __line__, val(
k,i+1,j) )
1406 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j+1) ) ) &
1407 / ( 0.25_rp * ( dens(
k,i,j)+dens(
k,i+1,j)+dens(
k,i,j+1)+dens(
k,i+1,j+1) ) )
1408 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+2) * vel &
1409 * ( f1 * ( val(
k,i+1,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k,i+1,j)-val(
k,i,j) ) )
1414 k = iundef; i = iundef; j = iundef
1430 IIS, IIE, JJS, JJE )
1433 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1434 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1435 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1436 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1437 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1438 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1439 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1440 real(rp),
intent(in) :: cdz (
ka)
1441 logical,
intent(in) :: twod
1442 integer,
intent(in) :: iis, iie, jjs, jje
1459 call check( __line__, mom(
k,i ,j) )
1460 call check( __line__, mom(
k,i,j-1) )
1462 call check( __line__, val(
k,i,j-1) )
1463 call check( __line__, val(
k,i,j) )
1466 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j-1) ) ) &
1468 flux(
k,i,j-1) = gsqrt(
k,i,j) / mapf(i,j,+1) * vel &
1469 * ( f1 * ( val(
k,i,j)+val(
k,i,j-1) ) - sign(f1,vel) * ( val(
k,i,j)-val(
k,i,j-1) ) )
1474 k = iundef; i = iundef; j = iundef
subroutine, public atmos_dyn_fvm_fluxz_xvz_ud1(flux, mom, val, DENS, GSQRT, J33G, num_diff, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation z-flux at XV
integer, public ke
end point of inner domain: z, local
subroutine, public atmos_dyn_fvm_fluxx_xyw_ud1(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation X-flux at XYW
subroutine, public atmos_dyn_fvm_fluxj23_xyw_ud1(flux, mom, val, DENS, GSQRT, J23G, MAPF, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation J23-flux at XYW
integer, parameter, public const_undef2
undefined value (INT2)
subroutine, public atmos_dyn_fvm_fluxj13_uyz_ud1(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation J13-flux at UYZ
real(rp), public const_eps
small number
subroutine, public atmos_dyn_fvm_fluxj23_xvz_ud1(flux, mom, val, DENS, GSQRT, J23G, MAPF, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation J23-flux at XVZ
subroutine, public atmos_dyn_fvm_fluxx_xyz_ud1(flux, mflx, val, GSQRT, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at XYZ
subroutine, public atmos_dyn_fvm_fluxy_xyz_ud1(flux, mflx, val, GSQRT, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation Y-flux at XYZ
subroutine, public atmos_dyn_fvm_fluxx_uyz_ud1(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation X-flux at UY
subroutine, public atmos_dyn_fvm_fluxz_xyz_ud1(flux, mflx, val, GSQRT, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation z-flux at XYZ
module atmosphere / grid / cartesC index
subroutine, public check(current_line, v)
Undefined value checker.
module scale_atmos_dyn_fvm_flux_ud1
subroutine, public atmos_dyn_fvm_fluxj13_xyw_ud1(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation J13-flux at XYW
subroutine, public atmos_dyn_fvm_fluxy_xvz_ud1(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation Y-flux at XV
subroutine, public atmos_dyn_fvm_fluxz_uyz_ud1(flux, mom, val, DENS, GSQRT, J33G, num_diff, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation z-flux at UY
subroutine, public atmos_dyn_fvm_flux_valuew_z_ud1(valW, mflx, val, GSQRT, CDZ)
value at XYW
subroutine, public atmos_dyn_fvm_fluxz_xyw_ud1(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_fluxj13_xvz_ud1(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation J13-flux at XVZ
integer, public ks
start point of inner domain: z, local
subroutine, public atmos_dyn_fvm_fluxj23_uyz_ud1(flux, mom, val, DENS, GSQRT, J23G, MAPF, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation J23-flux at UYZ
subroutine, public atmos_dyn_fvm_fluxy_xyw_ud1(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation Y-flux at XYW
subroutine, public atmos_dyn_fvm_fluxx_xvz_ud1(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation X-flux at XV
real(rp), public const_undef
subroutine, public atmos_dyn_fvm_fluxy_uyz_ud1(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation Y-flux at UY