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 :: F2 = 0.5_rp
102 real(rp),
intent(out) :: valw (
ka)
103 real(rp),
intent(in) :: mflx (
ka)
104 real(rp),
intent(in) :: val (
ka)
105 real(rp),
intent(in) :: gsqrt(
ka)
106 real(rp),
intent(in) :: cdz (
ka)
113 call check( __line__, mflx(
k) )
115 call check( __line__, val(
k) )
116 call check( __line__, val(
k+1) )
119 valw(
k) = f2 * ( val(
k+1)+val(
k) )
145 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
146 real(rp),
intent(in) :: mflx (
ka,
ia,
ja)
147 real(rp),
intent(in) :: val (
ka,
ia,
ja)
148 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
149 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
150 real(rp),
intent(in) :: cdz (
ka)
151 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)
184 k = iundef; i = iundef; j = iundef
194 flux(
ks-1,i,j) = 0.0_rp
196 flux(
ke ,i,j) = 0.0_rp
206 k = iundef; i = iundef; j = iundef
222 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
223 real(rp),
intent(in) :: mflx (
ka,
ia,
ja)
224 real(rp),
intent(in) :: val (
ka,
ia,
ja)
225 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
226 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
227 real(rp),
intent(in) :: cdz(
ka)
228 integer,
intent(in) :: iis, iie, jjs, jje
242 call check( __line__, mflx(
k,i,j) )
244 call check( __line__, val(
k,i,j) )
245 call check( __line__, val(
k,i+1,j) )
250 * ( f2 * ( val(
k,i+1,j)+val(
k,i,j) ) ) &
251 + gsqrt(
k,i,j) * num_diff(
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 * ( f2 * ( val(
k,i,j+1)+val(
k,i,j) ) ) &
302 + gsqrt(
k,i,j) * num_diff(
k,i,j)
308 k = iundef; i = iundef; j = iundef
327 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
328 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
329 real(rp),
intent(in) :: val (
ka,
ia,
ja)
330 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
331 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
332 real(rp),
intent(in) :: j33g
333 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
334 real(rp),
intent(in) :: cdz (
ka)
335 real(rp),
intent(in) :: fdz (
ka-1)
336 real(rp),
intent(in) :: dtrk
337 integer,
intent(in) :: iis, iie, jjs, jje
356 call check( __line__, mom(
k-1,i,j) )
357 call check( __line__, mom(
k ,i,j) )
359 call check( __line__, val(
k-1,i,j) )
360 call check( __line__, val(
k,i,j) )
363 vel = ( 0.5_rp * ( mom(
k-1,i,j) &
366 flux(
k-1,i,j) = j33g * vel &
367 * ( f2 * ( val(
k,i,j)+val(
k-1,i,j) ) ) &
368 + gsqrt(
k,i,j) * num_diff(
k,i,j)
375 k = iundef; i = iundef; j = iundef
389 flux(
ks-1,i,j) = 0.0_rp
393 flux(
ke-1,i,j) = 0.0_rp
394 flux(
ke ,i,j) = 0.0_rp
418 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
419 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
420 real(rp),
intent(in) :: val (
ka,
ia,
ja)
421 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
422 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
423 real(rp),
intent(in) :: j13g (
ka,
ia,
ja)
424 real(rp),
intent(in) :: mapf (
ia,
ja,2)
425 real(rp),
intent(in) :: cdz (
ka)
426 logical,
intent(in) :: twod
427 integer,
intent(in) :: iis, iie, jjs, jje
443 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i-1,j) ) ) &
445 vel = vel * j13g(
k,i,j)
446 flux(
k-1,i,j) = vel / mapf(i,j,+2) &
447 * ( f2 * ( val(
k,i,j)+val(
k-1,i,j) ) )
461 flux(
ks-1,i,j) = 0.0_rp
464 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i-1,j) ) ) / dens(
ks+1,i,j) &
465 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i-1,j) ) ) / dens(
ks ,i,j) ) * 0.5_rp
468 vel = vel * j13g(
ks+1,i,j)
469 flux(
ks,i,j) = vel / mapf(i,j,+2) &
470 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) )
473 flux(
ke-1,i,j) = 0.0_rp
496 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
497 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
498 real(rp),
intent(in) :: val (
ka,
ia,
ja)
499 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
500 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
501 real(rp),
intent(in) :: j23g (
ka,
ia,
ja)
502 real(rp),
intent(in) :: mapf (
ia,
ja,2)
503 real(rp),
intent(in) :: cdz (
ka)
504 logical,
intent(in) :: twod
505 integer,
intent(in) :: iis, iie, jjs, jje
521 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j-1) ) ) &
523 vel = vel * j23g(
k,i,j)
524 flux(
k-1,i,j) = vel / mapf(i,j,+1) &
525 * ( f2 * ( val(
k,i,j)+val(
k-1,i,j) ) )
539 flux(
ks-1,i,j) = 0.0_rp
542 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i,j-1) ) ) / dens(
ks+1,i,j) &
543 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i,j-1) ) ) / dens(
ks ,i,j) ) * 0.5_rp
546 vel = vel * j23g(
ks+1,i,j)
547 flux(
ks,i,j) = vel / mapf(i,j,+1) &
548 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) )
551 flux(
ke-1,i,j) = 0.0_rp
576 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
577 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
578 real(rp),
intent(in) :: val (
ka,
ia,
ja)
579 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
580 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
581 real(rp),
intent(in) :: mapf (
ia,
ja,2)
582 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
583 real(rp),
intent(in) :: cdz (
ka)
584 logical,
intent(in) :: twod
585 integer,
intent(in) :: iis, iie, jjs, jje
603 call check( __line__, mom(
k ,i,j) )
604 call check( __line__, mom(
k+1,i,j) )
606 call check( __line__, val(
k,i,j) )
607 call check( __line__, val(
k,i+1,j) )
615 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i+1,j) ) &
617 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i+1,j) ) )
618 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+2) * vel &
619 * ( f2 * ( val(
k,i+1,j)+val(
k,i,j) ) ) &
620 + gsqrt(
k,i,j) * num_diff(
k,i,j)
627 k = iundef; i = iundef; j = iundef
634 flux(
ke,i,j) = 0.0_rp
644 k = iundef; i = iundef; j = iundef
661 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
662 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
663 real(rp),
intent(in) :: val (
ka,
ia,
ja)
664 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
665 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
666 real(rp),
intent(in) :: mapf (
ia,
ja,2)
667 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
668 real(rp),
intent(in) :: cdz (
ka)
669 logical,
intent(in) :: twod
670 integer,
intent(in) :: iis, iie, jjs, jje
688 call check( __line__, mom(
k ,i,j) )
689 call check( __line__, mom(
k+1,i,j) )
691 call check( __line__, val(
k,i,j) )
692 call check( __line__, val(
k,i,j+1) )
700 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i,j+1) ) &
702 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
703 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+1) * vel &
704 * ( f2 * ( val(
k,i,j+1)+val(
k,i,j) ) ) &
705 + gsqrt(
k,i,j) * num_diff(
k,i,j)
712 k = iundef; i = iundef; j = iundef
719 flux(
ke,i,j) = 0.0_rp
729 k = iundef; i = iundef; j = iundef
747 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
748 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
749 real(rp),
intent(in) :: val (
ka,
ia,
ja)
750 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
751 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
752 real(rp),
intent(in) :: j33g
753 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
754 real(rp),
intent(in) :: cdz (
ka)
755 logical,
intent(in) :: twod
756 integer,
intent(in) :: iis, iie, jjs, jje
777 call check( __line__, mom(
k,i,j) )
779 call check( __line__, val(
k,i,j) )
780 call check( __line__, val(
k+1,i,j) )
783 vel = ( mom(
k,i,j) ) &
788 flux(
k,i,j) = j33g * vel &
789 * ( f2 * ( val(
k+1,i,j)+val(
k,i,j) ) ) &
790 + gsqrt(
k,i,j) * num_diff(
k,i,j)
796 k = iundef; i = iundef; j = iundef
809 flux(
ks-1,i,j) = 0.0_rp
811 flux(
ke,i,j) = 0.0_rp
825 call check( __line__, mom(
k,i,j) )
826 call check( __line__, mom(
k,i+1,j) )
828 call check( __line__, val(
k,i,j) )
829 call check( __line__, val(
k+1,i,j) )
832 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i+1,j) ) ) &
834 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i+1,j) ) &
836 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i+1,j) ) )
837 flux(
k,i,j) = j33g * vel &
838 * ( f2 * ( val(
k+1,i,j)+val(
k,i,j) ) ) &
839 + gsqrt(
k,i,j) * num_diff(
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 * ( f2 * ( 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 * ( f2 * ( 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 * ( f2 * ( 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 * ( f2 * ( val(
k,i,j)+val(
k,i-1,j) ) ) &
1125 + gsqrt(
k,i,j) * num_diff(
k,i,j)
1131 k = iundef; i = iundef; j = iundef
1147 IIS, IIE, JJS, JJE )
1150 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1151 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1152 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1153 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1154 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1155 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1156 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1157 real(rp),
intent(in) :: cdz (
ka)
1158 logical,
intent(in) :: twod
1159 integer,
intent(in) :: iis, iie, jjs, jje
1177 call check( __line__, mom(
k,i ,j) )
1179 call check( __line__, val(
k,i,j) )
1180 call check( __line__, val(
k,i,j+1) )
1183 vel = ( mom(
k,i,j) ) &
1184 / ( 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
1185 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+1) * vel &
1186 * ( f2 * ( val(
k,i,j+1)+val(
k,i,j) ) ) &
1187 + gsqrt(
k,i,j) * num_diff(
k,i,j)
1192 k = iundef; i = iundef; j = iundef
1206 call check( __line__, mom(
k,i ,j) )
1207 call check( __line__, mom(
k,i-1,j) )
1209 call check( __line__, val(
k,i,j) )
1210 call check( __line__, val(
k,i,j+1) )
1213 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i+1,j) ) ) &
1214 / ( 0.25_rp * ( dens(
k,i,j)+dens(
k,i+1,j)+dens(
k,i,j+1)+dens(
k,i+1,j+1) ) )
1215 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+1) * vel &
1216 * ( f2 * ( val(
k,i,j+1)+val(
k,i,j) ) ) &
1217 + gsqrt(
k,i,j) * num_diff(
k,i,j)
1223 k = iundef; i = iundef; j = iundef
1243 IIS, IIE, JJS, JJE )
1246 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1247 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1248 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1249 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1250 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1251 real(rp),
intent(in) :: j33g
1252 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1253 real(rp),
intent(in) :: cdz (
ka)
1254 logical,
intent(in) :: twod
1255 integer,
intent(in) :: iis, iie, jjs, jje
1274 call check( __line__, mom(
k,i,j) )
1275 call check( __line__, mom(
k,i,j+1) )
1277 call check( __line__, val(
k,i,j) )
1278 call check( __line__, val(
k+1,i,j) )
1281 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j+1) ) ) &
1283 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i,j+1) ) &
1285 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
1286 flux(
k,i,j) = j33g * vel &
1287 * ( f2 * ( val(
k+1,i,j)+val(
k,i,j) ) ) &
1288 + gsqrt(
k,i,j) * num_diff(
k,i,j)
1295 k = iundef; i = iundef; j = iundef
1308 flux(
ks-1,i,j) = 0.0_rp
1310 flux(
ke,i,j) = 0.0_rp
1321 k = iundef; i = iundef; j = iundef
1332 GSQRT, J13G, MAPF, &
1334 IIS, IIE, JJS, JJE )
1337 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1338 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1339 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1340 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1341 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1342 real(rp),
intent(in) :: j13g (
ka,
ia,
ja)
1343 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1344 real(rp),
intent(in) :: cdz (
ka)
1345 logical,
intent(in) :: twod
1346 integer,
intent(in) :: iis, iie, jjs, jje
1366 * 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) ) &
1368 * 0.25_rp * ( mom(
k,i,j)+mom(
k,i-1,j)+mom(
k,i,j+1)+mom(
k,i-1,j+1) ) ) &
1370 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i,j+1) ) &
1372 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
1373 vel = vel * j13g(
k,i,j)
1374 flux(
k,i,j) = vel / mapf(i,j,+2) &
1375 * ( f2 * ( val(
k+1,i,j)+val(
k,i,j) ) )
1389 flux(
ks-1,i,j) = 0.0_rp
1391 flux(
ke ,i,j) = 0.0_rp
1410 GSQRT, J23G, MAPF, &
1412 IIS, IIE, JJS, JJE )
1415 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1416 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1417 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1418 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1419 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1420 real(rp),
intent(in) :: j23g (
ka,
ia,
ja)
1421 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1422 real(rp),
intent(in) :: cdz (
ka)
1423 logical,
intent(in) :: twod
1424 integer,
intent(in) :: iis, iie, jjs, jje
1448 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i,j+1) ) &
1450 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
1451 vel = vel * j23g(
k,i,j)
1452 flux(
k,i,j) = vel / mapf(i,j,+1) &
1453 * ( f2 * ( val(
k+1,i,j)+val(
k,i,j) ) )
1467 flux(
ks-1,i,j) = 0.0_rp
1469 flux(
ke ,i,j) = 0.0_rp
1491 IIS, IIE, JJS, JJE )
1494 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1495 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1496 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1497 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1498 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1499 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1500 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1501 real(rp),
intent(in) :: cdz (
ka)
1502 logical,
intent(in) :: twod
1503 integer,
intent(in) :: iis, iie, jjs, jje
1519 call check( __line__, mom(
k,i ,j) )
1520 call check( __line__, mom(
k,i,j-1) )
1522 call check( __line__, val(
k,i,j) )
1523 call check( __line__, val(
k,i+1,j) )
1526 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j+1) ) ) &
1527 / ( 0.25_rp * ( dens(
k,i,j)+dens(
k,i+1,j)+dens(
k,i,j+1)+dens(
k,i+1,j+1) ) )
1528 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+2) * vel &
1529 * ( f2 * ( val(
k,i+1,j)+val(
k,i,j) ) ) &
1530 + gsqrt(
k,i,j) * num_diff(
k,i,j)
1536 k = iundef; i = iundef; j = iundef
1552 IIS, IIE, JJS, JJE )
1555 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1556 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1557 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1558 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1559 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1560 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1561 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1562 real(rp),
intent(in) :: cdz (
ka)
1563 logical,
intent(in) :: twod
1564 integer,
intent(in) :: iis, iie, jjs, jje
1582 call check( __line__, mom(
k,i ,j) )
1583 call check( __line__, mom(
k,i,j-1) )
1585 call check( __line__, val(
k,i,j-1) )
1586 call check( __line__, val(
k,i,j) )
1589 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j-1) ) ) &
1591 flux(
k,i,j-1) = gsqrt(
k,i,j) / mapf(i,j,+1) * vel &
1592 * ( f2 * ( val(
k,i,j)+val(
k,i,j-1) ) ) &
1593 + gsqrt(
k,i,j) * num_diff(
k,i,j)
1599 k = iundef; i = iundef; j = iundef
integer, public ke
end point of inner domain: z, local
integer, parameter, public const_undef2
undefined value (INT2)
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
subroutine, public atmos_dyn_fvm_fluxx_xyw_cd2(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation X-flux at XYW
module scale_atmos_dyn_fvm_flux_cd2
real(rp), public const_eps
small number
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_fluxx_xvz_cd2(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation X-flux at XV
subroutine, public atmos_dyn_fvm_fluxj13_xvz_cd2(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation J13-flux at XVZ
subroutine, public atmos_dyn_fvm_fluxx_uyz_cd2(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_uyz_cd2(flux, mom, val, DENS, GSQRT, J33G, num_diff, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation z-flux at UY
subroutine, public atmos_dyn_fvm_fluxj23_uyz_cd2(flux, mom, val, DENS, GSQRT, J23G, MAPF, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation J23-flux at UYZ
module atmosphere / grid / cartesC index
subroutine, public check(current_line, v)
Undefined value checker.
subroutine, public atmos_dyn_fvm_fluxy_uyz_cd2(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation Y-flux at UY
subroutine, public atmos_dyn_fvm_fluxj23_xyw_cd2(flux, mom, val, DENS, GSQRT, J23G, MAPF, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation J23-flux at XYW
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_fluxj13_uyz_cd2(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation J13-flux at UYZ
subroutine, public atmos_dyn_fvm_fluxz_xvz_cd2(flux, mom, val, DENS, GSQRT, J33G, num_diff, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation z-flux at XV
subroutine, public atmos_dyn_fvm_flux_valuew_z_cd2(valW, mflx, val, GSQRT, CDZ)
value at XYW
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, TwoD, IIS, IIE, JJS, JJE)
calculation J23-flux at XVZ
subroutine, public atmos_dyn_fvm_fluxj13_xyw_cd2(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation J13-flux at XYW
subroutine, public atmos_dyn_fvm_fluxy_xyw_cd2(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation Y-flux at XYW
real(rp), public const_undef
subroutine, public atmos_dyn_fvm_fluxy_xvz_cd2(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, TwoD, IIS, IIE, JJS, JJE)
calculation Y-flux at XV
subroutine, public atmos_dyn_fvm_fluxx_xyz_cd2(flux, mflx, val, GSQRT, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at XYZ