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
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) )
121 valw(
k) = f1 * ( val(
k+1)+val(
k) ) - sign(f1,mflx(
k)) * ( val(
k+1)-val(
k) )
147 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
148 real(rp),
intent(in) :: mflx (
ka,
ia,
ja)
149 real(rp),
intent(in) :: val (
ka,
ia,
ja)
150 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
151 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
152 real(rp),
intent(in) :: cdz (
ka)
153 integer,
intent(in) :: iis, iie, jjs, jje
170 call check( __line__, mflx(
k,i,j) )
172 call check( __line__, val(
k,i,j) )
173 call check( __line__, val(
k+1,i,j) )
178 * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
185 k = iundef; i = iundef; j = iundef
195 flux(
ks-1,i,j) = 0.0_rp
197 flux(
ke ,i,j) = 0.0_rp
207 k = iundef; i = iundef; j = iundef
223 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
224 real(rp),
intent(in) :: mflx (
ka,
ia,
ja)
225 real(rp),
intent(in) :: val (
ka,
ia,
ja)
226 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
227 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
228 real(rp),
intent(in) :: cdz(
ka)
229 integer,
intent(in) :: iis, iie, jjs, jje
243 call check( __line__, mflx(
k,i,j) )
245 call check( __line__, val(
k,i,j) )
246 call check( __line__, val(
k,i+1,j) )
251 * ( f1 * ( val(
k,i+1,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k,i+1,j)-val(
k,i,j) ) )
257 k = iundef; i = iundef; j = iundef
273 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
274 real(rp),
intent(in) :: mflx (
ka,
ia,
ja)
275 real(rp),
intent(in) :: val (
ka,
ia,
ja)
276 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
277 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
278 real(rp),
intent(in) :: cdz(
ka)
279 integer,
intent(in) :: iis, iie, jjs, jje
293 call check( __line__, mflx(
k,i,j) )
295 call check( __line__, val(
k,i,j) )
296 call check( __line__, val(
k,i,j+1) )
301 * ( f1 * ( val(
k,i,j+1)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k,i,j+1)-val(
k,i,j) ) )
307 k = iundef; i = iundef; j = iundef
326 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
327 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
328 real(rp),
intent(in) :: val (
ka,
ia,
ja)
329 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
330 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
331 real(rp),
intent(in) :: j33g
332 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
333 real(rp),
intent(in) :: cdz (
ka)
334 real(rp),
intent(in) :: fdz (
ka-1)
335 real(rp),
intent(in) :: dtrk
336 integer,
intent(in) :: iis, iie, jjs, jje
355 call check( __line__, mom(
k-1,i,j) )
356 call check( __line__, mom(
k ,i,j) )
358 call check( __line__, val(
k-1,i,j) )
359 call check( __line__, val(
k,i,j) )
362 vel = ( 0.5_rp * ( mom(
k-1,i,j) &
365 flux(
k-1,i,j) = j33g * vel &
366 * ( f1 * ( val(
k,i,j)+val(
k-1,i,j) ) - sign(f1,vel) * ( val(
k,i,j)-val(
k-1,i,j) ) )
373 k = iundef; i = iundef; j = iundef
387 flux(
ks-1,i,j) = 0.0_rp
391 flux(
ke-1,i,j) = 0.0_rp
392 flux(
ke ,i,j) = 0.0_rp
416 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
417 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
418 real(rp),
intent(in) :: val (
ka,
ia,
ja)
419 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
420 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
421 real(rp),
intent(in) :: j13g (
ka,
ia,
ja)
422 real(rp),
intent(in) :: mapf (
ia,
ja,2)
423 real(rp),
intent(in) :: cdz (
ka)
424 logical,
intent(in) :: twod
425 integer,
intent(in) :: iis, iie, jjs, jje
441 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i-1,j) ) ) &
443 vel = vel * j13g(
k,i,j)
444 flux(
k-1,i,j) = vel / mapf(i,j,+2) &
445 * ( f1 * ( val(
k,i,j)+val(
k-1,i,j) ) - sign(f1,vel) * ( val(
k,i,j)-val(
k-1,i,j) ) )
459 flux(
ks-1,i,j) = 0.0_rp
462 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i-1,j) ) ) / dens(
ks+1,i,j) &
463 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i-1,j) ) ) / dens(
ks ,i,j) ) * 0.5_rp
466 vel = vel * j13g(
ks+1,i,j)
467 flux(
ks,i,j) = vel / mapf(i,j,+2) &
469 * ( 0.5_rp + sign(0.5_rp,vel) ) &
470 + ( 2.0_rp * val(
ks,i,j) + 5.0_rp * val(
ks+1,i,j) - val(
ks+2,i,j) ) / 6.0_rp &
471 * ( 0.5_rp - sign(0.5_rp,vel) ) )
474 flux(
ke-1,i,j) = 0.0_rp
497 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
498 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
499 real(rp),
intent(in) :: val (
ka,
ia,
ja)
500 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
501 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
502 real(rp),
intent(in) :: j23g (
ka,
ia,
ja)
503 real(rp),
intent(in) :: mapf (
ia,
ja,2)
504 real(rp),
intent(in) :: cdz (
ka)
505 logical,
intent(in) :: twod
506 integer,
intent(in) :: iis, iie, jjs, jje
522 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j-1) ) ) &
524 vel = vel * j23g(
k,i,j)
525 flux(
k-1,i,j) = vel / mapf(i,j,+1) &
526 * ( f1 * ( val(
k,i,j)+val(
k-1,i,j) ) - sign(f1,vel) * ( val(
k,i,j)-val(
k-1,i,j) ) )
540 flux(
ks-1,i,j) = 0.0_rp
543 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i,j-1) ) ) / dens(
ks+1,i,j) &
544 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i,j-1) ) ) / dens(
ks ,i,j) ) * 0.5_rp
547 vel = vel * j23g(
ks+1,i,j)
548 flux(
ks,i,j) = vel / mapf(i,j,+1) &
550 * ( 0.5_rp + sign(0.5_rp,vel) ) &
551 + ( 2.0_rp * val(
ks,i,j) + 5.0_rp * val(
ks+1,i,j) - val(
ks+2,i,j) ) / 6.0_rp &
552 * ( 0.5_rp - sign(0.5_rp,vel) ) )
555 flux(
ke-1,i,j) = 0.0_rp
580 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
581 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
582 real(rp),
intent(in) :: val (
ka,
ia,
ja)
583 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
584 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
585 real(rp),
intent(in) :: mapf (
ia,
ja,2)
586 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
587 real(rp),
intent(in) :: cdz (
ka)
588 logical,
intent(in) :: twod
589 integer,
intent(in) :: iis, iie, jjs, jje
607 call check( __line__, mom(
k ,i,j) )
608 call check( __line__, mom(
k+1,i,j) )
610 call check( __line__, val(
k,i,j) )
611 call check( __line__, val(
k,i+1,j) )
619 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i+1,j) ) &
621 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i+1,j) ) )
622 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+2) * vel &
623 * ( f1 * ( val(
k,i+1,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k,i+1,j)-val(
k,i,j) ) )
630 k = iundef; i = iundef; j = iundef
637 flux(
ke,i,j) = 0.0_rp
647 k = iundef; i = iundef; j = iundef
664 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
665 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
666 real(rp),
intent(in) :: val (
ka,
ia,
ja)
667 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
668 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
669 real(rp),
intent(in) :: mapf (
ia,
ja,2)
670 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
671 real(rp),
intent(in) :: cdz (
ka)
672 logical,
intent(in) :: twod
673 integer,
intent(in) :: iis, iie, jjs, jje
691 call check( __line__, mom(
k ,i,j) )
692 call check( __line__, mom(
k+1,i,j) )
694 call check( __line__, val(
k,i,j) )
695 call check( __line__, val(
k,i,j+1) )
703 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i,j+1) ) &
705 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
706 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+1) * vel &
707 * ( f1 * ( val(
k,i,j+1)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k,i,j+1)-val(
k,i,j) ) )
714 k = iundef; i = iundef; j = iundef
721 flux(
ke,i,j) = 0.0_rp
731 k = iundef; i = iundef; j = iundef
749 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
750 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
751 real(rp),
intent(in) :: val (
ka,
ia,
ja)
752 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
753 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
754 real(rp),
intent(in) :: j33g
755 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
756 real(rp),
intent(in) :: cdz (
ka)
757 logical,
intent(in) :: twod
758 integer,
intent(in) :: iis, iie, jjs, jje
779 call check( __line__, mom(
k,i,j) )
781 call check( __line__, val(
k,i,j) )
782 call check( __line__, val(
k+1,i,j) )
785 vel = ( mom(
k,i,j) ) &
790 flux(
k,i,j) = j33g * vel &
791 * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
797 k = iundef; i = iundef; j = iundef
810 flux(
ks-1,i,j) = 0.0_rp
812 flux(
ke,i,j) = 0.0_rp
826 call check( __line__, mom(
k,i,j) )
827 call check( __line__, mom(
k,i+1,j) )
829 call check( __line__, val(
k,i,j) )
830 call check( __line__, val(
k+1,i,j) )
833 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i+1,j) ) ) &
835 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i+1,j) ) &
837 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i+1,j) ) )
838 flux(
k,i,j) = j33g * vel &
839 * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
846 k = iundef; i = iundef; j = iundef
859 flux(
ks-1,i,j) = 0.0_rp
861 flux(
ke,i,j) = 0.0_rp
874 k = iundef; i = iundef; j = iundef
890 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
891 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
892 real(rp),
intent(in) :: val (
ka,
ia,
ja)
893 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
894 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
895 real(rp),
intent(in) :: j13g (
ka,
ia,
ja)
896 real(rp),
intent(in) :: mapf (
ia,
ja,2)
897 real(rp),
intent(in) :: cdz (
ka)
898 logical,
intent(in) :: twod
899 integer,
intent(in) :: iis, iie, jjs, jje
923 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i+1,j) ) &
925 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i+1,j) ) )
926 vel = vel * j13g(
k,i,j)
927 flux(
k,i,j) = vel / mapf(i,j,+2) &
928 * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
942 flux(
ks-1,i,j) = 0.0_rp
944 flux(
ke ,i,j) = 0.0_rp
968 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
969 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
970 real(rp),
intent(in) :: val (
ka,
ia,
ja)
971 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
972 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
973 real(rp),
intent(in) :: j23g (
ka,
ia,
ja)
974 real(rp),
intent(in) :: mapf (
ia,
ja,2)
975 real(rp),
intent(in) :: cdz (
ka)
976 logical,
intent(in) :: twod
977 integer,
intent(in) :: iis, iie, jjs, jje
998 * 0.5_rp * ( mom(
k+1,i,j)+mom(
k+1,i,j-1) ) &
1000 * 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j-1) ) ) &
1005 vel = vel * j23g(
k,i,j)
1006 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) ) )
1019 flux(
ks-1,i,j) = 0.0_rp
1021 flux(
ke ,i,j) = 0.0_rp
1035 * 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) ) &
1037 * 0.25_rp * ( mom(
k,i,j)+mom(
k,i+1,j)+mom(
k,i,j-1)+mom(
k,i+1,j-1) ) ) &
1039 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i+1,j) ) &
1041 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i+1,j) ) )
1042 vel = vel * j23g(
k,i,j)
1043 flux(
k,i,j) = vel / mapf(i,j,+1) &
1044 * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
1058 flux(
ks-1,i,j) = 0.0_rp
1060 flux(
ke ,i,j) = 0.0_rp
1084 IIS, IIE, JJS, JJE )
1087 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1088 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1089 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1090 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1091 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1092 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1093 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1094 real(rp),
intent(in) :: cdz (
ka)
1095 logical,
intent(in) :: twod
1096 integer,
intent(in) :: iis, iie, jjs, jje
1114 call check( __line__, mom(
k,i ,j) )
1115 call check( __line__, mom(
k,i-1,j) )
1117 call check( __line__, val(
k,i-1,j) )
1118 call check( __line__, val(
k,i,j) )
1121 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i-1,j) ) ) &
1123 flux(
k,i-1,j) = gsqrt(
k,i,j) / mapf(i,j,+2) * vel &
1124 * ( f1 * ( val(
k,i,j)+val(
k,i-1,j) ) - sign(f1,vel) * ( val(
k,i,j)-val(
k,i-1,j) ) )
1130 k = iundef; i = iundef; j = iundef
1146 IIS, IIE, JJS, JJE )
1149 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1150 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1151 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1152 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1153 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1154 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1155 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1156 real(rp),
intent(in) :: cdz (
ka)
1157 logical,
intent(in) :: twod
1158 integer,
intent(in) :: iis, iie, jjs, jje
1176 call check( __line__, mom(
k,i ,j) )
1178 call check( __line__, val(
k,i,j) )
1179 call check( __line__, val(
k,i,j+1) )
1182 vel = ( mom(
k,i,j) ) &
1183 / ( 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
1184 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+1) * vel &
1185 * ( f1 * ( val(
k,i,j+1)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k,i,j+1)-val(
k,i,j) ) )
1190 k = iundef; i = iundef; j = iundef
1204 call check( __line__, mom(
k,i ,j) )
1205 call check( __line__, mom(
k,i-1,j) )
1207 call check( __line__, val(
k,i,j) )
1208 call check( __line__, val(
k,i,j+1) )
1211 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i+1,j) ) ) &
1212 / ( 0.25_rp * ( dens(
k,i,j)+dens(
k,i+1,j)+dens(
k,i,j+1)+dens(
k,i+1,j+1) ) )
1213 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+1) * vel &
1214 * ( f1 * ( val(
k,i,j+1)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k,i,j+1)-val(
k,i,j) ) )
1220 k = iundef; i = iundef; j = iundef
1240 IIS, IIE, JJS, JJE )
1243 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1244 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1245 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1246 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1247 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1248 real(rp),
intent(in) :: j33g
1249 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1250 real(rp),
intent(in) :: cdz (
ka)
1251 logical,
intent(in) :: twod
1252 integer,
intent(in) :: iis, iie, jjs, jje
1271 call check( __line__, mom(
k,i,j) )
1272 call check( __line__, mom(
k,i,j+1) )
1274 call check( __line__, val(
k,i,j) )
1275 call check( __line__, val(
k+1,i,j) )
1278 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j+1) ) ) &
1280 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i,j+1) ) &
1282 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
1283 flux(
k,i,j) = j33g * vel &
1284 * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
1291 k = iundef; i = iundef; j = iundef
1304 flux(
ks-1,i,j) = 0.0_rp
1306 flux(
ke,i,j) = 0.0_rp
1317 k = iundef; i = iundef; j = iundef
1328 GSQRT, J13G, MAPF, &
1330 IIS, IIE, JJS, JJE )
1333 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1334 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1335 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1336 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1337 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1338 real(rp),
intent(in) :: j13g (
ka,
ia,
ja)
1339 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1340 real(rp),
intent(in) :: cdz (
ka)
1341 logical,
intent(in) :: twod
1342 integer,
intent(in) :: iis, iie, jjs, jje
1362 * 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) ) &
1364 * 0.25_rp * ( mom(
k,i,j)+mom(
k,i-1,j)+mom(
k,i,j+1)+mom(
k,i-1,j+1) ) ) &
1366 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i,j+1) ) &
1368 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
1369 vel = vel * j13g(
k,i,j)
1370 flux(
k,i,j) = vel / mapf(i,j,+2) &
1371 * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
1385 flux(
ks-1,i,j) = 0.0_rp
1387 flux(
ke ,i,j) = 0.0_rp
1406 GSQRT, J23G, MAPF, &
1408 IIS, IIE, JJS, JJE )
1411 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1412 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1413 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1414 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1415 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1416 real(rp),
intent(in) :: j23g (
ka,
ia,
ja)
1417 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1418 real(rp),
intent(in) :: cdz (
ka)
1419 logical,
intent(in) :: twod
1420 integer,
intent(in) :: iis, iie, jjs, jje
1444 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i,j+1) ) &
1446 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
1447 vel = vel * j23g(
k,i,j)
1448 flux(
k,i,j) = vel / mapf(i,j,+1) &
1449 * ( f1 * ( val(
k+1,i,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k+1,i,j)-val(
k,i,j) ) )
1463 flux(
ks-1,i,j) = 0.0_rp
1465 flux(
ke ,i,j) = 0.0_rp
1487 IIS, IIE, JJS, JJE )
1490 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1491 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1492 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1493 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1494 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1495 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1496 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1497 real(rp),
intent(in) :: cdz (
ka)
1498 logical,
intent(in) :: twod
1499 integer,
intent(in) :: iis, iie, jjs, jje
1515 call check( __line__, mom(
k,i ,j) )
1516 call check( __line__, mom(
k,i,j-1) )
1518 call check( __line__, val(
k,i,j) )
1519 call check( __line__, val(
k,i+1,j) )
1522 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j+1) ) ) &
1523 / ( 0.25_rp * ( dens(
k,i,j)+dens(
k,i+1,j)+dens(
k,i,j+1)+dens(
k,i+1,j+1) ) )
1524 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+2) * vel &
1525 * ( f1 * ( val(
k,i+1,j)+val(
k,i,j) ) - sign(f1,vel) * ( val(
k,i+1,j)-val(
k,i,j) ) )
1531 k = iundef; i = iundef; j = iundef
1547 IIS, IIE, JJS, JJE )
1550 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1551 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1552 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1553 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1554 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1555 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1556 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1557 real(rp),
intent(in) :: cdz (
ka)
1558 logical,
intent(in) :: twod
1559 integer,
intent(in) :: iis, iie, jjs, jje
1577 call check( __line__, mom(
k,i ,j) )
1578 call check( __line__, mom(
k,i,j-1) )
1580 call check( __line__, val(
k,i,j-1) )
1581 call check( __line__, val(
k,i,j) )
1584 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j-1) ) ) &
1586 flux(
k,i,j-1) = gsqrt(
k,i,j) / mapf(i,j,+1) * vel &
1587 * ( f1 * ( val(
k,i,j)+val(
k,i,j-1) ) - sign(f1,vel) * ( val(
k,i,j)-val(
k,i,j-1) ) )
1593 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