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
101 real(rp),
intent(out) :: valw (
ka)
102 real(rp),
intent(in) :: mflx (
ka)
103 real(rp),
intent(in) :: val (
ka)
104 real(rp),
intent(in) :: gsqrt(
ka)
105 real(rp),
intent(in) :: cdz (
ka)
112 call check( __line__, mflx(
k) )
114 call check( __line__, val(
k) )
115 call check( __line__, val(
k+1) )
118 valw(
k) = f2 * ( val(
k+1)+val(
k) )
144 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
145 real(rp),
intent(in) :: mflx (
ka,
ia,
ja)
146 real(rp),
intent(in) :: val (
ka,
ia,
ja)
147 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
148 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
149 real(rp),
intent(in) :: cdz (
ka)
150 integer,
intent(in) :: iis, iie, jjs, jje
164 call check( __line__, mflx(
k,i,j) )
166 call check( __line__, val(
k,i,j) )
167 call check( __line__, val(
k+1,i,j) )
172 * ( f2 * ( val(
k+1,i,j)+val(
k,i,j) ) ) &
173 + gsqrt(
k,i,j) * num_diff(
k,i,j)
179 k = iundef; i = iundef; j = iundef
188 flux(
ks-1,i,j) = 0.0_rp
190 flux(
ke ,i,j) = 0.0_rp
197 k = iundef; i = iundef; j = iundef
213 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
214 real(rp),
intent(in) :: mflx (
ka,
ia,
ja)
215 real(rp),
intent(in) :: val (
ka,
ia,
ja)
216 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
217 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
218 real(rp),
intent(in) :: cdz(
ka)
219 integer,
intent(in) :: iis, iie, jjs, jje
232 call check( __line__, mflx(
k,i,j) )
234 call check( __line__, val(
k,i,j) )
235 call check( __line__, val(
k,i+1,j) )
240 * ( f2 * ( val(
k,i+1,j)+val(
k,i,j) ) ) &
241 + gsqrt(
k,i,j) * num_diff(
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 * ( f2 * ( val(
k,i,j+1)+val(
k,i,j) ) ) &
290 + gsqrt(
k,i,j) * num_diff(
k,i,j)
295 k = iundef; i = iundef; j = iundef
314 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
315 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
316 real(rp),
intent(in) :: val (
ka,
ia,
ja)
317 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
318 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
319 real(rp),
intent(in) :: j33g
320 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
321 real(rp),
intent(in) :: cdz (
ka)
322 real(rp),
intent(in) :: fdz (
ka-1)
323 real(rp),
intent(in) :: dtrk
324 integer,
intent(in) :: iis, iie, jjs, jje
340 call check( __line__, mom(
k-1,i,j) )
341 call check( __line__, mom(
k ,i,j) )
343 call check( __line__, val(
k-1,i,j) )
344 call check( __line__, val(
k,i,j) )
347 vel = ( 0.5_rp * ( mom(
k-1,i,j) &
350 flux(
k-1,i,j) = j33g * vel &
351 * ( f2 * ( val(
k,i,j)+val(
k-1,i,j) ) ) &
352 + gsqrt(
k,i,j) * num_diff(
k,i,j)
358 k = iundef; i = iundef; j = iundef
371 flux(
ks-1,i,j) = 0.0_rp
375 flux(
ke-1,i,j) = 0.0_rp
376 flux(
ke ,i,j) = 0.0_rp
397 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
398 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
399 real(rp),
intent(in) :: val (
ka,
ia,
ja)
400 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
401 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
402 real(rp),
intent(in) :: j13g (
ka,
ia,
ja)
403 real(rp),
intent(in) :: mapf (
ia,
ja,2)
404 real(rp),
intent(in) :: cdz (
ka)
405 logical,
intent(in) :: twod
406 integer,
intent(in) :: iis, iie, jjs, jje
419 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i-1,j) ) ) &
421 vel = vel * j13g(
k,i,j)
422 flux(
k-1,i,j) = vel / mapf(i,j,+2) &
423 * ( f2 * ( val(
k,i,j)+val(
k-1,i,j) ) )
435 flux(
ks-1,i,j) = 0.0_rp
438 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i-1,j) ) ) / dens(
ks+1,i,j) &
439 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i-1,j) ) ) / dens(
ks ,i,j) ) * 0.5_rp
442 vel = vel * j13g(
ks+1,i,j)
443 flux(
ks,i,j) = vel / mapf(i,j,+2) &
444 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) )
447 flux(
ke-1,i,j) = 0.0_rp
467 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
468 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
469 real(rp),
intent(in) :: val (
ka,
ia,
ja)
470 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
471 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
472 real(rp),
intent(in) :: j23g (
ka,
ia,
ja)
473 real(rp),
intent(in) :: mapf (
ia,
ja,2)
474 real(rp),
intent(in) :: cdz (
ka)
475 logical,
intent(in) :: twod
476 integer,
intent(in) :: iis, iie, jjs, jje
489 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j-1) ) ) &
491 vel = vel * j23g(
k,i,j)
492 flux(
k-1,i,j) = vel / mapf(i,j,+1) &
493 * ( f2 * ( val(
k,i,j)+val(
k-1,i,j) ) )
505 flux(
ks-1,i,j) = 0.0_rp
508 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i,j-1) ) ) / dens(
ks+1,i,j) &
509 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i,j-1) ) ) / dens(
ks ,i,j) ) * 0.5_rp
512 vel = vel * j23g(
ks+1,i,j)
513 flux(
ks,i,j) = vel / mapf(i,j,+1) &
514 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) )
517 flux(
ke-1,i,j) = 0.0_rp
539 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
540 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
541 real(rp),
intent(in) :: val (
ka,
ia,
ja)
542 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
543 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
544 real(rp),
intent(in) :: mapf (
ia,
ja,2)
545 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
546 real(rp),
intent(in) :: cdz (
ka)
547 logical,
intent(in) :: twod
548 integer,
intent(in) :: iis, iie, jjs, jje
563 call check( __line__, mom(
k ,i,j) )
564 call check( __line__, mom(
k+1,i,j) )
566 call check( __line__, val(
k,i,j) )
567 call check( __line__, val(
k,i+1,j) )
575 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i+1,j) ) &
577 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i+1,j) ) )
578 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+2) * vel &
579 * ( f2 * ( val(
k,i+1,j)+val(
k,i,j) ) ) &
580 + gsqrt(
k,i,j) * num_diff(
k,i,j)
586 k = iundef; i = iundef; j = iundef
592 flux(
ke,i,j) = 0.0_rp
599 k = iundef; i = iundef; j = iundef
616 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
617 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
618 real(rp),
intent(in) :: val (
ka,
ia,
ja)
619 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
620 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
621 real(rp),
intent(in) :: mapf (
ia,
ja,2)
622 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
623 real(rp),
intent(in) :: cdz (
ka)
624 logical,
intent(in) :: twod
625 integer,
intent(in) :: iis, iie, jjs, jje
640 call check( __line__, mom(
k ,i,j) )
641 call check( __line__, mom(
k+1,i,j) )
643 call check( __line__, val(
k,i,j) )
644 call check( __line__, val(
k,i,j+1) )
652 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i,j+1) ) &
654 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
655 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+1) * vel &
656 * ( f2 * ( val(
k,i,j+1)+val(
k,i,j) ) ) &
657 + gsqrt(
k,i,j) * num_diff(
k,i,j)
663 k = iundef; i = iundef; j = iundef
669 flux(
ke,i,j) = 0.0_rp
676 k = iundef; i = iundef; j = iundef
694 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
695 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
696 real(rp),
intent(in) :: val (
ka,
ia,
ja)
697 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
698 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
699 real(rp),
intent(in) :: j33g
700 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
701 real(rp),
intent(in) :: cdz (
ka)
702 logical,
intent(in) :: twod
703 integer,
intent(in) :: iis, iie, jjs, jje
720 call check( __line__, mom(
k,i,j) )
722 call check( __line__, val(
k,i,j) )
723 call check( __line__, val(
k+1,i,j) )
727 vel = ( mom(
k,i,j) ) &
732 flux(
k,i,j) = j33g * vel &
733 * ( f2 * ( val(
k+1,i,j)+val(
k,i,j) ) ) &
734 + gsqrt(
k,i,j) * num_diff(
k,i,j)
739 k = iundef; i = iundef; j = iundef
751 flux(
ks-1,i,j) = 0.0_rp
753 flux(
ke,i,j) = 0.0_rp
765 call check( __line__, mom(
k,i,j) )
766 call check( __line__, mom(
k,i+1,j) )
768 call check( __line__, val(
k,i,j) )
769 call check( __line__, val(
k+1,i,j) )
772 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i+1,j) ) ) &
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 flux(
k,i,j) = j33g * vel &
778 * ( f2 * ( val(
k+1,i,j)+val(
k,i,j) ) ) &
779 + gsqrt(
k,i,j) * num_diff(
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 * ( f2 * ( 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 * ( f2 * ( 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 * ( f2 * ( 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 * ( f2 * ( val(
k,i,j)+val(
k,i-1,j) ) ) &
1039 + gsqrt(
k,i,j) * num_diff(
k,i,j)
1044 k = iundef; i = iundef; j = iundef
1060 IIS, IIE, JJS, JJE )
1063 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1064 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1065 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1066 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1067 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1068 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1069 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1070 real(rp),
intent(in) :: cdz (
ka)
1071 logical,
intent(in) :: twod
1072 integer,
intent(in) :: iis, iie, jjs, jje
1089 call check( __line__, mom(
k,i ,j) )
1091 call check( __line__, val(
k,i,j) )
1092 call check( __line__, val(
k,i,j+1) )
1095 vel = ( mom(
k,i,j) ) &
1096 / ( 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
1097 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+1) * vel &
1098 * ( f2 * ( val(
k,i,j+1)+val(
k,i,j) ) ) &
1099 + gsqrt(
k,i,j) * num_diff(
k,i,j)
1103 k = iundef; i = iundef; j = iundef
1116 call check( __line__, mom(
k,i ,j) )
1117 call check( __line__, mom(
k,i-1,j) )
1119 call check( __line__, val(
k,i,j) )
1120 call check( __line__, val(
k,i,j+1) )
1123 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i+1,j) ) ) &
1124 / ( 0.25_rp * ( dens(
k,i,j)+dens(
k,i+1,j)+dens(
k,i,j+1)+dens(
k,i+1,j+1) ) )
1125 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+1) * vel &
1126 * ( f2 * ( val(
k,i,j+1)+val(
k,i,j) ) ) &
1127 + gsqrt(
k,i,j) * num_diff(
k,i,j)
1132 k = iundef; i = iundef; j = iundef
1152 IIS, IIE, JJS, JJE )
1155 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1156 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1157 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1158 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1159 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1160 real(rp),
intent(in) :: j33g
1161 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1162 real(rp),
intent(in) :: cdz (
ka)
1163 logical,
intent(in) :: twod
1164 integer,
intent(in) :: iis, iie, jjs, jje
1180 call check( __line__, mom(
k,i,j) )
1181 call check( __line__, mom(
k,i,j+1) )
1183 call check( __line__, val(
k,i,j) )
1184 call check( __line__, val(
k+1,i,j) )
1187 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j+1) ) ) &
1189 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i,j+1) ) &
1191 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
1192 flux(
k,i,j) = j33g * vel &
1193 * ( f2 * ( val(
k+1,i,j)+val(
k,i,j) ) ) &
1194 + gsqrt(
k,i,j) * num_diff(
k,i,j)
1200 k = iundef; i = iundef; j = iundef
1212 flux(
ks-1,i,j) = 0.0_rp
1214 flux(
ke,i,j) = 0.0_rp
1222 k = iundef; i = iundef; j = iundef
1233 GSQRT, J13G, MAPF, &
1235 IIS, IIE, JJS, JJE )
1238 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1239 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1240 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1241 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1242 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1243 real(rp),
intent(in) :: j13g (
ka,
ia,
ja)
1244 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1245 real(rp),
intent(in) :: cdz (
ka)
1246 logical,
intent(in) :: twod
1247 integer,
intent(in) :: iis, iie, jjs, jje
1264 * 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) ) &
1266 * 0.25_rp * ( mom(
k,i,j)+mom(
k,i-1,j)+mom(
k,i,j+1)+mom(
k,i-1,j+1) ) ) &
1268 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i,j+1) ) &
1270 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
1271 vel = vel * j13g(
k,i,j)
1272 flux(
k,i,j) = vel / mapf(i,j,+2) &
1273 * ( f2 * ( val(
k+1,i,j)+val(
k,i,j) ) )
1285 flux(
ks-1,i,j) = 0.0_rp
1287 flux(
ke ,i,j) = 0.0_rp
1303 GSQRT, J23G, MAPF, &
1305 IIS, IIE, JJS, JJE )
1308 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1309 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1310 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1311 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1312 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1313 real(rp),
intent(in) :: j23g (
ka,
ia,
ja)
1314 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1315 real(rp),
intent(in) :: cdz (
ka)
1316 logical,
intent(in) :: twod
1317 integer,
intent(in) :: iis, iie, jjs, jje
1338 * 0.5_rp * ( dens(
k+1,i,j)+dens(
k+1,i,j+1) ) &
1340 * 0.5_rp * ( dens(
k,i,j)+dens(
k,i,j+1) ) )
1341 vel = vel * j23g(
k,i,j)
1342 flux(
k,i,j) = vel / mapf(i,j,+1) &
1343 * ( f2 * ( val(
k+1,i,j)+val(
k,i,j) ) )
1355 flux(
ks-1,i,j) = 0.0_rp
1357 flux(
ke ,i,j) = 0.0_rp
1376 IIS, IIE, JJS, JJE )
1379 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1380 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1381 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1382 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1383 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1384 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1385 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1386 real(rp),
intent(in) :: cdz (
ka)
1387 logical,
intent(in) :: twod
1388 integer,
intent(in) :: iis, iie, jjs, jje
1403 call check( __line__, mom(
k,i ,j) )
1404 call check( __line__, mom(
k,i,j-1) )
1406 call check( __line__, val(
k,i,j) )
1407 call check( __line__, val(
k,i+1,j) )
1410 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j+1) ) ) &
1411 / ( 0.25_rp * ( dens(
k,i,j)+dens(
k,i+1,j)+dens(
k,i,j+1)+dens(
k,i+1,j+1) ) )
1412 flux(
k,i,j) = gsqrt(
k,i,j) / mapf(i,j,+2) * vel &
1413 * ( f2 * ( val(
k,i+1,j)+val(
k,i,j) ) ) &
1414 + gsqrt(
k,i,j) * num_diff(
k,i,j)
1419 k = iundef; i = iundef; j = iundef
1435 IIS, IIE, JJS, JJE )
1438 real(rp),
intent(inout) :: flux (
ka,
ia,
ja)
1439 real(rp),
intent(in) :: mom (
ka,
ia,
ja)
1440 real(rp),
intent(in) :: val (
ka,
ia,
ja)
1441 real(rp),
intent(in) :: dens (
ka,
ia,
ja)
1442 real(rp),
intent(in) :: gsqrt (
ka,
ia,
ja)
1443 real(rp),
intent(in) :: mapf (
ia,
ja,2)
1444 real(rp),
intent(in) :: num_diff(
ka,
ia,
ja)
1445 real(rp),
intent(in) :: cdz (
ka)
1446 logical,
intent(in) :: twod
1447 integer,
intent(in) :: iis, iie, jjs, jje
1464 call check( __line__, mom(
k,i ,j) )
1465 call check( __line__, mom(
k,i,j-1) )
1467 call check( __line__, val(
k,i,j-1) )
1468 call check( __line__, val(
k,i,j) )
1471 vel = ( 0.5_rp * ( mom(
k,i,j)+mom(
k,i,j-1) ) ) &
1473 flux(
k,i,j-1) = gsqrt(
k,i,j) / mapf(i,j,+1) * vel &
1474 * ( f2 * ( val(
k,i,j)+val(
k,i,j-1) ) ) &
1475 + gsqrt(
k,i,j) * num_diff(
k,i,j)
1480 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