18 #include "inc_openmp.h" 78 #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))) 80 #define F2H(k,p,q) 0.5_RP 87 real(RP),
parameter :: F1 = 0.5_rp
89 real(RP),
parameter :: F2 = 0.5_rp
105 real(RP),
intent(out) :: valw (
ka)
106 real(RP),
intent(in) :: mflx (
ka)
107 real(RP),
intent(in) :: val (
ka)
108 real(RP),
intent(in) :: gsqrt(
ka)
109 real(RP),
intent(in) :: cdz (
ka)
116 call check( __line__, mflx(k) )
118 call check( __line__, val(k) )
119 call check( __line__, val(k+1) )
122 valw(k) = f1 * ( val(k+1)+val(k) ) - sign(f1,mflx(k)) * ( val(k+1)-val(k) )
134 valw(
ks) = f2 * ( val(
ks+1)+val(
ks) )
135 valw(
ke-1) = f2 * ( val(
ke)+val(
ke-1) )
151 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
152 real(RP),
intent(in) :: mflx (
ka,
ia,
ja)
153 real(RP),
intent(in) :: val (
ka,
ia,
ja)
154 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
155 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
156 real(RP),
intent(in) :: cdz (
ka)
157 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) ) )
183 k = iundef; i = iundef; j = iundef
194 flux(
ks-1,i,j) = 0.0_rp
196 flux(
ke ,i,j) = 0.0_rp
200 k = iundef; i = iundef; j = iundef
216 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
217 real(RP),
intent(in) :: mflx (
ka,
ia,
ja)
218 real(RP),
intent(in) :: val (
ka,
ia,
ja)
219 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
220 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
221 real(RP),
intent(in) :: cdz(
ka)
222 integer,
intent(in) :: iis, iie, jjs, jje
235 call check( __line__, mflx(k,i,j) )
237 call check( __line__, val(k,i,j) )
238 call check( __line__, val(k,i+1,j) )
243 * ( f1 * ( val(k,i+1,j)+val(k,i,j) ) - sign(f1,vel) * ( val(k,i+1,j)-val(k,i,j) ) )
248 k = iundef; i = iundef; j = iundef
264 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
265 real(RP),
intent(in) :: mflx (
ka,
ia,
ja)
266 real(RP),
intent(in) :: val (
ka,
ia,
ja)
267 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
268 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
269 real(RP),
intent(in) :: cdz(
ka)
270 integer,
intent(in) :: iis, iie, jjs, jje
283 call check( __line__, mflx(k,i,j) )
285 call check( __line__, val(k,i,j) )
286 call check( __line__, val(k,i,j+1) )
291 * ( f1 * ( val(k,i,j+1)+val(k,i,j) ) - sign(f1,vel) * ( val(k,i,j+1)-val(k,i,j) ) )
296 k = iundef; i = iundef; j = iundef
315 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
316 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
317 real(RP),
intent(in) :: val (
ka,
ia,
ja)
318 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
319 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
320 real(RP),
intent(in) :: j33g
321 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
322 real(RP),
intent(in) :: cdz (
ka)
323 real(RP),
intent(in) :: fdz (
ka-1)
324 real(RP),
intent(in) :: dtrk
325 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 * ( 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
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
394 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
395 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
396 real(RP),
intent(in) :: val (
ka,
ia,
ja)
397 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
398 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
399 real(RP),
intent(in) :: j13g (
ka,
ia,
ja)
400 real(RP),
intent(in) :: mapf (
ia,
ja,2)
401 real(RP),
intent(in) :: cdz (
ka)
402 integer,
intent(in) :: iis, iie, jjs, jje
414 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i-1,j) ) ) &
416 flux(k-1,i,j) = j13g(k,i,j) / mapf(i,j,+2) * vel &
417 * ( f1 * ( val(k,i,j)+val(k-1,i,j) ) - sign(f1,vel) * ( val(k,i,j)-val(k-1,i,j) ) )
430 flux(
ks-1,i,j) = 0.0_rp
433 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i-1,j) ) ) / dens(
ks+1,i,j) &
434 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i-1,j) ) ) / dens(
ks ,i,j) ) * 0.5_rp
437 flux(
ks,i,j) = j13g(
ks+1,i,j) / mapf(i,j,+2) * vel &
438 * ( f2 * ( val(
ks+1,i,j)+val(
ks,i,j) ) )
441 flux(
ke-1,i,j) = 0.0_rp
458 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
459 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
460 real(RP),
intent(in) :: val (
ka,
ia,
ja)
461 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
462 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
463 real(RP),
intent(in) :: j23g (
ka,
ia,
ja)
464 real(RP),
intent(in) :: mapf (
ia,
ja,2)
465 real(RP),
intent(in) :: cdz (
ka)
466 integer,
intent(in) :: iis, iie, jjs, jje
478 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j-1) ) ) &
480 flux(k-1,i,j) = j23g(k,i,j) / mapf(i,j,+1) * vel &
481 * ( f1 * ( val(k,i,j)+val(k-1,i,j) ) - sign(f1,vel) * ( val(k,i,j)-val(k-1,i,j) ) )
494 flux(
ks-1,i,j) = 0.0_rp
497 vel = ( ( 0.5_rp * ( mom(
ks+1,i,j)+mom(
ks+1,i,j-1) ) ) / dens(
ks+1,i,j) &
498 + ( 0.5_rp * ( mom(
ks,i,j)+mom(
ks,i,j-1) ) ) / dens(
ks ,i,j) ) * 0.5_rp
501 flux(
ks,i,j) = j23g(
ks+1,i,j) / mapf(i,j,+1) * vel &
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 * ( f1 * ( val(k,i+1,j)+val(k,i,j) ) - sign(f1,vel) * ( val(k,i+1,j)-val(k,i,j) ) )
567 k = iundef; i = iundef; j = iundef
575 flux(
ke,i,j) = 0.0_rp
579 k = iundef; i = iundef; j = iundef
596 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
597 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
598 real(RP),
intent(in) :: val (
ka,
ia,
ja)
599 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
600 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
601 real(RP),
intent(in) :: mapf (
ia,
ja,2)
602 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
603 real(RP),
intent(in) :: cdz (
ka)
604 integer,
intent(in) :: iis, iie, jjs, jje
618 call check( __line__, mom(k ,i,j) )
619 call check( __line__, mom(k+1,i,j) )
621 call check( __line__, val(k,i,j) )
622 call check( __line__, val(k,i,j+1) )
625 vel = ( f2h(k,1,i_xvz) &
630 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
632 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
633 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+1) * vel &
634 * ( f1 * ( val(k,i,j+1)+val(k,i,j) ) - sign(f1,vel) * ( val(k,i,j+1)-val(k,i,j) ) )
639 k = iundef; i = iundef; j = iundef
647 flux(
ke,i,j) = 0.0_rp
651 k = iundef; i = iundef; j = iundef
669 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
670 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
671 real(RP),
intent(in) :: val (
ka,
ia,
ja)
672 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
673 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
674 real(RP),
intent(in) :: j33g
675 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
676 real(RP),
intent(in) :: cdz (
ka)
677 integer,
intent(in) :: iis, iie, jjs, jje
691 call check( __line__, mom(k,i,j) )
692 call check( __line__, mom(k,i+1,j) )
694 call check( __line__, val(k,i,j) )
695 call check( __line__, val(k+1,i,j) )
698 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i+1,j) ) ) &
700 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
702 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
703 flux(k,i,j) = j33g * vel &
704 * ( f1 * ( val(k+1,i,j)+val(k,i,j) ) - sign(f1,vel) * ( val(k+1,i,j)-val(k,i,j) ) )
709 k = iundef; i = iundef; j = iundef
723 flux(
ks-1,i,j) = 0.0_rp
725 flux(
ke,i,j) = 0.0_rp
729 k = iundef; i = iundef; j = iundef
745 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
746 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
747 real(RP),
intent(in) :: val (
ka,
ia,
ja)
748 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
749 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
750 real(RP),
intent(in) :: j13g (
ka,
ia,
ja)
751 real(RP),
intent(in) :: mapf (
ia,
ja,2)
752 real(RP),
intent(in) :: cdz (
ka)
753 integer,
intent(in) :: iis, iie, jjs, jje
766 vel = ( f2h(k,1,i_uyz) &
771 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i+1,j) ) &
773 * 0.5_rp * ( dens(k,i,j)+dens(k,i+1,j) ) )
774 flux(k,i,j) = j13g(k,i,j) / mapf(i,j,+2) * vel &
775 * ( f1 * ( val(k+1,i,j)+val(k,i,j) ) - sign(f1,vel) * ( val(k+1,i,j)-val(k,i,j) ) )
789 flux(
ks-1,i,j) = 0.0_rp
791 flux(
ke ,i,j) = 0.0_rp
808 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
809 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
810 real(RP),
intent(in) :: val (
ka,
ia,
ja)
811 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
812 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
813 real(RP),
intent(in) :: j23g (
ka,
ia,
ja)
814 real(RP),
intent(in) :: mapf (
ia,
ja,2)
815 real(RP),
intent(in) :: cdz (
ka)
816 integer,
intent(in) :: iis, iie, jjs, jje
829 vel = ( f2h(k,1,i_uyz) &
830 * 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) ) &
832 * 0.25_rp * ( mom(k,i,j)+mom(k,i+1,j)+mom(k,i,j-1)+mom(k,i+1,j-1) ) ) &
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) = j23g(k,i,j) / mapf(i,j,+1) * vel &
838 * ( f1 * ( val(k+1,i,j)+val(k,i,j) ) - sign(f1,vel) * ( val(k+1,i,j)-val(k,i,j) ) )
852 flux(
ks-1,i,j) = 0.0_rp
854 flux(
ke ,i,j) = 0.0_rp
872 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
873 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
874 real(RP),
intent(in) :: val (
ka,
ia,
ja)
875 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
876 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
877 real(RP),
intent(in) :: mapf (
ia,
ja,2)
878 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
879 real(RP),
intent(in) :: cdz (
ka)
880 integer,
intent(in) :: iis, iie, jjs, jje
895 call check( __line__, mom(k,i ,j) )
896 call check( __line__, mom(k,i-1,j) )
898 call check( __line__, val(k,i-1,j) )
899 call check( __line__, val(k,i,j) )
902 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i-1,j) ) ) &
904 flux(k,i-1,j) = gsqrt(k,i,j) / mapf(i,j,+2) * vel &
905 * ( f1 * ( val(k,i,j)+val(k,i-1,j) ) - sign(f1,vel) * ( val(k,i,j)-val(k,i-1,j) ) )
910 k = iundef; i = iundef; j = iundef
927 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
928 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
929 real(RP),
intent(in) :: val (
ka,
ia,
ja)
930 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
931 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
932 real(RP),
intent(in) :: mapf (
ia,
ja,2)
933 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
934 real(RP),
intent(in) :: cdz (
ka)
935 integer,
intent(in) :: iis, iie, jjs, jje
948 call check( __line__, mom(k,i ,j) )
949 call check( __line__, mom(k,i-1,j) )
951 call check( __line__, val(k,i,j) )
952 call check( __line__, val(k,i,j+1) )
955 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i+1,j) ) ) &
956 / ( 0.25_rp * ( dens(k,i,j)+dens(k,i+1,j)+dens(k,i,j+1)+dens(k,i+1,j+1) ) )
957 flux(k,i,j) = gsqrt(k,i,j) / mapf(i,j,+1) * vel &
958 * ( f1 * ( val(k,i,j+1)+val(k,i,j) ) - sign(f1,vel) * ( val(k,i,j+1)-val(k,i,j) ) )
963 k = iundef; i = iundef; j = iundef
982 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
983 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
984 real(RP),
intent(in) :: val (
ka,
ia,
ja)
985 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
986 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
987 real(RP),
intent(in) :: j33g
988 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
989 real(RP),
intent(in) :: cdz (
ka)
990 integer,
intent(in) :: iis, iie, jjs, jje
1004 call check( __line__, mom(k,i,j) )
1005 call check( __line__, mom(k,i,j+1) )
1007 call check( __line__, val(k,i,j) )
1008 call check( __line__, val(k+1,i,j) )
1011 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j+1) ) ) &
1012 / ( f2h(k,1,i_xvz) &
1013 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
1015 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
1016 flux(k,i,j) = j33g * vel &
1017 * ( f1 * ( val(k+1,i,j)+val(k,i,j) ) - sign(f1,vel) * ( val(k+1,i,j)-val(k,i,j) ) )
1022 k = iundef; i = iundef; j = iundef
1036 flux(
ks-1,i,j) = 0.0_rp
1038 flux(
ke,i,j) = 0.0_rp
1042 k = iundef; i = iundef; j = iundef
1053 GSQRT, J13G, MAPF, &
1055 IIS, IIE, JJS, JJE )
1058 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1059 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1060 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1061 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
1062 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
1063 real(RP),
intent(in) :: j13g (
ka,
ia,
ja)
1064 real(RP),
intent(in) :: mapf (
ia,
ja,2)
1065 real(RP),
intent(in) :: cdz (
ka)
1066 integer,
intent(in) :: iis, iie, jjs, jje
1079 vel = ( f2h(k,1,i_xvz) &
1080 * 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) ) &
1082 * 0.25_rp * ( mom(k,i,j)+mom(k,i-1,j)+mom(k,i,j+1)+mom(k,i-1,j+1) ) ) &
1083 / ( f2h(k,1,i_xvz) &
1084 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
1086 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
1087 flux(k,i,j) = j13g(k,i,j) / mapf(i,j,+2) * vel &
1088 * ( f1 * ( val(k+1,i,j)+val(k,i,j) ) - sign(f1,vel) * ( val(k+1,i,j)-val(k,i,j) ) )
1102 flux(
ks-1,i,j) = 0.0_rp
1104 flux(
ke ,i,j) = 0.0_rp
1116 GSQRT, J23G, MAPF, &
1118 IIS, IIE, JJS, JJE )
1121 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1122 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1123 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1124 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
1125 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
1126 real(RP),
intent(in) :: j23g (
ka,
ia,
ja)
1127 real(RP),
intent(in) :: mapf (
ia,
ja,2)
1128 real(RP),
intent(in) :: cdz (
ka)
1129 integer,
intent(in) :: iis, iie, jjs, jje
1142 vel = ( f2h(k,1,i_xvz) &
1146 / ( f2h(k,1,i_xvz) &
1147 * 0.5_rp * ( dens(k+1,i,j)+dens(k+1,i,j+1) ) &
1149 * 0.5_rp * ( dens(k,i,j)+dens(k,i,j+1) ) )
1150 flux(k,i,j) = j23g(k,i,j) / mapf(i,j,+1) * vel &
1151 * ( f1 * ( val(k+1,i,j)+val(k,i,j) ) - sign(f1,vel) * ( val(k+1,i,j)-val(k,i,j) ) )
1165 flux(
ks-1,i,j) = 0.0_rp
1167 flux(
ke ,i,j) = 0.0_rp
1182 IIS, IIE, JJS, JJE )
1185 real(RP),
intent(inout) :: flux (
ka,
ia,
ja)
1186 real(RP),
intent(in) :: mom (
ka,
ia,
ja)
1187 real(RP),
intent(in) :: val (
ka,
ia,
ja)
1188 real(RP),
intent(in) :: dens (
ka,
ia,
ja)
1189 real(RP),
intent(in) :: gsqrt (
ka,
ia,
ja)
1190 real(RP),
intent(in) :: mapf (
ia,
ja,2)
1191 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
1192 real(RP),
intent(in) :: cdz (
ka)
1193 integer,
intent(in) :: iis, iie, jjs, jje
1206 call check( __line__, mom(k,i ,j) )
1207 call check( __line__, mom(k,i,j-1) )
1209 call check( __line__, val(k,i,j) )
1210 call check( __line__, val(k,i+1,j) )
1213 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j+1) ) ) &
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,+2) * vel &
1216 * ( f1 * ( val(k,i+1,j)+val(k,i,j) ) - sign(f1,vel) * ( val(k,i+1,j)-val(k,i,j) ) )
1221 k = iundef; i = iundef; j = iundef
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) :: mapf (
ia,
ja,2)
1244 real(RP),
intent(in) :: num_diff(
ka,
ia,
ja)
1245 real(RP),
intent(in) :: cdz (
ka)
1246 integer,
intent(in) :: iis, iie, jjs, jje
1261 call check( __line__, mom(k,i ,j) )
1262 call check( __line__, mom(k,i,j-1) )
1264 call check( __line__, val(k,i,j-1) )
1265 call check( __line__, val(k,i,j) )
1268 vel = ( 0.5_rp * ( mom(k,i,j)+mom(k,i,j-1) ) ) &
1270 flux(k,i,j-1) = gsqrt(k,i,j) / mapf(i,j,+1) * vel &
1271 * ( f1 * ( val(k,i,j)+val(k,i,j-1) ) - sign(f1,vel) * ( val(k,i,j)-val(k,i,j-1) ) )
1276 k = iundef; i = iundef; j = iundef
subroutine, public atmos_dyn_fvm_fluxx_xyw_ud1(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at XYW
subroutine, public atmos_dyn_fvm_fluxj23_xvz_ud1(flux, mom, val, DENS, GSQRT, J23G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J23-flux at XVZ
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_fluxy_xyw_ud1(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation Y-flux at XYW
subroutine, public atmos_dyn_fvm_fluxz_xyz_ud1(flux, mflx, val, GSQRT, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation z-flux at XYZ
subroutine, public atmos_dyn_fvm_fluxy_xvz_ud1(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation Y-flux at XV
subroutine, public atmos_dyn_fvm_fluxj13_uyz_ud1(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J13-flux at UYZ
integer, public ke
end point of inner domain: z, local
subroutine, public check(current_line, v)
Undefined value checker.
real(rp), public const_undef
subroutine, public atmos_dyn_fvm_fluxj13_xyw_ud1(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J13-flux at XYW
subroutine, public atmos_dyn_fvm_fluxx_uyz_ud1(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at UY
integer, public ia
of whole cells: x, local, with HALO
subroutine, public atmos_dyn_fvm_fluxj13_xvz_ud1(flux, mom, val, DENS, GSQRT, J13G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J13-flux at XVZ
subroutine, public atmos_dyn_fvm_fluxz_xvz_ud1(flux, mom, val, DENS, GSQRT, J33G, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation z-flux at XV
integer, public ka
of whole cells: z, local, with HALO
subroutine, public atmos_dyn_fvm_fluxz_uyz_ud1(flux, mom, val, DENS, GSQRT, J33G, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation z-flux at UY
integer, parameter, public const_undef2
undefined value (INT2)
subroutine, public atmos_dyn_fvm_fluxy_uyz_ud1(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation Y-flux at UY
subroutine, public atmos_dyn_fvm_fluxx_xvz_ud1(flux, mom, val, DENS, GSQRT, MAPF, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at XV
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, IIS, IIE, JJS, JJE)
calculation J23-flux at UYZ
subroutine, public atmos_dyn_fvm_fluxj23_xyw_ud1(flux, mom, val, DENS, GSQRT, J23G, MAPF, CDZ, IIS, IIE, JJS, JJE)
calculation J23-flux at XYW
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_fluxx_xyz_ud1(flux, mflx, val, GSQRT, num_diff, CDZ, IIS, IIE, JJS, JJE)
calculation X-flux at XYZ
module scale_atmos_dyn_fvm_flux_ud1
integer, public ja
of whole cells: y, local, with HALO